数值系统上线后,设计稿中的“期望行为”会与真实玩家、设备、网络和内容生态发生碰撞。数据分析的任务不是替设计者挑一个好看的指标,而是把问题转化为可观测、可证伪、可行动的假设。本章建立从度量设计、数据采集、异常发现、根因分析到实验决策的闭环,并特别区分相关性、预测性与因果性。
“留存提高”不能直接说明数值设计变好。强制每日签到也可能提高短期回访,却降低自主感和长期信任。一个完整的度量框架至少包含三层:
可将总体效用写成多目标函数:
\[U=\sum_{i=1}^{m}w_i\tilde M_i-\sum_{j=1}^{k}\lambda_j\max(0, G_j-G_j^{\max})\]其中 $\tilde M_i$ 是归一化后的收益指标,$G_j$ 是风险指标。权重表达产品取舍,不是从数据中“自然长出”的真理。
北极星指标应同时满足:与玩家价值相关、能被团队行动影响、难以通过单一投机手段刷高。对赛季制动作游戏,可定义“每周有效游玩玩家数”,其中有效游玩要求完成至少一场有实质参与的对局。
指标树把高层结果拆为可诊断因素:
每周有效游玩时长
├── 每周有效玩家数
│ ├── 新增玩家数 × 首周激活率
│ └── 老玩家数 × 周回访率
└── 人均有效时长
├── 人均对局数
└── 单局有效时长
乘法分解尤其有用。若总时长下降 8%,可能是人数下降,也可能是单局变短;两个原因对应完全不同的数值动作。
指标必须由“对象、事件、窗口、分母、过滤条件”共同定义。例如:
\[\text{七日留存率}=\frac{\text{安装后第7个自然日有有效登录的新玩家数}}{\text{符合纳入条件的新安装玩家数}}\]以下口径不能混用:自然日与滚动 24 小时、账号与角色、登录与有效游玩、全量安装与完成注册。对比版本前后时,还需固定渠道、地区、平台与账号年龄,否则构成变化会伪装成数值变化。
常用指标不应只有均值:
| 系统 | 中心指标 | 分布与公平性指标 | 诊断维度 |
|---|---|---|---|
| 战斗 | 胜率、DPS、通关率 | P10/P50/P90、镜像外胜率 | 技能段、地图、阵容 |
| 经济 | 产出、消耗、净流量 | 财富 Gini、余额分位数 | 新老玩家、来源、去向 |
| 成长 | 等级速度、战力增长 | 卡点时长分布、追赶比 | 账号年龄、付费层 |
| 掉落 | 单次期望价值 | 保底触发率、最差尾部 | 池子、抽数、获取渠道 |
以角色强度为例,原始胜率会受到选手水平和阵容影响。更有用的是条件化优势:
\[\Delta W_h=W(h\mid s,m,a)-W_{\text{baseline}}(s,m,a)\]其中 $s$ 是技能段,$m$ 是地图,$a$ 是盟友与对手构成。只有在控制主要混杂因素后,$\Delta W_h$ 才接近角色本身的信号。
先写“要做什么决策”,再决定采什么数据。每个事件都应有契约:
数值配置版本极其关键。没有它,就无法判断同名技能的伤害来自哪个版本,也不能可靠重放历史战斗。
分析层通常区分三类信息:
事件适合回答“发生了什么”,快照适合回答“当时处于什么状态”。若只保留当前状态,就会产生未来信息泄漏:用今天的付费等级解释一个月前的行为。
数据管线可以抽象为:
客户端/服务器事件 → 接入与去重 → 口径转换 → 指标聚合 → 报表/实验/告警
契约校验 完整性校验 对账校验 新鲜度校验
核心质量维度包括:
货币系统可使用守恒对账:
\[B_{t+1}=B_t+S_t-K_t+T_t+\varepsilon_t\]其中 $B$ 为余额,$S$ 为产出,$K$ 为消耗,$T$ 为迁移或补偿,$\varepsilon$ 应接近零。持续非零通常意味着漏记、重复或未建模渠道。
移动端离线事件可能延迟数小时。应同时保存事件时间与接收时间,按业务决定水位线;高时效面板可先给估计值,结算与实验则等待数据稳定。
游客转正式账号、跨端登录和角色转服会改变身份。必须定义稳定的分析主键,并记录合并关系。随意以设备号代替玩家,会把换机误判为流失,把共享设备误判为同一人。
可采集不等于应采集。事件设计应遵守目的限定、最小必要、访问分级和可删除原则。对未成年人、支付、聊天与地理信息,需要更严格的治理。聚合统计和匿名化降低风险,但不能自动消除重识别可能性。
周末活跃上涨不是异常,新赛季首日也不应与普通周三直接比较。基线应考虑:
一种简单的加法模型是:
\[y_t=\mu+s_{\text{week}}(t)+s_{\text{season}}(t)+x_t^\top\beta+\epsilon_t\]检测对象应是残差 $\epsilon_t$,而不是原序列 $y_t$。
均值和标准差容易被极端值拖动。对重尾数据,可使用中位数与中位绝对偏差:
\[MAD=\operatorname{median}_i\left|x_i-\operatorname{median}(x)\right|\] \[z_i^{\text{robust}}=\frac{0.6745(x_i-\operatorname{median}(x))}{MAD}\]当 $MAD=0$ 时必须采用备选尺度或业务阈值,不能直接相除。对比率指标,还要考虑分母大小:10 场中的 80% 胜率与 10 万场中的 80% 置信度完全不同。
指数加权移动平均适合发现缓慢漂移:
\[z_t=\lambda x_t+(1-\lambda)z_{t-1}\]$\lambda$ 越大越灵敏,也越容易受噪声影响。CUSUM 累积同方向的小偏差:
\[C_t^+=\max\left(0,C_{t-1}^++x_t-\mu_0-k\right)\]当 $C_t^+>h$ 时告警。$k$ 表示希望检测的最小偏移,$h$ 控制误报与延迟的权衡。
当异常由多个普通特征的罕见组合构成时,单变量阈值不足。孤立森林利用异常点更容易被少量切分隔离的性质;自编码器利用重构误差;LSTM 等序列模型则利用“当前行为不符合历史上下文”的偏差。LSTM 适合存在长短期依赖且样本充足的序列,但训练、延迟和解释成本较高;普通季节模型已能解释的指标不应为使用 LSTM 而复杂化。
这些模型输出的是优先排查分数,不是作弊或设计缺陷的证明。训练集中的旧漏洞、版本漂移和标签偏见都会传入模型。高风险动作应结合规则、人工复核与申诉机制。
告警阈值应由代价决定。若漏掉无限复制货币的损失远高于误报,阈值应更敏感;若自动封禁会伤害正常玩家,则必须提高证据门槛。
\[\text{期望告警代价}=C_{FP}P(FP)+C_{FN}P(FN)+C_D E[\text{检测延迟}]\]有效告警还需要责任人、处置手册、抑制窗口、关联事件和恢复条件。没有行动路径的红色数字只是噪声。
“版本发布后留存下降”只是时间顺序,不足以证明版本导致下降;同期渠道构成、节假日和服务器故障都可能解释它。
总体均值可写为各群体均值的加权和:
\[\bar y_t=\sum_g w_{g,t}\bar y_{g,t}\]变化既来自组内表现 $\bar y_{g,t}$,也来自群体权重 $w_{g,t}$。如果低留存渠道的新增占比突然增加,总体留存会下降,即使每个渠道内部都改善。这就是必须同时看“组内变化”和“构成变化”的原因。
队列分析按共同起点比较玩家,例如注册周、赛季加入日或首次付费日,避免把不同生命周期混在一起。
漏斗分析定位离散步骤的损失:
进入副本 100%
└─ 选择队伍 91%
└─ 完成加载 88%
└─ 首次失败后重试 43% ← 主要断点
└─ 通关 29%
生存分析适合处理尚未流失的删失样本。生存函数为:
\[S(t)=P(T>t)\]它比简单“平均流失天数”更诚实,因为观察期结束时仍活跃的玩家不应被当作已经流失。
用有向无环图明确假设。例如“付费 → 战力 → 留存”中,付费也可能由投入意愿驱动,而投入意愿同时影响留存。直接比较付费与非付费玩家会混入自选择。
投入意愿 ─→ 付费 ─→ 战力 ─→ 留存
└──────────────────→ 留存
技能水平 ──────────────→ 留存
控制变量不是越多越好。控制中介会遮蔽总效应,控制碰撞点会引入偏差。变量选择应来自因果假设,而不是机械地把所有字段塞入回归。
根因应满足三项证据:机制上能解释、数据上与影响范围一致、干预后可逆或显著缓解。修复上线后要验证:
随机化单位必须与干预传播范围匹配。个人 UI 可按账号随机;公会奖励应按公会随机;匹配规则可能需要按地区、队列或时间簇随机。若同一对局中实验组影响对照组,就违反“单位之间互不干扰”的假设。
实验前应写明:
对两个比例的粗略规划,在基线比例为 $p$、希望检测绝对差 $\delta$ 时,每组样本量近似为:
\[n\approx\frac{2p(1-p)(z_{1-\alpha/2}+z_{1-\beta})^2}{\delta^2}\]$\alpha$ 控制第一类错误,$1-\beta$ 是功效。真实设计还要考虑簇随机的设计效应、流失、方差缩减与多重检验。
统计显著不等于产品重要。千万级样本能让极小差异显著,但收益可能不抵开发成本;小样本“不显著”也不等于两方案等价。
用实验前行为构造协变量,可减少随机噪声。若 $X$ 是实验前指标,$Y$ 是实验期指标,可使用:
\[Y_i^{adj}=Y_i-\theta(X_i-\bar X)\]按平台、地区、历史活跃度分层随机,也能改善有限样本的平衡。调整方案必须预先确定,避免看到结果后挑选最有利口径。
同时检查 20 个独立指标,即使都无效,也很容易偶然出现“显著结果”。应指定主要指标,对次要探索结果做多重比较控制。
反复查看普通固定样本检验并在“刚显著”时停止,会提高假阳性。可使用预定样本量,或采用合法的序贯设计。
总体平均效应还可能掩盖异质性:新手受益而专家受损。分群必须有机制依据和足够样本,不能穷举人群直到找到正结果。
经济和成长系统常有延迟效应。短期奖励增加会抬高活跃,却可能数周后造成通胀或内容消耗过快。实验应覆盖完整周期,并关注累计量、资产存量和回访曲线。
对不可逆资产发放,A/B 测试也不天然安全。需限制暴露、准备回撤方案,并明确实验结束后玩家资产如何处理。
当无法随机化时,可考虑双重差分、断点回归或合成对照,但它们依赖更强假设。例如双重差分要求干预前趋势可比:
\[\hat\tau=(\bar Y_{T,after}-\bar Y_{T,before})-(\bar Y_{C,after}-\bar Y_{C,before})\]某竞技游戏发现角色 A 的总体胜率升至 55%。直接削弱并不稳妥,诊断显示:
最终动作可以是调整地图交互或组合协同,而非全面削弱 A。案例说明平衡指标必须条件化,并沿机制定位。
仪表盘显示金币日净流入增长 40%。守恒对账排除了埋点问题,来源分解发现增长集中于回流玩家;进一步追踪到回流礼包与可重复任务叠加。处理流程应包括:冻结重复路径、评估已产出存量、选择非惩罚性回收方式,并持续观察价格指数和财富分布。
业界常被概括为“Supercell 式数据驱动”或“网易式数据中台”:前一种叙事强调小团队围绕产品假设快速试验,后一种叙事强调大型组织统一数据资产与能力复用。两者都只是抽象标签,具体团队实践会随产品而异;工具规模也不是关键。真正可迁移的原则是:
设计假设 → 指标与事件契约 → 灰度/实验 → 分层诊断
↑ ↓
复盘与知识库 ← 长期监控 ← 决策、回撤与再验证
小团队用少量可信报表也能形成闭环;大团队即使拥有复杂平台,若口径无人负责、实验不可复现,仍会得到更快的错误结论。
线上指标异常时,建议按固定顺序处理:
事故处理中的速度来自预先准备,而不是跳过验证。
练习12.1 某副本改版后,团队提出“提高参与度”。请给出一个结果指标、两个输入指标和两个护栏指标,并为结果指标写出完整口径。
提示:说明分析对象、窗口、分母和何谓“参与”。
练习12.2 某货币昨日初始总余额为 1,000 万,产出 300 万,消耗 180 万,跨服迁入净额 20 万,今日快照为 1,145 万。计算无法解释的差额,并给出三个排查方向。
提示:使用余额守恒式,注意正负方向。
练习12.3 一组单日击杀数为 $[10,10,11,11,12,12,13,200]$。为什么均值与标准差不适合作为唯一基线?应优先使用什么统计量?
提示:观察 200 对中心和尺度的影响。
练习12.4 实验显示新手七日留存从 20.0% 升到 20.2%,样本足够大且统计显著。是否应立即全量?还需要哪些信息?
提示:区分统计显著、实际价值和风险。
练习12.5 某角色总体胜率从 50% 升至 54%,但各技能段内部胜率都没有变化。构造一个可能的数据解释,并提出验证方案。
提示:考虑总体均值中的群体权重。
练习12.6 设计一个检测“金币复制漏洞”的告警策略。说明检测单元、特征、阈值思想、误报处置和自动动作边界。
提示:复制漏洞通常同时破坏守恒关系与行为序列。
练习12.7 公会奖励改动可能在成员间传播。若仍按玩家随机做 A/B 测试,会产生什么偏差?请给出更合适的实验设计。
提示:思考同一公会的实验组如何影响对照组。
练习12.8 新版本仅在地区 A 灰度,地区 A 的付费率上升 1.5 个百分点,地区 B 不变。请设计一个双重差分判断框架,并列出至少三个关键威胁。
提示:最重要的假设发生在更新之前。
追求对局时长可能诱导拖延;追求登录次数可能诱导频繁打断。每个代理指标都应配护栏,并定期检查它与真实玩家价值的关系是否漂移。
埋点版本、时区或机器人过滤规则变化,会制造断点。指标定义应版本化,报表上明确标注口径变更,关键指标保留可重算的原始事实。
平均抽数正常,不代表最倒霉玩家体验合理;平均财富稳定,不代表贫富差距没有扩大。始终配合分位数、尾部概率和分群分布。
不断切人群、换窗口和换指标直到显著,是分析自由度造成的假阳性。区分预先注册的验证性结论与事后探索,探索结果应在新数据上复验。
无脑加入所有字段可能控制中介或碰撞点,制造因果偏差。先画因果图,再决定调整集合,并对关键假设做敏感度分析。
当漏记和重复尚未解决时,升级 LSTM 不会提高真实性。先建立守恒对账、契约校验和朴素基线,再评估复杂模型的增量价值。
无责任人、无处置动作、频繁误报的告警最终会被忽视。根据业务代价分级,合并关联异常,并持续统计告警命中率与平均处置时间。
短期实验可能看不到通胀、内容消耗、社交传播和 Meta 适应。为慢变量设置长期持有组或版本后监控,不要用一周活跃替代季度健康度。