AI 解读留存 Cohort 表

把 12 × 12 留存 cohort 网格压成 3 句话给 leadership——W1 方向、长尾形状、一个值得深挖的 outlier cohort。

任务场景

Mixpanel(或 Amplitude,或自家数仓)显示出留存 cohort 表——12 个 weekly cohort 在行,12 周在列,颜色从红到深绿。CEO 路过你屏幕,问”留存到底在变好吗?“你有 90 秒,图看上去”有些列变好了,第 4 行又怪怪地变差”,你不想给一个错的方向性答案——下季度的 roadmap 就压在这个判断上。你要 3 句话讲清楚到底在发生什么,再加一个值得这周看的 outlier,免得别人据此先建出一套战略。

什么时候适合让 AI 来做

AI 擅长基于你描述的行列做规律识别——跨 cohort 的 W1 方向、曲线是不是在同一周压平还是漂移、哪个 cohort 真的是 outlier 而不是统计噪音。它也擅长输出那种 exec 一眼能看完的 3 句话节制格式——大多数 analyst 默认会写一面墙 10 条 bullet。

AI 做不到:看你的原始数据——必须人工准确转写表格,最好把周数放在列头。它也无法推根因;和 feature 上线日或 pricing 变更的相关只是 hypothesis,不是 finding。它还分不清一个 3 个百分点的 W1 提升是否统计显著——小 cohort 噪声大,AI 会很自信地把 24% → 27% 叫”改进”,那可能只是抛硬币。

常见失败模式:AI 默认只要最新 cohort 比最老 cohort 高就报”improvement”,忽略中间的噪声。要明说:“看 trailing 6 个 cohort 的方向,不要拿首尾比;噪声大的话点名说噪声。“

需要先给 AI 的信息

  • Cohort 表数值(粘 markdown 网格,或按行描述——AI 都能读)
  • Cohort 轴:weekly、monthly,还是按 signup 来源(决定了什么算真 cohort)
  • 格子代表哪个指标(D1、W1、M1,或”任意动作留存”——告诉它就行)
  • Cohort 大小——30 用户的 cohort 47% 留存,和 3000 用户的 47% 留存,信号不是一回事
  • 带日期的关键事件:feature 发布、定价变更、广告 campaign、launch、infra 变更
  • Leadership 真正问的那个问题、按他们的原话(“留存有没有变好”vs”为什么 AppSumo cohort 还没死”,是两个完全不同的 readout)
  • 已知的季节性(节日、季末、开学季)
  • 可接受的置信度——“方向性就够”还是”我要放进董事会 deck”

可直接复制的 Prompt

读这张留存 cohort 表,写一份 3 句话 readout 给 {leadership / PM 团队 / 董事会}。
Cohort 轴:{weekly / monthly / 按 signup 来源}
格子指标:{D1 / W1 / M1 / 任意动作留存}
Cohort 大小:{paste 或描述}
表数据(cohort 在行、周在列):
{paste markdown 网格}

带日期的事件:{paste}
已知季节性:{paste 或"无"}
Leadership 的原话:"{quote}"

恰好返回 3 句:
1)跨 trailing 6 个 cohort 的 W1(或 M1)方向——给具体数字区间,不要"在变好"。如果 cohort 间噪声相对趋势偏大,要点名。
2)长尾形状——曲线压平没?哪周?跨 cohort 比 W1 vs W8(或 M1 vs M6)的差距:扩大还是收窄?
3)最有意思的那一个 outlier cohort——点名 cohort、数字、最可能的事件解释。明说这是 hypothesis、不是 finding。

最后加一行:"下一张要拉的图:{具体图}"——能验证第 3 句假设的那张图。

cohort < 200 用户、波动 < 3 个点,不要叫"improvement",标"在噪声内"。

短版本——一行 Slack 答案

Cohort 表:{paste}。Leadership 问:"{quote}"。一行回答带具体数字 + 方向,不要 caveat。第二行写这周真正该看的那个 cohort。

输出示例

一段好用的 3 句话:“最近 6 个 cohort W1 留存从 24-27% 上到 30-33%——方向性改进,cohort 间噪声约 3 个点。所有 cohort 在第 4 周后压平,W1 到 W8 的差距没收窄;我们修好的是冷启动,不是长期 hold。8/15 那 cohort W1 47%、412 用户,对得上 AppSumo 活动,到 W8 这部分用户在 active user 中还过度代表——这暗示是 deal 用户活得比预期久,不是整体留存挪了位置。”

一行好的”下一张图”:“下一张要拉的图:每个 cohort 单独的 W4 到 W8 留存,确认最近这波改进的长尾是不是真的平、还是延迟出现的。”

一行好的 Slack 版:“最近 6 个 cohort W1 涨了约 6 个点(24-27 → 30-33),但长尾看起来一样——我们修好的是 onboarding,不是 stickiness。这周值得看的是 8/15 那一档。“

怎么改输出

  • 强制具体数字 —— “把’最近 cohort 在变好’、‘长尾稳定’之类的措辞,全部换成数字区间——比如’W1 在最近 6 个 cohort 从 24-27% 上到 30-33%‘。如果模型给不出具体数字,说明数据不支撑这句话。”
  • 长尾检查写明白 —— “每个 cohort 算一次 W1 到 W8 的差距(或 M1 到 M6)。告诉我 trailing 6 个 cohort 里这个差距是扩大还是收窄;这才是长尾 finding。”
  • 诚实标噪声 —— “如果趋势波动比典型 cohort 间噪声还小,明说。‘在噪声内的方向性改进’是合法 finding;只说’改进’是 overclaim。”
  • Outlier 挂事件而非给 feature 记功 —— “Outlier cohort 要同时给数字和最可能的事件相关。明说这是 hypothesis。除非那个窗口只 ship 了一件事,不要说是 feature X 造成的。”
  • 按受众调 readout 长度 —— “董事会:3 句话 + 1 张图。PM:加 per-cohort 表和’下一张图’那行。数据团队:返回 markdown 表,下面附我的解读,不是用解读替代数据。“

容易踩的坑

  • 看完 W1 就停——长尾讲的是另一个故事,而且这才是决定 LTV 的部分
  • 拿最老 cohort 比最新 cohort——中间的噪声往往是真信号;trailing 6 是标准窗口
  • 忽略 outlier cohort——它们对”acquisition mix 真正在变”的信号通常最强
  • 把 cohort 大小和 cohort 质量混了——30 用户 47% W1 不比 3000 用户 30% W1 强;小样本噪声压倒一切
  • 给 deck 挑最漂亮的 cohort——leadership 之后注意到周围 cohort,每一份 readout 的可信度都掉
  • 没做隔离就给 feature 记功——同一周 ship 了 3 样的话,归因要小心;“associated with”比”caused by”准确
  • 2 个点的波动叫”improvement”——任何在典型 cohort 间噪声内的都不是 finding,是抛硬币
  • 只粘表不粘事件和 cohort 大小——模型会照数字 pattern match,但 miss 真正的故事

FAQ

  • 要把完整 cohort 表分享给 leadership 吗? —— 技术受众(PM、eng lead、数据团队):是。Exec 和董事会:3 句 readout + 一张图就够——通常是 small-multiples 曲线形状图,或者只显示 trailing 6 个 cohort 的 heatmap。整张网格会训练他们跳读。
  • 多少个 cohort 才能信趋势? —— Weekly cohort:6+ 才信方向,12+ 才信长尾形状变化。Monthly:3+ 信方向,6+ 信长尾。低于这个就报”在噪声内的方向性”。
  • 为什么 W1 到 W8 的差距比 W1 更重要? —— W1 反映 onboarding 和第一天价值。W1 到 W8 的比例反映产品有没有形成习惯。一封好欢迎邮件就能挪 W1;挪 W1 到 W8 需要真 product fit。
  • 模型说留存改进了但我直觉觉得没有怎么办? —— 通常是模型在拿首尾比、忽略了中间噪声。加一句:“把 trailing 6 个 cohort 跟前 6 个 cohort 比,并点名方差,不只是方向。”
  • 如果 acquisition 来源是混合的呢? —— 在做 readout 前先按 source 拆分 cohort。混合 source 的 cohort 表会盖住真正发生的事;底层 source 通常方向相反、互相抵消。

相关阅读

标签: #AI 写作 #数据分析 #工作流 #留存 #Cohort