Ronny Kohavi在微软担任实验平台副总裁期间发现了一个令人不安的数据:在经过精心设计和执行的A/B测试中,只有约三分之一成功改善了目标指标。另外三分之一的实验没有任何显著差异,剩下的三分之一甚至产生了负面影响。

这个被称为"三分之一法则"的发现并非孤例。Google、Netflix、阿里巴巴的实验平台都报告了类似的比例。但问题在于:这三分之一的"成功"实验中,有多少是真正的成功?有多少只是统计学上的幻觉?

2015年,开放科学合作组织(Open Science Collaboration)在《科学》杂志发表了一项里程碑式的研究:他们尝试重复100项曾发表于顶级心理学期刊的研究,结果发现只有36%能够成功复制。64%的原始"显著"结果无法被复制——这个数字远超5%。按照统计学理论,即使所有原始研究都是零效应,最多也应该只有5%的研究会出现假阳性。答案藏在A/B测试的统计机制深处,而理解它的钥匙是一串看似无害的数字:p值。

p值到底是什么(以及不是什么)

1925年,英国统计学家Ronald Fisher在《研究工作者的统计方法》中首次系统阐述了p值的概念。他的初衷很简单:提供一个判断实验结果是否"值得关注"的客观标准。Fisher建议,当p值小于0.05时,结果值得进一步研究。

但Fisher可能没想到,这个建议会在一个世纪后演变成一个全球性的决策规则。更令他始料未及的是,这个规则会被如此普遍地误解。

p值是在零假设为真的前提下,观察到当前数据或更极端数据的概率。

这句话的每一个词都很重要,也每一个词都被误解过。让我们逐词拆解:

“零假设为真”——这是p值计算的前提条件,不是结论。p值不能告诉你零假设有多大概率为真。

“观察到当前数据或更极端数据”——这是对数据分布的描述,不是对假设的描述。

“概率”——这是在假设前提下的条件概率,不是假设本身为真的概率。

Netflix的技术博客用一个简单的抛硬币比喻来解释这个概念。假设你怀疑一枚硬币不公平,抛了100次,得到55次正面。在硬币公平(零假设)的前提下,得到55次或更极端结果(≥55次正面或≥55次反面)的概率约为0.32。这就是p值。它回答的问题是:“如果硬币真的是公平的,我有多大可能看到这样的结果?“而不是"这枚硬币有多大概率是不公平的?”

关键洞察:在零假设为真的情况下,p值服从[0,1]区间上的均匀分布。

这个看似枯燥的数学事实蕴含着深刻的含义:即使零假设是真的,p值也可以取0到1之间的任何值,且取每个值的概率相等。这意味着,如果你做100次实验,每次都刚好是零效应,你会期望看到大约5次p < 0.05的"显著"结果。这不是错误——这是统计学设计的预期行为。

但当实验者开始"偷看"数据时,这个优雅的数学结构开始崩塌。

偷看数据:假阳性率的隐形膨胀

2010年,Evan Miller发表了一篇后来成为A/B测试经典文献的文章《How Not To Run an A/B Test》。他揭示了一个反直觉的事实:如果你在实验过程中反复检查显著性,并在达到显著时立即停止实验,你的实际假阳性率可能远超5%。

Miller用一个简单的例子说明这个问题。假设你的转化率是50%,你想测试一个新logo是否影响转化率。你决定每次观察后都进行显著性检验,一旦发现p < 0.05就停止实验,或者在150次观察后放弃。如果新logo实际上没有任何效果,你期望的错误率是多少?

答案不是5%,甚至不是稍高一点的6%或7%。答案是26.1%——超过理论值的五倍。

为什么会这样?统计学的显著性检验假设样本量是预先确定的。但"停止规则"打破了这一假设。考虑以下四种情况:

场景 200次观察后 500次观察后 如果提前停止
场景1 不显著 不显著 不显著
场景2 不显著 显著 显著
场景3 显著 不显著 显著
场景4 显著 显著 显著

注意场景3:如果在200次观察时发现显著结果并停止实验,你永远不知道在500次观察时结果会变得不显著。这个"逆转"现象被你人为地消除了——你只保留了早期幸运碰上显著结果的案例。

偷看的代价:显著性阈值的假象

Miller给出了一个更一般的表格,显示为了获得真实的5%假阳性率,你需要在报告的显著性水平上看到什么阈值:

偷看次数 报告的显著性阈值需要达到
1次 2.9%
2次 2.2%
3次 1.8%
5次 1.4%
10次 1.0%

这意味着,如果你习惯性地每天查看一次实验结果(假设实验持续10天),你看到的"1%显著性"实际上只相当于5%的真正显著性。你的信心被严重高估了。

斯坦福大学的Ramesh Johari在2017年的研究中进一步量化了这个问题。他的团队发现,在典型的A/B测试场景下,连续监控加上早期停止可以使假阳性率膨胀到正常水平的3-5倍

多重比较:越努力越不幸

偷看数据只是多重比较问题的一个特例。更一般的问题是:当你在同一批数据上进行多次统计检验时,至少发现一个"显著"结果的概率会急剧上升。

这个问题有一个精确的数学表达。假设你进行$m$次独立的假设检验,每次检验的显著性水平为$\alpha$。在所有零假设都为真的情况下,至少出现一个假阳性的概率(称为family-wise error rate,FWER)是:

$$FWER = 1 - (1 - \alpha)^m$$

当$\alpha = 0.05$时:

  • 5次检验:FWER = 23%
  • 10次检验:FWER = 40%
  • 20次检验:FWER = 64%
  • 50次检验:FWER = 92%

换句话说,如果你进行20次检验,即使没有任何真实效应存在,你也有64%的概率"发现"至少一个显著结果。这不是统计软件的bug,而是概率论的基本定律。

A/B测试中的多重比较陷阱

在实际的A/B测试中,多重比较往往以隐蔽的形式出现:

多个指标。一个典型的产品实验可能同时追踪转化率、停留时长、跳出率、收入、用户留存等十几个指标。即使真正的效应为零,检验这么多指标也几乎必然会产生至少一个"显著"结果。

多个细分群体。当整体结果不显著时,分析者往往会尝试按用户细分——新用户vs老用户、移动端vs桌面端、不同地区、不同时段…每增加一个细分维度,就增加了一组新的假设检验。

多个变体。A/B/n测试同时比较多个变体时,需要进行多次两两比较。4个变体需要6次比较,10个变体需要45次比较。

2015年发表在NIH的一篇论文用医学研究的例子警示道:“如果研究者尝试在8个不同的患者亚组中比较治疗效果,他们有33%的概率在至少一个亚组中发现’显著’差异,即使治疗实际上完全无效。更荒谬的是,如果整体上治疗确实有效,他们有90%的概率会在某个亚组中’发现’治疗反而有害。”

p-hacking:无意识的统计操纵

2015年,心理学领域爆发了一场"可重复性危机”。一项大规模的重复研究项目试图复制100项发表于顶级心理学期刊的研究,结果发现只有36%能够成功复制。这个数字震惊了整个科学界。

研究者们开始追问:为什么会有这么多"显著"发现无法复制?答案指向了一个被称为"p-hacking"的实践——在数据收集和分析过程中,有意或无意地操纵决策,以获得统计显著的结果。

Statistics By Jim网站详细列举了p-hacking的常见手法:

停止规则操纵:在达到显著结果时立即停止数据收集,否则继续收集。这本质上就是"偷看数据"问题。

异常值处理:根据是否有利于获得显著结果来决定是否剔除异常值。一个研究可能有39种不同的异常值检测方法,每种方法都会产生略微不同的样本。

变量操纵:重新组合比较组、将连续变量离散化、只分析特定子样本…每种变换都创建了一个新的假设检验。

模型搜索:尝试不同的回归模型、不同的控制变量组合、不同的函数形式,直到找到产生显著结果的那个组合。

选择性报告:测量了20个指标,但只报告那一个显著的。进行了10种分析,但只展示那一种"成功"的。

HARKing(Hypothesizing After Results are Known):先看数据结果,再编造一个"预测"这个结果的假设。这颠倒了科学方法的顺序。

最令人不安的是,许多研究者并不知道自己在p-hacking。在一个充满选择的分析流程中,“选择性地"选择那些产生显著结果的路径是极其自然的倾向。正如一位研究者所言:“如果你折磨数据足够久,它终会招供。”

假阳性率的数学真相

至此,一个更深层的问题浮现出来:当我们在p < 0.05时宣称"结果显著”,我们真正承担的假阳性风险是多少?

答案可能令人震惊。2014年,一项发表在《美国国家科学院院刊》(PNAS)的研究估算了科学研究中假阳性发现的后验概率。在某些领域,当p值刚好小于0.05时,结果为假阳性的后验概率可能高达50%以上

这源于贝叶斯定理的一个简单应用。假设你正在研究一个"低先验概率"的假设——比如某个非常规的医学干预有效。如果真实效应存在的先验概率只有10%,即使你的p值达到0.05,后验概率的计算结果是:

$$P(\text{假阳性}|p < 0.05) = \frac{P(p < 0.05|\text{无效应}) \times P(\text{无效应})}{P(p < 0.05)}$$

在典型的实验设置下,这个后验概率可以轻松超过50%。换句话说,你的"显著"结果有超过一半的可能性是假的

这不是对p值的滥用,而是对p值的正确理解:p值不能替代先验概率。在先验概率很低的情况下(比如测试一个极其反直觉的假设),即使很小的p值也不足以提供强有力的证据。

序贯检验:为偷看赋予数学合法性

既然"偷看数据"在实际操作中难以避免,统计学是否有办法让这种行为变得"合法"?

答案是肯定的——序贯检验(Sequential Testing)正是为此而生。这套方法起源于二战期间的军火质量控制,后来被引入医学临床试验,现在正在被A/B测试领域广泛采纳。

核心思想:预先"消费"alpha预算

传统假设检验在实验结束时一次性"消费"全部的alpha(假阳性容忍度)。序贯检验则将alpha预算分配到多个检查点,每次检查只"消费"一部分预算。

宾夕法尼亚州立大学的统计学课程详细介绍了这种方法。设$\tau$为信息比例(已收集数据占总计划数据的比例),alpha消费函数$\alpha(\tau)$是一个递增函数,满足$\alpha(0) = 0$,$\alpha(1) = \alpha$(总显著性水平)。

两种经典的alpha消费函数:

O’Brien-Fleming方法:早期极其保守,后期接近传统阈值。适合"只想在实验结束时下结论"但希望保留早期终止可能性的场景。

$$\alpha_{OBF}(\tau) = 2 - 2\Phi\left(\frac{z_{\alpha/2}}{\sqrt{\tau}}\right)$$

Pocock方法:在各个检查点使用相同的调整后阈值。适合"希望有机会早期终止"的场景。

$$\alpha_{Pocock}(\tau) = \alpha \times \ln(1 + (e-1)\tau)$$

Evan Miller提出了一种更简单的序贯检验方法,特别适合转化率场景。规则是:预先确定最大样本量$N$,记录实验组成功次数$T$和控制组成功次数$C$。如果$T - C$达到$2\sqrt{N}$,立即停止并宣布实验组获胜;如果$T + C$达到$N$,停止并宣布无差异。

这个规则的数学基础是随机游走理论中的"赌徒破产"问题。简单得令人惊讶,却在低转化率场景下可以节省高达50%的样本量。

工程实践:如何避免成为统计陷阱的受害者

面对这些统计学陷阱,工程实践中应该怎么做?

预先注册实验方案

在实验开始前,明确记录:主假设、主要指标、样本量计算方法、分析计划。这不仅是为了应对监管,更是为了保护自己免受"选择性偏差"的诱惑。许多研究机构现在要求实验方案在开放科学中心(Center for Open Science)预先注册。

坚持预先计算的样本量

Evan Miller给出了一个样本量的经验公式:

$$n = 16 \times \frac{\sigma^2}{\delta^2}$$

其中$\delta$是你希望检测的最小效应量,$\sigma^2$是样本方差。对于二项分布(如转化率),$\sigma^2 = p(1-p)$。

这个公式假设显著性水平为5%、统计功效为80%。公式中的"16"来自$(1.96 + 0.84)^2 \approx 8$的两倍(双样本比较)。

使用序贯检验而非传统检验

如果你确实需要在实验过程中做决策,请使用序贯检验方法而非传统的固定样本检验。大多数现代A/B测试平台(如Optimizely、VWO、Statsig)都已经内置了序贯检验支持。

校正多重比较

当必须进行多次检验时,使用校正方法控制整体错误率:

  • Bonferroni校正:将显著性阈值除以检验次数。简单但保守。
  • Benjamini-Hochberg方法:控制错误发现率(FDR)而非family-wise error rate。在检验次数很多时更有检验功效。
  • Holm方法:Bonferroni的逐步改进版本,在不增加假阳性率的前提下提高检验功效。

定期进行A/A测试

运行两组完全相同的"实验",检验你的平台是否产生预期的5%假阳性率。Netflix、微软、Uber等公司都报告定期进行A/A测试以验证实验基础设施的正确性。如果你的A/A测试产生了显著高于5%的"显著"结果,说明你的实验设置存在问题。

贝叶斯方法:另一种思路

贝叶斯A/B测试提供了另一种框架。它直接计算"P(B > A | 数据)"——在给定数据的情况下,变体B优于变体A的概率。这个量更符合人们的直觉。

但贝叶斯方法并非偷看数据的"免死金牌"。David Robinson在著名博客文章中证明:贝叶斯方法同样会被偷看数据影响。提前停止贝叶斯检验会让你更容易接受错误结论,只是错误的形式不同——频繁主义者容易产生假阳性,贝叶斯主义者容易产生有偏估计。

结语:三分之一的真正含义

回到Ronny Kohavi的"三分之一法则"。在微软的实验平台上,只有约三分之一的实验成功改善了目标指标。这个数字告诉我们什么?

它可能不是说"三分之二的创意都是垃圾"。它可能在说:在正确进行的A/B测试中,假阳性率被控制在合理水平,我们宁可错过一些真实效应(假阴性),也不要被假阳性误导。

统计学设计的智慧在于:宁可错过,不要被骗。在科学发现和产品决策中,一个假阳性的代价往往远高于一个假阴性。发布一个无效的产品功能可能损害用户体验;上线一个有害的变更可能造成业务损失。而错过一个潜在的好想法,损失的可能只是"机会成本"——那本就不确定的机会。

理解p值、尊重样本量、正视多重比较,这些不是束缚创新的枷锁,而是确保决策有效的保障。在数据驱动的时代,真正的智慧不在于如何让数据"开口说话",而在于如何诚实地聆听数据想说的话——而不是你想听的话。


参考文献

  1. Kohavi, R., Tang, D., & Xu, Y. (2020). Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing. Cambridge University Press.

  2. Miller, E. (2010). How Not To Run an A/B Test. evanmiller.org

  3. Johari, R., Pekelis, L., & Walsh, D. (2017). Peeking at A/B Tests: Why It Matters. Stanford University.

  4. Netflix Tech Blog. (2021). Interpreting A/B test results: false positives and statistical significance.

  5. Ranganathan, P., & Pramesh, C. S. (2016). Common pitfalls in statistical analysis: The perils of multiple testing. Perspectives in Clinical Research, 7(2), 106-107.

  6. Open Science Collaboration. (2015). Estimating the reproducibility of psychological science. Science, 349(6251), aac4716.

  7. Simmons, J. P., Nelson, L. D., & Simonsohn, U. (2011). False-positive psychology: Undisclosed flexibility in data collection and analysis allows presenting anything as significant. Psychological Science, 22(11), 1359-1366.

  8. Lan, K. K. G., & DeMets, D. L. (1983). Discrete sequential boundaries for clinical trials. Biometrika, 70(3), 659-663.

  9. Benjamini, Y., & Hochberg, Y. (1995). Controlling the false discovery rate: a practical and powerful approach to multiple testing. Journal of the Royal Statistical Society Series B, 57(1), 289-300.

10.美团技术团队. (2023). 如何提供一个可信的AB测试解决方案. tech.meituan.com