背景介绍
ab实验检验是否显著,也即计算置信度的P值时,收到三个因素的影响,分别是样本方差大小,样本量大小,组间指标gap。
Z
=
X
ˉ
t
−
X
ˉ
c
σ
t
2
/
m
+
σ
c
2
/
n
Z= \frac{ \bar{X}_t-\bar{X}_c}{\sqrt{\sigma_t^2/m+\sigma_c^2/n}}
Z=σt2/m+σc2/nXˉt−Xˉc
也即,样本量越大,方差越小、组件指标gap越大,就越有可能显著;但是在实际的实验场景中,数据检验阶段,样本量的大小,以及组间指标gap的大小已经固定,那么我们如果想要提升检验的灵敏度,说人话就是怎么样更容易显著,那么就只能从方差大小上出发了。
这里介绍一种方法:
CUPED,全称Controlled Experiments by Utilizing Pre-Experiment Data,就是通过实验前的历史数据来降低方差。我们希望通过对比实验前后用户对应指标的差异,比如最简单的拿实验后减实验前,来剔除一部分由实验与测试桶在历史样本行为差异带来的方差,这种方式对AA不平的实验组也同样有效。具体流程如下:
在具体实现中,CUPED更像是一种实验数据处理的方法,方法的本质是通过一个与实验指标相关但不受实验影响的变量X,来构造一个新的指标。
我们令:
Y
^
i
=
Y
i
−
θ
∗
X
i
+
θ
∗
E
X
i
=
1
,
2
,
3
,
4
,
…
…
,
n
\hat{Y}_{i}={Y_i}-\theta*{X_i}+\theta * EX \\ i=1,2,3,4,……,n
Y^i=Yi−θ∗Xi+θ∗EXi=1,2,3,4,……,n
同时,
1
n
∑
i
=
1
n
Y
^
i
=
1
n
∑
i
=
1
n
Y
i
−
θ
∗
1
n
∑
i
=
1
n
X
i
+
θ
∗
E
X
\frac 1n\sum_{i=1}^n\hat{Y}_{i}=\frac1n\sum_{i=1}^n{Y_i}-\theta*\frac{1}{n}\sum_{i=1}^n{X_i}+\theta * EX
n1i=1∑nY^i=n1i=1∑nYi−θ∗n1i=1∑nXi+θ∗EX
即:
Y
^
c
p
=
Y
ˉ
−
θ
∗
X
ˉ
+
θ
∗
E
X
\hat{Y}_{cp}=\bar{Y}-\theta*\bar{X}+\theta * EX
Y^cp=Yˉ−θ∗Xˉ+θ∗EX
对于新指标
Y
^
i
\hat{Y}_{i}
Y^i我们有:
- E Y ^ c p = E Y − θ ∗ E X + θ ∗ E X = E Y E\hat{Y}_{cp}=EY-\theta*EX+\theta * EX=EY EY^cp=EY−θ∗EX+θ∗EX=EY
-
v
a
r
(
Y
^
c
p
)
=
v
a
r
(
Y
ˉ
−
θ
∗
X
ˉ
)
=
1
n
(
v
a
r
(
Y
)
+
θ
2
v
a
r
(
X
)
−
2
θ
c
o
v
(
Y
,
X
)
)
var(\hat{Y}_{cp})=var(\bar{Y}-\theta*\bar{X})=\frac{1}{n}(var(Y)+\theta^2var(X)-2\theta cov(Y, X))
var(Y^cp)=var(Yˉ−θ∗Xˉ)=n1(var(Y)+θ2var(X)−2θcov(Y,X))
当 θ = c o v ( Y , X ) / v a r ( X ) \theta = cov(Y, X)/var(X) θ=cov(Y,X)/var(X)时, v a r ( Y ^ c p ) var(\hat{Y}_{cp}) var(Y^cp)为最小值: v a r ( Y ^ c p ) = v a r ( Y ˉ ) ( 1 − ρ 2 ) var(\hat{Y}_{cp}) =var(\bar{Y})(1-\rho^2) var(Y^cp)=var(Yˉ)(1−ρ2),其中 ρ = c o r ( X , Y ) \rho=cor(X, Y) ρ=cor(X,Y)
那么,我们构建的新的指标 Y ^ c p \hat{Y}_{cp} Y^cp,在期望值相同的情况下,方差就更小,那么 Y ^ c p \hat{Y}_{cp} Y^cp就能更加灵敏的反映是否显著。
在AB实验中,我们需要注意的是:
- 对于 X X X变量,原论文中建议选取对应用户在实验前1-2周的相关指标(pre-experiment),也有选取用户首次进入实验天数的方法,但都需要保证X不受实验影响的情况下,与 Y Y Y尽可能相关;
- 计算 θ \theta θ时,需要在实验组和对照组中取相同的值,否则 Δ c p \Delta_{cp} Δcp不是 Δ \Delta Δ的无偏估计。论文中建议使用实验组与对照组样本合并后来计算;
- 对于X缺失的样本,可以通过补充0进行处理,但在另一篇Booking的论文中,认为可以补充为样本均值;
- 可以选取多个变量对应多个不同的参数 θ \theta θ,但此时需要使用拟合的方式来求解多个 θ \theta θ。