免费工具 A/B 测试样本量计算公式与计算器
上线一个 A/B 测试之前,先定好它需要多少访客。填当前转化率和「至少要检测出多大的提升」,计算器给出每个版本的样本量,以及按你的流量要跑几天。
- 双比例 z 检验
- 按日流量估算天数
- 本地计算
开测之前先算样本量
最小可检测提升是相对值:基线 3%、填 15%,意思是检测 3% → 3.45%,不是 3% → 18%。
对照组现在的转化率,取要测试的那个页面、那个事件。3% 填 3。
值得检测出来的最小提升,相对基线算。15 表示相对提升 15%。
能接受的误报(假阳性)概率,常用 5%。
提升真实存在时能测出来的概率。常用 80%;选 90% 需要更多流量。
对照组加实验组的总数。普通 A/B 测试填 2。
所有分组合计的每日访客,支持「1.2万」写法。选填,只用来估算天数。
每组样本量
24,193
每个分组(包括对照组)至少需要这么多访客。
分享这组输入:数值写在链接的 # 后面,不会发到服务器。
https://tapcub.com/zh/tools/ab-test-sample-size-calculator
版本 v1.0更新于 更新记录
四个数分别是什么
这个结果是一条「停止规则」:开测前定好,跑到这个量再看结论。
每组样本量
每个分组要达到的访客数。基线 3%、相对提升 15%,对照组和实验组各需要 24,193 个访客。
总样本量
所有分组加起来。多加一个实验组,就要多一整组的访客,测试也会更久。
预计天数
总样本量 ÷ 每天进入测试的访客。48,386 ÷ 2,000 = 24.2,所以是 25 天。建议再凑成整周,让周一到周日各占一样多。
要检测的实验组转化率
实验组达到这个转化率时,测试大概率能测出差异。真实提升更小也可能发生,只是这个样本量不太容易测出来。
统计功效是概率,不是保证。功效 80% 时,即使真实提升正好是这么大,每 5 次也会漏掉 1 次。
按这个顺序定四个输入
对结果影响最大的是基线转化率和最小可检测提升。
-
1
测出基线
取要测试的那个页面、那个事件最近一段正常时期的转化率,避开双 11、618 这类大促。全站转化率通常不是正确的基线。
-
2
定一个值得的提升
想清楚提升多少才值得上线这个改动。提升越小需要的流量越多:最小可检测提升减半,样本量大约变成 4 倍。
-
3
α 和功效用常规值
5% 和 80% 是常用默认。决策代价高、流量又够时,再改成 1% 或 90%。
-
4
填日流量
填真正会进入测试的每日访客(按定向条件筛完之后)。计算器把样本量换算成天数。
两个转化率对比的样本量公式
计算器用的是双比例 z 检验(双尾、固定样本、不含连续性校正)的标准样本量公式:找到一个样本量,使得真实提升正好是设定大小时,检验能以设定的功效越过显著性门槛。
- 最小可检测提升按相对值算:p₂ = p₁ ×(1 + MDE)
- z₁₋α/₂:5% 时 1.960、1% 时 2.576、10% 时 1.645;z₁₋β:功效 80% 时 0.842、90% 时 1.282
- 多个实验组时每组样本量相同,没有针对多重比较调整显著性水平
- 加连续性校正、做单尾检验或用序贯检验的计算器,结果会有些差别
实验组转化率
p₂ = p₁ ×(1 + MDE)
3% ×(1 + 15%)= 3.45%
每组样本量
n =(z₁₋α/₂ × √(2 p̄ (1 − p̄)) + z₁₋β × √(p₁(1 − p₁) + p₂(1 − p₂)))² ÷ (p₂ − p₁)²,p̄ =(p₁ + p₂)÷ 2
p̄ = 3.225%:(1.960 × 0.2498 + 0.842 × 0.2498)² ÷ 0.0045² = 24,192.7 → 向上取整 24,193
总量与天数
总样本量 = n × 分组数;天数 = 总样本量 ÷ 每日访客
24,193 × 2 = 48,386;48,386 ÷ 2,000 = 24.2 → 25 天
小程序详情页改版:提升幅度定多大
某微信小程序商品详情页的下单转化率是 3%,每天约 2,000 个访客进入测试,分两组。α = 5%、功效 80%,看看最小可检测提升定多少合适。
| 相对提升 | 实验组转化率 | 每组样本量 | 总样本量 | 每天 2,000 访客需要 |
|---|---|---|---|---|
| 5% | 3.15% | 207,938 | 415,876 | 208 天 |
| 10% | 3.30% | 53,211 | 106,422 | 54 天 |
| 15% | 3.45% | 24,193 | 48,386 | 25 天 |
| 20% | 3.60% | 13,914 | 27,828 | 14 天 |
| 30% | 3.90% | 6,455 | 12,910 | 7 天 |
想测出 5% 的相对提升要跑 200 多天,基本不现实;定 15% 大约 4 周能跑完。流量有限时,与其测微调,不如测改动更大的方案。示例数据,用本工具计算。
A/B 测试为什么常常样本不够
大多数「没结论」的测试,开测那天样本量就定小了。
绝对提升和相对提升搞混
基线 3% 时「提升 1%」可能是 3% → 3.03%,也可能是 3% → 4%。前者每组要 500 多万访客,后者只要 5,301。
一显著就停
公式假设只在预定样本量时看一次。每天看、一显著就停,误报率会远高于 5%。
基线取错
拿全站转化率给支付页测试当基线,或拿大促期间的转化率算平时的测试,样本量会偏大或偏小。
忽略一周的周期
周五开测、跑 10 天,会经历两个周末却只有一个周一。按整周跑,让每天的权重一样。
基线从哪来
计算器需要一个可信的基线转化率和日流量。TapCub 漏斗按固定时间窗口算出每一步之间的转化,可以按渠道、设备或分群拆开看。
样本量计算公式是什么?A/B 测试样本量怎么算?
样本量是每个版本需要多少访客,才能在设定的显著性水平和统计功效下测出设定大小的差异。需要四个输入:基线转化率 p₁、最小可检测提升(p₂ = p₁ ×(1 + MDE))、显著性水平和功效,代入双比例 z 检验的样本量计算公式:每组 n =(z₁₋α/₂ × √(2p̄(1 − p̄)) + z₁₋β × √(p₁(1 − p₁) + p₂(1 − p₂)))² ÷ (p₂ − p₁)²,p̄ =(p₁ + p₂)÷ 2。基线 3%、相对提升 15%、α = 5%(z = 1.960)、功效 80%(z = 0.842),每组需要 24,193 个访客。
最小样本量怎么确定?
样本量公式算出的就是最小样本量:少于它,真实提升达到 MDE 时也有超过 20%(功效 80% 时)的概率测不出来。按公式结果向上取整,每组都要达到;流量按天进来时,再按整周凑足天数(见A/B 测试时长计算器)。
最小可检测提升(MDE)是什么?
测试设计成能稳定测出的最小真实差异。本计算器按相对提升算:基线 3%、MDE 15%,就是 3.45%。按「提升多少才值得上线」来定,而不是按「希望看到多少」。
为什么和别的样本量计算器结果不一样?
各计算器的设定不同:有的加了连续性校正,结果略大;有的把 MDE 当绝对百分点;有的做单尾检验,需要的样本更少;还有的用序贯检验或贝叶斯方法,允许边跑边看,样本量的算法也不同。本计算器是双尾 z 检验、固定样本、不含连续性校正。
有多个实验组怎么办?
每组都需要同样的每组样本量,所以总量随组数增加。计算器没有针对多重比较调整显著性水平;实验组较多时,可以考虑把 α 选成 1%,控制误报。
测试一显著就能停吗?
用这个方法不行。固定样本检验只在达到预定样本量、看一次时有效。中途反复看、一低于 0.05 就停,误报的概率会远大于 5%。
流量不够怎么办?
测改动更大的方案,让值得检测的提升更大;测基线更高的环节,比如「加入购物车」而不是「支付成功」;或者接受更长的测试周期。把功效降到 80% 以下也行,但会漏掉更多真实的提升。
问卷调查的样本量也能用这个算吗?
不能直接用。问卷调查通常是估计一个比例并控制误差范围,常用公式 n = z² × p(1 − p) ÷ E²:95% 置信、p 取 50%、误差 ±5% 时约 385 份。A/B 测试比较的是两组。看误差范围可以用置信区间计算器。