2. 分析前的数据质量检查与前置条件:样本量校验、随机化验证、埋点完整性、时间跨度对齐
核心观点:数据质量不合格的分析结论毫无意义。本环节通过四道关卡确保实验数据可被信任,任何一项未通过都必须终止分析、返回修复或重新实验。
适用场景
- A/B 测试实验已结束,即将进入结果分析前。
- 数据仓库或日志中已收集实验期间的全部用户行为数据。
- 实验存在多个版本(对照/实验)需对比指标。
前置条件
- 实验设计与分组方案已正式发布。
- 埋点文档完整、事件定义清晰。
- 数据采集管道正常运行,无已知故障。
- 实验起止时间已明确记录。
操作步骤
| 步骤 | 关卡 | 操作内容 | 判断标准 |
|---|---|---|---|
| 1 | 样本量校验 | 统计实验组与对照组的实际用户数,对比计划样本量 | 实际样本量 ≥ 最小所需样本量的 90% |
| 2 | 随机化验证 | 对用户分组标识执行卡方检验或 AA 比测 | p ≥ 0.05;分层维度分布无显著差异 |
| 3 | 埋点完整性 | 遍历关键事件埋点日志,检查空缺率 | 空缺率 ≤ 5%,且无连续缺失时间段 |
| 4 | 时间跨度对齐 | 确认两组数据的时间窗口完全一致 | 最小时间戳差值 < 60 秒,最大差值 < 3600 秒 |
实践经验:建议按步骤顺序执行,每一步通过后方可进入下一步。一旦某步失败,直接触发异常处理流程,不要继续后续检查。
输入输出物
| 输入 | 输出 |
|---|---|
| 实验计划书(含计划样本量、分组策略) | 数据质量检查报告(包含每项关卡的检查结果、p 值、空缺率、时间偏差) |
| 实验数据表(用户 + 行为日志) | 检查通过/不通过标志 |
| 埋点元数据表 | 异常处理建议记录 |
责任边界
- 数据工程师:提供清洗后的宽表,确保字段完整。
- 数据分析师(本课程执行者):执行四项检查,撰写质量报告。
- 产品经理/实验负责人:若检查不通过,决策是否重新实验或修复数据重新运行。
- QA 测试:在实验上线前已验证埋点正确性,本环节仅做复核。
记录材料
每次质量检查均需在实验管理系统或分析文档中留存以下记录:
实验ID: AB2025-0217-001
检查者: 李明
检查时间: 2025-02-25 10:30 UTC
[样本量校验]
- 计划样本量: 100,000
- 对照组实际: 49,823
- 实验组实际: 50,177
- 达成率: 100%
- 结论: PASS
[随机化验证]
- 卡方值: 0.21, p=0.64
- 结论: PASS
[埋点完整性]
- 事件: "click_buy"
- 空缺率: 0.3%
- 结论: PASS
[时间跨度对齐]
- 对照组开始: 2025-02-10 00:00:00
- 实验组开始: 2025-02-10 00:00:00
- 对照结束: 2025-02-17 23:59:59
- 实验结束: 2025-02-18 00:00:01
- 最大偏差: 2秒
- 结论: PASS
最终结论: ✅ 数据质量合格,可进入分析。
异常处理
| 异常情况 | 处理方式 |
|---|---|
| 样本量不足 | 延长实验时间或增加流量;若无法延长,降低效应量阈值重新评估样本需求 |
| 随机化失败(p < 0.05) | 排查分组代码逻辑错误;重新执行随机化、清空数据后重新实验 |
| 埋点空缺率 > 5% | 回填日志(若可追溯);修复埋点后重跑实验;标记缺失部分不纳入分析 |
| 时间窗口未对齐 | 以较晚的开始时间和较早的结束时间为准截断数据,确保两组时间窗一致 |
验收标准
- 四项检查均有明确量化结论(PASS / FAIL)。
- 所有检查结论同时为 PASS,输出盖章的“数据质量合格”报告。
- 若任一 FAIL,必须触发异常处理,并输出具体修复建议。
- 检查记录完整写入实验报告,保留原始日志片段作为证据。
小贴士:可以使用自动化脚本批量执行四项检查,但最终人工复核临界值(如 p=0.049 需要调查随机化偏差原因)。始终保留原始数据快照,避免检查过程污染数据。