A/B 测试中我们都会犯的十个常见错误


本文地址:http://www.6aiq.com/article/1568825519774
知乎专栏 点击关注
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出

作者:Romain AYRES
本文由 AI 公园授权转载,转载请联系出处
编译:ronghuaiyang

导读

这篇博客文章的目的不是告诉你在运行 A/B 测试时应该做什么,而是告诉你不应该做什么

“没有数据,你只是一个有观点的人。”

这个著名的 _W. Edwards Deming_ 引用说明了A/B 测试对于做出好的商业决策至关重要。在 ManoMano,我们向数百万用户展示数以百万计的 DIY 和园艺产品,并每天运行几十个 A/B 测试,以改善我们网站上的客户体验。

产品排名算法 A/B 测试示例,garden sheds 页面

运行 A/B 测试和解释结果可能非常困难,如果方法错误,可能会导致错误的结论。这篇博客文章的目的不是告诉你在运行 A/B 测试时应该做什么,而是告诉你不应该做什么。下面是在 A/B 测试结果时都会犯的 10 个常见错误。

1 — 当只有一个局部受到影响时,观察的是整个分布

例如:你想要测试搜索引擎的相关性,但是在分析 A/B 测试结果时,你查看了整个人群,而不是只使用搜索引擎的客户。虽然这在科学上没有错,但达到统计显著性需要更长的时间,因为你在分析数据中添加了一些噪声:

要点 1:为了更快地达到统计显著性,只观察与测试功能交互过的用户的结果 (这里是搜索引擎)。

2 — 在没有任何业务直觉的情况下跑测试

这个错误的一种情况时跑具有太多变量 (A/B/C/…/n) 的测试。这是一个关于 _ 多重比较问题 _ 的例子。因此,商业直觉对于决定进行哪种 AB 测试至关重要。

要点 2:使用你的直觉 (或者更好地做用户研究) 来决定启动哪个 A/B 测试。

3 — 对分布进行分割以达到统计学显著性

这是 _ 多重比较问题的另一个例子:__“我的 A/B 测试不重要,所以我将在设备上按国家分割数据,以获得显著性结果 _”。在做测试后的分割时,你必须非常小心。的确,你比较的 segments 越多,得到假阳性结果的可能性就越大。

对于在设备上按国家分割示例,我们在 ManoMano 有 n=15 个细分市场 (5 个国家×3 个设备:法国 / 移动、法国 / 台式机、西班牙 / 平板电脑等)。让我们计算一下在这些分割中至少有一个显著结果的概率:

我们有超过 50% 的机会在我们的细分人群中得到至少一个显著的结果,完全是由于偶然。因此,从测试后的分割中得出结论并采取行动是非常危险的。尽管存在一些技术来缓解这个问题,比如 Bonferroni correction。

要点 3:不要为了达到统计意义而分割你的人群。

4 — 查看好几个指标以达到统计上显著性

关于多重比较问题的另一个例子是:“* 我的 A/B 测试没有显示在转化率、平均购物篮和弹跳率上有显著的结果。但这对每个篮子里的产品数量来说意义重大!”如果你查看足够多的度量标准,你最终会发现一个显示为显著的度量标准,但这是由于偶然:

A/B 测试结果显示

要点 4: 坚持以测试目的为标注的度量方式。

5 — 达到统计学显著性时停止测试

统计显著性不能告诉你什么时候应该停止测试。 在停止测试前,你需要等待计算出的样本量达到。你还可以模拟一个 A/A 测试,以查看在测试早期达到统计显著性的频率是相当高的,即使测试最后并没有达到显著性:

根据样本数量,观察 A/A 测试实验的显著性

要点 5: 即使你的测试在具有统计显著性,也要保持测试的有效性,直到测试完成为止。

6 — 在达到统计显著性之前,保持测试有效

再次强调,统计显著性不能告诉你何时可以停止测试或继续测试。 你不应该等待一个测试具有显著性,因为它可能永远不会发生,特别是如果你已经达到所需的样本量,这意味着你的测试有了一个足够的统计能力的结论。

要点 6: 一旦达到所需的样本量,就停止测试。

7 — 把 (1 - p 值) 当成 B 优于 A 的概率

这是一个很常见的错误。P-value 为 2% 并不意味着 B 有 98% 的几率比 a 好,这一假设在数学上是错误的,因为它还依赖于基本比率,这是测试执行上有积极的效果的比例 (只有上帝知道这个数!)。这个数字反映了你的商业直觉水平。



假设我们是上帝,我们知道 ManoMano 的基本比率是 20%,这意味着20% 的测试结果是 positive 的:

80% 阳性检验 (灰色),拒绝原假设 (统计幂):

5% 阴性检验 (白色),拒绝原假设 (显著性阈值):

结论:给定 80% 的统计能力、5% 的显著性阈值和 20% 的基准率,当一个测试被认为是阳性时 (p 值 < 0.05),我们只有 16 /(16+4)= 80% 的机会它实际上是阳性的,而不是 95%。

在这种配置中 (统计能力 =80%,显著性阈值 =5%),并且知道你的 A/B 测试结果是显著的,下面是你的测试实际上是阳性的一些概率,具体取决于基本比率:

要点 7:(1 - p-value) 不是测试结果为 positive 的概率。

8 — 认为观测到的增量是特征带来的增量

测试中观察到的增量允许你计算统计显著性,但是将观察到的增量视为特征带来的实际增量是错误的,因为这通常需要更多的用户或会话。

如果仅仅说明 B 比 A 好是不够的,需要选择使用置信区间而不是原始增量。为了说明这一点,我们举一个 A/B 测试的例子:

p 值为 0.014,在显著性水平为 95% 的情况下,A/B 检验为阳性,说明变异组显著优于对照组。观测到的转化率相对增量很容易计算:

但是,将这个观察到的增量看作特征带来的实际增量是不正确的。你应该使用标准误差计算每组的置信区间:

p 是观察到的是这个组的转化率,n 采样池样本量,Zα相对应的 z 值置信水平α(在我们的例子中 95%)。

利用该公式,最终可以计算出两组 95% 置信区间 (CI) 的转化率:

也可以计算相对增量 (PctDiff) 的置信区间,但它更复杂。

要点 8:当你的测试结果显著性为阳性时,请使用置信区间,而不是原始增量。

9 — 当 A/B 测试结果与你的直觉相反时,忽略它

如果你还没有准备好使用获胜的版本更新你的产品,那么启动 A/B 测试是没有意义的,而只是提供你的确认偏差。在选择测试内容时,直觉是至关重要的,但它不应该与 A/B 测试的无偏结果相抵触。

要点 9: 在测试前与涉众确定阈值和相关操作。

10 — 忘记检查你的 A/B 测试系统是否可靠

为了保证你的 A/B 测试结果的可靠性,你的 A/B 测试系统必须经过校准并正常工作。确保这种可靠性的一种方法是持续进行 A/A 测试,并检查两组人群之间是否存在显著差异:

ManoMano 的连续 A/A 测试允许我们快速检测 8 月期间遇到的缓存错误,该错误使我们在 8 月 20 日到 8 月 22 日之间运行的所有测试无效。

要点 10: 持续进行 A/A 测试以发现可靠性问题。

总结

正如你所看到的,在分析 A/B 测试结果时出错的风险非常高,而在测试之后做出的决策对你的公司非常重要。这就是为什么你应该对传达给你的 A/B 测试结果持非常怀疑的态度,特别是当这些测试结果来自于对获得积极结果有个人兴趣的人 (例如,想要向你推销一些东西的人)。

英文原文:https://medium.com/manomano-tech/a-b-testing-10-common-mistakes-we-all-make-97a5030f1d44


本文地址:http://www.6aiq.com/article/1568825519774
知乎专栏 点击关注
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出