1. 首页
  2. 自学中心
  3. 理论
  4. 数据分析

如何做好一次AB实验?-统计学原理

作者 风清扬 字节跳动 数据分析师

ABTEST系列文章将会围绕以下六个问题进行展开,比较系统的梳理数据分析师应掌握的AB测试技巧,本章为ABTEST系列文章第一章,“什么是AB测试和AB测试的统计学原理”

  1. 什么是AB测试?
  2. AB测试的统计学原理?
  3. 统计功效是什么?
  4. 灵魂拷问!AB实验要开多久,样本量要多少?
  5. 如何优雅的分析AB实验的结果?
  6. AB实验常见注意要点

1. AB测试经典案例

在切入正题前,我们先来看一个有趣的案例,奥巴马在当年竞选时,竞选团队有一个重要的任务是对竞选页面进行优化,目的是为了提高用户的注册率,获得更多的募捐奖金。竞选团队一共设计了6个页面,各有不同的特点,但最终需要选出一个页面来作为主打,你能帮他们选出哪一个页面是最好的吗?

如何做好一次AB实验?-统计学原理
如何做好一次AB实验?-统计学原理

在真正的历史上,竞选团队做了这么一个方案,他们将6个页面在小范围内同时推出并随机的让每个页面获得相同的用户数量,记录下每个页面的注册率。结果发现最优页面的注册率为11.6%,比最初版本页面的注册率8.26%提升了40.6%。增加了2,880,000个电子邮件地址,并转化为额外的约近6,000万美元捐款。从定性的角度我们很难去选出哪个页面是最好的,但通过AB测试定量的去判断可以帮助我们更好的决策。

最佳页面如下:

如何做好一次AB实验?-统计学原理

2. 什么是AB实验?

在这里我们引用王晔博士对AB实验给出的一个定义,AB实验就是“为了验证一个新的产品交互设计、产品功能或者策略、算法的效果,在同一时间段,给多组用户(一般叫对照组和实验组,用户分组方法统计上随机,多组用户统计角度无差别)分别展示优化前和优化后的产品交互设计,并通过数据分析,判断优化前后的方案在一个或多个评估指标上是否符合预期的一种实验方法“。

这段话可能比较拗口,下面我们用更通俗的语言再来理解一遍,AB实验就是我们在线上可以切出一部分用户(降低风险),完全随机的分成两组或多组(确保人群一致),一组保持现有的方案叫对照组,另外一组使用改进的方案叫实验组,使用统计的方法对两组之间指标差异进行分析,评估是否符合预期的一种方法。

3. 为什么要做AB实验?

AB实验核心的价值是降低风险和准确评估改动影响,下面我们来看两个场景:

场景A

小A作为一款日活300万产品的产品经理在新版本自信满满的新上线了一个feature(改动),结果版本发布后线上留存大跌,给产品带来了重大损失

场景B

小A和小B在新版本同时上线了一个feature,发布后线上留存大涨,小A和小B都认为是自己的feature提高了留存,两个人争执不休

如果没有AB测试,以上两个场景可能就会在互联网公司工作中频繁出现。快速迭代是互联网产品的一大特点,如何在迭代中降低错误尝试带来的损失以及准确评估每一个feature对产品的影响是快速迭代的关键所在。AB实验为这两个问题提供了解决方案,能够切出小部分用户去做实验的特性可以降低风险,而变量的唯一性又让我们可以准确的评估feature带来的影响

4. AB实验的统计学原理

AB实验的核心统计学原理是“假设检验”,什么是假设检验?假设检验是用来判断样本与样本,样本与总体之间的差异是由抽样误差引起还是本质差别造成的统计推断方法,其基本原理是先对总体特征做出某种假设,然后通过抽样研究的统计推理,对此假设应该被拒绝还是接受做出判断,假设检验使用了一种类似反证法的推理,通过AB实验,我们要验证的其实是一对假设,原假设和备择假设。

举个例子,我认为把按钮从圆形改成正方形可以提高用户的人均点击数,那么我的原假设就是“把按钮从圆形改成正方形可以提高用户的人均点击数”,备择假设是“把按钮从圆形改成正方形不能提高用户的人均点击数” ,这是一对互斥的假设,如果我们能证明原假设不成立,那么备择假设在某种程度上就可以被推断为成立。假设检验的基本思路是“小概率事件在少量实验中是几乎不可能出现的”,如果在实验中出现了小概率事件,那么我们就可以推断原假设是错误的,从而推断备择假设可能是正确的。

01两类错误

由于假设检验是根据有限的样本信息对总体作推断,我们做出的结论都可能因为抽样误差而作出错误的判断,比如我们认为瑞士的平均收入要高于我国,随机抽5个瑞士人和5个中国人做比较,如果抽到的中国人是马云、马化腾、王健林、李嘉诚和我的话,那这个结论肯定就不成立了,这就是抽样误差可能会带来的错误。在假设检验过程中,我们可能会犯两种错误,第一次类错误(弃真)和第二类错误(纳伪)。

为了更形象的说明两类错误,我们看下面这张图片,在这里我们的原假设是 “没有怀孕”,备择假设是“怀孕了”,对图1来岁,没有怀孕我们认为其怀孕了,我们错误的拒绝了原假设,这就是弃真,对图2,怀孕了我们认为其没有怀孕,这就是纳伪。

如何做好一次AB实验?-统计学原理

在AB实验中,两类错误的表现往往是:

  • 弃真:我的实验改动实际没有用,但我认为它有用
  • 纳伪:我的实验改动实际有用,但我认为它没有用

在统计学中,我们用显著性水平(α)来衡量犯第一类错误的概率,统计功效β来衡量犯第二类错误的概率,对于这两类错误,一般来说我们认为第一类错误的危险性更大,比如我们做了一个产品上的改动通过AB实验判断它是对留存有促进作用,但这里我们犯了第一类错误,改动上线后留存不增反降,可能就会造成了重大损失,所以我们会尽量降低犯第一类错误的风险,第二类错误也是需要避免的,只不过避免犯第一类错误的优先级会更高。

02 显著性水平(α)

上面我们提到了由于抽样误差可能会带来犯二类错误的风险,幸运的是统计学为我们提供了指标去量化我们犯错的可能性的有多大。在统计学中,我们用显著性水平(α)来衡量犯第一类错误的概率,统计功效β来衡量犯第二类错误的概率

那么显著性水平(α)该怎么运用呢?首先我们要先有这么一个认知,由于抽样误差的存在,我们每次在总体中抽取样本计算指标均值可能和“真实均值”都是有误差的,但根据中心极限定理,如果我们在总体样本中不断的去抽取样本计算指标均值,所得到的结果应会是近似正太分布,分布以真值会中心,均值越接近真值,出现的概率就越大

举个例子,我们设计了一个新的策略并且认为这个策略可以提高用户的人均停留时长,由此我们做出的原假设是“策略不能提高用户的人均停留时长”,备择假设是“策略可以提高用户的人均停留时长”,已知策略生效前的用户使用时长分布如下图所示,呈正态分布。现在我们在总体中随机抽一部分样本施加策略,计算其样本使用时长均值,如果发现均值落在非红色区域,那么因为抽样误差也很有可能会出现这个取值,但如果均值落在了红色区域,我们就认为“小概率的事件发生了“,根据假设检验的基本思想,“小概率事件在少量实验中是几乎不可能出现的”,我们就可以拒绝原假设“策略不能提高用户的人均停留时长”,从而有很大的信心推断策略生效了。

如果上面理解有困难的话,我们再举一个通俗的例子,我有个朋友说他是一个射箭8环选手,平均成绩是在8环,但我不信,我让他射一次试一试,如果他只命中了1环,那我就有理由怀疑他是在骗我,因为对于一个平均成绩在8环的射箭选手来说,射中1环是很小概率的事件。

如何做好一次AB实验?-统计学原理

容易看出,红色区域的面积设定的越小,我们拒绝原假设的条件就严格,犯第一类错误的可能性就越小,显著性水平(α) 就是我们能接受的犯第一类错误的可能性,一般来说,业界普遍设定显著性水平(α) 为5%。

03 统计功效

显著性水平(α)帮助我们量化了犯第一类错误的概率,同样对于第二类错误,我们也有一个指标去量化不犯第二类错误的概率, 一般我们会用β代表犯第二类错误的概率,那么1-β,自然就是不犯第二类错误的概率,即统计功效。

统计功效在统计上应该怎么理解呢?上一章中我们举了一个关于人均使用时长提升的例子:

  • H0:策略不能使人均使用时长提升
  • H1:策略能够使人均使用时长提升
如何做好一次AB实验?-统计学原理

假如上图中左侧钟形曲线为策略上线前经抽样统计的人均使用时长的分布情况,右侧钟形曲线为策略上线后经抽样统计的新人均使用时长的分布情况,从左图上看,只要新策略的人均使用时长落到了图中橙色(α/2)区域,那么我们就可以拒绝原假设,即认为策略是有效的,这是显著性水平的概念,相信大家都已经明白了。

现在我们来看右图,假如右图是新策略上线后人均使用时长的分布情况,从其真值(图形中心)上看,其值是落在原策略拒绝域中的,即新策略实际上是有效的,但我们对新策略做抽样统计时,由于抽样误差的存在,其值有可能随机出现在图形的任意一个位置,假如说随机抽样的值恰好出现在了图中的绿色区域(β),那么我们将无法拒绝原假设,出现了第二类错误,“我的策略实际上是有效的,但是没有检测出来”,自然相对应的,图形中1-β区域的面积就是我们不犯第二类错误的概率,即我们有多大的把握能检测出策略实际是有效的,这就是统计功效的概念

统计功效在AB实验的应用

一般来说当显著性水平在5%以下,统计功效在80%以上时,我们会认为实验结论是相对可信的。但在AB实验中,我们经常会遇到这样的场景,实验组相对对照组在指标上有一定的提高,但差距是不显著的,这个时候作为分析师我们可能需要做的一个决策是继续扩大流量让实验再开一段时间,还是把实验停掉换个思路再开启新的实验?

在这个场景下,统计功效就可以辅助我们去做这个决策,如果经过测算统计功效已经达到了80%以上,即已经有80%的把握能检验出策略实际上有效的情况下提升仍然不显著,那么可能是策略确实没有用,需要再尝试一个新的策略,但如果发现统计功效不足80%,接下来我们可能需要考虑再把实验开久一些或者再扩大一些流量,观察是否有置信的可能。

对于统计功效的计算,很多成熟的A/B的平台都会有自动化的计算方式,在这里仅列出统计功效的计算公式,感兴趣的同学可以去了解一下python的实现

如何做好一次AB实验?-统计学原理

以上今天的内容就到这里,以上望有所帮助。

本文来自知乎,观点不代表一起大数据-技术文章心得立场,如若转载,请注明出处:https://zhuanlan.zhihu.com/p/341445777

联系我们

在线咨询:点击这里给我发消息

邮件:23683716@qq.com

跳至工具栏