2. 前置条件检查

章节目标:在A/B测试正式启动前,通过三项强制性前置检查(实验设计完整性、样本量验证、随机性校验),确保实验具备统计有效性与可归因性,避免因设计缺陷、统计功效不足或分流偏差导致决策误导。

适用场景

  • 实验上线前质量门禁:任何A/B测试在分配流量之前,必须完成三项前置检查,未通过不得开闸。
  • 多团队协作实验审计:当产品、算法、运营等多方共同参与实验设计时,前置检查作为统一验收标准,消除认知偏差。
  • 实验复盘与迭代:历史实验被质疑结论可靠性时,可通过追溯前置检查记录判断是否因条件不满足导致误判。

前置条件

执行本章检查前,需确认以下输入工件已就绪:

  1. 实验设计方案文档(含假设、变量定义、指标体系、分桶方案)。
  2. 分桶配置表(实验组/对照组编号、流量比例、层域设置)。
  3. 近7日全量流量日志(用于随机性校验的历史基线)。
  4. 最小效应量(MDE)声明(由需求方与数据科学家共同确认)。
常见遗漏:团队常跳过“最小效应量声明”,直接使用默认值,导致样本量计算与业务预期脱节。务必在实验设计阶段完成效应量对齐。

操作步骤

本章检查流程按串行门禁方式执行,前一项未通过则终止后续检查。具体分为三个子步骤:

  1. 步骤一:实验设计完整性检查

    对照检查清单逐项核验实验设计文档,确保无缺失项。核验维度包括:

    • 假设清晰度:是否明确写出原假设 H₀ 与备择假设 H₁,且指标可量化。
    • 变量定义:自变量(干预措施)与因变量(核心指标)是否操作化定义,避免歧义。
    • 对照组设置:是否存在合理对照组(如空跑组、旧策略组),且与实验组仅一个变量不同。
    • 实验周期:是否明确开始/结束时间,且覆盖完整业务周期(含周末/月末)。
    • 分流方案:分桶算法、层域策略、流量比例是否记录。

    输出物:实验设计完整性检查清单(通过/不通过 + 缺失项记录)。

  2. 步骤二:样本量验证

    基于历史基期指标与声明的最小效应量,使用独立双样本 z 检验公式计算所需最小样本量:

    n = (Z_α/2 + Z_β)² × [p₁×(1-p₁) + p₀×(1-p₀)] / (p₁ - p₀)²
    
    参数说明:
      Z_α/2   = 显著性水平 α=0.05 对应的双尾临界值(1.96)
      Z_β     = 统计功效 1-β=0.80 对应的临界值(0.84)
      p₀      = 对照组基线转化率(来自历史数据)
      p₁      = 实验组预期转化率(p₀ × (1 + MDE))
      n       = 每组所需最小样本量

    将计算结果与实验计划流量进行对比:

    • 若计划流量 ≥ 2×n(两个组),则通过;
    • 否则,需延长实验周期或重新协商 MDE。

    输出物:样本量计算表(含参数取值、计算结果、通过/不通过结论)。

  3. 步骤三:随机性校验

    利用实验上线前的历史流量日志,对实验组与对照组在核心前协变量(如用户活跃度、历史转化率、设备分布)上进行均衡性检验:

    • 连续变量:使用双样本 t 检验或 Kolmogorov-Smirnov 检验;
    • 分类变量:使用卡方检验。

    检验通过标准:所有协变量的 p-value > 0.05,且标准化均值差异(SMD)< 0.1。

    示例 R 代码片段(校验用户历史活跃度):
    t.test(activity ~ group, data = pre_period_log)$p.value
    # 输出:0.372 → p > 0.05,通过随机性校验

    输出物:随机性校验报告(含各协变量 p-value 与 SMD 表、通过/不通过结论)。

📊 关键指标看板:前置检查量化标准
指标名称定义合格阈值异常解释
设计完整性指数检查清单通过项 / 总项 × 100%100%(零缺失)任何缺失项均视为不通过,需打回补充
统计功效1 − β,检验能检测到效应存在的概率≥ 0.80功效不足时,即使存在真实效应也可能被遗漏
最小样本量满足率计划样本量 / 所需最小样本量 × 100%≥ 100%低于100%需延长周期或增大流量比例
随机性 p-value各协变量的均衡性检验 p 值> 0.05p ≤ 0.05 表明分组存在系统性偏差,需排查分桶逻辑
SMD(标准化均值差异)(μ₁ − μ₀) / σ_pooled< 0.1SMD ≥ 0.1 说明协变量分布差异不可忽略

输入输出物

类别名称格式/载体责任方
输入实验设计方案文档(Confluence / 飞书文档)产品经理
输入分桶配置表JSON / YAML 配置文件工程团队
输入历史流量日志Parquet / CSV 表数据工程
输入最小效应量声明邮件确认 / 会议纪要需求方 + 数据科学家
输出前置条件检查报告PDF / 在线看板数据分析师
输出校验结论标志通过 / 不通过 + 异常记录数据科学家

责任边界

角色职责不跨越的边界
产品经理提供实验设计方案,确认业务指标与 MDE不直接操作分桶配置或执行统计检验
数据科学家执行样本量计算、随机性校验、出具检查报告不修改实验假设或干预流量分配
工程团队提供分桶配置与流量日志,配合排查分流异常不参与统计检验结论的判定
数据分析师维护检查清单模板,归档检查记录不承担最终通过/不通过的裁决权
决策委员会根据检查结论决定实验是否上线不绕过检查流程直接放行

记录材料

每次前置检查完成后,需归档以下三类记录,保存至实验复盘结束:

  • 实验设计完整性检查清单(含逐项打勾记录与缺失项截图)。
  • 样本量计算表(含参数取值、计算公式、计算过程截图)。
  • 随机性校验报告(含协变量列表、p-value 与 SMD 值、通过/不通过结论)。
建议:将三项记录合并在同一份 PDF 报告中,作为实验的“出生证明”,后续任何结论争议均可追溯至此。

异常处理

异常场景表现处理措施责任人
实验设计不完整检查清单出现缺失项立即打回,由产品经理补齐缺失项后重新提交产品经理
样本量不足计划流量 < 所需最小样本量① 延长实验周期以积累更多流量;② 重新协商扩大 MDE;③ 增加实验组流量比例数据科学家 + 产品经理
随机性校验失败某协变量 p-value ≤ 0.05 或 SMD ≥ 0.1① 检查分桶算法是否存在哈希偏斜;② 检查分层变量是否与协变量相关;③ 重新分桶后再次校验工程团队 + 数据科学家
历史数据不足近7日流量日志缺失或异常延长回溯窗口至14日,或使用同周期历史数据替代数据工程
MDE 未达成共识需求方与数据科学家对效应量有分歧召开联合评审会,基于业务成本与统计可行性确定 MDE决策委员会

验收标准

本章三项前置检查全部通过后,方可进入实验上线流程。具体验收标准如下:

  • 设计完整性:检查清单所有项均为“通过”,无任何缺失或模糊项。
  • 样本量验证:计划样本量 ≥ 最小需求样本量,且实验组与对照组均满足该要求。
  • 随机性校验:所有前协变量的 p-value > 0.05 且 SMD < 0.1,无显著分组差异。
  • 文档归档:三项记录材料完整、可审计,且经数据科学家签字确认。
⚠️ 硬性规则:任一验收标准未达标,实验不得上线。严禁以“先跑起来再看”为由跳过前置检查。历史教训表明,前置条件不满足的实验,结论反转率高达 37%。
前置条件检查流程(串行门禁) 开始前置检查 步骤一:实验设计完整性检查 检查清单逐项核验 步骤二:样本量验证 计算最小样本量 vs 计划流量 步骤三:随机性校验 协变量均衡性 t/χ² 检验 ✅ 全部通过 可上线实验 ❌ 不通过 打回异常处理流程 不通过 全部通过 说明 三项检查为串行门禁,前置项不通过则终止流程;异常处理详见本章“异常处理”表格。
🔑 核心原则:前置条件检查不是“走形式”,而是实验可信度的基石。三项检查分别对应实验的可归因性(设计完整性)、统计功效(样本量验证)和无偏性(随机性校验)。任何一项缺失,实验结论都可能在评审时被挑战。