产品留存率怎么算:口径、步骤与结果解读

产品留存率衡量的是某一时间窗口内首次使用产品的用户中,经过若干时间后仍继续使用的那部分用户占比。计算的关键是先固定三件事:什么行为算“继续使用”、按哪个日期划分同期群、观察多长的窗口。本文按口径定义、取数规则、计算步骤、数字示例和结果解读的顺序展开,给出可以复算的公式与处理规则,并说明单看留存率时容易出现的误读。



要点总览(TL;DR)


  • 留存率 = 窗口期末仍满足留存行为的用户数 ÷ 同期群初始用户数 × 100%,分子与分母必须来自同一批用户。
  • 计算前先固定三个口径要素:留存行为(登录、核心功能使用、付费等)、同期群分组(按首次使用日期)、观察窗口(次日、7日、30日等)。
  • 取数至少需要用户标识、首次使用时间、留存行为时间三个字段,并明确去重规则;分母为零标注“无样本”,样本过小需标注样本量。
  • 多窗口结果按“同期群 × 窗口”组织成表格或留存曲线,窗口未走完的同期群标注“未成熟”,不参与趋势判断。
  • 留存率是结果指标,不同口径与窗口之间不可直接比较,需结合访谈、行为路径、转化等证据解读,避免当作因果或绩效结论。


评估目标:留存率要回答什么产品问题


留存率用于判断产品是否在持续产生用户价值。用户第一次使用可能来自推广、活动或同事推荐,这类行为说明产品被触达,不能说明产品被需要。留存率观察的是同一批用户在经历一段时间后是否仍回来使用,因此它更接近“产品是否留得住人”这一问题。当留存率在多个同期群之间保持稳定或上升,通常说明产品对这批用户有持续价值;当留存率快速衰减,需要回到产品体验、目标人群匹配度或获客质量上找原因。


留存率在产品指标体系中有明确分工。拉新指标回答“获取了多少新用户”,关注渠道、成本和新增规模;活跃指标回答“某段时间内有多少人在用”,关注使用频次和覆盖面;收入指标回答“用户贡献了多少营收”,关注付费转化和客单价。留存率回答的是“来过的用户中还有多少留下”,它把注意力放在用户与产品关系的持续性上。四类指标各自成立,不能互相替代:新增很多但留存很低,说明获客与产品匹配度存在问题;活跃很高但留存持续下滑,说明活跃可能集中在少数重度用户身上。


留存率的评估边界也需要提前说明。它不覆盖需求验收,即不能回答某个需求是否按预期交付;也不覆盖研发效率,即不能反映交付速度、缺陷率或协作成本。把留存率用于这些场景,会得到与问题无关的结论。留存率适合放在产品价值验证的环节,与用户访谈、行为路径分析、付费转化等证据配合使用。



指标与范围:留存行为、同期群与观察窗口


留存率的计算结果对口径高度敏感,同一批用户在不同定义下可能得出差异很大的数字。计算前需要把三个要素写清楚,并保持前后一致。


留存行为指什么动作算“继续使用”。常见选择包括登录、使用某个核心功能、完成一次关键任务或发生付费。行为定义越接近产品的核心价值,留存率越能反映真实的产品价值。以登录作为留存行为,口径宽、数据易取,但可能把只打开看一眼的用户计入留存;以核心功能使用作为留存行为,口径更严格,更能体现用户是否真正用上了产品。行为定义一旦确定,应在同一份报告内保持不变,否则不同时期的数据无法比较。


同期群指按用户首次使用日期分组。同一同期群内的用户在同一时间段进入产品,经历相同的产品版本、运营活动和市场环境,因此组内比较更有意义。分组粒度可以是日、周或月,粒度选择应与观察窗口匹配:观察次日留存用日同期群,观察周留存用周同期群,观察月留存用月同期群。


观察窗口指从首次使用起经过多长时间后统计留存。常见窗口包括次日、7日、30日,以及按周、按月组织的留存。窗口越长,越能反映长期价值,但数据成熟所需时间也越长。计算30日留存时,最近30天内新增的用户尚未走完窗口,不能计入完整结果。


口径要素 常见选择 对结果的影响
留存行为 登录、核心功能使用、完成关键任务、付费 定义越严格,留存率通常越低,但更贴近产品价值
同期群分组 按日、按周、按月,以首次使用日期为准 粒度需与观察窗口匹配,否则组内用户经历不一致
观察窗口 次日、7日、30日、周留存、月留存 窗口不同,结果不可直接比较
分子分母范围 同一同期群、同一行为定义、同一窗口 范围不一致会导致比率失真

分母与分子的范围必须一致。分母是该同期群的初始用户数,分子是这批用户中在窗口期末仍满足留存行为的人数。如果分子统计时放宽了行为定义,或把其他同期群的用户算了进来,比率就会偏高且无法解释。



数据口径与证据:取数来源与缺失值处理


留存率计算至少需要三个字段:用户标识、首次使用时间、留存行为发生时间。用户标识用于区分不同用户并支持去重,首次使用时间用于划分同期群,留存行为时间用于判断用户在窗口内是否发生留存行为。数据通常来自产品埋点、业务数据库或用户行为分析系统,取数时应记录数据来源、统计区间和提取时间,便于后续复算。


去重规则需要提前确定。同一用户在同一设备多次注册、同一自然人有多个账号、匿名用户转为登录用户,都会影响分母。常见做法是以稳定的用户标识为准,合并同一用户的多个账号,匿名阶段的数据按规则归并或单独标注。去重规则应写入口径说明,避免不同人取数得出不同分母。


分母为零和样本过小是两类需要单独处理的情况。某个同期群初始用户数为零时,留存率没有定义,结果应标注为“无样本”,不能记为0%,否则会被误读为留存极差。样本过小时,比如同期群只有十几人,留存率的波动很大,一个用户的去留就能带来几个百分点的变化。这类结果可以展示,但应同时标注样本量,并在解读时降低权重。


缺失值和异常数据需要标注而非直接删除。首次使用时间缺失的用户无法归入同期群,应单独统计数量并说明占比;留存行为时间异常,比如早于首次使用时间,说明数据存在逻辑错误,应回溯埋点或同步逻辑。对缺失数据的处理方式会影响分母,删除、归并还是保留,都应在口径说明中写明。


当留存率需要按多个同期群、多个窗口持续输出时,取数规则和指标定义需要被固定下来并让参与方共用同一套口径。ONES 提供工作项与文档的协作管理能力,可以把指标定义、取数说明和口径变更记录放在同一处文档中维护,让产品、数据和业务方基于同一版本的口径开展统计与复核;具体的用户行为数据采集与同期群统计仍需由数据侧的工具完成。



计算步骤:从同期群到留存率


留存率的计算可以拆成四步,每一步都产出可核对的结果。


第一步,确定同期群并统计初始用户数。按首次使用日期筛选出目标同期群的全部用户,去重后得到分母。例如统计2025年3月1日首次使用的用户,去重后为1200人,分母即为1200。


第二步,在窗口期末统计仍满足留存行为的用户数。在这1200人中,筛选出在窗口期末仍发生留存行为的用户。以30日留存为例,统计在首次使用后第30天当天或第30天所在周期内发生留存行为的用户数,去重后得到分子。


第三步,计算留存率。公式为:留存率 = 窗口期末仍满足留存行为的用户数 ÷ 同期群初始用户数 × 100%。分子与分母来自同一批用户,单位为用户数,结果为百分比,保留一位或两位小数即可,精度不必过高。


第四步,按窗口与同期群分别输出结果。同一同期群可以同时计算次日、7日、30日等多个窗口的留存率,按窗口分行、按同期群分列组织成表格。把多个同期群在同一窗口下的结果连起来,就得到留存曲线,用于观察留存随时间的衰减趋势。


组织多窗口结果时,建议固定行列为“同期群 × 窗口”。每一行是一个同期群,每一列是一个观察窗口,单元格内填写留存率和样本量。这样既能横向比较不同窗口的衰减速度,也能纵向比较不同同期群在同一窗口下的差异。窗口尚未走完的同期群,对应单元格标注“未成熟”,不参与趋势判断。



例子:一个30日留存率的完整计算


假设某产品统计2025年3月1日首次使用的用户,去重后为1200人。以“使用核心功能”为留存行为,统计这批用户在第30天的留存情况,其中在第30天仍使用核心功能的有312人。计算过程为:312 ÷ 1200 × 100% = 26.0%。这个26.0%就是该同期群的30日留存率,分母1200人,分子312人,窗口为30日,行为定义为核心功能使用。


同一批用户的其他窗口结果可以一并列出,形成对比:


观察窗口 留存人数 同期群人数 留存率 备注
次日 540 1200 45.0% 窗口已成熟
7日 396 1200 33.0% 窗口已成熟
30日 312 1200 26.0% 窗口已成熟
30日(另一同期群) 0 0 无样本 分母为零,不计算比率
30日(小样本同期群) 3 12 25.0% 样本过小,仅供参考

表中分母为零的同期群标注为“无样本”,不写成0%,避免被误读为留存极差。样本仅12人的同期群虽然算出了25.0%,但与1200人同期群的26.0%不具备同等可信度,解读时应注明样本量。三个成熟窗口的结果显示,留存率从次日45.0%下降到30日26.0%,衰减主要发生在首周,这一形态比单个数字更能说明用户的使用节奏。



解读与限制:留存率不能单独说明什么


解读留存率首先要回到口径。同样是“30日留存26%”,行为定义为核心功能使用与行为定义为登录,含义完全不同;窗口是30日还是7日,反映的是不同时间尺度上的用户关系。看到留存率变化时,应先确认行为定义、同期群粒度和窗口是否发生变化,再判断是产品本身的变化还是口径调整带来的变化。


不同口径、不同窗口之间的留存率不能直接比较。把自家产品的7日留存与同行公布的30日留存放在一起对比,或者把按登录统计的留存与按付费统计的留存并列,都会得出错误结论。跨产品、跨时期比较时,需要对齐行为定义、同期群粒度和观察窗口,无法对齐时应说明差异,不强行比较。


留存率与产品价值之间的关联需要其他证据补充。留存率上升可能来自产品改进,也可能来自获客渠道变化带来的用户结构变化,或运营活动带来的短期回流。要判断留存率变化的原因,需要结合用户访谈、行为路径、功能使用分布和付费数据一起看。留存率是一个结果指标,它能提示问题存在,不能单独证明某个改动带来了价值。


还应避免把单指标当作绩效结论或因果结论。留存率受同期群构成、季节因素和统计口径影响,把它直接与个人或团队的绩效挂钩,容易诱导调整口径而非改进产品。更稳妥的做法是把留存率作为一组指标中的一项,与活跃、转化、收入等指标共同构成评估证据,并在结论中写明数据来源、口径和样本量,让结论可以被复核。



常见问题


留存行为应该选登录还是核心功能使用?


取决于你想回答的问题。以登录为留存行为,口径宽、数据易取,适合观察用户是否还会回来;以核心功能使用或完成关键任务为留存行为,口径更严格,更贴近产品是否被真正用上。两种定义算出的留存率不能混用,同一份报告内应保持一种定义,并在口径说明中写清楚。如果产品有多个核心功能,还需要明确以哪一个功能作为留存行为的判定依据。


最近30天新增的用户,能直接算30日留存吗?


不能。30日留存要求用户走完从首次使用到第30天的完整窗口,最近30天内新增的同期群尚未到期,数据不完整。这类同期群在报表中应标注“未成熟”,只展示已走完的窗口结果。如果要观察近期变化,可以先用次日或7日留存等短窗口,等30日窗口成熟后再补充完整结果。


同期群人数很少时,留存率还能用吗?


可以展示,但要同时标注样本量并降低解读权重。十几人的同期群中,一个用户的去留就可能带来几个百分点的波动,留存率不稳定。分母为零时留存率没有定义,应标注“无样本”,不能记为0%,否则会被误读为留存极差。做趋势判断时,优先使用样本量足够的同期群。


留存率上升,能说明某个产品改动有效吗?


不能单独说明。留存率上升可能来自产品改进,也可能来自获客渠道变化带来的用户结构变化,或运营活动带来的短期回流。要判断原因,需要结合用户访谈、行为路径、功能使用分布和付费数据一起看,并核对口径是否发生变化。留存率适合作为一组指标中的一项,结论中写明数据来源、口径和样本量,便于复核。


多个同期群、多个窗口的留存结果怎么组织?


建议固定行列为“同期群 × 窗口”:每一行是一个同期群,每一列是一个观察窗口,单元格填写留存率和样本量。这样既能横向比较不同窗口的衰减速度,也能纵向比较不同同期群在同一窗口下的差异。把多个同期群在同一窗口下的结果连起来,就得到留存曲线,用于观察留存随时间的衰减趋势。窗口尚未走完的单元格标注“未成熟”。