AB实验统计学基础:同质性保障解决方案

当前在货拉拉进行的诸多AB实验中,存在部分针对细分场景 或是分流粒度较粗 的策略评估,这些实验中实验单元少 ,简单随机分流会导致实验与对照实验前偏差 (Pre-Experiment Bias)大。在货拉拉内部,"实验前偏差 "也被称为"同质性"。

实验不同质会导致评估的策略、功能收益与真实收益不一致,会导向错误的决策。因此,货拉拉数据科学团队提出了体系化的解决方案,用于保障实验的同质性,进而提升AB实验结果可靠性,最终助力达成正确的决策。图内展示的是业界实践常用的方法。

本文旨在介绍AB实验的进阶玩法------同质性保障,也会针对实验各生命周期(实验前、实验后)的具体场景,讲述技术细节和实操经验。

一、同质性保障背景

1.1 同质性定义

AB实验中提到的同质性指"实验中,实验组观测指标,如果没有干预,与对照组观测指标的差异程度"(无法观测,因果推断领域称之为"反事实");当差异不显著,则认为实验同质,当差异显著,则认为实验不同质。

1.2 同质性检验方法

针对不同的指标,需要使用不同的显著性判断方法,如下表所示:

指标类型 假设检验方法 定义 举例
比率型 z检验 <math xmlns="http://www.w3.org/1998/Math/MathML"> Y ‾ = ∑ i Y i N \overline{Y} = \frac{\sum_i Y_i }{N} </math>Y=N∑iYi, <math xmlns="http://www.w3.org/1998/Math/MathML"> Y i Y_i </math>Yi的取值为0或1 估价下单转化率、配对率
连续型 t检验 <math xmlns="http://www.w3.org/1998/Math/MathML"> Y ‾ = ∑ i Y i N \overline{Y} = \frac{\sum_i Y_i }{N} </math>Y=N∑iYi, <math xmlns="http://www.w3.org/1998/Math/MathML"> Y i Y_i </math>Yi的取值范围为 <math xmlns="http://www.w3.org/1998/Math/MathML"> [ 0 , + ∞ [0, +\infty </math>[0,+∞) 人均配对单量、额外配对单量、额外配对GTV
比例型 卡方检验 比率型指标的拓展形式, <math xmlns="http://www.w3.org/1998/Math/MathML"> Y i Y_i </math>Yi有3种或以上离散取值 每个小时的执行单量占全天的比例

1.3 实际工作流程参考

在实际工作的操作流程中主要分三步:

  1. 根据实验作用的环节,圈选历史上在平台有过对应行为的实验对象。
  2. 将圈选出的实验对象分为多组 ,令各组间历史指标差异足够小。
  3. 根据具体使用的同质性保障技术,以不同方式输出最优分组方案:在线AA测试、离线AA回溯输出最优随机种子 或发现最优分组输出明细实验对象分组名单。

1.4 保障方案概览

  • "实验前"指实验开始前,同质性动作作用于模拟流量
  • "实验后"指实验开始后,包含实验进行中、实验结束后,同质性检验作用于真实流量
  • "侧面指标"指不会被实验策略干预的指标

二、同质性保障方案

2.1 实验前同质性保障

如果能正确地找到与核心指标最相关的指标和回溯周期 ,并保证两组历史指标差异 <math xmlns="http://www.w3.org/1998/Math/MathML"> X T m ‾ − X C m ‾ \overline{X_T^m} - \overline{X_C^m} </math>XTm−XCm足够小,那么AB实验的同质性(即"反事实差异")就足够好。所以在实验开始之前 ,建议采用离线AA回溯发现最优分组技术,可以有效降低实验组与对照组实验对象之间的差异,来保障实验期间的同质性。

  1. 指标选择

常见的指标类型有:比率型、连续型、比例型、中位数类。因此可以选取检验任意指标保证同质性,建议优先核心观测指标, 同时需要注意多重检验问题,检验次数越多,越容易出假阳性。

  1. 确定回溯周期

确定回溯具体周期的方法:将历史数据切割为两段,第一段历史数据用于寻找最优的回溯周期,长度不固定(其统计周期记为m);第二段历史数据与预估实验周期天数相同(其统计周期记为n)。对于第一段历史数据中圈选到的实验对象,令其过去m天(第一段历史数据周期)的指标与未来n天(第二段历史数据周期)指标的相关性最大。

  • 确定步骤
  1. 确定真实的实验周期天数(即n的值);实验周期通常是确定的,或者有大致的范围,我们可以认为n是固定的,或者很少的几个枚举值。
  2. 对于可能的实验周期,尝试不同历史回溯周期(即m的值),评估线性模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> Y m = θ X n Y^m = \theta X^n </math>Ym=θXn拟合的好坏。
  3. 找到一个m,使得 <math xmlns="http://www.w3.org/1998/Math/MathML"> Y m = θ X n Y^m = \theta X^n </math>Ym=θXn拟合的结果最好(评价指标使用R^2),得到与未来n天指标最相关的历史m天指标;m即为最佳回溯周期。

由下文到付担保金实验分析可得:对于小车 估价 环节user_id分流实验,当实验周期为14天时,建议回溯过去35天数据。

2.2 实验后同质性保障

"历史指标差异大"并不代表实验不同质,同质性由历史指标差异大小实验前、后指标相关性 共同决定。因此在实验上线之后 ,在面对实验前核心指标不同质的问题时,建议采用CUPED或DID等技术 ,可以定量衡量同质性好坏和校正同质性;在面对实验中侧面指标不同质的问题时,建议采用异常值剔除,可以消除由于异常实验数据而带来的实验波动。

  1. 指标选择
  • 侧面指标同质性

    • 判断核心:对不受实验策略影响的侧面指标进行检验,验证组别之间的侧面指标有无显著差异。同时注意本检验针对的是真实实验期间的数据,因此无需历史数据。

    • 案例展示:PK实验-供需同质性检验

      检验思路:

      • 根据每小时的日均执行单量单均推送司机数,判断实验组与对照组在供需层面是否同质
      • 供需同质性检验的指标属于比例类指标 ,因此使用卡方检验
  1. 确定回溯周期

对于对照组实验对象 ,找到与真实实验N天指标最相关的实验前m天指标, 以此m作为指标回溯的周期。同时注意建议使用线性回归的R^2评价指标之间的相关程度;不同指标的最优回溯周期会不同,需要考虑指标的重要度进行取舍。

  1. 偏差校正
  • 校正效果:

校正后的实验效果

<math xmlns="http://www.w3.org/1998/Math/MathML"> τ = ( Y T n ‾ − Y C n ‾ ) − θ ⋅ ( X T m ‾ − X C m ‾ ) \tau = (\overline{Y_{T}^n} - \overline{Y_C^n}) - \theta \cdot (\overline{X_T^m} - \overline{X_C^m}) </math>τ=(YTn−YCn)−θ⋅(XTm−XCm)

<math xmlns="http://www.w3.org/1998/Math/MathML"> Y T n ‾ − Y C n ‾ \overline{Y_{T}^n} - \overline{Y_C^n} </math>YTn−YCn是真实实验期间,实验组与对照指标的差异

<math xmlns="http://www.w3.org/1998/Math/MathML"> X T m ‾ − X C m ‾ \overline{X_T^m} - \overline{X_C^m} </math>XTm−XCm是历史m天实验组与对照指标的差异

<math xmlns="http://www.w3.org/1998/Math/MathML"> θ \theta </math>θ是实验前、中指标的系数

注1:DID方法就是令这里的 <math xmlns="http://www.w3.org/1998/Math/MathML"> θ = 1 \theta = 1 </math>θ=1

注2:CUPED技术可以使实验结论更显著

  • 校正注意点:

    • 实验需要附上原始数据结果
    • 陈述实验需要校正的原因(如同质性差异大)
    • 列明实验偏差校正方法(如CUPED)的假设和风险
  • 异常值剔除

    • 适用场景:

      1. 真实实验期间,实验对象不受干预的侧面指标不同质
      2. 由于不需使用历史数据,因此适用于order_id、user_id、driver_id各种分流形式
    • 案例展示:分播单实验-订单金额同质性检验

      • 案例背景:
        1. 订单金额是不受分播单策略影响的指标,因此理论上实验与对照的订单金额分布应该相似
        2. 1万元以上订单出现概率较低(1 / 20000),但其实验分组对核心指标GTV 配对率造成较大影响
      • 实际操作:异常值剔除:实验与对照组分别剔除订单金额 > 1万元的订单
  • CUPED / DID

    • 指标选择

      • 建议仅校正"北极星指标"或"核心指标"
      • 在货拉拉,最关注的指标就是额外 配对GTV额外 配对单量

2.3 实验案例

  • 到付担保金实验

在用户进入订单确认页时(估价->订单确认页->下单),用户如选择"到付"为付款方式,需要根据订单金额支付一定比例的金额才可以下单。因此将实验设计为:

分流方式 实验周期 核心指标 实验分组 实验策略
user_id分流 预计14天 额外配对GTV 额外配对单量 对照组(34%) 不收担保金
user_id分流 预计14天 额外配对GTV 额外配对单量 实验组1(33%) 10%担保金
user_id分流 预计14天 额外配对GTV 额外配对单量 实验组2(33%) 25%担保金

实验后离线分流检验同质性

人均配对单量 = 配对单量 / 估价用户数,等价于额外配对单量

人均配对GTV = 配对GTV / 估价用户数,等价于额外配对GTV

实验分组两两间的相对差异绝对值均 < 0.75%,均不显著,因此实验前同质性保障有效。

| 实验分组 | 核心指标相对差异 ||||||||

实验分组 估价用户数(进组流量) 人均 配对单量 人均 配对GTV 人均 执行单量 估转率 配对率 到付配对率 到付单占比
实验组1 vs 对照组 - 0.68% -0.39% 0.55% 0.12% 0.13% 0.13% 0.69%
实验组2 vs 对照组 - 0.48% -0.69% 0.55% 0.06% -0.07% -0.41% -0.04%
实验组2 vs 实验组1 - -0.20% -0.29% 0.00% -0.06% -0.20% -0.54% -0.72%

四、结语

目前的AB实验中对于同质性保障的处理主要选择在实验前和实验上线后。因此在实验前建议采用离线AA回溯发现最优分组技术,降低实验组和对照组实验对象之间的差异,保障实验期间的同质性;在实验开始后根据指标的性质不同,选择不同的解决方案:

  1. 实验后核心指标不同质时,建议采用CUPED或DID等技术,定量衡量同质性好坏和校正同质性
  2. 实验后侧面指标不同质时,建议采用异常值剔除,消除异常值给实验数据带来的波动
相关推荐
ん贤12 分钟前
贪心算法.
算法·贪心算法
cndes21 分钟前
大数据算法的思维
大数据·算法·支持向量机
青云交1 小时前
大数据新视界 --大数据大厂之 Kafka 性能优化的进阶之道:应对海量数据的高效传输
大数据·数据库·人工智能·性能优化·kafka·数据压缩·分区策略·磁盘 i/o
睡不着还睡不醒2 小时前
【数据结构强化】应用题打卡
算法
sp_fyf_20242 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-05
人工智能·深度学习·神经网络·算法·机器学习·语言模型·自然语言处理
C++忠实粉丝3 小时前
前缀和(6)_和可被k整除的子数组_蓝桥杯
算法
木向3 小时前
leetcode42:接雨水
开发语言·c++·算法·leetcode
TU^3 小时前
C语言习题~day16
c语言·前端·算法
吃什么芹菜卷3 小时前
深度学习:词嵌入embedding和Word2Vec
人工智能·算法·机器学习
wclass-zhengge3 小时前
数据结构与算法篇(树 - 常见术语)
数据结构·算法