← 返回题库
传统算法简单

A/B 测试怎么做?常见陷阱有哪些?

#A/B 测试#假设检验#辛普森悖论#实验设计

题目

推荐/搜索系统上线新模型需 A/B 测试验证。请说明流程与常见陷阱。

参考答案

A/B 测试流程

  1. 确定指标:核心指标(CTR、CVR、留存、人均时长)+ 护栏指标(延迟、崩溃率、投诉率)。
  2. 计算样本量:按预期提升幅度与显著性水平(α=0.05、power=0.8)算所需流量与天数。
  3. 分流:随机哈希把用户分 A(对照)与 B(实验)组,保证两组特征分布均衡。
  4. 运行:跑足够时间(至少一个完整周期,覆盖工作日/周末)。
  5. 分析:做假设检验(t 检验/卡方),看核心指标是否显著提升、护栏未恶化。
  6. 决策:显著正向 → 全量;不显著 → 保留并优化;负向 → 回滚。

常见陷阱

  1. 样本量不足:过早下结论,把噪声当信号。需事前算 power。
  2. 辛普森悖论:整体看 B 好,分层看 A 好(或反之)——因两组用户构成不同。需做分层分析。
  3. 新奇效应:新策略短期被点击多因”新鲜”而非真优,几天后衰减。需观察长尾。
  4. 流量互染:实验组与对照组互相影响(如社交场景)——需用用户聚簇分流。
  5. 指标错配:优化 CTR 却伤留存(短视)——需同时看长期指标。
  6. 提前停止:多次偷看显著性会夸大效果(p-hacking)——需用序贯检验或固定天数。
  7. 分流不均:哈希有偏导致两组特征分布不同——需做 AA 测试验证。

进阶

  • CUPED:用实验前协变量修正指标方差,提升 power。
  • 多层实验:正交分流支持多个实验同时跑(如 Google overlapping experiments)。
  • Switchback:区域/时间分桶,适合网络效应强的场景。

面试加分点

  • 强调”A/B 测试是因果推断”,离线指标(AUC/NDCG)只作参考,最终以在线 A/B 为准。
  • 辛普森悖论是高频考点,能举例说明加分。
  • 护栏指标常被忽视——延迟涨 50ms 可能让留存跌,“效果”可能被延迟抵消。

出处:算法工程师面试题集、A/B 测试实战经验。

内容来源

整理自算法工程师面试题集

本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。