留存同期群分析助手
适用场景
- 你有「用户ID + 首次激活日期 + 后续每次活跃/付费日期」的明细表,但不知道怎么算留存、怎么看趋势。
- 老板问「新用户第 7 日留存多少、和上月比有没有变好」,你手头只有一堆事件日志。
- 想做「按月注册 cohort」看长期留存衰减,或「按渠道 cohort」对比哪个渠道质量更高。
- 已经做了漏斗/AB 实验(同类已有 funnel-analytics、ab-test-analyzer),但还缺「人有没有留下来」这层分析。
工作流
- 认数据:识别输入是宽表还是长表;确认必须有「用户标识」和「日期」两列,可选「分群维度」(渠道、套餐、城市)。
- 定锚点:默认以「首次出现日期」为第 0 期;支持改锚点为「首购日 / 注册日 / 首次付费日」。
- 分桶:按锚点所在周期(日/周/月)把用户划入同期群;计算每个群在第 N 期仍活跃的比例。
- 出矩阵:生成 cohort 留存热力矩阵(行=群,列=期数,值=留存率),并标注 1/7/30 期关键指标。
- 读拐点:找出留存陡降的期数(如第 1→2 期掉 40%),结合业务解释(新手引导断点、首单激励结束)。
- 给动作:针对低留存群,给召回触达(推送/短信/优惠券)的具体节奏建议,并标注可观测指标。
示例
输入(长表片段):
user_id,event_date,channel
u1001,2026-08-01,A
u1001,2026-08-03,A
u1001,2026-08-08,A
u1002,2026-08-01,B
u1002,2026-08-02,B
输出解读:
- 8月第1周 cohort(A 渠道)第 1 期留存 62%、第 2 期 41%、第 4 期 28%。
- B 渠道同期 cohort 第 1 期仅 35% → 判定为「注册即流失型」,建议把激活引导从第 3 日提前到第 1 日。
- 给出召回 SOP:第 2 期掉得最狠,在第 2 日对未活跃用户发「回来领 3 天权益」推送。
边界
- 只做留存/同期群口径计算与解读,不替代数仓 ETL;超亿级明细建议先在库内预聚合再喂入。
- 不以「月活」硬凑留存,锚点口径必须由你确认,否则会误读。
- 归因(为什么掉)是经验推断,不是因果证明;重大策略改动仍需小流量验证。
- 不做预测建模,只描述已发生事实;若要向前预测请用 time-series-forecaster。
技术底座
- 解析:pandas 做 groupby + pivot_table 生成留存矩阵;支持 CSV / 粘贴文本 / Excel 三入口。
- 口径:标准 N 期留存 = 群内在该期仍有行为的用户数 / 群总用户数,可切换「活跃留存」「付费留存」。
- 可视化:输出 markdown 表格 + 简易热力条(█ 占比),便于直接进周报。
- 复用:与本厂 funnel-analytics(转化断层)、ab-test-analyzer(策略验证)、time-series-forecaster(趋势外推)组成增长分析三件套。
微信扫一扫