CUPED (Controlled-experiment using Pre-Experiment Data) 论文学习笔记
文章目录
-
- 0 前置知识
- 1 为什么要使用CUPED?
- 2 CUPED核心原理与公式推导
-
- 2.1 CUPED调整后指标的构建
- 2.2 最优 θ \theta θ 的推导(方差最小化)
- 2.3 方差缩减效果分析
- 2.4 对ATE估计的无偏性验证
- 3 参考
0 前置知识
- A/B测试 (A/B Testing):通过随机分流,将用户分为对照组和实验组,并对不同组展示不同版本的产品设计(如界面、算法、功能),然后通过统计分析来比较哪个版本更能达成预期目标的实验方法。
- 对照组 (Control Group):看到产品旧版本的用户群体。用于评估新版本效果的基准(Baseline)。
- 实验组 (Treatment Group):看到产品新版本的用户群体。核心关注的就是实验组相对于对照组在关键指标上的变化。
- P值 (P-value):P值衡量的是,如果“新旧版本毫无差异”(即原假设为真)的情况下,我们观测到当前这样,甚至更极端差异的概率。
- 统计显著性 (Statistical Significance):通常我们设定一个阈值(显著性水平 α \alpha α,常用0.05)。如果P值 < α <\alpha <α,我们认为观测到的差异是“统计显著的”,意味着这不太可能是一个纯粹由随机性导致的偶然事件。我们因此有理由相信新版本确实带来了真实效果。反之,我们则认为差异不显著,没有足够证据表明新版本优于旧版本。
- 置信区间:它提供了处理效应(Treatment Effect,即实验组均值 - 对照组均值)的一个可能范围的估计。例如,一个95%的置信区间为
[0.5, 1.5]
意味着,我们有95%的信心相信,真实的效应提升在0.5到1.5之间。置信区间不仅告诉我们效应是否显著(如果不包含0,则在对应水平上显著),还告诉我们效应的大小和不确定性。区间越窄,我们的估计越精确。- 统计功效:指当一个真实效应确实存在时,我们的实验能够成功检测到它(即获得一个显著的P值)的概率。通常我们希望统计功效在80%以上。
统计功效为什么重要:低功效意味着,即使你的新版本真的很棒,实验本身也很可能因为“运气不好”而得出一个不显著的结论,导致你错误地放弃了一个好的产品迭代。提升统计功效是A/B测试优化的核心目标之一,而CUPED正是实现这一目标的利器。
1 为什么要使用CUPED?
在A/B测试等在线对照实验中,我们最关心的是处理效应,即新的策略、功能或算法(实验组)相比于旧的(对照组)所带来的真实改变。然而,实验结果往往受到用户天然异质性带来的“噪音”干扰。
假设我们要测试一个新的APP首页布局(实验组)是否比旧布局(对照组)更能提升用户的“会话时长”。有些用户本身就是重度用户,无论什么布局,他们的使用时长都很长;而另一些则是轻度用户。这种用户固有的、与实验处理无关的差异性,会导致实验指标(会话时长)的方差(Variance) 非常大。
高方差会带来两个严重问题:
- 灵敏度低:微小的真实提升(例如,平均会舍时长提升1%)很容易被巨大的随机波动所掩盖,导致我们无法在统计上得出显著的结论(即P值过高)。
- 效率低下:为了克服高方差,我们不得不增加样本量(更多用户)或延长实验时间,这直接导致了实验成本的增加和决策效率的降低。
CUPED 正是为了解决这一痛点而提出的。其核心思想是:利用实验前的数据,来剥离用户固有的异质性,从而降低实验指标的方差,提升实验的灵敏度(Sensitivity)和统计功效。
2 CUPED核心原理与公式推导
CUPED的本质是一种方差缩减(Variance Reduction)技术,其思想根源于统计学中的协方差分析(Analysis of Covariance, ANCOVA)。
2.1 CUPED调整后指标的构建
CUPED并非直接分析原始的实验指标 Y Y Y(如:实验期间的会话时长),而是构建一个新的、经过调整的指标 Y c u p e d Y_{cuped} Ycuped:
Y c u p e d = Y − θ ( X − E [ X ] ) Y_{cuped} = Y - \theta(X - E[X]) Ycuped=Y−θ(X−E[X])
其中:
- Y Y Y: 实验期间的目标指标(e.g., 实验后用户日均会话时长)。这是一个随机变量。
- X X X: 实验开始前的一个协变量(Covariate),它与 Y Y Y 高度相关(e.g., 实验前用户日均会话时长)。这也是一个随机变量。
- E [ X ] E[X] E[X]: 协变量 X X X 在全体用户中的期望(均值)。这是一个常数。
- θ \theta θ: 一个用于控制调整力度的常数。
核心直觉:如果一个用户在实验前的指标 X X X 就高于平均水平( X − E [ X ] > 0 X - E[X] > 0 X−E[X]>0),我们有理由相信他在实验期间的指标 Y Y Y 也可能偏高。我们通过减去一项 θ ( X − E [ X ] ) \theta(X - E[X]) θ(X−E[X]) 来“修正”这个用户的指标,将其“拉回”到更接近平均的水平,从而减少用户间的极端差异。
2.2 最优 θ \theta θ 的推导(方差最小化)
我们的目标是选择一个最优的 θ \theta θ 值,使得新指标 Y c u p e d Y_{cuped} Ycuped 的方差 V a r ( Y c u p e d ) Var(Y_{cuped}) Var(Ycuped) 最小。
首先,计算 Y c u p e d Y_{cuped} Ycuped 的方差:
V a r ( Y c u p e d ) = V a r ( Y − θ ( X − E [ X ] ) ) Var(Y_{cuped}) = Var(Y - \theta(X - E[X])) Var(Ycuped)=Var(Y−θ(X−E[X]))
由于 E [ X ] E[X] E[X] 是一个常数, V a r ( X − E [ X ] ) = V a r ( X ) Var(X - E[X]) = Var(X) Var(X−E[X])=Var(X)。因此:
V a r ( Y c u p e d ) = V a r ( Y − θ X ) Var(Y_{cuped}) = Var(Y - \theta X) Var(Y