「没有数据,你只是一个有想法的人。」
这是 W. Edwards 的依据名言,它表明,A/B 测试对于做出良好的商业决策来说至关重要。在 Manomano,我们向数百万用户展示数百万 DIY 和园艺产品,并每天进行数十个 A/B 测试,以改善我们网站的用户体验。
ManoMano 花园大棚分类页面上的产品排名算法 A/B 测试示例
然而,运行 A/B 测试和解释结果可能非常困难,如果做得不对,可能会得到错误的结论。这篇博文的目的不是要说明在运行 A/B 测试时应该做什么,而是要告诉你不应该做什么。下面是我们在进行 A/B 测试时经常会犯的 10 个常见错误。
1.在仅当一部分人受到影响时,观察所有人
示例:你想测试你的搜索引擎相关性,但在分析 A/B 测试结果时,你查看整个总体,而不仅仅是使用搜索引擎的用户。虽然这在科学的角度来说不是错误的,但是达到统计显著性需要更长的时间,因为在分析的数据中添加了一些噪声:
经验 1:为了更快地达到统计显著性,应该只观察与测试功能交互用户(这里是搜索引擎)的结果。
2.在没有任何业务直觉的情况下进行测试
不能使用太多变量(A/B/C/../N)进行测试。例如,如果使用 α=5% 显著性阈值并决定测试 20 个不同的场景,则其中每个场景是正样本的机会是偶然的。这是多重比较问题的一个例子。因此,业务直觉对于决定启动哪个 A/B 测试至关重要。为了说明这一点,我们可以修改 W.Edwards Deming 的名言:
「没有想法,你只是一个有数据的人 」
经验 2:用你的直觉(或者更好的方法做用户调查)来决定启动哪一个 A/B 测试。
3.对人口进行分段以达到统计显著性
这是多重比较问题的另一个例子:「我的 A/B 测试不显著,因此我将在设备上对数据进行分段以获得显著结果」。在进行数据分割时必须非常小心。事实上,你比较的片段越多,结果中出现错误的几率就越大。
以 country * device 为例,我们在 Manomano 有 n=15 个细分市场(5 个国家*3 个设备:法国/手机、法国/桌子、西班牙/平板电脑等)。让我们计算在其中一个分段上偶然出现至少一个重要结果的概率:
我们有超过 50% 的机会出现这种偶然性,因此,从分割数据的测试中得出结论并采取行动是非常危险的。但也有一些技术可以缓解这一问题,比如 Bonferroni 校正。
经验 3:不要为了达到统计显著性而分割你的数据。
4.查看几个指标以达到统计显著性
多重比较问题的另一个例子是:「我的 A/B 测试在转换率、平均购物篮和跳出率上都没有显著结果。但这对每类购物篮的数量来说是很重要的!如果你观察足够多的指标,你最终会发现其中一个指标碰巧显示了一个重要的结果:
A/B 测试结果说明
经验 4:坚持测试设计的标准。
5.达到统计显著性时停止测试
统计显著性不能告诉你什么时候应该停止测试。在停止测试之前,你需要等待以达到计算出的样本大校使用 A/B 测试计算器计算测试所需的样本大校有关这种偏差的更多细节,请阅读这里的问题说明。你还可以在此处模拟 A/A 测试,以查看在测试早期达到统计显著性的频率,即使在测试结束时结果不显著:
使用 james lutrek 工具,根据样本数量观察 A/A 测试实验的显著性
经验 5:即使你的测试有统计学意义(统计显著性),也要继续测试,直到测试结束。
6.在达到统计显著性之前不要停止测试
同样,统计显著性不能告诉你什么时候可以停止测试,或者继续测试。你不应该等待一个测试变得有意义,因为它可能永远不会发生。如果你已经达到了在测试前计算出的样本量,这就意味着你的测试有足够的统计能力得出结论。
Evan Miller 的 A/B 测试持续时间计算器
经验 6 :一旦达到所需的样本量,停止测试。
7.将(1-p 值)当做 B 优于 A 的概率
这是一个很常见的错误。p 值为 2% 并不意味着 B 有 98% 的机会比 A 好。这个假设在数学上是错误的,因为它还取决于基准率,即你所做的测试中,有积极影响的百分比(只有上帝知道这个数字!)。这个数字反映了你的商业直觉水平。
假设我们是上帝,我们知道 ManoMano 的基准率是 20%。这意味着我们 20% 的测试都是阳性的:
80% 的阳性测试(灰色)拒绝零假设(统计能力):
5% 的阴性测试(白色)拒绝零假设(显著性阈值):
结论:在 80% 的统计能力、5% 的显著性阈值和 20% 的基准率,当检验被认为是阳性(p 值