CUPED(Controlled-experiment Using Pre-Experiment Data)是一种通过联系实验前数据,让方差变小的方法。
(简书的Latex解析经常不对,部分公式显示可能错误)
目的(what)
通过数据变换,得到更小的方差。
为什么要减小方差(why)
A/B实验结果取决于实验组方差(var)、效果():
var变小,会让结果更加容易显著。
方法(how)
1. 思路
构建,满足:
-
与
一样,是
的无偏估计;
-
相对
,方差更小。
使用来评估实验效果,效果相似,方差变小。
2. 原理
如果有另一随机变量,并且已知
。则有互相独立的二维随机变量
,定义:
由于,所以
是
的无偏估计,则:
,
当时,
的值最小(线性回归,最小二乘法),此时:
与
的相关系数越大,得到的方差越小。
3. 扩展到A/B
如果选择的不会被实验干扰,则
,
实验组、对照组在零假设下还有相同的,得:
,得到
微软的实践经验
1. 选择协变量(X)
选择相关系数更大的协变量,效果更好。微软的建议:
- 选择实验运行之前的指标数据最好;
- 实验之前指标数据的时间粒度越长,效果越好;
- 实验运行周期并不是越长越好。
实验前数据并不是X得唯一选择,只要是不会被实验干预影响的变量,都可以选择。比如用户加入实验的日期。
2. 实验前数据缺失(
对应的
不存在)
新用户或太久没回归的用户,可能没有旧的记录。可以对缺失的数据,补为适当的值。
结语
本文简单介绍了CUPED这种强大的方法,合理的使用可以大大增加实验的敏感度。
仅做简单介绍、总结,实践细节可参阅相关资料。
思考:CUPED与线性回归
CUPED方法的本质是对X、Y进行二维线性回归。
默认情况算法:
CUPED算法:
举例:CUPED算法(蓝色)在z轴上的波动相对默认算法(黄色)明显变弱

网友评论