对不起,你做的 A/B 实验都是错的——火山引擎 DataTester 科普

DataTester 是火山引擎数智平台旗下产品,能基于先进的底层算法,提供科学分流能力和智能的统计引擎,支持多种复杂的 A/B 实验类型。DataTester 深度耦合推荐、广告、搜索、UI、产品功能等多种业务场景需求,为业务增长、转化、产品迭代、策略优化、运营提效等各个环节提供科学的决策依据,让业务真正做到数据驱动。

DataTester 经过抖音、今日头条等字节业务多年验证,截至 2022 年 8 月,已在字节跳动内部累计完成 150 万次 A/B 实验。此外也已经服务了美的、得到、凯叔讲故事等在内多家标杆客户,将成熟的“数据驱动增长”经验赋能给各行业。

点击跳转 ​​火山引擎DataTester官网 ​​了解更多

运行 A/B 测试的过程可能非常困难,如果做得不对,就会得到错误的结论。在 A/B 实验过程中,以下是常见的 8 个错误:

1.发生 AA 置信否定分流服务/统计

  • 利用 AA 实验来验证分流服务是否运转正常,但若发生 AA 置信,则确定是分流服务/数据统计出了问题么?
  • 检验假设的过程中,我们会犯第一类错误--我的策略实际没有用,但实验结果显示有用。在 95%的显著性水平下这类错误出现的概率是 5%,即开 100 次 AA 实验观测某个指标,可能会有 5 次得到显著的结果。这是由于不可避免的抽样误差所导致的。
  • 假设检验正是利用「抽样误差」来帮助我们量化犯错的概率,并将其控制在 5%以内的(95%显著性水平下)。

2.忽略过度曝光

  • 过度曝光:在开设实验时,大量并没有体验到实验版本功能的用户被计入到了实验指标的分母中,导致指标值被稀释(实验中涉及的功能可能“入口较深”,用户打开应用后其实并没有进入到这一功能,但仍然被算作了进组用户参与了指标计算)。

3.每次实验必开多重比较

  • 以 ABCD 实验为例:假设策略 A、B、C、D 间没有明显差异,我们对 ABCD 两两对比,共计有 6 种组合,需要进行 6 次对比。6 次对比中只要有一次犯错,我们的结论就算犯错,因此每个统计指标的犯错概率就变为了 1-(1-5%)^6=26.5%,远大于 5%。
  • 假设检验在「多组择优」场景下,没法告诉你谁更好,犯错风险也更大。

4.为了显著而显著

  • 关注过多无关紧要的指标,只要一个指标显著,即认为策略有效。如果我们在实验中观测过多指标,众多无关紧要的指标中,碰巧出现显著是很正常的情况。实验者很可能被这种显著误导。
  • 对核心指标进行多维度下钻,指标在某一维度上呈现显著,即认为策略有效。

5.实验显著就立刻停止实验

实验没有显著差异的实验,在实验初期进行观测,指标也很有可能出现显著,这种情况被称为假阳性。

6.实验不显著就不停止实验

  • A/B 实验中,无论 A 策略与 B 策略多么相像,他们终归是不一样的。理论上来说,只要样本足够多(比如无穷多时),实验组和对照组策略的任何一点差异都会致使实验结果形成统计显著。
  • 我们在实验中,应该遵从实验设计,如果实验已经在预期运行周期内达到所需的样本量,但目标指标变化仍然不显著,那这个实验没有必要继续运行了,停止实验换个方向继续尝试

7.以为策略上线后提升值应与实验相同

  • 假设我现在开了一个实验来优化商品页面的用户购买率,其中采用了新策略 B 的实验组,购买率提升了为 3%,且结论置信,这是不是代表我的策略 B 上线之后,该商品页面的购买率就一定能提升 3%呢?显然不是。如果你想知道新策略上线后,指标可能发生的变化情况可以参考置信区间

8.完全地为数据至上

  • 倡导用数据说话,不主观臆断,在评估实验时不仅要看指标的提升量,还要结合置信度来判断数据的可靠程度。
  • 部分情况下,数据仅能传达给我们片面的信息,还需要我们基于数据背后的事实进行因果推断,以保证数据论据与要证明的论点之间是具有合理的因果关系的,这样数据才是我们论证观点的有效利器。
  • 在实验中,我们需要根据自身的业务判断,合理设计实验,明确预期:当 A/B 实验结果违背我们的业务直觉时,应当保持怀疑。