AB实验相关流程
本篇文章介绍的是一个完整AB测试流程应该怎么走。
![](https://pic1.zhimg.com/80/v2-9a58b1d0f355db7be936574e38a61458_720w.jpg)
AB测试流程有以下几个步骤:
一、选取实验指标
二、建立实验假设
三、选取实验单位
四、确定最小提升预期值
五、计算最小样本量
六、流量分割
七、确定实验时长
八、数据统计
九、得出结论
接下来就详细说明每个步骤。
一、选取实验指标
一个实验只能有一个核心指标,可以有多个观测指标。
核心指标是用于判断该实验是否显著,观测指标用于判断该实验对其余指标的影响。另外,可以设反向指标,以观测该实验是否会带来一些负面影响。
二、建立实验假设
针对实验要提升的核心指标,我们可以做出不同的假设,如何修改可能会提升指标。
然后就是建立零假设和备择假设。一般零假设是没有效果,备择假设是有效果。
三、选取实验单位
1)用户粒度
这个是最推荐的,即以一个用户的唯一标识来作为实验样本。好处是符合AB测试的分桶单位唯一性,不会造成一个实验单位处于两个分桶,造成的数据不置信。
2)设备粒度
以一个设备标识为实验单位。相比用户粒度,如果一个用户有两个手机,那么也可能出现一个用户在两个分桶中的情况,所以也会造成数据不置信的情况。
3)行为粒度
以一次行为为实验单位,也就是用户某一次使用该功能,是实验桶,下一次使用可能就被切换为基线桶。会造成大量的用户处于不同的分桶。强烈不推荐这种方式。
四、确定最小提升预期值
做实验需要考虑ROI。如果开发成本很高,但是最终的提升只有0.01%,可能这个实验的收益提升并不能抵挡付出的成本。所以在实验之初我们就要考虑这个实验提升了多少算作是符合我们的预期。
五、计算试验所需最小样本量
该步骤是要避免流量浪费,高效利用流量,把可用流量分到其他试验。另外还要避免在统计功效不足的情况下给出错误结论。即避免实验过程种,流量使用过多或者过少的情况。
计算最小样本量的公式如下:
![](https://pic1.zhimg.com/80/v2-044265a07ebe3155cc850bcb504f71f8_720w.webp)
α和β分别是⼀类错误(拒真)和⼆类错误(取伪)的概率,通常取值为0.05和0.2
此时,
![](https://pic3.zhimg.com/80/v2-087174d9674787710b178a37d1dca95a_720w.webp)
取值分别为1.98和0.84(这两个值是固定的,不需要计算)
所以以上公式还可以简化成:
![](https://pic3.zhimg.com/80/v2-4d90b3baa80c03aa1aebc1b0d5d0e33a_720w.webp)
Δ为两组数值均值之差,即为希望检测到的最小变化
σ为各组样本标准差
最小样本量计算工具:
https://www.evanmiller.org/ab-testing/sample-size.html
举例:
当前按钮的点击转化率为50%,希望最小预期提升10%,即从50%提升到55%。预估需要1600左右的样本量。
![](https://pic3.zhimg.com/80/v2-9855090c26c283253cdb11cabf63252e_720w.webp)
六、流量分割
1)互斥实验
互斥组中的所有实验都不会共享用户,如果一个用户/设备命中了实验A,就不会命中该互斥组中的其他实验。
2)正交实验
每个独立实验为一层,一份流量穿越每层实验时,都会随机打散再重组,保证每层流量数量相同。该方式可减少实验之间的影响,且可节省流量。
![](https://pic2.zhimg.com/80/v2-b15c9ff53eacb11e39bc4a0fcab242c9_720w.webp)
七、确定实验时长
实验时长由以下因素决定:
1)最小样本量
2)可接受的实验桶的大小比例
3)周活
实验时长=最小样本量/周活*实验桶比例
除此以外,还要考虑一些情况:例如用户可能在工作日和周末特征/行为不一样,所以最少跑够7天;用户一开始可能觉得新奇所以转化率高,后续转化率才会趋于真实。
八、数据统计
绝对值指标推荐用T检验,相对值指标推荐用Z检验。
需要统计的结果:diff、p值、置信区间
1)算P值
也就是算当零假设成立时,观测到样本数据出现的概率。统计学上,将5%作为一个小概率事件,所以一般用5%来对比计算出来的P值。当P值小于5%时,拒绝零假设,即两组指标不同;反过来,当P值大于5%时,接受零假设,两组指标相同。
2)算置信区间
一般情况下,我们都会用95%来作为置信水平。也就是说,当前数据的估计,有95%的区间包含了总体参数的真值。这么说可能比较绕,我们可以简单理解成 总体数据有95%的可能性在这个范围内。
我们计算两组指标的差异值,如果我们算出的差异值置信区间不含0,我们就拒绝零假设,认为两组指标不同;但是如果包含0,我们则要接受零假设,认为两组指标相同。
![](https://pic3.zhimg.com/80/v2-0521da48a9a7d72ab33ef6340c7154d2_720w.webp)
九、得出结论
1)实验结果显著是否要推全?
1.需要达到最⼩样本量,以及实验运⾏到计算的实验周期之后再去校验显著性。(例如跑了一天,结果为显著提升,但是其实实验的样本量没有达到最小样本量,那就还要接着跑一跑)
2.除了核⼼指标,还需要考虑平台的红线指标(例如核心指标显著提升,但是对其他指标有负面作用,那要考虑全局再决定)
2)实验结果不显著怎么办?
看MDE最⼩检测效应(实验能够统计的最⼩差异粒度)
需要看当前的mde是否⾜够⼩:
如果⼤于我们的最⼩提升预期值,则说明ab试验的灵敏度不够,可以延⻓试验时间,让更多的样本量进来
如果⼩于我们的最⼩提升预期值,那么说明实验组就是不显著,⽴刻停 ⽌试验 mde计算公式
![](https://pic2.zhimg.com/80/v2-5cbe300b4c1a2255ab684968326d015d_720w.webp)
以上,希望对各位有帮助,欢迎评论交流~