A/B测试是数据驱动的重要手段,广泛应用于互联网产品、设计、搜索、推荐系统、广告系统、增长黑客、用户增长、数据分析、数字化运营、智能营销等领域。互联网从业者必须懂得或者掌握A/B测试,否者数据时代你还是传统互联网思维,没有数据思维,没有互联网思维。
A/B试验也广泛应用于自然科学、心理学、经济学、生物医药等领域,是开展科学研究的重要手段,比如国药新冠疫苗、辉瑞新冠疫苗、科兴新冠疫苗、康希诺新冠疫苗等的三期临床试验,其实也是A/B测试。
常见的A/B测试工具,它们的输入,输出都是什么?
powerandsamplesize 输入是:样本量(Sample Size)、统计功效(Power)、显著性水平 (Type Ι error rate)。
字节跳动的 DataTester 输出是:置信区间(confidence interval)、p值(p-value)、检验灵敏度(MDE)。
A/B测试中统计量的中英文对照表
| 英文 | 缩写 | 推荐翻译 | 其他翻译 |
|---|---|---|---|
| null hypothesis | H0 | 原假设 | 零假设、虚无假设 |
| alternative hypothesis | H1 | 择备假设 | 对立假设 |
| type I error | α | 第I类错误 | |
| type II error | β | 第II类错误 | |
| significance level | α | 显著性水平 | |
| probability value | p-value | p值 | |
| statistical power | Power | 统计功效 | 功效 |
| confidence interval | CI | 置信区间 | |
| confidence level | 1一a | 置信水平 | 置信度、置信系数、统计显著 |
| effect size | d | 效应量 | 效应值 |
| minimum detectable effect | MDE | 最小可检测效应 | 最小可检测单位、检验灵敏度 |
A/B试验理论基础
什么是A/B试验
简单来说,AB测试就是通过将测试对象随机分成两组,然后控制其他变量一致的前提下,对其中一组进行某种行为或者功能的干预。继而计算AB效果的差异。
学术说法:AB测试是基于统计学原理, 通过合理流量分配, 高效、准确选取局部指标价值最大化方案的一系列方法论的总和。
A/B试验的步骤:
A/B测试不适用的点:变量多、产品不成熟、缺乏统计思维。
统计学基础
大样本、小样本、正态分布、Z分布、t分布、x2(卡方)分布、中心极限定理、原假设、备择假设、第I类错误、第II类错误。https://www.yuque.com/wenjingyuer_ywj/ggf0ey/lz291g
显著性水平
显著性水平(significance level),使得犯第 Ι 类错误的概率控制在一给定的水平下,这个水平就是显著性水平,在此基础上使犯第 ΙΙ 类错误的概率尽可能小。
p值
定义1:p 值(probability value,p -value)在观测数据下拒绝原假设的最小显著性水平。
定义2:p 值是指拒绝原假设犯第 Ι 类错误的最小概率。
定义3:p 值代表观察到的随机因素产生的差异概率。
p值的含义:
当p值很小时,几乎不可能在零假设正确时出现目前的观测数据,因而拒绝零假设。
若p值≤α , 则在显著性水平α 下拒绝原假设H0
若p值>α , 则在显著性水平α 下接受原假设H0
统计功效
统计功效(statistical power),不犯第ΙΙ类错误(1-β)的概率。
A/B实验中的统计功效:当AB两组差异真的存在时,能正确判断的概率。
统计功效的含义:
应用中常把统计功效定义在80%( β< 0.2 )以上。
统计功效的计算:
从统计功效计算公式可知,统计功效的影响因素:两总体差异(效应量)、显著性水平 α、样本量 n。但是,在这 3 个影响因素中,显著性水平 α 是提前给定,只有样本量 n 是可以控制的。
在A/B测试中,经常使用5%、10%、 20%、 50% 的样本量不断的进行试验。
置信区间、置信水平

置信水平也称为置信度、 置信系数、统计显著。
正态分布的置信区间的公式推导如下:
正态分布的置信区间的例子计算如下:

其中95%置信区间的含义:若反复抽样多次,每个样本值确定一个区间,在这么多的区间中,包含 μ 的约占95%,不包含 μ 的约仅占 5%。
效应量
效应量(Effect Size,又称效应值),提供了对效应大小的具体测量。
按统计意义分成:
差异类(difference-type)、相关类(correlation-type)、 组重叠(group-overlap)
A/B测试中,效应量属于差异类,是指对照组与实验组之间的差异大小。
效应量的特征:不依赖样本量,不依赖测量尺度,效应量的正负号仅表示效应的方向,其绝对值才是实际的效应大小。
MDE、MDES
Minimum Detectable Effect (MDE) ,即最小检测效应,也称检验灵敏度。
MDE 的计算公式可分为:Z 检验的 MDE 公式和 t 检验的 MDE 公式。
P值、置信区间、效应量是衡量试验结果的三个最重要的指标。
A/B测试原理
试验误差
试验误差可分为:随机误差、系统误差、过失误差。
随机误差( random error )
定义:试验中一些不可控的因素的综合作用称为随机误差。
特点:客观存在的、不可避免的。
影响:同一条件下的两次试验会得到不同的输出。
量化: 一般地,我们假设随机误差服从正态分布N(0,σ2),其中方差σ2用于衡量随机误差的大小。
系统误差( systematic error )
在试验中没有被选为因素的变量,有系统的偏差称为系统误差。
过失误差( mistake error )
试验人员粗心大意造成的误差。
试验设计的基本原则
试验设计的基本原则:重复、随机化、分区组。
也可以说:不符合重复、随机化、分区组原则的,不是科学试验。
抽样理论
抽样的方法
简单随机抽样( simple random sampling ) , 也称纯随机抽样
系统抽样( systematic sampling ) , 也称等距抽样
分层抽样( stratified sampling ) ,也称类型随机抽样
➢工业界, A/B测试通常用的是分层抽样。
确定样本量
试验前,通常要设置样本量大小。
计算样本量的例子:
计算流程
假设检验
假设检验(Hypothesis Testing)是用来判断样本与样本,样本与总体的差异是由抽样误差引起,还是由本质差别造成的统计推断方法。
假设检验的步骤:
第一步:先对总体的特征作出某种假设;
第二步:然后通过抽样研究的统计推理;
第三步:对此假设应该被拒绝还是接受作出判断。
Z 检验
Z检验(z test)用 Z 分布理论来推断差异发生的概率,从而判定平均数的差异是否显著。
两个总体均值之差的估计(大样本的估计):
举个 Z 检验的例子:
T 检验
t 检验(Student‘s t test)用 t 分布理论来推断差异发生的概率,从而判定两个平均数的差异是否显著。
两个总体均值之差的估计(小样本的估计):
两组样本时,Z 检验与 t 检验的对比如下:
怎样选择 Z 检验和 t 检验?
A/B测试通常样本量很大,用 Z 检验、t 检验都可以。
χ2 检验
卡方检验是指用χ^2 分布理论来检验样本数据与总体分布是否符合,从而判定样本偏差是否显著。可以用于检验抽样是否合理。
卡方检验的例子:
A/B测试应用
推荐系统的A/B测试
假设某APP的日活DAU是20万,最近上线一个新推荐模型FM(旧LR),现在进行A/B测试。
原假设:LR 与 FM 推荐结果没有差异;
备择假设:LR 与 FM 推荐结果有差异。
选择点击率 CTR 指标来进行量化评估。
置信区间、p 值、效应量计算如下:
MDE的计算:
因为效应量 d > MDE,所以拒绝原假设, LR 与 FM 推荐结果有差异,而且非常显著。
即说明新的推荐模型FM效果提升明显。
新冠疫苗的A/B测试(双盲试验)
新冠疫苗需要进行三期试验,观察疫苗是否能够防止人感染,主要评估指标是保护率,也称有效率。那么,怎么计算疫苗的保护率(有效率)?
A/B测试的主要工具
| 名称 | 网站 | |
|---|---|---|
| 国内 | DataTester | https://www.volcengine.com/product/datatester |
| Appadhoc (吆喝) | 热云数据 | |
| 腾讯Ab试验平台 | https://abtest.qq.com/ | |
| 百度峙一平台 | http://ab.baidu.com/ | |
| 国外 | Evan’s Awesome | https://www.evanmiller.org/ab-testing/ |
| Optimizely | https://www.optimizely.com/ | |
| wwO | https://vwo.com/ | |
| Google Optimizer | https://www.google.com/analytics/optimize/ |
面试问题
AB测试的优缺点是什么?
▼ 优点:
- 科学量化策略的效果,避免拍脑袋决定造成的损失。
- 对比不同的策略,找到核心问题,探索业务增长点。
- 数据驱动,形成优化闭环。
- 通过AB测试,为创新项目提供数据支持和保障。
▼ 缺点:
- 不适用于变量多、产品不成熟(用户少)的情况。
- 数据采集积累,降低了策略的迭代效率。
- 不同策略的维护和开发,增加了开发工作量。
实验效果不显著怎么办?
实验效果不显著的原因可以分成两类:
- 第一类:线上策略不佳,无明显差异。
- 第二类:实验的灵敏度不够高。
针对第二类问题,我们可以通过以下方法进行优化
- 增加样本量:根据显著性检验的原理,只要实验组和对照组差值及样本方差不变的情况下,样本量足够大,我们总是可以得到显著性的结果。
- 减少样本均值的方差:减少样本均值方差的方法有减少离群值的影响,缩减方差(CUPED)的方法。
- 更换指标:更换一个方差更小的指标,比如某购物平台,实验指标一开始是用户购买的平均金额,我们可以更换为用户是否购买。对同一批样本,是否购买属于0-1分布,样本的均值方差自然比用户购买的平均金额小很多。
