为什么功能做得好,用户还是不用?聊聊用户心理学

前言
之前在《从失败到观察成功:我的 AI 产品思维学习笔记》里,我提到自己做过一个 AI 生成新闻的项目,功能做得还可以,但用户用一次就不回来了。
那次失败让我开始认真琢磨:问题不在功能,而在几乎没有从用户心理的角度来设计产品。
没有设计触发机制,用户用完就忘了;没有降低使用门槛,用户觉得麻烦;没有给奖励反馈,用户觉得没意思;没有让用户投入,用户随时可以走。
这篇文章想跟你聊聊我学到的用户心理学和行为设计技巧。如果你也在做产品,希望我的教训能给你一点启发。
一、为什么要懂用户心理学?
回头看我的 AI 新闻项目和朋友的 Web3 小说项目,差别太明显了:
我的 AI 新闻项目:
- 功能:AI 生成新闻,还挺全面的
- 界面:设计得挺干净
- 技术:实现得不错
- 结果:用户来了看一眼就走,留存率不到 10%
朋友的 Web3 小说项目:
- 功能:其实不复杂,就是看小说 + 持有代币
- 界面:普普通通
- 技术:也没特别复杂
- 结果:用户每天都来,社区活跃,用户粘性特别高
差别在哪?不是功能多少,也不是技术好坏,而是朋友的项目更懂用户心理:
- 触发:代币价格变化,用户会主动来看
- 奖励:持有代币升值,每次看都有爽感
- 投入:用户买了代币,投入了钱,舍不得走
这背后其实是个叫 Hook 模型的习惯养成循环。我的项目失败,就是因为完全没考虑这些。接下来咱们就拆解一下这个模型。
二、Hook 模型:让用户上瘾的循环
2.1 什么是 Hook 模型?
Nir Eyal 在《上瘾》这本书里提出了一个用户习惯养成模型,叫 Hook 模型,核心是这样的循环:
触发(Trigger) → 行动(Action) → 奖励(Reward) → 投入(Investment)
↑ ↓
←←←←←←←←←←←←← 循环 ←←←←←←←←←←←←←←←←←←←←←←←←
简单说,就是通过触发让用户采取行动,行动后给点奖励,奖励后让用户投入更多,形成一个不断循环的习惯。
2.2 触发(Trigger):让用户想起你的产品
触发分两种:外部触发和内部触发。
外部触发(产品主动提醒):
- 推送通知:“早上好!今天要写点什么?”
- 邮件:“您有 3 条新评论”
- 短信:“好友分享了内容给你”
内部触发(用户情绪驱动):
- 无聊时想刷抖音
- 焦虑时想看新闻
- 孤独时想打开微信
案例分析:抖音
外部触发:
- 朋友分享:"看这个视频笑死我了"
- 推送通知:"XXX 回复了你的评论"
内部触发:
- 无聊等车 → 打开抖音
- 睡前放松 → 刷抖音
- 吃饭配饭 → 看抖音
目标:让"无聊"这个情绪和抖音绑定
你的产品怎么设计触发?
我想到一个方法,可以通过代码实现外部触发:
// 外部触发示例
async function sendDailyReminder(user) {
// 找到用户最活跃的时间
const activeTime = await getUserMostActiveTime(user.id)
// 每天在这个时间发推送
schedule.scheduleJob(activeTime, () => {
sendPush(user.id, {
title: '早上好!今天要创作点什么?',
body: '你还有 10 次免费额度',
action: 'open_app'
})
})
}
// 内部触发:让用户在特定场景想起你的产品
// 例如:想写小红书文案 → 立即想起你的 AI 工具
// 如何做到?持续提供价值,形成条件反射
内部触发更难,但如果能让用户在某个情绪或场景下自然想起你的产品,那粘性就强多了。我的 AI 新闻项目就是没有任何触发机制,用户用完就忘了,当然不会回来。
2.3 行动(Action):让用户用起来简单
BJ Fogg 行为模型:
行为 = 动机 * 能力 * 触发
动机:用户有多想做这件事?
能力:做这件事有多容易?
触发:有没有提醒/引导?
案例:Google 搜索 vs Bing 搜索
Google:
- 动机:想找信息(高)
- 能力:打开就能搜,超简单(高)
- 触发:遇到问题就想到 Google
→ 行为概率:极高
某复杂产品:
- 动机:可能有需求(中)
- 能力:需要注册、填资料、学习怎么用(低)
- 触发:没有明显触发
→ 行为概率:极低
如何降低行动门槛?
错误做法(门槛太高):
1. 注册(填邮箱、密码、验证码)
2. 完善资料(姓名、公司、职位)
3. 邮箱验证(等邮件、点击链接)
4. 新手教程(10 步引导)
5. 终于可以用了
流失率:80%
正确做法(极简流程):
1. 直接试用(不需要注册)
2. 看到效果
3. 想继续用?快速注册(邮箱+密码)
4. 继续使用
流失率:20%
实战代码:
// app/page.tsx - 首页就能试用
export default function Home() {
const [result, setResult] = useState('')
return (
<div>
<h1>AI 文案生成器</h1>
{/* 不需要登录,直接试用 */}
<textarea
placeholder="输入主题,直接生成"
onChange={(e) => generatePreview(e.target.value)}
/>
{result && (
<div>
<p>{result}</p>
{/* 用得爽了,再提示注册 */}
<button>注册以保存历史记录</button>
</div>
)}
</div>
)
}
降低门槛这招让我意识到,产品设计时得让用户一上来就能用,越简单越好,别整一堆复杂的流程把人吓跑。我的 AI 新闻项目虽然没有复杂的注册流程,但也没有让用户立即看到价值,这也是个问题。
2.4 奖励(Reward):让用户用完觉得值
三种奖励类型:
A. 社交奖励(来自他人)
- 点赞、评论、关注
- 案例:小红书、微博、朋友圈
B. 猎物奖励(获得资源)
- 金钱、信息、道具
- 案例:淘宝(买到便宜货)、知识星球(学到知识)
C. 自我奖励(成就感)
- 完成任务、升级、打卡
- 案例:Keep(完成锻炼)、Forest(专注番茄钟)
关键:可变奖励(最上瘾)
固定奖励(不上瘾):
- 每次用都得到相同的东西
- 用几次就腻了
可变奖励(上瘾):
- 每次用结果不同
- 有时候特别好(惊喜)
- 有时候一般(期待下次更好)
案例:
错误:每次生成的文案质量都一样
正确:有时候生成超棒的,有时候一般,偶尔有神作
实战:设计可变奖励
function generateContent(prompt: string) {
const result = await ai.generate(prompt)
// 随机给予额外奖励(可变性)
const bonus = Math.random()
if (bonus < 0.1) { // 10% 概率
return {
content: result,
bonus: {
type: 'surprise',
message: '这次生成质量优秀!额外奖励 5 次免费额度',
extraCredits: 5
}
}
} else if (bonus < 0.3) { // 20% 概率
return {
content: result,
bonus: {
type: 'good',
message: '不错的内容!',
badge: 'quality_content'
}
}
} else { // 70% 概率
return {
content: result // 正常
}
}
}
// 用户心理:
// "这次没有奖励,下次可能有"
// "再试一次,说不定有惊喜"
// → 持续使用
可变奖励这点让我挺受触动的,产品得有点小惊喜,让用户每次用都有点期待感,这样他们才会常回来。我的 AI 新闻项目每次生成的新闻质量都差不多,没有惊喜,用户自然觉得没意思。
2.5 投入(Investment):让用户舍不得走
用户投入越多,越难离开
投入的类型:
- 时间投入:花时间使用、学习
- 数据投入:产生的内容、历史记录
- 社交投入:关注的人、粉丝
- 金钱投入:付费购买
- 个性化投入:自定义设置、模板
案例:为什么微信难被替代?
用户在微信的投入:
- 10 年的聊天记录(数据投入)
- 500 个好友(社交投入)
- 100 多个群(社交投入)
- 朋友圈 10 年内容(数据投入)
- 微信支付绑定银行卡(金钱投入)
切换成本:极高
→ 即使有更好的产品,也懒得换
你的产品如何设计投入?
// 1. 让用户产生数据
interface UserInvestment {
// 内容投入
generatedArticles: Article[] // 生成的内容
customTemplates: Template[] // 自定义模板
savedPrompts: Prompt[] // 保存的 Prompt
// 时间投入
usageTime: number // 总使用时长
learnedFeatures: string[] // 学会的功能
// 社交投入
sharedWith: User[] // 分享给谁
collaborators: User[] // 协作者
}
// 2. 让数据有价值
function showUserInvestment(user: User) {
return {
totalGenerated: user.articles.length, // "你已生成 1000 篇文章"
timeSaved: user.articles.length * 30, // "为你节省 30000 分钟"
customValue: user.templates.length, // "你有 50 个自定义模板"
message: "这些数据只属于你,切换其他产品会丢失"
}
}
// 3. 增加切换成本
// 用户想走?提醒他会失去什么
function showBeforeLeaving(user: User) {
return {
warning: "如果删除账号,你将失去:",
losses: [
`${user.articles.length} 篇生成的文章`,
`${user.templates.length} 个自定义模板`,
`${user.usageTime / 60} 小时的使用记录`,
`${user.sharedWith.length} 个协作者`
],
cta: "确定要删除吗?"
}
}
投入这块让我意识到,产品得让用户觉得花的时间和精力有价值,这样他们就不会轻易放弃。我的 AI 新闻项目没有任何用户投入的设计,用户看完新闻就走,没有任何留下来的理由。朋友的项目就做得好,用户买了代币就有投入感,舍不得走。
三、马斯洛需求层次:用户想要的不只是工具
3.1 五层需求(从低到高)
自我实现
/ \
尊重需求
/ \
社交需求
/ \
安全需求
基本生理需求
如何应用到产品设计?
| 需求层次 | 产品案例 | 核心价值 |
|---|---|---|
| 生理需求 | 美团外卖 | 解决吃饭问题 |
| 安全需求 | 支付宝 | 资金安全 |
| 社交需求 | 微信 | 连接朋友 |
| 尊重需求 | 小红书 | 获得点赞认可 |
| 自我实现 | Keep、得到 | 变更好的自己 |
你的 AI 产品满足哪层需求?
错误定位(太低):
"AI 工具帮你写文案"
→ 只满足基本需求(完成任务)
→ 用户随时可以换
正确定位(更高):
"AI 助你成为 10 倍效率的创作者"
→ 满足尊重需求(在同行中更优秀)
→ 满足自我实现(成为更好的自己)
→ 用户有情感连接
实战:写产品 slogan
基于需求层次写 slogan:
错误(低层次,工具视角):
"AI 文案生成工具"
"3 秒生成 1000 字"
正确(高层次,用户视角):
"让你的创作被 10 万人看到"(尊重需求)
"从月更博主到日更大 V"(自我实现)
"用 AI,成为更好的创作者"(自我实现)
马斯洛需求层次让我明白,产品不能只停留在解决基本问题,得往更高层次走,让用户觉得用你的产品能提升自己,比如更有存在感、更有掌控感,这样粘性才会强。我的 AI 新闻项目当时就停留在最低层次——只是提供信息,没有更高层次的价值,用户当然不会有情感连接。
四、认知偏差与决策:影响用户的小技巧
4.1 常见认知偏差(可以利用)
1. 锚定效应
实验:
A 组看到:原价 199 元,现价 99 元
B 组看到:99 元
结果:A 组购买率是 B 组的 2 倍
原因:199 元是"锚",让 99 元显得便宜
应用到定价:
// 错误定价展示
<div>49 元/月</div>
// 正确定价展示
<div>
<span className="line-through text-gray-400">99 元/月</span>
<span className="text-2xl font-bold">49 元/月</span>
<span className="text-red-500">限时 5 折</span>
</div>
// 用户心理:
// "原价 99 元,现在 49 元,省了 50 元,太划算了!"
2. 损失厌恶
同样的 100 元:
- 得到 100 元的快乐 = 50
- 失去 100 元的痛苦 = 100
人们更害怕失去,而不是渴望得到
应用到产品:
错误(强调得到):
"升级专业版,获得无限次生成"
正确(强调损失):
"免费额度还剩 2 次,用完后将无法继续使用"
"今天不升级,明天恢复原价,将多花 50 元"
转化率:强调损失的高 30%
3. 社会认同
实验:
A 组:"这个产品很好用"
B 组:"已有 1 万人在使用"
结果:B 组转化率高 50%
原因:看到别人用,觉得安全、靠谱
应用到页面:
// 实时显示其他用户的行为
function SocialProof() {
return (
<div className="social-proof">
<div className="stat">
<strong>12,847</strong> 位创作者正在使用
</div>
<div className="recent-activity">
<div>来自北京的用户刚刚升级到专业版</div>
<div>来自上海的用户生成了爆款文案</div>
<div>来自深圳的用户完成了第 100 次创作</div>
</div>
<div className="ratings">
4.8/5.0 (2,341 条评价)
</div>
</div>
)
}
4. 稀缺性
实验:
A 组:"现在购买"
B 组:"仅剩 3 个名额"
结果:B 组转化率高 40%
原因:稀缺=珍贵,害怕错过
应用(但不要作假):
<div className="scarcity">
{/* 真实的限时优惠 */}
<div>限时优惠还剩:{countdown}</div>
{/* 真实的限量名额 */}
<div>本月仅限 100 个优惠名额,已被抢走 78 个</div>
{/* 真实的库存 */}
<div>高级功能名额紧张,先到先得</div>
</div>
// 警告:不要虚假营销
// 如果没有真的稀缺性,不要假装
// 用户会识破,失去信任
认知偏差这些小技巧让我觉得,产品设计不光是做功能,还得懂点心理学,稍微调整一下呈现方式,就能大大影响用户的决策。
五、我的几点实践心得
研究用户心理学和行为设计的过程中,结合我的失败经历,我有几点特别深的体会:
5.1 功能多不如心理抓得准
我的 AI 新闻项目功能挺全的,但用户用一次就走了。后来我发现,产品功能再多,如果不懂用户心理,用户可能用一次就走了。相反,哪怕功能简单,只要能抓住用户的情绪和习惯,就能留住他们。朋友的项目功能很简单,但懂用户心理,所以成功了。
5.2 降低门槛是第一步
用户懒得花时间学你的产品,所以得让第一步简单到不行。别指望用户有耐心注册一堆东西,直接让他们试用,看到价值再说。我的项目虽然没有复杂流程,但也没有让用户立即看到价值,这也是个问题。
5.3 奖励得有点小惊喜
我的项目每次生成的内容质量都差不多,没有惊喜,用户自然觉得没意思。固定的奖励没啥吸引力,得有点变化,让用户每次用都有点期待感。比如有时候给个小福利,有时候没有,这样他们才会常回来试试运气。
5.4 让用户有投入感
我的项目最大的问题就是没有任何用户投入的设计,用户看完就走,没有留下来的理由。产品得让用户觉得花的时间和精力有价值,比如存了他们的数据、记录了他们的习惯,这样他们就不会轻易换别的产品。
结语
写这篇文章的过程,也是我自己复盘 AI 新闻项目失败的过程。功能做得不错,但当时几乎没有从用户心理的角度来设计产品,既没有触发、没有奖励、也没有投入,用户当然留不住。
现在我明白了:技术是基础,但懂用户心理才是让产品脱颖而出的关键。 每个触发、每一步行动、每次奖励、每个投入,都能影响用户会不会爱上你的产品。
如果你也在做产品,希望我的失败经历能给你一点启发:
- 设计触发机制,让用户想起你
- 降低使用门槛,让用户立即看到价值
- 给点小惊喜,让用户有期待感
- 让用户有投入,增加切换成本
失败了也没关系,我的 AI 新闻项目不也失败了吗?重要的是从中学到了什么。一起加油吧!