Skip to main content

        AB测试 - Featured image

AB测试

关于常见的A/B测试中遇到的问题和操作步骤

A/B测试定义

是按照控制变量的思想下,观察策略变量对目标的影响。具体做法是除策略变量外,其余变量均保持一致,设置对照组和实验组,对策略变量进行实验,观察两组用户在同一时间内的表现,通过假设检验分析结果是否有显著差异,从而判断改动是否有可行性。在程序层面是通过用户ID/设备id哈希取模确保同一用户每次进入用一组。

应用场景:产品功能,算法,策略迭代

需要注意不能用均值转化率、均值点击率来进行ab测试的决策,而是通过置信区间,假设检验,收敛程度来得出结论

问题一:检验分流的均匀性

AA实验,与ab不用的是在分组后,不经过任何干预情况,在同一时间后进行指标对比

pre-AA实验,就是在完成分组后,就开始指标对比

问题二:ab测试流程

1、设定核心指标(北极星指标)和次要指标(护栏指标)

明确A/B测试的目的,以此设定主要指标,用次要指标做用户维稳

2、确定测试用户,随机分组

用aa实验保证分群的随机和均匀

3、提出假设:零假设(H0),备择假设(H1)

第一类错误:H0为真,H1为假  —》实际没有效果,测试结果显著,错误拒绝H0  犯第一类错误的概率为α

第二类错误:H0为假,H1为真  —》实际有效果,测试结果不显著,错误接受H0  犯第二类错误的概率为β

4、计算样本量

n = (Z_{1-α/2} +Z_{1-β})² * (p₁(1-p₁) + p₂(1-p₂)) / (p₁ - p₂)² = 8*(p₁(1-p₁) + p₂(1-p₂)) / (p₁- p₂)²
n:每组所需的样本量
Z_{1-α/2}: 对应显著性水平α的Z分数(如α=0.05时,为1.96)
Z_{1-β}: 对应统计功效1-β的Z分数(如功效=80%时,β=0.2,Z₀.₈ ≈ 0.84)
p₁: 对照组(A版本)的基准转化率(如0.1)
p₂: 实验组(B版本)的预期转化率(如0.11)
(p₁ - p₂): 就是你期望检测的最小效应大小(MDE,如0.01)

注:有个在线工具https://www.evanmiller.org/ab-testing/

5、确定测试周期

样本量/目标用户量

6、确定实验结果

结果解读

问题三:ab测试反转实验:

主要是为了判断优化效果是否显著

问题四:什么是假设检验

又叫统计假设检验,是判断样本与样本,样本与总体的差异是抽样误差引起的还是本质差别造成的统计推断方法

步骤:一、实验设计与准备

1、确定测试的指标和测试用户

2、提出假设:零假设(H0)与备择假设(H1)

3、计算样本量: 根据显著性水平(α,通常为0.05)、统计功效(1-β,通常为0.8或0.9)以及期望检测的最小效应大小(Minimum Detectable Effect, MDE),使用功效分析工具计算出每组所需的样本量。这能确保你的实验有足够的能力检测到真实的差异。

4、随机分组与实验执行: 将用户随机、互斥地分配到对照组、实验组A和实验组B。确保实验期间其他条件保持不变,运行实验直到收集到足够的样本。

二、整体显著性检验

1、根据组的数量选择统计检验方法

2、python检验:如果得到的 p-value < 事先设定的显著性水平α(如0.05)**,则拒绝零假设,说明至少有一个实验组的转化率与对照组不同。此时,进入下一步

三、检查差异性

  1. 执行相应的两样本检验:  对于比例数据(转化率):使用Z检验(Two-Proportion Z-Test)。 (也可以使用卡方检验,但Z检验可以更方便地计算置信区间和单侧检验)

  2. 计算得到该次比较的p-value。

  3. 将这个p-value与校正后的α_new(如0.0167)进行比较。

  • p-value < α_new → 拒绝这两组之间无差异的零假设,认为存在显著差异。

  • p-value >= α_new → 没有足够证据证明存在显著差异。

四、解释结果与得出结论

  • 实验组A显著优于对照组,而实验组B不显著 → 采纳方案A。

  • 实验组B显著优于对照组,而实验组A不显著 → 采纳方案B。

  • 实验组A和B都显著优于对照组,且它们之间无显著差异 → 两者效果相当,可以基于成本、用户体验等其他因素选择其一,或进一步测试。

  • 实验组A和B都显著优于对照组,且A显著优于B → 采纳最优的方案A。

  • 实验组A和B与对照组均无显著差异 → 保留原方案(对照组)。即使整体检验显著,但事后检验没发现,可能意味着差异非常微小。

问题五:什么是p值

假设对照组和实验组是没有差异的概率设定为p,一般设置p值小于0.05

p值是判断假设检验是否具有显著性差异

问题六:什么是置信区间

一般用p值说明对照组和实验组的差异是否具有显著性差异,但没有说明差异有多大

置信区间就是评估ab测试的差异有多大

置信区间是对样本所处总体参数的区间估计

问题七:什么是α值:

置信水平/置信度是指总体参数落在样本参数值附近区间(置信区间)内的概率

问题八:什么是中心极限定理

中心极限定理就死在大样本条件下,样本的均值,方差服从正态分布

具体说,当样本量足够大时,样本均值的分布将逐渐接近于正态分布,且其均值等于总体均值标准差除以样本容量的平方根

问题九:极限中心定理和置信区间的关系

中心极限定理是确定样本服从正态分布的规律,置信区间是利用正态分布的特性,利用样本均值推算出总体均值,同时利用正态分布的概率密度函数计算出

样本均值可能存在的误差范围,也就是总体参数的估计区间。

计算置信区间时,需要使用中心极限定理来近似样本均值的分布

问题十:流量不足,ab测试有什么方法

通过流量正交分层的思路,实现流量的复用

原理:hash算法,保证流量的绝对打散,消除层层之间的影响,保证每个用户在同一层中始终会被分配到同一个桶中