Menu

A/B 测试样本量计算器

测试能得出结论之前,每个版本需要多少访客,以你的流量又要跑多少天。设置值得检测的最小提升、置信度和统计功效,就能看到所需人数,下方附有公式。

作者 Nethanel Bar, Co-founder & CEO

最后更新

准备好真正学会编程了吗?

Coddy 让你在浏览器里编写真实代码来学习:互动课程、即时反馈,卡住时还有 AI 帮忙。

在看任何结果之前,先定好样本量

样本量是测试开始前你对自己许下的承诺:“等这么多人看过之后我再看结果,在此之前不看。”没有它,每个 A/B 测试最后都会变成同一个故事:第一周看起来很有希望,第二周提升缩水,有人问显著了没有,测试在指标变绿的那天结束。这个页面给你一个可以写进计划的数字,让结束日期成为事实,而不是取决于心情。

这里用的是标准的双比例样本量计算,也就是 Evan Miller 和 Optimizely 计算器背后的公式。它取决于四个因素:基线转化率、你希望能检测到的提升、置信水平和统计功效。统计功效是大家最常忽略的。在 80% 的统计功效下,你设定大小的真实提升十次里能被发现八次;样本量减半的测试,统计功效远不到一半,所以统计功效不足的测试并不是“答案粗糙一些”,而通常是根本没有答案。

结果下方的曲线最值得记住。所需访客数与提升的倒数的平方成正比:想看出的提升减半,需要的流量大约变成四倍。一个能在两周内确认 30% 提升的网站,要确认 10% 的提升需要大约九倍的时间。如果算出来的天数以月计,计算器首先是在告诉你:去测试更大的改动,或者沿漏斗往上,换一个更多人能触达的指标,而不是让你干等。

样本量取决于什么

  • 最小可检测效应是一个决定,而不是一个测量值。它是你真正愿意为之上线的最小提升。为了让测试“更灵敏”而把它设得很低,只会让测试变长,不会让它变好。
  • 相对提升和绝对提升完全是两回事。在 5% 的基线上,10% 的相对提升只是 0.5 个百分点。本页使用相对值,因为结果通常就是这样报告的,同时会在旁边显示目标转化率,让你两者都能看到。
  • 额外的变体代价超过它们所占的份额。把 A 和 B、C、D 比较是三次比较,置信度必须在它们之间分摊。计算器使用 Bonferroni 校正,并显示每次比较实际得到的 alpha。
  • 天数是上限,而不是下限。即使数字显示四天就够,也至少要跑满一整周,最好两周,因为工作日和周末访客的转化率不同,只在周二跑的测试测的只是周二。
  • 80% 的统计功效意味着每五个真正的赢家会漏掉一个。如果漏掉赢家对你来说代价很高,就用 90%,并接受更大的样本量。

如何确定 A/B 测试的样本量

  1. 输入当前转化率

    使用测试将要改动的页面或步骤的转化率,并且是在和测试同类的访客上测得的。测试的是漏斗中的某一步时,不要用全站平均值。

  2. 选择值得检测的最小提升

    问问自己,多大的提升会让你上线这个改动。这就是你的最小可检测效应。对成熟的页面,10% 的相对提升是常见选择;一次改版可能值得设为 20% 或更高。

  3. 设置置信度和统计功效

    95% 置信度和 80% 统计功效是惯例。当假赢家回滚成本很高时,提高置信度;当错过赢家损失很大时,提高统计功效。

  4. 填入每日访客数

    所有版本加在一起,只算会进入测试的访客。结果会换算成天数和整周数。

  5. 写下结束日期

    计算器给出每个版本的样本量。把它和对应的日期一起写进测试计划,在那之前不要看结果。偷看模拟器标签页会告诉你原因。

样本量速查

在 95% 置信度、80% 统计功效、双侧检验下,每个版本所需的访客数。两组测试请乘以二。

基线转化率提升 +5%提升 +10%提升 +20%提升 +50%
1%约 637,000约 163,000约 42,700约 7,800
3%约 208,000约 53,200约 13,900约 2,500
5%约 122,000约 31,200约 8,200约 1,500
10%约 57,800约 14,800约 3,800约 690
20%约 25,600约 6,500约 1,700约 290

计算示例

注册页转化率 5%,想看出 +10%

基线 5%,最小可检测效应 10%(目标 5.5%),95% 置信度,80% 统计功效,双侧检验。结果:每个版本约 31,000 名访客,总计 62,000 名。

按每天 1,000 名访客算,需要 62 天,也就是九个整周。很多团队会觉得太长,要么测试更大胆的改动,要么接受这个页面需要 20% 以上的提升,才能在两周内测出来。

结账步骤转化率 3%,想看出 +20%

基线 3%,最小可检测效应 20%(目标 3.6%)。结果:每个版本约 13,900 名访客。

基线越低,同样的相对提升需要的访客越多,因为能统计的转化更少。这里 20% 的相对提升只有 0.6 个百分点,测试必须分辨出 3.0% 和 3.6%。

三个变体对比一个对照组

基线 5%,提升 10%,包括对照组在内共四个版本。每次比较的 alpha 变为 0.05 / 3,每个版本的样本量增加约三分之一;总数是单个版本数字的四倍。

增加变体,是把两周的测试变成两个月的最快方法。用一个有力的想法和对照组比较,下一个想法之后再测。

样本量的常见错误

  • 看到早期结果后才确定样本量。你在第三天碰巧观察到的提升不是最小可检测效应,而是带着主观倾向的噪声。
  • 把相对提升当成绝对提升。在 2% 的基线上,“10% 的提升”既可能是 2.2%,也可能是 12%,两者的样本量相差几百倍。
  • 达到样本量但结果不显著时,就判定失败。达到样本量意味着测试能检测到你设定的效应,但对更小的效应什么也说明不了。
  • 把页面浏览量当成访客数。公式假设每个单位是一名独立访客、只有一个结果;重复浏览会让人数和置信度都虚高。
  • 在不完整的一周结束测试。如果周四就达到了样本量,就跑到下一个周日;工作日构成对转化率的影响,比大多数被测试的改动都大。

样本量常见问题

A/B 测试应该运行多长时间?

直到每个版本都达到检测目标提升所需的样本量,并且至少跑满一整周,最好两周。在上方输入你的每日访客数,计算器会把样本量换算成天数和整周数。跑得比需要的久只是小小的浪费;因为结果看起来不错就提前停止,才是大多数假赢家的来源。

最小可检测效应是什么?

测试设计用来可靠捕捉的最小提升,在测试开始前选定。它通常用相对变化表示,所以在 4% 基线上 10% 的 MDE,意味着测试能分辨 4.0% 和 4.4%。MDE 越小,所需访客多得惊人:MDE 减半,样本量大约变成四倍。

80% 的统计功效是什么意思?

意思是如果真实提升恰好是你设定的大小,这样规模的测试有 80% 的概率得出显著结果,另外 20% 会漏掉真正的赢家。统计功效和置信度互为镜像:置信度限制误报,统计功效限制漏报。

为什么转化率越低需要的访客越多?

因为测试统计的是转化,而不是访客。在 1% 的转化率下,10,000 名访客只能给你 100 个事件来比较;在 10% 时则有 1,000 个。同样的相对提升,在第二种情况下容易看出得多。这也是为什么在漏斗更上游、更多访客能触达的指标上测试,往往是小网站唯一能做测试的方式。

可以同时运行多个变体吗?

可以,计算器也会正确地计算样本量,但每多一个变体就多一次和对照组的比较,置信度必须在它们之间分摊。四个版本在 95% 置信度下不做校正,至少出现一个假赢家的概率是 14%。计算器会把 alpha 分摊到各次比较上,这就是每个版本的数字会变大的原因。

这个计算器适用于收入或平均订单价值吗?
不适用,本页计算的是基于转化率的测试样本量。每位访客收入这类连续指标需要知道指标的方差,而它通常比比例的方差大得多,样本量也相应更大。这类指标需要你自己的历史方差和基于 t 检验的计算。

其他开发者工具

Coddy 编程语言插图

和 Coddy 一起学编程

开始