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

背景

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

让我们把AB实验的结果简单的拆解成两个方面:
\[P(实验结果显著) = P(统计检验显著|实验有效)× P(实验有效)\]
如果你的产品改进方案本来就没啥效果当然怎么开实验都没用,但如果方案有效,请不要让 statictical Hack 浪费一个优秀的idea

如果预期实验效果比较小,有哪些基础操作来增加实验显著性呢?

通常情况下为了增加一个AB实验的显著性,有两种常见做法:增加流量或者增长实验时间。但对一些可能对用户体验产生负面影响或者成本较高的实验来说,上述两种方法都略显粗糙。

对于成熟的产品来说大多数的改动带来的提升可能都是微小的!

在数据为王的今天,我们难道不应该采用更精细化的方法来解决问题么?无论是延长实验时间还是增加流量一方面都是为了增加样本量,因为样本越多,方差越小,p值越显著,越容易检测出一些微小的改进。

因此如果能合理的通过统计方法降低方差,就可能更快,更小成本的检测到微小的效果提升

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组,然后分组估计指标。这样分组估计的指标只保留了组内方差,从而剔除了组间方差。
\[
\begin{align}
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_{\text{within_strat}} + Var_{\text{between_strat}}\&=\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})
\end{align}
\]

Covariate

Covariate适用于连续变量。需要寻找和实验核心指标(Y)存在高相关性的另一连续特征(X),然后用该特征调整实验后的核心指标。X和Y相关性越高方差下降幅度越大。因此往往可以直接选择实验前的核心指标作为特征。只要保证特征未受到实验影响,在随机AB分组的条件下用该指标调整后的核心指标依旧是无偏的。

\[
\begin{align}
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)
\end{align}
\]

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

  • 从回归预测的角度,实验核心指标是Y,降低Y的方差就是寻找和Y相关的自变量X来解释Y中信息的过程(提升\(R^2\)),X可以是连续也可以是离散的
  • 从投资组合的角度,Y是组合中的一项资产,想要降低交易Y的风险(方差),就要做空和Y相关的X资产来对冲风险,相关性越高对冲效果越好

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

实战攻略

covariate的选择

这里的选择包括两个方面,特征的选择和计算特征的pre-experiment时间长度的选择。

核心指标在per-experiment的估计通常是很好的covariate的选择,且估计covariate选择的时间段相对越长效果越好。时间越长covariate的覆盖量越大,且受到短期波动的影响越小估计更稳定。

没有pre-experiment数据怎么办

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

而在Booking的案例中,作者选择对这部分样本不作处理,因为通常缺失值是用样本均值来填充,在上述式子中就等于是不做处理。

Attention

Covariate选择的核心是\(E(X^{treatment}) = E(X^{control})\),这一点不论你选择什么特征, 是pre-experiment还是post-experiment都要保证。

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

应用案例

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

论文中作者在实际AB实验中检验了CUPED的效果。Bing实验检测检测加载时间对用户点击率的影响。 一个原本运行两周只有个别天显著的实验在用CUPED调整后在第一天就显著,当把CUPED估计用的样本减少一半后显著性依旧超过直接使用T-test.

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实验高端系列的朋友,戳这里呦??

AB实验的高端玩法系列1-实用HTE(Heterogeneous Treatment Effects)论文github收藏



Ref

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

原文地址:https://www.cnblogs.com/gogoSandy/p/11749262.html

时间: 2024-10-12 22:15:27

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

windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) 简单说几句 在mongodb中3元素:db(数据库).collection(集合).document(文档) 其中collection类似于数据库中的表,document类似于行,这样一来我们就将内容对比起来记忆学习了. 数据格式 MongoDB documents是BSON格式(一种类json的一种二进制形式的存

windows下mongodb基础玩法系列二CURD附加一

windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下mongodb基础玩法系列二CURD附加一 说在前面的话 在系列二中CURD只是简单的走了一下代码操作的流程,其中全是简单基础操作的内容, 在我仔细看完接下来的内容后决定再丰富一下前面的操作,并实战一个简单的demo出来,demo具体搭配语言暂时决定在PHP与nodejs之间. 增加内容至文档没说完

Hadoop大数据零基础高端实战培训系列配文本挖掘项目

windows下mongodb基础玩法系列一介绍与安装

为什么是mongodb? 昨天开始涉及到一个比较陌生的领域,搜了一下相关的学习资料,不能找到很好的解决方案,昨晚回去恶补了一些官网文档(最好的资料莫过于该知识的官方文档).至于具体为什么对于我来说还没有发言权,知识借用一个话来描述一下.Welcome to the MongoDB Manual! MongoDB is an open-source, document-oriented database designed for ease of development and scaling. 安

Word 查找替换高级玩法系列之 -- 通配符大全B篇

未完 ...... 点击访问原文(进入后根据右侧标签,快速定位到本文) 原文地址:https://www.cnblogs.com/sinicheveen/p/12009909.html

市值超越高通后,NVIDIA用黑科技抢占苹果高端笔记本市场

(上图为NVIDIA CEO黄仁勋在2017台北Computex上介绍Max-Q设计) 2011年10月21日,NVIDIA CEO黄仁勋在AsiaD大会上表示,高通是该公司最为直接的竞争对手,苹果公司是间接竞争对手.6年后,在2017年5月30日的台北电脑展Computex期间,NVIDIA的市值超过了高通,当天NVIDIA的总市值达854.70亿美元,而高通的总市值则是851.01亿美元. 在第二天接受记者采访的时候,黄仁勋表示了一下惊讶:"是吗?"接着就继续讲在本次台北Compu

Hadoop大数据零基础高端实战培训视频

<Hadoop大数据零基础高端实战培训系列配文本挖掘项目(七大亮点.十大目标)> 课程讲师:迪伦 课程分类:大数据 适合人群:初级 课时数量: 300课时 用到技术:部署Hadoop集群 涉及项目:京东商城.百度.阿里巴巴 咨询QQ:779591710 下载地址: 链接:http://pan.baidu.com/share/link?shareid=3299239734&uk=3289559542 密码:8tkb 第一阶段:Hadoop基础篇(50课时) - 千里之行,始于足下(赠送课

Hadoop大数据零基础高端实战培训(新增内容)

Hadoop大数据零基础高端实战培训系列配文本挖掘项目课程分类:大数据适合人群:初级课时数量:230课时+90课程更新程度:完成用到技术:部署Hadoop集群 涉及项目:京东商城.百度.阿里巴巴 咨询qq:1840215592 大数据Hadoop实战视频教程就从最基础的Java语法.数据库.Linux讲起到深入Hadoop大数据技术所必须的所有知识,设计Hadoop生态圈所有常用组件,包括但不限于:Greenplum数据库.HBase.Hive.Pig.ZooKeeper.Chukwa.Hado

Mariana即将上线,全新玩法正式登陆!

区块链?×××?游戏?看似没什么关联的三个词,如果一款应用将其结合在一起,会有什么样的化学反应呢? Mariana就是集上述三点于一身的存在. 作为一款区块链博弈游戏,玩家在24小时以内,从1~100的整数中投注自己认为Key(参与游戏的凭证)购买数量最少的一个数字(马里亚纳数字MN),当游戏结束时,如果是选择的那个数字,参与这个数字的key平分奖金池50%的奖金. 除此之外,还推出了"社团计划",成为会员,将享受最高6倍的投注特权,成为官员,将享受终身俸禄,成为社团开创者,不仅可以发