← 全部文章

游戏里怎么量 N 日留存

留存几乎是决定一款游戏有没有未来的那个数。你可以一直买量,但如果玩家不回来,买量预算就是往一个漏底的桶里倒水。这篇讲的是怎么把 N 日留存量得既准、又能拿来做决策。

N 日留存到底指什么

N 日留存回答一个问题:在第 0 天进来的玩家里,有多大比例在第 N 天回来了?

标准定义:

  • 次日留存(次留)——安装后第二天回来。
  • 7 日留存(7 留)——第 7 天回来。
  • 30 日留存(30 留)——第 30 天回来。

注意是”在第 N 天”,不是”N 天之内”。经典 N 日留存是当天回访口径:一个玩家第 0 天玩、第 1–6 天没来、第 7 天回来,他算进 D7,但不算 D1。这跟滚动/累计留存(“第 N 天或之后回来过”)是两回事,把两者混在一起是看板数据最常见的混乱来源。选一种口径,然后到处标清楚。公式见留存率词条:

Dn 留存 = 第 N 天活跃的用户数 / 第 0 天该批次的用户数

定义锚点事件

算留存之前,你得先决定”活跃”是什么意思。在 Keentics 里,这靠选两个事件来完成:

  1. 建群事件——什么把玩家放进第 0 天的批次。通常是 first_openaccount_createtutorial_start。做买量分析时锚 first_open,这样能跟安装日期对齐。
  2. 回访事件——什么算”回来了”。光用 app_open 也行,但用一个有意义的动作(level_startsession_start)能把误开一下就走的玩家过滤掉。

一个常见坑:建群锚在一个靠后的事件(比如 level_5_complete),却用 app_open 量回访。这会把 D1 抬高,因为你已经预先筛到了高活跃玩家。建群定义要诚实——它得代表你真正买进来的那批人。

怎么读留存矩阵

留存矩阵是一个三角形。每一是一个批次——某一天进来的玩家。每一是”入群后第几天”。三角形的形状来自一个朴素事实:最近的批次还没活到那么久。

读法:

  • 顺着一列往下看(比如 D7 那列),看 D7 在不同批次间是在变好还是在衰减。这是你做产品改动的趋势线。
  • 横着看一行,看单个批次的衰减曲线。健康的游戏会走平——曲线不再往下掉,形成一条由铁杆玩家撑起的”留存底”。
  • 看形状,别只看 D1。 两款游戏可以同样是 40% 的 D1、看起来一模一样,到 D30 却天差地别。能滚进 LTV 的是那条底。

打开留存分析视图可以不写 SQL 就拉出这张矩阵;想要自定义窗口,也可以直接上只读 SQL。

按渠道和版本分群

一个总的留存数会把所有有意思的东西都盖住。一定要拆:

  • 按买量渠道 / 计划。 Facebook 批次和 TikTok 批次可以安装量一样、D7 完全不同。这是诚实算 LTV 和 ROAS 的输入——留存是回本的主心骨。
  • 按 App 版本。 改了新手引导之后,比对发版前后批次的 D1,这是判断引导到底帮了还是帮倒忙最快的读数。
  • 按平台、地区、设备档位。 低端安卓常常留存更差,原因是性能而不是设计。

常见误区

  • 同一张报表里混用 N 日留存和滚动留存。 一次性定好口径。
  • 把第 0 天当第 1 天数。 差一位的错误会让你的数字凭空比对手好看。
  • 太早去读新批次。 一个才 3 天的批次还没有 D7,空格不是 0。
  • 没过滤机器人和 QA 流量。 自动化打开会灌大第 0 天批次、把表观留存砸穿。建群之前就把它们滤掉。
  • 孤立地优化 D1。 一个炫但不加深玩法的次日钩子能抬 D1、却让 D30 纹丝不动。去追那条底。

留存不是一个数——它是一条带底的曲线,还要按玩家从哪来、拿到哪个版本去切。这样去量,它就不再是虚荣指标,而是开始告诉你下一步该做什么。从这往前推,LTV、ROAS 这些游戏分析几乎是顺手就出来的。