地基:A/B 测试是随机对照实验,随机化是唯一能立因果的钥匙
A/B 测试本质是在线随机对照实验(OCE / RCT):把用户随机分到对照组(A,现状)和实验组(B,新功能),然后比较两组的结果指标(Kohavi/Tang/Xu)。
关键在「随机」二字。随机化让两组在所有已知与未知变量上期望相等,因此分组之后两组唯一的系统性差异,就是是否受了 treatment(新功能)。于是结果上的差异可以干净地归因于 treatment——这正是观察性数据做不到的。
一句话记住:相关 ≠ 因果,只有随机化实验能立起因果。 在所有确立因果的方法里,受控实验是最可靠的 gold standard。
光有随机分组还不够,实验前还要先想清楚两件事:
OEC(Overall Evaluation Criterion,总体评估标准 / 北极星指标) ——把收入、参与度、留存等多个目标综合成的一个量化决策指标,用来判断实验该不该上线。好的 OEC 要:(1) 在实验周期内可快速测量、又是长期价值的好代理;(2) 与组织战略一致;(3) 不可被以非预期方式钻空子。提醒 Goodhart 定律:任何指标一旦成为被优化的目标,长期就会失去原本含义。
护栏指标(guardrail metrics) ——你不希望被恶化的组织级底线,比如页面加载延迟、崩溃 / 错误率、卸载率。一次实验可能算上百上千个指标,只有一小撮组成被优化的 OEC,另有一批护栏只许『不变坏』。哪怕 OEC 涨了,只要延迟或卸载率显著变差,也应否决——护栏是把『单指标优化』拉回『整体健康』的刹车。
📷 配图位:左边一个大漏斗把『收入 / 参与 / 留存』多个指标汇成一个标着 OEC 的出口;右边并排几道竖起来的护栏,标注『延迟 / 错误率 / 卸载率 —— 只许不变坏』,一条横线写『OEC 涨但撞护栏 = 否决』
读懂结果的两大坑:p 值不是『效果为真的概率』,置信区间也不是『含真值的概率』
实验跑完,你会看到 p 值和置信区间。这两个数最容易被读反,连专家都常踩。
最高频误区:把 p=0.03 读成『实验有效的概率 97%』或『只有 3% 概率是偶然』。两者都错。 美国统计学会(ASA 2016)原则二明确写道:『p 值不衡量所研究假设为真的概率,也不衡量数据由随机噪声单独产生的概率。』
p 值真正衡量的是——在原假设(无差异)为真的前提下,观测到当前或更极端数据的概率,即数据与某个统计模型的『不相容程度』。它是 P(数据 | H0),绝不是 P(H0 | 数据)。把这两个条件概率掉个个儿,就犯了『条件概率倒置』错误。
第二个坑是置信区间。『95% 置信区间』的正确(频率派)含义是:若把同样流程在无数次重复抽样中执行,约 95% 次算出的区间会盖住真实参数。
对你手上这一个具体区间而言,真值要么在里面、要么不在,没有『真值有 95% 概率落在本区间内』这回事。把后者当真,是把频率派的『方法长期覆盖率』误读成了贝叶斯的『后验概率』。Hoekstra 等(2014)调查 442 名学生 + 120 名研究者,发现连专家也普遍认同这条错误陈述。
实用建议:比起只盯 p 值是否过 0.05,看效应估计的置信区间更有信息量——区间宽窄 = 精度,是否跨 0 = 方向是否确定,它直接告诉你『效应多大、有多确定』。
实操陷阱与一条硬数据:别偷看早停、查 SRM、防新奇效应、警惕辛普森悖论
1) 不能偷看 / 早停。 经典 A/B 检验是为固定样本量设计的:α=0.05 的保证,只在你事先定好样本量、跑满才看一次时成立。若一边跑一边盯 p 值、第一次见到 p<0.05 就停(peeking / 早停),相当于反复做多次检验,Type I 错误率会从 5% 飙到 20%–40%+。Johari/Pekelis/Walsh 用 Optimizely 真实数据模拟:每 500 人看一次约 26%,连续监控可达 40%+。正确做法:跑满预定样本量再下结论,或改用为连续监控设计的序贯方法(always-valid p 值)。
2) 查 SRM(样本比失衡)。 SRM 指对照 / 实验两组实际样本比与设计期望比(如 50/50)出现统计显著偏离。Fabijan 等(KDD 2019)把它比作『发烧』——本身不是病,而是埋点丢失、随机化在 treatment 逻辑下游、机器人过滤不对称等数据质量问题的共同症状。检测用卡方检验,业界惯用阈值 p<0.0005(大样本下哪怕 50.2 / 49.8 这种细微偏差都极不可能偶然出现)。一旦命中 SRM,结论不可信,必须先查根因、不能直接读结果。
4) 警惕辛普森悖论。 它指聚合数据呈现的趋势,在拆成子组后整体反转,根因是有混杂变量同时影响分组与结果。经典实例:1973 年伯克利研究生院总录取率男 44% > 女 35%,看似性别歧视;但按系拆开,多数系女性录取率并不低、甚至更高(Bickel 1975,发表于 Science)——因为女性更多申请录取率本就低的热门系。
教训:A/B 分析里若用户构成在两组或不同时段不均衡,看总体比例会被误导,要分层 / 对齐再比。这也正是为什么随机化(让混杂在两组期望相等)能从设计上避免这种倒置——呼应了第一段。
自测 · 学完检查一下
想真正动手做题、记进度、攒连胜?到互动课里练。
A/B 测试被称为『能立因果』,最关键的原因是下面哪一条?
答案:随机分组让两组在所有已知与未知变量上期望相等,于是分组后唯一的系统性差异就是是否受了 treatment,结果差异可归因于 treatment
A/B 测试是在线随机对照实验。随机化让对照组与实验组在所有已知与未知变量上期望相等,因此分组后两组唯一的系统性差异就是是否受了 treatment,于是结果差异可以干净地归因于 treatment——这正是观察性数据做不到的,也是『相关≠因果,只有随机化实验能立因果』的含义。样本量大并不能替代随机化,指标多更不等于因果。(出处:Kohavi, Tang, Xu《Trustworthy Online Controlled Experiments》2020)
判断:实验得到 p=0.03,可以解读为『这个改动真有效的概率是 97%』『只有 3% 的概率纯属偶然』。
答案:错误
错误。这是最高频的 p 值误读。美国统计学会(ASA 2016)原则二明确:p 值不衡量所研究假设为真的概率,也不衡量数据由随机噪声单独产生的概率。p 值衡量的是——在原假设(无差异)为真的前提下,观测到当前或更极端数据的概率,即 P(数据|H0),绝不是 P(H0|数据)。把二者掉个个儿就是『条件概率倒置』。(出处:ASA Statement on p-Values, Wasserstein & Lazar 2016)
你算出某改动效应的『95% 置信区间』是 [+1.2%, +3.8%]。下面哪种解读是正确的?
答案:这是方法的长期覆盖率:若把同样流程在无数次重复抽样中执行,约 95% 次算出的区间会盖住真实参数;对手上这一个区间,真值要么在里面要么不在
95% 置信区间的正确(频率派)含义是方法的长期覆盖率:把同样流程在无数次重复抽样中执行,约 95% 次算出的区间会盖住真值。对你手上这一个具体区间,真值要么在里面、要么不在,没有『真值有 95% 概率落在本区间内』这回事——那是把频率派覆盖率误读成贝叶斯后验概率。Hoekstra 等(2014)发现连专家也普遍认同这条错误陈述。区间宽窄=精度、是否跨 0=方向是否确定。(出处:Hoekstra et al. 2014;ASA 2016 原则五)
判断:为了尽快出结论,一边跑实验一边盯着 p 值,只要第一次看到 p<0.05 就立刻停下宣布显著——这种做法不影响假阳性率,是高效的好习惯。
答案:错误
错误。经典 A/B 检验是为固定样本量设计的,α=0.05 的保证只在事先定好样本量、跑满才看一次时成立。持续监控、一过 0.05 就停(peeking/早停)相当于反复做多次检验,Type I 错误率会从 5% 飙到 20%–40%+。Johari/Pekelis/Walsh 用 Optimizely 真实数据模拟:每 500 人看一次约 26%,连续监控可达 40%+。正确做法是跑满预定样本量再下结论,或改用为连续监控设计的序贯方法(always-valid p 值)。(出处:Johari et al., Peeking at A/B Tests, KDD 2017)
关于『为什么要做 A/B 测试而不是靠拍脑袋』,下面哪条最符合微软规模化实验给出的硬证据?
答案:在专门为提升某关键指标而精心设计、严格执行的实验里,只有约 1/3 真的显著改善了指标,约 1/3 无显著差异,约 1/3 反而显著变差——所以要用实验筛而非凭信念上线
Kohavi 等(KDD 2013,基于微软规模化实验)报告:在专门为提升某关键指标而精心设计、严格执行的实验中,只有约 1/3 真的显著改善了指标,约 1/3 没有显著差异,约 1/3 反而显著变差;在 Bing 这类高度优化的产品上成功率更低。这正是『数据胜过直觉』的硬证据——人对『什么有效』判断很差,大多数好点子经不起对照实验,不该让 HiPPO(最高薪者的意见)替代实验。(出处:Kohavi et al., Online Controlled Experiments at Large Scale, KDD 2013)