背景

AB试验可谓是互联网公司进行产品迭代添加用户粘性的大杀器。但人们对AB试验的运用往往只停留在开试验算P值,然后let it go。。。let it go 。。。

让我们把AB试验的成果简略的拆解成两个方面: P(试验成果明显)=P(核算查验明显∣试验有用)P(试验有用)P(试验成果明显) = P(核算查验明显|试验有用) P(试验有用) 假如你的产品改进计划本来就没啥作用当然怎样开试验都没用,但假如计划有用,请不要让 statistical Hack 浪费一个优异的idea

假如预期试验作用比较小,有哪些根底操作来添加试验明显性呢?

一般情况下为了添加一个AB试验的明显性,有两种常见做法:添加流量或许增长试验时刻。但对一些或许对用户体验发生负面影响或许成本较高的试验来说,上述两种办法都略显粗糙。

关于老练的产品来说大多数的改动带来的提高或许都是细小的!

在数据为王的今天,我们莫非不应该选用更精细化的办法来解决问题么?无论是延长试验时刻还是添加流量一方面都是为了添加样本量,由于样本越多,方差越小,p值越明显,越简略检测出一些细小的改进。

因而假如能合理的经过核算办法下降方差,就或许更快,更小成本的检测到细小的作用提高

AB实验的高端玩法系列2 - 更敏感的AB实验, CUPED!

CUPED(Controlled-experiment Using Pre-Experiment Data)应运而生。 下面我会简略总结一下论文的中心办法,还有几个Bing, Netflix 以及Booking的运用事例。

论文

Deng A, Xu Y, Kohavi R, Walker T. Improving the Sensitivity of Online Controlled Experiments by Utilizing Pre-experiment Data. Proceedings of the Sixth ACM International Conference on Web Search and Data Mining. New York, NY, USA: ACM; 2013. pp. 123–132. Paper链接

中心办法总结

论文的中心在于经过试验前数据对试验中心目标进行修正,在确保无偏的情况下,得到方差更低, 更灵敏的新目标,再对新目标进行核算查验(p值)。

这种办法的合理性在于,试验前中心目标的方差是已知的,且和试验自身无关的,因而合理的移除目标自身的方差不会影响估量作用。

作者给出了stratification和Covariate两种方式来修正目标,一起给出了在实践运用中或许碰到的一些问题以及解决办法.

stratifiaction

这种方式针对离散变量,一句话概括便是分组算目标。假如已知试验中心目标的方差很大,那么可以把样本分红K组,然后分组估量目标。这样分组估量的目标只保存了组内方差,然后剔除了组间方差。

k=1,2,…,KYstrat=∑k=1Kwk∗(1nk∗∑xi∈kYi)Var(Y)=Varwithin+Varbetween=∑k=1Kwknk2+∑k=1Kwkn(k−)2=∑k=1Kwknk2=Var(Ystrat)k = {1,2,…,K} \\ \hat{Y}_{strat} = \sum_{k=1}^{K} w_k * (\frac{1}{n_k}*\sum_{x_i \in k} Y_i )\\ Var(\hat{Y}) = Var_{within} + Var_{between}\\ =\sum_{k=1}^K\frac{w_k}{n} \sigma_k^2 + \sum_{k=1}^K\frac{w_k}{n} (\mu_k – \mu)^2\\ =\sum_{k=1}^K\frac{w_k}{n} \sigma_k^2 \\ = Var(\hat{Y}_{strat})

Covariate

Covariate适用于接连变量。需要寻觅和试验中心目标(Y)存在高相关性的另一接连特征(X),然后用该特征调整试验后的中心目标。X和Y相关性越高方差下降起伏越大。因而往往可以直接挑选试验前的中心目标作为特征。只需确保特征未遭到试验影响,在随机AB分组的条件下用该目标调整后的中心目标仍旧是无偏的。

Yicov=Yi−(Xi−E(x))Ycov=Y−(x−E(x))=cov(X,Y)/cov(X)Var(Ycov)=Var(Y)∗(1−2)Y_i^{cov} = Y_i – \theta(X_i – E(x))\\ \hat{Y}_{cov} = \hat{Y} – \theta(\bar{x} – E(x))\\ \theta = cov(X,Y)/cov(X)\\ Var(\hat{Y}_{cov}) = Var(\hat{Y}) * (1-\theta^2)

stratification和Covariate其实是相同的原理,从两个视点来看:

  • 从回归猜测的视点,试验中心目标是Y,下降Y的方差便是寻觅和Y相关的自变量X来解释Y中信息的过程(提高R2R^2),X可以是接连也可以是离散的
  • 从投资组合的视点,Y是组合中的一项资产,想要下降交易Y的危险(方差),就要做空和Y相关的X资产来对冲危险,相关性越高对冲作用越好

下图摘自Booking的事例,他们的中心目标是每周的房间预定量,Covariate是试验前的每周房间预定量,博客链接在事例分享里。

AB实验的高端玩法系列2 - 更敏感的AB实验, CUPED!

实战攻略

covariate的挑选

这儿的挑选包括两个方面,特征的挑选和核算特征的pre-experiment时刻长度的挑选

  • Covariate一般会挑选相同目标在per-experiment的估量,目标自然是为了让X和Y的相关性越高越好,究竟方差减缩的起伏是correlation的函数
  • 估量covariate挑选的时刻段相对越长作用越好,时刻越长covariate掩盖的用户集体越大,且遭到短期动摇的影响越小估量更稳定。当然也不能无限延长,超越必定时刻后,covariate和目标的相关性会下降

没有pre-experiment数据怎样办

这个现象在互联网中很常见,新用户或许很久不活泼的用户都会面对没有近期行为特征的问题。作者以为可以结合stratification办法对有/无covariate的用户进一步打上标签。或许其实不仅局限于pre-experiment特征,只需确保特征不遭到试验影响post-experiment特征也是可以的。

而在Booking的事例中,作者挑选对这部分样本不作处理,由于一般缺失值是用样本均值来填充,在上述式子中就等于是不做处理。

CUPED要小心运用的场景

关于会影响用户结构的试验,并不推荐运用CUPED。例如会拉活低活用户/低活用户,影响用户发动的试验,不适用CUPED,由于用户结构改变后,他们的pre-experiment目标不再是无偏的。由于上述Covariate运用的中心是E(Xtreatment)=E(Xcontrol)E(X^{treatment}) = E(X^{control}),一旦用户结构发生变化这个假定自然不再建立。当然关于这类试验自身对目标的剖析也是和其他试验不同的

CUPED调整目标和实践目标正负相反

实践运用中不可避免会呈现调整前后目标一个正一个反的情况,大多是由于试验分流的不均匀导致的。哈哈不过只需都不明显,并不需要特别重视。当然更简略的解决计划也可以对部分低灵敏目标只保存CUPED,对自身高灵敏的目标不做CUPED调整

Attention

Covariate挑选的中心是E(Xtreatment)=E(Xcontrol)E(X^{treatment}) = E(X^{control}),这一点不管你挑选什么特征, 是pre-experiment还是post-experiment都要确保。

当然也有用CUPED来纠正试验组对照组差异的,但这个内容不在这儿讨论。

运用事例

Bing 加载时刻对用户点击率的影响

论文中作者在实践AB试验中查验了CUPED的作用。Bing试验检测检测加载时刻对用户点击率的影响。 一个本来运转两周只要个别天明显的试验在用CUPED调整后在第一天就明显,当把CUPED估量用的样本削减一半后明显性仍旧超越直接运用T-test.

AB实验的高端玩法系列2 - 更敏感的AB实验, CUPED!

Netflix 多种办法的实践作用比照

Huizhi Xie,Juliette Aurisset.Improving the Sensitivity of Online Controlled Experiments: Case Studies at Netflix

Netflix尝试了一种新的stratification, 上述论文中的stratification被称作post-stratification由于它只在估量试验作用时用到分组,这时用pre-experiment估量的分组概率会和随机AB分组得到的试验中的分组概率存在必定差异,所以Netflix尝试在试验前就进行分层分组。经过多个试验成果,Netflix得到以下定论:

  • 大样本下,post-strat在实践中更灵敏和pre-strat表现适当
  • 能否成功找到和试验中心目标相关的covariate是成功的关键

Booking.com 新日历交互对用户影响

How Booking.com increases the power of online experiments with CUPED

试验作用比照如下,CUPED用更少的样本更短的时刻得到了明显的成果。了解细节请戳上面的博客,作者讲的非常通俗易懂。

AB实验的高端玩法系列2 - 更敏感的AB实验, CUPED!

###想更多了解AB试验高端系列的朋友,戳这儿呦

AB试验的高端玩法系列1 – AB试验人群定向/个别作用差异/HTE 论文github保藏 AB试验的高端玩法系列3 – AB组不随机?观测试验?Propensity Score

想看更多因果推理AB试验相关paper的小伙伴看过来 Paper_CausalInference_abtest


Ref

  1. A/B Testing for the Next Decade. CHALLENGES, COMPETITIONS AND OPPORTUNITIES. ALEX DENG @ MICROSOFT 2015