Step1 制定关注指标
【方法】围绕业务制定实验中的核心关注指标(Driver Metrics),同时定义护栏指标(Guardrail Metrics)
【说明】护栏指标的存在,是为了防止我们的策略发生“捡芝麻掉西瓜”的情况。当护栏指标显著负向的时候,就算核心关注指标显著正向,我们依然不建议推全实验
Step2 计算最小样本量
【方法】围绕关注指标,用其历史数据计算最小样本量
【说明】实验样本大于最小样本量的前提下,检验才有足够的“力量”检验到显著效果。最小样本量分析的英文名为:power analysis
均值指标 | 率值指标 | |
指标计算公式 | ![]() | ![]() |
计算器地址 | ||
计算器涉及的参数 |
|
|
Step3 分组
【方法】通过随机分流(hash、cityhash、分层hash等)分实验组和对照组
Step4 AA阶段检测组间差异
【方法】在AB实验策略上线前,对已经分流好的实验组和对照组进行组间差异检验(如参数检验t-test,或者非参检验bootstrap):
- 当p-value > alpha(0.05)时,接受原假设(原假设H0:mean(a) = mean(b)),说明实验组和对照组组间无差异,可上线策略进行ab实验;
- 当p value < alpha(0.05)时,拒绝原假设,说明实验组和对照组组间有差异,这时候可尝试的方法有:
- 参数检验过不了的话,可尝试非参检验
- 观测数据,是否有明显的outliers,考虑对其进行数据处理
- 可考虑重新进行随机分流、也可考虑分层随机分流
- 可考虑双重差分法
Step5 AB实验后检验组间差异
【检验方法】
- 参数检验和非参检验都可以尝试使用。参数检验在前提假设成立的基础上,其检验效果优于非参检验:
- 参数检验:t-test、固定效应模型
- 非参检验:bootstrap
- 双重差分法(difference in difference):AA阶段检测效果显著的时候,说明组间差异不可忽视。可考虑使用双重差分法来引入AA的信息(不管AA差异是否显著,都可以考虑双重差分法,双重差分法相对AB可以降低更多方差,有更高的敏感度,也适用于中小样本实验)。双重差分法效果如图:
双重差分法 |
![]() |
Post = 1为ab阶段、post = 0为aa阶段、两点分别为实验组和对照组。从图中可以看到,aa阶段组间存在差异(aa阶段的两点距离β1为组间本身的差异,与策略无关),若单纯观测ab阶段差异,我们计算的两点间距离为β1+β3,我们检验的两点距离会比实际情况要大。实际情况应该为:
DID = AB阶段的两点距离 – AA阶段的两点距离 =(β1+β3)-β1
转化为数学表达式则为右边的线性回归公式(此回归中treatment和post均为dummy variable),我们实际就是提前构建treatment*post的交互项,对其系数β3进行回归系数的显著性检验。检验得到的结果为:排除实验组和对照组的组间固有差异后的策略效果
注:
1.参数检验和非参检验均可使用双重差分法
2.双重差分法排出的是组间固有差异,能一定程度减小方差。但组间差异过大的话,双重差分法也不能应对(比如极端例子:实验组全是高活用户,对照组全是低活用户,尽管排除了组间差异,但是高活明显会比低活用户对策略更敏感,反映出的指标变动会明显高于低活)。合理的随机分流仍是上上策
Step6 应对AB实验检验结果不显著的办法
【应对检验结果不显著问题的方法】以下三种方法都是通过降低方差以提升检验的敏感度(improving sensitivity by variance reduction):
- 双重差分法:上节已经介绍
- Trigger Analysis:触达法。(将试验期间从未触达策略生效页面的人群排除)
- Matching:模型得分匹配法。(此方法需要大样本,不适合中小样本实验。样本量级建议单组在百万以上)
Reference
- 关于控制AA阶段数据的方法论:
- A. Deng, Y. xu, Improving the Sensitivity of Online Controlled Experiments by Utilizing Pre-Experiment Data, cited from: https://exp-platform.com/Documents/2013-02-CUPED-ImprovingSensitivityOfControlledExperiments.pdf
- HZ. Xie, J. Aurisset, Improving the Sensitivity of Online Controlled Experiments: Case Studies at Netflix, cited from: https://www.kdd.org/kdd2016/papers/files/adp0945-xieA.pdf
- A. Deng, V. Hu, Diluted Treatment Effect Estimation for Trigger Analysis in Online Controlled Experiments, cited from: https://alexdeng.github.io/public/files/wsdm2015-dilution.pdf
- 快手技术大佬&团队经验交流