哎,说到留存率,很多刚入行做运营或者数据分析的朋友,往往第一反应就是去拉一张表,把“昨天来的人里,今天又来了多少”算一下,然后发现数字忽高忽低,心里没底。或者更常见的,老板问:“咱们的留存怎么样?”你张口就来一个数,结果被问得哑口无言,因为那个数的算法和别人不一样,没法对比。
其实,留存率这块水挺深,但核心的逻辑只要理顺了,其实比“日活DAU”好算多了。今天咱们不整那些虚头巴脑的教科书定义,我就以一个老操盘手的身份,带你把这事儿掰开了、揉碎了讲清楚。咱们分三步走,最后再把那些让人踩坑的雷区排一排。
第一步:先搞清楚,你到底在保留谁?
在做任何计算之前,你得先回答一个灵魂拷问:我们定义的“用户”是谁?我们定义的“留存”又是指什么行为?
这一步如果不明确,后面所有的公式都是废纸。
1. 新用户 vs. 老用户
很多团队喜欢混淆“新增用户留存”和“整体用户留存”。
- 新增用户留存(Cohort Retention):这是最标准的做法。我们把某一天注册或启动App的人,看作一个“ cohorts ”(同期群)。比如,3月1日注册了1000个人,3月2日有100个人又回来了,那次日留存就是10%。
- 整体用户留存:指的是所有历史用户中,今天有多少人活跃。这个指标适合看大盘趋势,但不适合看用户粘性。
我的建议:新手务必先死磕新增用户留存。因为老用户里有大量的“僵尸粉”和“死忠粉”,混在一起算,稀释了真实的增长质量。
2. 什么是“回来”?
这是最大的坑之一。
- 是打开App就算?
- 还是完成了某个核心动作(比如发了一条朋友圈、下了一单)才算?
举个例子,你做一个视频App。如果只要打开就算留存,那用户可能只是误触了一下就关了,这留存率虚高,没啥意义。如果你要求“观看超过30秒”才算留存,那这个数字虽然难看,但绝对是真的爱用。
关键点:在你的业务里,定义一个“关键行为”。留存率的分母是“当期新增用户中完成了关键行为的人数”,分子是“N天后仍然完成关键行为的人数”。
给小朋友的例子: 假设你建了一个乐高城堡(这是你的App)。
- “打开App”就像是有人推开了你城堡的大门。
- “完成关键行为”就像是有人进去后,真正搭了一块积木。 如果你统计“推门的人”有多少会再回来,那可能只是好奇的路人。但如果你统计“搭积木的人”有多少会再回来,那你才知道你的城堡到底有没有吸引力。
第二步:掌握那个“万能公式”
不管你的产品多复杂,留存率的数学本质就这俩公式。请记下来,背下来。
基础公式:时间区间留存率
\[ \text{留存率} = \frac{\text{第N天仍活跃的用户数}}{\text{新增用户总数}} \times 100\% \]
这里的“第N天”,取决于你的产品是高频还是低频。
- 高频产品(如微信、抖音、游戏):通常看次日留存、7日留存、30日留存。
- 低频产品(如旅游、婚礼策划、大宗商品):看7日留存意义不大,可能要看30日、90日甚至季度留存。
进阶公式: cohort 同期群分析(这才是专业玩家的做法)
不要只算一个总的留存率,要按“批次”算。
| 同期群(Cohort) | 新增用户数 | 次日留存 | 7日留存 | 30日留存 |
|---|---|---|---|---|
| 1月1日新用户 | 10,000 | 45% | 25% | 15% |
| 1月2日新用户 | 10,200 | 46% | 24% | 14% |
| 1月3日新用户 | 9,800 | 44% | 23% | 13% |
你看,如果只看总数,你可能觉得1月1日最厉害。但如果你发现1月3日的7日留存比1月1日还低,那就说明1月3日那天虽然用户多,但质量差,或者产品在那天出现了Bug。
代码示例:
如果你在Python里处理数据,这其实很简单。假设你有一个用户日志表 user_logs,包含 user_id, first_active_date, active_date。
import pandas as pd
# 假设 df 是你的用户日志数据
# 1. 确定每个用户的首次活跃日期(Day 0)
df['first_active_date'] = df.groupby('user_id')['active_date'].transform('min')
# 2. 计算留存天数差值
df['retention_days'] = (df['active_date'] - df['first_active_date']).dt.days
# 3. 获取每个同期群的新增用户总数
cohort_counts = df.groupby('first_active_date')['user_id'].nunique().reset_index()
cohort_counts.columns = ['first_active_date', 'cohort_size']
# 4. 合并数据并透视表计算留存率
df = df.merge(cohort_counts, on='first_active_date')
# 使用pivot_table快速生成留存矩阵
retention_matrix = df.pivot_table(
index='first_active_date', # 行:同期群(首次活跃日期)
columns='retention_days', # 列:留存天数(1天,2天...)
values='user_id', # 值:用户ID
aggfunc='count' # 聚合方式:计数
)
# 5. 转换为留存率百分比
retention_rate = retention_matrix.div(retention_matrix.iloc[:, 0], axis=0) * 100
print(retention_rate.head(10))
这段代码跑出来的结果,就是一个标准的留存率热力图,老板看了都说专业。
第三步:如何解读数据?(别只看数字,要看趋势)
算出数字只是第一步,解读才是留存率的灵魂。
1. 次日留存:看“吸引力”
次日留存低,说明用户来了发现“不对啊,这玩意儿不好玩/不好用”,直接就走了。
- 优化方向:新手引导、首次体验(Aha Moment)的打磨。
- 例子:抖音的次日留存极高,因为滑第一个视频你就停不下来了。如果你的产品次日留存低于30%(泛娱乐行业参考值),那你的“钩子”没钩住人。
2. 7日/30日留存:看“习惯养成”
这是衡量用户是否把产品当成生活一部分的关键。
- 7日留存:通常对应一个完整的使用周期。比如一个社交App,用户需要7天来建立初步的好友关系。
- 30日留存:对于工具类或内容类产品,这是生死线。低于10%的30日留存,通常意味着产品没有形成闭环。
3. 留存曲线形状:看“健康度”
正常的留存曲线应该是快速下降后趋于平缓。
- 正常曲线:Day 1 高,Day 7 降一点,Day 30 再降一点,然后变成一条直线。这说明流失是自然的。
- 异常曲线:Day 1 很高,Day 2 断崖式下跌。这说明你的推送太暴力,或者用户被虚假宣传吸引进来,立刻感到被骗。
- 异常曲线:曲线一直往下掉,没有平缓期。这说明产品缺乏长期价值,用户用完即走。
常见误区避坑指南(血泪总结)
这部分是今天的精华,我见过太多人在这里栽跟头。
误区一:把“活跃率”当“留存率”
很多团队喜欢说“我们月度活跃率是20%”。
- 问题:这20%里,可能有一半是3年前就注册的老用户,他们今天只是随手点了一下。这跟你现在的“新增用户质量”毫无关系。
- 纠正:坚持用同期群留存(Cohort Retention),也就是我上面代码里展示的那种,只看“这一批新人,过了多少天还剩多少”。
误区二:忽视分母的变化
假设你今天新增了100个用户,10个留存。留存率10%。 明天你新增了10000个用户,1000个留存。留存率还是10%。
- 陷阱:看起来一样,但第二天你的运营压力是前一天的100倍。
- 纠正:在看留存率的同时,一定要看绝对数量。有时候留存率稳定,但新增量暴跌,产品也在萎缩。
误区三:用“累计留存”混淆“区间留存”
- 累计留存:指第N天仍然在用的用户,占初始总用户数的比例。
- 区间留存:指第N天在用,且第N-1天也用的用户,占第N-1天活跃用户数的比例。
例子: 用户A:Day 1 来,Day 2 没来,Day 3 来了。
- 累计留存(Day 3):算A。
- 区间留存(Day 3):不算A,因为他Day 2没来。
大部分行业报告里的“30日留存”指的是累计留存。但如果你想看用户的粘性(即昨天用的人,今天还在不在),要看区间留存。 建议:汇报时用累计留存展示大盘规模,内部复盘用区间留存诊断用户流失节点。
误区四:忽略渠道质量
同样的留存率,来自“自然搜索”的用户和来自“薅羊毛广告”的用户,价值天差地别。
- 坑:为了冲留存率,去投放那些“薅羊毛”的渠道,虽然短期数据好看,但这些用户永远不会转化为付费用户。
- 纠正:按渠道拆分留存率。你会发现,某几个渠道的留存率虽然高,但LTV(生命周期价值)极低,这种留存,不要也罢。
误区五:只看平均值,不看分布
如果你说“我们的平均留存率是20%”,这通常是假的。
- 可能有10%的用户天天来,贡献了80%的活跃。
- 剩下90%的用户几乎不来。
- 纠正:去画一个用户生命周期曲线,看看到底是哪一类用户在流失。是“好奇宝宝”走了?还是“忠实粉丝”累了?不同的流失人群,对应不同的挽回策略。
结语:留存是跑出来的,不是算出来的
最后想跟各位说,留存率只是一个结果指标。
如果你们团队每天花大量时间纠结“留存率公式是用30天还是31天”,那估计方向已经偏了。真正的留存,来自于你产品是否真的解决了用户的问题,是否让用户在使用的过程中感受到了愉悦。
公式是骨架,产品才是血肉。
下次老板再问你留存率,别急着甩给他一个数字。先问问他:“咱们是想看新用户的粘性,还是看整体用户的健康度?”这个问题问出来,你就比90%的同行显得更专业了。
希望这篇指南能帮你把留存率这事儿彻底搞懂。如果还有疑问,欢迎随时再聊,咱们一起把数据背后的故事挖出来。
