—关注作者,送A/B实验实战工具包
做 AB 实验时,很多人的流量操作是极其随意的:
“今天先切 1% 看看,明天没事就切 10%,后天看还没事直接 50%,然后跑一周结束。”
或者反过来:
“为了快点出结果,直接切 50% 吧,有问题再回滚。”
这种操作虽然能跑通,但缺乏章法。前者可能在前期浪费了大量时间,导致核心结论产出慢;后者则可能因为覆盖面过大,导致一次 Bug 搞挂半个 App。
在实验科学领域,微软《关键迭代》提出了一套标准化的扩量与评估方法论——SQR 放量框架。它不是让你盲目加速,而是让你在速度 (Speed)、质量 (Quality) 和 风险 (Risk) 这三者之间找到最优解。
今天我们就来拆解这套“实验节奏大师”的指挥棒。
1. SQR 的核心三角:不可能三角的平衡术
SQR 框架的核心思想是:实验的每一个阶段,都有它唯一的、最高优先级的使命。 我们不可能在同一时间既要快、又要准、还要稳。
- 诉求:业务方希望尽快拿到结论,尽快推全好策略(享受收益),尽快砍掉坏策略(止损)。
- 冲突:想快,就得缩短实验周期,但这会牺牲样本量(质量)。
- 诉求:数据科学家需要足够多的样本量,确保结论是显著的、可信的,避免假阴性(明明有效没测出来)。
- 冲突:想准,就得跑久一点、流量大一点,但这会增加风险暴露时间,拖慢迭代速度。
- 诉求:工程团队不能让有 Bug 的策略瞬间影响全站用户。一旦出事,影响面必须控制在最小。
- 冲突:想稳,就得小流量慢慢跑,但这会导致样本积累极慢,甚至根本跑不出显著性。
SQR 框架通过分阶段管理,实现了这三者的动态平衡。它告诉我们在什么时候该关注什么。
2. 实验生命周期的三个阶段
根据流量占比的变化,SQR 将实验全生命周期划分为三个核心阶段。每个阶段的关注点截然不同。
没问题,我将基于你的补充,对这三个阶段进行深度扩充,增加更多的实战细节和逻辑解释,使其更加丰满。
2. 实验生命周期的三个阶段:步步为营
根据流量占比的变化,SQR 将实验全生命周期划分为三个核心阶段。每个阶段的关注点截然不同,任何“跨阶段”的操之过急都可能导致灾难。
第一阶段:灰度放量 (Ramp-up) —— 风险控制期
- 流量状态:0% →\\rightarrow→ 1% →\\rightarrow→ 5% →\\rightarrow→ 10% …
- 定义:MPR (Maximum Power Ramp) 之前的爬坡期。
- 核心使命:Risk (风险) 最小化。
- 做什么:
- 别看 P 值,看报错:在这个阶段,样本量非常小,统计功效极低。哪怕策略真的提升了 10% 的转化率,在统计学上也大概率是不显著的。此时盯着 GMV 的涨跌看是毫无意义的,你看到的只是噪音在跳舞。如果这时候 GMV 跌了 5%,很可能只是运气不好,而不是策略不行。
- 鹰眼监控:你要像鹰一样盯着技术护栏指标。
- 客户端:App 有没有闪退 (Crash)?白屏率有没有上升?
- 服务端:接口报错率 (Error Rate) 有没有突增?服务器 CPU/内存水位是否健康?
- 性能:页面加载耗时 (Latency) 有没有变慢?
- 快速止损:一旦发现上述任何技术指标异常,立刻回滚流量到 0。这个阶段就是用来“试错”的。
- 节奏:短期。通常控制在 1~2 天内。
- 只要确认没有技术 Bug,立刻进入下一阶段。千万不要因为“觉得数据波动大想再观察观察”而在这里浪费时间,因为小流量下的观察永远消除不了波动。
第二阶段:最大统计功效 (MPR) —— 质量评估期
- 流量状态:保持在"充分利用流量且均分"的状态,比如 50% vs 50%(双盲实验的标准配置)。
- 定义:Maximum Power Ramp。这是整个实验的“黄金时段”。
- 核心使命:Quality (质量) 最大化。
- 做什么:
- 积累样本:这是样本量积累最快、统计功效最高的时候。只有在 50/50 的比例下,组间方差最小,检测灵敏度最高。同样的样本量,50/50 分流比 10/90 分流能检测出更微小的提升。
- 产出结论:所有关于目标指标 (GMV/留存) 的显著性判断、Lift 计算,都必须基于这个阶段的数据产生。实验报告的核心结论,来自于此阶段。 只有这个阶段的数据才会被写入最终的实验结案报告,之前灰度期的数据通常会被丢弃,不计入统计。
- 节奏:中期。必须跑够预先计算好的最小样本周期(如 1 周或 2 周)。
- 忍住诱惑:即使第 3 天 P 值就小于 0.05 了,也必须跑满预定周期。
- 为什么? 为了覆盖完整的周中/周末效应。用户在周一的行为模式(上班摸鱼)和周六(在家躺平)可能截然不同。如果只跑了周一到周三,你的结论就是有偏差的。同时,跑满周期也能有效平抑新奇效应带来的短期数据虚高。
第三阶段:逐步推全 (Ramp-down) —— 速度冲刺期
- 流量状态:从 50% →\\rightarrow→ 90% →\\rightarrow→ 100%。
- 定义:MPR 之后的收尾期。
- 核心使命:Speed (速度) 最大化。
- 做什么:
- 收割红利:一旦在 MPR 阶段确认策略显著有效,且护栏指标正常,实验的“探索”任务就结束了,进入“利用”阶段。这时候没必要继续维持 50% 了。为了让更多用户尽快享受到新策略的红利(比如更流畅的体验、更便宜的价格),也为了让公司尽快赚到更多的钱,我们应该迅速扩大流量。
- 最后一道防线:之所以不直接一键切到 100%,而是先切到 90% 或 95%,是为了防止规模效应带来的意外。
- 比如:50% 流量下数据库还能扛住,切到 100% 可能会瞬间把数据库打挂。
- 比如:某些隐藏极深的并发 Bug,只有在全量高压下才会暴露。
- 预期管理:在这个阶段,用户的业务表现(转化率等)理论上应与 MPR 期间一致。如果发现推全后指标突然跳水,说明存在未知的辛普森悖论或系统瓶颈,需立即停止。
- 节奏:短期。快速完成发布。通常在 1 天内完成。确认系统稳定后,即可全量。
3. 特殊玩法:长期留出组 (Long-term Holdout)
在 SQR 示意图的顶部,你可能会注意到一个特殊的区域:“保留部分流量,用于长期观测”。
这就是 Holdout Group。
即使策略全量发布了(100%),我们有时也会故意留下 5% 的用户,强制让他们继续用旧版本,持续跑 3 个月甚至半年。
为什么要做这种“反人性”的事?
为了对抗新奇效应和长期磨损,衡量长期真实价值。
- 案例 A(新奇效应):你把图标改成了动态的。MPR 阶段点击率暴涨 20%。推全后,你留了 5% 的人看静态图标。三个月后一看,动态图标组的点击率掉回了原点。说明之前的提升纯粹是用户图新鲜。
- 案例 B(学习效应):你对会员价格进行了微涨。MPR 阶段转化率跌了 5%。但你觉得长期没问题,于是推全了,留了 5% 的人维持原价。半年后一看,涨价组的 LTV(生命周期价值)反而比原价组高了 10%。说明用户适应了价格,且高客单价带来了更高的利润。
通过保留这 5% 的“活化石”,我们才能在半年后的复盘会上,有底气地说出策略的真正 ROI。
4. SQR 框架示意图解
为了更直观地理解,我们将这个过程画成一张图。

*(注:柱状图高度代表新策略覆盖的流量比例)*
总结
SQR 框架告诉我们,做实验不是只有“开”和“关”两个状态,而是一场精密编排的战役:
掌握了 SQR,你就掌握了在不确定性中通过的最优路径。
如果这篇文章帮你理清了思路,不妨点个关注,我会持续分享 AB 实验干货文章。



