TapCub 正式上线:统计、分析、客服一个平台免费用

免费工具 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

每个分组(包括对照组)至少需要这么多访客。

总样本量每组样本量 × 分组数。48,386
预计天数总样本量 ÷ 每日访客,向上取整。不填日流量时为空。25
要检测的实验组转化率基线 ×(1 + 最小可检测提升)。3.45%
全部在你的浏览器里计算。这里输入的任何内容都不会上传,TapCub 也不会保存。

分享这组输入:数值写在链接的 # 后面,不会发到服务器。

版本 v1.0更新于 更新记录

结果怎么读

四个数分别是什么

这个结果是一条「停止规则」:开测前定好,跑到这个量再看结论。

每组样本量

每个分组要达到的访客数。基线 3%、相对提升 15%,对照组和实验组各需要 24,193 个访客。

总样本量

所有分组加起来。多加一个实验组,就要多一整组的访客,测试也会更久。

预计天数

总样本量 ÷ 每天进入测试的访客。48,386 ÷ 2,000 = 24.2,所以是 25 天。建议再凑成整周,让周一到周日各占一样多。

要检测的实验组转化率

实验组达到这个转化率时,测试大概率能测出差异。真实提升更小也可能发生,只是这个样本量不太容易测出来。

统计功效是概率,不是保证。功效 80% 时,即使真实提升正好是这么大,每 5 次也会漏掉 1 次。

怎么用

按这个顺序定四个输入

对结果影响最大的是基线转化率和最小可检测提升。

  1. 1

    测出基线

    取要测试的那个页面、那个事件最近一段正常时期的转化率,避开双 11、618 这类大促。全站转化率通常不是正确的基线。

  2. 2

    定一个值得的提升

    想清楚提升多少才值得上线这个改动。提升越小需要的流量越多:最小可检测提升减半,样本量大约变成 4 倍。

  3. 3

    α 和功效用常规值

    5% 和 80% 是常用默认。决策代价高、流量又够时,再改成 1% 或 90%。

  4. 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%,看看最小可检测提升定多少合适。

基线 3% 时不同提升幅度对应的样本量示例
相对提升实验组转化率每组样本量总样本量每天 2,000 访客需要
5%3.15%207,938415,876208 天
10%3.30%53,211106,42254 天
15%3.45%24,19348,38625 天
20%3.60%13,91427,82814 天
30%3.90%6,45512,9107 天

想测出 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 测试比较的是两组。看误差范围可以用置信区间计算器。

更新记录

更新记录

这个工具的新功能、修复和数据更新,最新的在前。

  1. · v1.0

    首次上线首次上线。

缺功能或发现错误?告诉我们,常被提到的会排进下次更新。 全部工具更新

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie