产品留存率衡量一批用户在首次使用后经过一个时间窗仍继续使用产品的比例。计算时先定义“留存动作”和统计单位,固定同期群起始日期,再用观察日仍有留存行为的去重人数除以该群初始人数。本文给出公式、取数口径、可复算示例和解读限制,帮助你把留存率用于功能验证、版本对比或渠道质量判断。
要点总览(TL;DR)
- 留存率的基本公式是:某时间窗留存率 = 该同期群在观察日仍有留存行为的去重人数 ÷ 该同期群初始人数 × 100%,分子分母必须来自同一批用户、同一时间口径。
- 计算前先固定四个要素:留存动作(登录、核心功能使用、付费等)、统计单位(用户、账号或设备)、时间窗(次日、7日、30日等)和同期群划分规则。
- 取数时统一处理重复事件、注销与合并账号、内部账号、异常流量、缺失值和数据延迟,保证其他人用同一份数据能复算出相同结果。
- 分母为零时标注“样本为空”而不输出百分比;样本过小时同时给出绝对人数;数据未到齐的近期同期群应标注“数据未完整”暂缓解读。
- 留存率只说明行为是否持续发生,需结合同期群对比、行为数据和用户反馈交叉验证,不能单独作为因果结论或绩效保证。
留存率要回答什么产品问题
留存率回答的是一个具体问题:用户在第一次接触产品之后,是否在后续时间里持续做出能体现产品价值的行为。它把“用户来过”与“用户留下并继续使用”区分开,因此常被用来判断某个功能、某个版本或某个渠道带来的用户是否真正产生了持续价值。
在开始计算之前,先写清本次分析要支持什么决策,留存率才有解释方向。常见用途有三类:
- 功能验证:新上线的核心功能是否让使用该功能的用户更愿意回访,需要对比使用功能与未使用功能的两组同期群。
- 版本对比:某个版本改动后,新版本首周用户的后续留存是否优于上一版本同期用户,用于判断改动是否值得保留。
- 渠道质量:不同投放渠道带来的用户在相同时间窗内的留存差异,用于评估渠道带来的用户是否与产品匹配。
需要区分的是,留存率属于用户价值持续发生的观察指标,与需求验收、研发效率指标承担不同任务。需求验收关注功能是否按约定交付、验收标准是否通过;研发效率关注交付周期、吞吐等过程指标。留存率不替代验收结论,也不直接说明研发团队的工作质量。把评估目标写成一句话,例如“比较A版本与B版本新用户30日留存,判断新版引导流程是否保留”,后续的口径选择就有了依据。
留存率的指标定义与统计范围
留存率的定义可以统一表述为:某一同期群在观察时间窗内仍有留存行为的去重单位数,占该同期群初始单位数的比例。要让这个定义可执行,需要固定四个要素:留存动作、统计单位、时间窗和同期群范围。
留存动作
留存动作是判断“用户是否留下”的行为标准。常见选择包括登录、使用核心功能、完成关键任务或付费。动作越接近产品价值,留存率越能反映真实使用;仅以打开应用或登录作为留存动作,容易把被动唤醒计入留存。动作一旦确定,在同一组对比中应保持一致,否则结果不可比。
统计单位
统计单位决定分子分母按什么去重。按用户去重适合以人为运营对象的场景;按账号去重适合企业级产品,一个用户可能拥有多个账号;按设备去重适合未登录也能使用的工具类产品。三种单位得到的留存率可能明显不同,选择时应与业务对象一致,并在对比中保持同一单位。
时间窗与同期群
时间窗是观察留存行为的时间跨度,常用次日、7日、30日,也可按周或按月设置。同期群按首次使用日期划分,例如“1月1日首次使用产品的用户”构成一个日同期群;按周划分则得到周同期群。同期群的价值在于让不同批次的用户在同一生命周期阶段上比较,避免新老用户混在一起导致口径漂移。
纳入与排除范围
需要明确哪些人进入分母:通常为新用户,即统计周期内首次发生留存动作或首次注册的用户。回流用户是否单独成组、内部账号与测试账号是否排除、机器人或异常流量是否剔除,都应在指标定义卡中写明。定义卡建议包含以下字段,便于团队共用同一口径:
| 字段 | 填写内容示例 |
|---|---|
| 留存动作 | 完成一次核心功能使用 |
| 统计单位 | 按用户ID去重 |
| 时间窗 | 次日、7日、30日 |
| 同期群规则 | 按首次使用日期划分日同期群 |
| 纳入范围 | 统计周期内首次使用的新用户 |
| 排除范围 | 内部账号、测试账号、异常流量 |
数据口径与证据要求
留存率能否复算,取决于取数来源、字段和清洗规则是否写清楚。分子和分母必须来自同一批用户、同一时间口径,任何一侧的遗漏都会让比例失真。
数据来源通常是产品埋点事件表或用户行为日志。需要记录的关键字段包括:用户标识、事件名称、事件发生时间、首次使用时间、账号状态。留存动作对应的事件名称要与指标定义卡一致,事件时间用于判断是否落在观察时间窗内。
清洗规则应覆盖以下情况:
- 重复事件:同一用户在同一时间窗内多次触发留存动作,按用户去重后只计一次,避免分子被放大。
- 注销与合并账号:账号注销后是否仍计入历史同期群、合并账号如何归并到同一用户标识,需要事先约定并保持前后一致。
- 异常流量:短时间高频请求、脚本行为或明显异常的设备,应在分母和分子中同步剔除,避免只清洗一侧。
- 缺失值与数据延迟:事件时间缺失的记录无法归入时间窗,应单独统计缺失比例;数据延迟会导致近期同期群的观察日数据不完整,计算时应标注数据截止时间。
留存证据的可核验要求是:给定同一份原始数据和同一份口径说明,其他人能复算出相同结果。为此建议保留同期群名单、分子分母的取数逻辑和清洗前后的记录数,作为计算过程的附件。
留存率的计算步骤与公式
同期群留存率的基本公式为:
某时间窗留存率 = 该同期群在观察日仍有留存行为的去重人数 ÷ 该同期群初始人数 × 100%
计算流程可以按以下步骤执行:
- 确定同期群:按首次使用日期筛选出目标批次用户,形成分母名单,并记录初始人数。
- 对齐时间窗:以同期群起始日期为第0天,按天、周或月对齐观察日。次日留存对应第1天,7日留存对应第7天,30日留存对应第30天。
- 筛选留存行为:在观察日当天或观察窗口内,筛选触发留存动作的用户,按统计单位去重。
- 计算比例:用去重后的留存人数除以初始人数,乘以100%,得到该时间窗留存率。
- 组合留存曲线:把次日、7日、30日等多个时间窗的结果按时间顺序排列,形成留存曲线,观察衰减趋势。
分母为零时,说明该同期群没有符合条件的用户,此时不应输出百分比,而应标注“样本为空”。样本过小时,百分比波动很大,建议同时给出绝对人数,并说明样本量,避免用个位数样本得出趋势结论。
汇总留存与分群留存需要区分。汇总留存把所有同期群合并计算,适合看整体水平;分群留存按渠道、版本、地区等维度拆分,适合定位差异来源。两者口径不同,不能直接互相替代,对比时应在同一层级内进行。
一个可复算的计算示例
以下数字为演示情景,用于说明计算过程,不代表任何真实产品或行业基准。
假设某产品将留存动作定义为“完成一次核心功能使用”,统计单位为用户ID,按首次使用日期划分日同期群。1月1日首次使用的新用户共1000人,构成该同期群的初始人数。观察第1天、第7天、第30天的留存人数如下:
| 时间窗 | 观察日 | 留存人数(去重) | 初始人数 | 留存率 |
|---|---|---|---|---|
| 次日留存 | 第1天 | 420 | 1000 | 42.0% |
| 7日留存 | 第7天 | 260 | 1000 | 26.0% |
| 30日留存 | 第30天 | 150 | 1000 | 15.0% |
以次日留存为例,计算过程为:420 ÷ 1000 × 100% = 42.0%。7日留存为260 ÷ 1000 × 100% = 26.0%,30日留存为150 ÷ 1000 × 100% = 15.0%。三个时间窗的结果按顺序排列,形成该同期群的留存曲线,可以看到留存人数随时间衰减。
如果另一个同期群的初始人数为0,例如某渠道当天没有新增用户,则该同期群不计算留存率,标注“样本为空”。如果第30天的数据尚未到齐,例如数据截止时间只到第25天,则30日留存应标注“数据未完整”,暂不解读。示例中的分母始终是同一批1000人,分子来自同一批用户中的去重人数,保证分子分母可比。
如何解读留存率并识别误判
留存率说明的是行为是否持续发生,它能反映用户是否反复使用产品,但不能单独证明产品价值或因果关系。解读时应把留存率放回评估目标中,结合对比组和行为数据一起看。
同期群对比是正确用法的基础。比较两个版本时,应选择同一时间窗、同一统计单位、同一留存动作的两组同期群,并尽量控制渠道和用户结构差异。如果一组用户来自投放渠道、另一组来自自然增长,留存差异可能来自用户来源而非版本改动。渠道对比同理,应保持时间窗和留存动作一致。
以下情况容易造成误判,排查时可逐项核对:
- 样本量过小:分母只有几十人时,百分比波动大,应结合绝对人数判断。
- 时间窗变化:把7日留存与30日留存直接比较,或把不同长度的观察窗口混用,结果不可比。
- 口径漂移:留存动作、统计单位或排除规则在两次计算之间发生变化,导致前后数据不可比。
- 数据不完整:近期同期群的观察日数据尚未到齐,提前计算会低估留存。
- 单指标归因:把留存率上升直接归因于某次改动,忽略同期其他变化,容易得出错误结论。
更稳妥的做法是交叉验证:把留存率与核心功能使用频次、任务完成情况、用户反馈等行为数据放在一起看,确认留存变化是否有对应的行为变化支撑。留存率也不能单独作为绩效保证,它适合作为评估证据之一,与验收结论、用户反馈共同构成判断依据。
当留存分析需要把版本、需求、用户反馈和计算口径放在同一处管理时,可以在ONES中为每次评估建立工作项,关联对应版本和需求记录,把指标定义卡、取数口径和计算附件作为文档沉淀,评审时按同一份口径核对结果。这样做的目的是让评估过程可追溯、结论可复核,而不是替代数据分析本身。
常见问题
留存动作选登录还是核心功能使用,结果差别有多大?
两种选择得到的留存率通常差别明显。以登录为留存动作,会把被动唤醒、自动登录等行为计入留存,留存率偏高;以核心功能使用为留存动作,更接近“用户是否获得产品价值”的判断,留存率偏低但解释力更强。
选择时看评估目标:验证功能价值,优先选与该功能直接相关的行为;评估整体活跃,可以选登录或关键任务完成。无论选哪种,同一组对比中必须保持一致,否则前后数据不可比。
同一批用户既有账号又有多个设备,统计单位怎么定?
统计单位应与业务对象一致。以人为运营对象的产品按用户ID去重;企业级产品一个用户可能拥有多个账号,按账号去重更贴近实际使用主体;未登录也能使用的工具类产品可以按设备去重。
三种单位算出的留存率可能不同,因此对比时不能混用。如果产品同时存在登录与未登录场景,建议先确定主口径,再对另一部分单独说明,避免分子分母口径不一致。
新版本上线不久,30日留存还没到观察日,能先算吗?
可以计算已经到齐的时间窗,例如次日和7日留存,但30日留存应标注“数据未完整”,暂不解读。数据延迟会让近期同期群的观察日记录不完整,提前计算往往低估留存。
实操中建议在报表上标注数据截止时间,并等观察窗口结束后再更新结论。需要提前看趋势时,用已完整的时间窗做同期群对比,结论范围限定在已观察到的天数内。
留存率上升了,能直接说明这次版本改动有效吗?
不能直接下这个结论。留存率上升可能来自渠道结构变化、季节性波动、同期其他改动或统计口径调整。要判断版本改动的作用,应选择改动前后条件相近的同期群,控制渠道和用户结构差异,并核对留存动作与统计单位是否一致。
更稳妥的做法是交叉验证:把留存率与核心功能使用频次、任务完成情况、用户反馈放在一起看,确认留存变化有对应的行为变化支撑,再形成评估结论。
留存分析的口径和计算附件放在哪里,方便团队复核?
关键是让口径说明和计算过程与评估对象放在一起,评审时能按同一份材料核对。可以在ONES中为每次留存评估建立工作项,关联对应版本和需求记录,把指标定义卡、取数口径和计算附件作为文档沉淀,评审时逐项对照。
这样做的目的是让评估过程可追溯、结论可复核;数据分析本身仍在分析工具中完成,两者分工不同。
