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试验的步骤:
image.png
A/B测试不适用的点:变量多、产品不成熟、缺乏统计思维。

统计学基础

大样本、小样本、正态分布、Z分布、t分布、x2(卡方)分布、中心极限定理、原假设、备择假设、第I类错误、第II类错误。https://www.yuque.com/wenjingyuer_ywj/ggf0ey/lz291g

显著性水平

显著性水平(significance level),使得犯第 Ι 类错误的概率控制在一给定的水平下,这个水平就是显著性水平,在此基础上使犯第 ΙΙ 类错误的概率尽可能小。
image.png

p值

定义1:p 值(probability value,p -value)在观测数据下拒绝原假设的最小显著性水平
定义2:p 值是指拒绝原假设犯第 Ι 类错误的最小概率。
定义3:p 值代表观察到的随机因素产生的差异概率。

p值的含义:
当p值很小时,几乎不可能在零假设正确时出现目前的观测数据,因而拒绝零假设。
若p值≤α , 则在显著性水平α 下拒绝原假设H0
若p值>α , 则在显著性水平α 下接受原假设H0

p值的计算:
image.png

统计功效

统计功效(statistical power),不犯第ΙΙ类错误(1-β的概率。
A/B实验中的统计功效:当AB两组差异真的存在时,能正确判断的概率。
统计功效的含义:
应用中常把统计功效定义在80%( β< 0.2 )以上。
统计功效的计算:
image.png
从统计功效计算公式可知,统计功效的影响因素:两总体差异(效应量)、显著性水平 α、样本量 n。但是,在这 3 个影响因素中,显著性水平 α 是提前给定,只有样本量 n 是可以控制的。
在A/B测试中,经常使用5%、10%、 20%、 50% 的样本量不断的进行试验。

置信区间、置信水平

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

image.png
其中95%置信区间的含义:若反复抽样多次,每个样本值确定一个区间,在这么多的区间中,包含 μ 的约占95%,不包含 μ 的约仅占 5%。

效应量

效应量(Effect Size,又称效应值),提供了对效应大小的具体测量。
按统计意义分成:
差异类(difference-type)、相关类(correlation-type)、 组重叠(group-overlap)
A/B测试中,效应量属于差异类,是指对照组与实验组之间的差异大小。
效应量的特征:不依赖样本量,不依赖测量尺度,效应量的正负号仅表示效应的方向,其绝对值才是实际的效应大小。
image.png
image.png

MDE、MDES

Minimum Detectable Effect (MDE) ,即最小检测效应,也称检验灵敏度。
MDE 的计算公式可分为:Z 检验的 MDE 公式和 t 检验的 MDE 公式。
image.png
P值、置信区间、效应量是衡量试验结果的三个最重要的指标。

A/B测试原理

试验误差

试验误差可分为:随机误差、系统误差、过失误差。
随机误差( random error )
定义:试验中一些不可控的因素的综合作用称为随机误差。
特点:客观存在的、不可避免的。
影响:同一条件下的两次试验会得到不同的输出。
量化: 一般地,我们假设随机误差服从正态分布N(0,σ2),其中方差σ2用于衡量随机误差的大小。
系统误差( systematic error )
在试验中没有被选为因素的变量,有系统的偏差称为系统误差。
过失误差( mistake error )
试验人员粗心大意造成的误差。

试验设计的基本原则

试验设计的基本原则:重复、随机化、分区组。
也可以说:不符合重复、随机化、分区组原则的,不是科学试验。

抽样理论

抽样的方法
简单随机抽样( simple random sampling ) , 也称纯随机抽样
系统抽样( systematic sampling ) , 也称等距抽样
分层抽样( stratified sampling ) ,也称类型随机抽样
➢工业界, A/B测试通常用的是分层抽样。

确定样本量

试验前,通常要设置样本量大小。
image.png
计算样本量的例子:
image.png
计算流程

A/B实验样本量计算原理

假设检验

假设检验(Hypothesis Testing)是用来判断样本与样本,样本与总体的差异是由抽样误差引起,还是由本质差别造成的统计推断方法。
假设检验的步骤:
第一步:先对总体的特征作出某种假设;
第二步:然后通过抽样研究的统计推理;
第三步:对此假设应该被拒绝还是接受作出判断。

Z 检验

Z检验(z test)用 Z 分布理论来推断差异发生的概率,从而判定平均数的差异是否显著。
image.png
两个总体均值之差的估计(大样本的估计):
image.png
举个 Z 检验的例子:
image.png

T 检验

t 检验(Student‘s t test)用 t 分布理论来推断差异发生的概率,从而判定两个平均数的差异是否显著。
image.png
两个总体均值之差的估计(小样本的估计):
image.png
两组样本时,Z 检验与 t 检验的对比如下:
image.png
怎样选择 Z 检验和 t 检验?
A/B测试通常样本量很大,用 Z 检验、t 检验都可以。

χ2 检验

卡方检验是指用χ^2 分布理论来检验样本数据与总体分布是否符合,从而判定样本偏差是否显著。可以用于检验抽样是否合理。
image.png
卡方检验的例子:
image.png

A/B测试应用

推荐系统的A/B测试


假设某APP的日活DAU是20万,最近上线一个新推荐模型FM(旧LR),现在进行A/B测试。
原假设:LR 与 FM 推荐结果没有差异;
备择假设:LR 与 FM 推荐结果有差异。
选择点击率 CTR 指标来进行量化评估。
image.png
置信区间、p 值、效应量计算如下:
image.png
MDE的计算:
因为效应量 d > MDE,所以拒绝原假设, LR 与 FM 推荐结果有差异,而且非常显著。
image.png
即说明新的推荐模型FM效果提升明显。

新冠疫苗的A/B测试(双盲试验)

新冠疫苗需要进行三期试验,观察疫苗是否能够防止人感染,主要评估指标是保护率,也称有效率。那么,怎么计算疫苗的保护率(有效率)?
image.png

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分布,样本的均值方差自然比用户购买的平均金额小很多。