A/B Test

1. ab test 中的假设检验原理是什么跟ab test 结合的
2. 如何选择实验的样本量
3. 指标的提升怎么判断显著性
4. 实验做多长时间, 为什么
5. aa 检验怎么做, 怎么判断aa 做的科学
6. ab test 主要的应用场景
7. ab test流程

(1)ab test 中的假设检验原理是什么,它是怎么跟ab test结合的

  • 控制变量法下的假设检验
  • 假设检验的基本思想:“小概率事件”原理,其统计推断方法是带有某种概率性质的反证法。小概率思想是指小概率事件在一次试验中基本上不会发生。
  • 假设检验基本思路:在小概率事件原理的基础上,带有概率性质的反证法。

一、假设检验
1.思路

概率论中,如果我们能够证明零假设不成立,那么其备择假设肯定为真。即,零假设和备择假设为对立事件。

设立假设:

  • 零假设:A和B没有显著差异
  • 备择假设:A和B有显著差异

如果能找到足够强的证据来否定零假设(A和B没有显著差异),那么就能有效的说明零假设不成立,即备选假设成立。

证据:
计算零假设成立的前提下A和B没有显著差异的概率P.value,零假设为真的概率,若P值=0.01,显著性水平α为0.05,则零假设成立的概率=1% < 5%,而备择假设成立的概率大于95%,因此否定了零假设,可认为备择假设为真。

结论:
P.value<=α,拒绝零假设;P.value>α,不拒绝零假设

假设检验的两类错误: 注:弃真和取伪都是针对零假设的。

  1. I类错误——弃真错误,发生的概率为α,否定了真实的原假设。避免方法:可通过α水平控制,降低α水平
  2. II类错误——取伪错误,发生的概率为β,接受了错误的原假设。避免方法:可通过扩大样本容量

abtest 多层_假设检验

Type 1

  1. H0:他没有怀孕
  2. H1:他怀孕了

第一类错误:弃真错误。H0是真的,但是被拒绝了。

Type 2

  1. H0:她没有怀孕
  2. H1:她怀孕了

第二类错误:取伪错误。H0是假的,但是被接受了。

abtest 多层_abtest 多层_02

(2) 如何选择实验的样本量

线计算网址

Compare 2 Means 2-Sample, 2-Sided Equality | Power and Sample Size Calculators | HyLown

1.数值类计算:需要填写方差

  • Compare 2 Means 2-Sample, 2-Sided Equality | Power and Sample Size Calculators | HyLown
  • Power/Sample Size Calculator (ubc.ca)

2.比值类计算:不需要方差

  • Sample Size Calculator (Evan’s Awesome A/B Tools) (evanmiller.org)
  • A/B Test Size Calculator - ABTestGuide.com
  1. 实验所需样本量的一般公式
    统计学里有最小样本量计算公式,如下:
    abtest 多层_概率论_03

其中
n是每组所需样本量,因为A/B测试一般至少2组,所以实验所需样本量为2n;
α和β分别称为第一类错误概率和第二类错误概率,一般分别取0.05和0.2;
Z为正态分布的分位数函数;
Δ为两组数值的差异,如点击率1%到1.5%,那么Δ就是0.5%;
σ为标准差,是数值波动性的衡量,σ越大表示数值波动越厉害。

从这个公式可以知道,在其他条件不变的情况下,如果实验两组数值差异越大或者数值的波动性越小,所需要的样本量就越小。

  1. 比例类数值所需样本量的计算
    R和G*Power使用的样本量计算公式:
    abtest 多层_abtest 多层_04
  • 实际A/B测试中,我们关注的较多的一类是比例类的数值,如点击率、转化率、留存率等。
  • 这类比例类数值的特点是,对于某一个用户(样本中的每一个样本点)其结果只有两种,“成功”或“未成功”;对于整体来说,其数值为结果是“成功”的用户数所占比例。如转化率,对于某个用户只有成功转化或未成功转化。
  • 比例类数值的假设检验在统计学中叫做两样本比例假设检验。其最小样本量计算的公式如上图所示。
  • 上面式子中p1我们称为基础值,是实验关注的关键指标现在的数值(对照组);p2我们称为目标值,是希望通过实验将其改善至的水平;第一类错误和第二类错误上边已经提到,暂不多做说明,通常设定α为0.05,β为0.2 。
  1. 样本量的四个影响因素
  • 要确定所需样本量,首先得知道哪些因素会影响样本量大小。
  • 以独立样本T检验为例,在计算实验效果的时候,除了样本量,我们还会考虑下面4个指标。
  • 显著性水平(α)(第一类错误概率):显著性水平越低,对实验结果的要求也就越高,越需要更大的样本量来确保精度
  • 统计功效(1 – β)(第二类错误概率):统计功效意味着避免犯二类错误的概率,这个值越大,需要的样本量也越大
  • 均值差异(abtest 多层_假设检验_05):如果两个版本的均值差别巨大,也不太需要多少样本,就能达到统计显著
  • 标准差(σ):标准差越小,代表两组差异的趋势越稳定。越容易观测到显著的统计结果

在这个公式里:
abtest 多层_概率论_06代表A组的样本数量,abtest 多层_假设检验_07代表B组的样本数量
K为abtest 多层_abtest 多层_08的比值,这个值一般情况下,我们都默认为1,即AB两组的用户数量相等,方便做严谨的AB实验对比。

(3)指标的提升怎么判断显著性

假设我们有了数据结果,策略A的转换率是10%,策略B的转换率是8%,那我们说策略A比策略B好,这样就可以了吗?不可以,因为可能是抽样误差引起的转换率差异,为了区分实验A和B的差异是由抽样误差引起的?还是本质差别引起的?我们需要做假设验证 (hypothesis testing)。统计学中有很多假设验证方法,例如:

  • T检验: 也称Student’s t test,适用: 样本量较小(如n<30),总体标准差未知,正态/近似正态分布的样本。目的: 比较平均值之间差异是否显著。
  • 单样本T检验: 总体样本vs抽样样本。
  • 配对样本T检验: 同一对象接受两种不同的处理。
  • 双独立样本T检验: 两组独立样本。
  • Z检验: 也称U检验,适用: 大样本量(如n>30),总体标准差已知,正态/近似正态分布的样本。目的: 比较平均值之间差异是否显著。
  • F检验: 适用: 正态/近似正态分布的变量。目的: 检验两个正态分布变量的总体方差是否相等。
  • 卡方检验: 也称chi-square test或X2 test,适用: 类别型变量。目的: 检验两个变量之间有无关系,例如性别和是否购买数码产品之间的关系。

我们做AB Test,“如果样本量足够大,那么Z检验和t检验将得出相同的结果。对于大样本,样本方差是对总体方差的较好估计,因此即使总体方差未知,我们也可以使用样本方差的Z检验”。[6],但正常来说,除非是长期的实验(0.5-1年),例如算法,会选择Z检验。正常的短期AB Test基本是实验1个月内甚至说1-2周,那么此时建议选择T检验。

假设检验的检验有两种:单边假设检验双边假设检验,前者判断A、B是否显著优/劣于对方,后者判断A、B是否存在显著差异。

abtest 多层_abtest 多层_09

(4)实验做多长时间, 为什么

A/B 测试所需的时间 = 总样本量 / 每天可以得到的样本量

样本量n的计算公式为:
abtest 多层_面试_10

  • 其中:
  • abtest 多层_abtest 多层_11abtest 多层_面试_12对应的abtest 多层_ab测试_13
  • abtest 多层_abtest 多层_14abtest 多层_概率论_15对应的abtest 多层_ab测试_13
  • abtest 多层_概率论_17为实验组和对照组评价指标的差值。
  • abtest 多层_abtest 多层_18为实验组和对照组的总和方差(Pooled Variance)

附录1:

实践中,大部分A/B测试会遵循惯例,即将显著性水平默认为5%,将abtest 多层_abtest 多层_19默认为20%(即Power为80%)。

因此
abtest 多层_abtest 多层_20
注意:此处的n是单样本(测试或者对照)的数量,按照对照组和实验组样本量相等,即1/1均分,则总样本还需abtest 多层_abtest 多层_21;若为其他样本模式,则按照其他的进行计算。
abtest 多层_概率论_22
附录2:

abtest 多层_面试_23为对照组和实验组的差值

以A/B测试目标的指标差值作为依据。

第一种方法是从收益和成本的角度进行估算。

第二种方法是,如果收益和成本不好估算的话,我们可以从历史数据中寻找蛛丝马迹,根据计算指标波动性的方法,算出这些评价指标的平均值和波动范围,从而估算一个大概的差值。

附录3:

abtest 多层_面试_24为实验组和对照组的总和方差(Pooled Variance)

  1. 概率类指标。指标在统计上通常是二项分布,综合方差为:

abtest 多层_假设检验_25

其中,abtest 多层_概率论_26 为对照组中事件发生的概率,也就是没有 A/B 测试变化的情况,一般可以通过历史数据计算得出;abtest 多层_概率论_27,得出的是期望的实验组中事件发生的概率。

  1. 均值类指标。通常是正太分布,在样本量大的情况下,根据中心极限定理,总和方差为:

abtest 多层_面试_28

  • 其中:
  • abtest 多层_abtest 多层_29为所取历史数据样本的大小。
  • abtest 多层_ab测试_30为所取历史数据样本中第 i 个用户的使用时长 / 购买金额等。
  • abtest 多层_概率论_31为所取历史数据样本中用户的平均使用时长 / 购买金额等。

附录4:

每天可以得到的样本量

根据此次每天可获得的样本量估计。

(5)aa 检验怎么做, 怎么判断aa 做的科学

1.分配流量,AA实验:

实际AB实验中可能出现抽样不均的情况,例如实验组恰好有很多土豪,那么结果就会产生偏差,为了保证实验数据的变化仅仅是实验本身引起的,可以一次性抽取4,5组流量,选择任意两组不加策略空跑,监控核心指标数据,选取两组数据最接近的上实验(控制变量)

  1. AA进行假设检验,检验AA是否有显著差异,如果随机分流稳定,AA不会有显著差异;
  2. 检查小样本的分流比例是否和设定的相差不多,例如,看新老用户分别的分流比例、2000家酒店detail页的分流比例等等;
  3. 顺着随机分流系统的代码规则,看一个用户是否被分到该分的组内(难度大,主要是看随机分流系统有无问题)
  4. 分流启动后分析个分组是否符合流量分配大小比例;分析各组用户属性,是否符合整体用户属性分布。

(6) ab test 主要的应用场景

  1. 体验优化
  • 用户体验永远是卖家最关心的事情之一,但已经完善的落地页随意的改动是一件很冒险的事情,因此很多卖家会通过AB测试进行决策,常见的是在保证其他条件一致的情况下,针对某一单一的元素进行AB两个版本的设计,并进行测试和数据收集,最终选定数据结果更好的版本。
  1. 转化率优化
  • 通常影响电商销售转化率的因素有产品标题、描述、图片、表单、定价等,通过测试这些相关因素的影响,不仅可以直接提高销售转化率,长期进行也能提高用户体验。
  1. 广告优化
  • 广告优化可能是AB测试最常见的应用场景了,同时结果也是最直接的,营销人员可以通过AB测试的方法了解到哪个版本的广告更受用户的青睐,了解到哪些步骤怎么做才能最吸引用户。
  1. 推荐及算法优化
  • 当有需要进行验证的算法时,可以通过AB测试来进行试验验证,相比全量更新,AB测试所进行的灰度测试更便捷,风险控制更精准。
  1. UI优化
  • 这是比较常见的场景。不像功能的设计,存在着很多逻辑上的思路,经常还是可以确定哪种方案好,哪种方案不好。UI的优化,往往是很“艺术”层面的。往往看到真实数据前,谁也难以说明哪种设计能带来更好的数据效果。
  1. 文案变化
  2. abtest 多层_假设检验_32

  3. 页面布局
  • 页面布局,主要指的是同页面中的不同元素的排列方式。

(7)ab test流程

abtest 多层_ab测试_33

abtest 多层_概率论_34

流程一

  1. 确认实验目标
  • 比如:找到召回沉默用户效率最高的策略
  1. 设计实验
  1. 明确目标用户
  • 过去30天-180天未下单老客
  1. 试验周期
  • 测试一周,周期内不进行打散
  1. 最小样本量
  • 参照**【(2) 如何选择实验的样本量】**
  1. 用户分组和分组策略
  2. 分流比例
  1. 上线实验与过程监控
  • 需要检测实验是否按照预期设定正常运行,在A/B实验中常出现的需要检查的问题有如下:
  • 空白组是否真的空白的,有无空白组用户领取到实验组1、实验组2、实验组3发的券,如果发现有领券的,那需要排查分流系统问题(一般需要产研根据log信息找到当时为什么判定给该用户发券)
  • 1个用户是否仅属于某一个组,有无存在多个组的情况
  • 分流是否和预先设定的分流比例一致,误差1%也要寻找原因
  • 实验样本是否是预先设定的目标实验样本,判断实验是否进行了用户筛选过滤,比如本实验是对沉默用户进行召回,有无近30天有交易的活跃用户也被发券,如果有那说明目标用户的圈选出问题,需要排查上下游看看是哪个环节出现问题
  1. 结果复盘:ROI评估

流程二

  1. 确定业务目标
  1. 明确要提升的业务指标
  2. 明确要改进的产品/策略
  1. 选择检验指标
  2. 哪些指标能够体现出因策略不同而引起的变化
  3. 确定统计量
  4. 明确要检验的指标,是平均值,是方差,还是比例
  5. 确定零假设和备择假设
  6. 样本量计算
  1. 根据确定的统计量指标,选择合适的假设检验方法进行结论验证,如T检验,Z检验,F检验,卡方检验等。
  1. 检验策略、分组策略选择
  1. A组:下单推荐页前12个推荐,9个C类店铺商品
  2. B组:下单推荐页前12个推荐,6个C类店铺商品
  3. C组:下单推荐页前12个推荐,3个C类店铺商品
  4. D组:不干预(对照组)
  1. 统计检验结果
  1. 通过统计量及统计量的P值来观测。
  2. 通过样本量分布和显著性水平来确定拒绝域和接受域,从而拒绝或者接受结果。
  1. 业务决策
  2. AB测试的条件的时候,如何解决问题
  • 没有系统:没有灰度发布系统,无法给不同用户发送不同版本。可以考虑手动进行分组,然后进行线下试验,或者手动给不同用户发送不同的版本;
  • 用户量不够:无法达到最小样本量。可以减少实验条件,或者重新设计实验;如果是统计量比例,可以延长实验周期;如果是小众用户,可以考虑配对样本T检验。
  • 时间成本高:如果是一个月度以上的实验,时间成本太高。可以研究以日为周期或周为周期对月度的影响,然后进行日实验或周实验。

流程三

ABtest本质上是一个:两总体假设检验问题,要检验A、B两个版本是一样,还是有所区别。和之前介绍的单总体假设检验一样,两总体假设检验,也分步骤:

  • 第一步:明确要检验的A、B两个对象
  • 第二步:明确要检验的指标,是平均值,还是比例
  • 第三步:根据检验目的,给出原假设/备选假设
    户,可以考虑配对样本T检验。
  • 时间成本高:如果是一个月度以上的实验,时间成本太高。可以研究以日为周期或周为周期对月度的影响,然后进行日实验或周实验。

流程四

ABtest本质上是一个:两总体假设检验问题,要检验A、B两个版本是一样,还是有所区别。和之前介绍的单总体假设检验一样,两总体假设检验,也分步骤:

  • 第一步:明确要检验的A、B两个对象
  • 第二步:明确要检验的指标,是平均值,还是比例
  • 第三步:根据检验目的,给出原假设/备选假设
  • 第四步:根据要检验的指标,选择检验统计量(是不是头都看大了,其实没关系,大部分统计软件,包括excel,都有提供两样本均值的t检验,直接用即可)