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

免费工具 贝叶斯 A/B 测试计算器

p 值说的是「如果 A、B 没差别,这样的数据有多意外」。老板和产品经理真正想问的是另一件事:B 比 A 好的可能性有多大?选错了会损失多少?填上两个版本的访客数和转化数就能算。

  • Beta-二项模型
  • B 胜过 A 的概率
  • 本地计算
计算器

B 比 A 好的概率有多大

结果由后验分布的数值积分算出:确定性的,每次都一样,精度约 1e-9。

对照组的访客数(或用户数)。

A 组里完成转化的人数。

实验组的访客数。

B 组里完成转化的人数。

看到数据之前对转化率的假设。均匀先验是常用的中性选择。

表格里区间的宽度。

B 的真实转化率高于 A 的概率是 96.9%。上线 B,如果它其实更差,预期损失 0.003 个百分点;保留 A 的预期损失是 0.528 个百分点。

B 胜过 A 的概率

96.9%

B 的真实转化率高于 A 的后验概率。

选 B 的预期损失(百分点)

0.003

如果 B 其实更差,平均会损失的转化率。

保留 A 的预期损失(百分点)

0.528

如果 B 其实更好,平均会错过的转化率。

双尾 p 值(z 检验)

0.062

同一组数据的频率学派结论,作对照。

估计值和可信区间

按所选水平的等尾区间。提升 = B ÷ A − 1。

指标估计值下限上限
A 组转化率3.01%2.65%3.40%
B 组转化率3.54%3.14%3.95%
差值 B − A+0.52 个百分点−0.03 个百分点+1.08 个百分点
相对提升+17.4%−0.8%+39.2%
全部在你的浏览器里计算。这里输入的任何内容都不会上传,TapCub 也不会保存。

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

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

结果怎么读

这几个结果是什么意思

贝叶斯结果直接描述转化率本身(在给定数据和先验的前提下),所以很容易拿来做决定。

B 胜过 A 的概率

A 组 8,000 人转化 240、B 组 8,000 人转化 282 时,B 的真实转化率更高的概率是 96.9%。它不说明高多少,这要看区间。

预期损失

选错时平均损失多少转化率,同时考虑了「选错的可能性」和「选错的代价」。上线 B 的风险是 0.003 个百分点,保留 A 的风险是 0.53 个百分点。不少团队事先定一个阈值,领先版本的预期损失低于它就上线。

可信区间

在这组数据下,提升幅度有 95% 的概率落在 −0.8% 到 +39.2% 之间。区间很宽,而且碰到了 0:B 很可能更好,但好多少还很不确定。

旁边的 p 值

同一组数据用双尾 z 检验得到 p = 0.062,按 0.05 的标准「不显著」。均匀先验、数据较多时,B 胜过 A 的概率约等于 1 − 单尾 p 值(1 − 0.062 ÷ 2 ≈ 0.969),但两者回答的不是同一个问题。

概率再好看,也取决于数据本身。先用 SRM 检查确认分流正常;样本量事先定好,不要概率一高就停。

怎么用

三步读一个跑完的实验

用整个实验期间、所有被分组用户的计数。

  1. 1

    填计数

    A(对照组)和 B(实验组)的访客数和转化数。按用户分流就填去重用户数。

  2. 2

    选先验

    没有特别理由就用均匀先验。每组几千人以上时先验几乎不影响结果;只有几十人时影响很大。

  3. 3

    结合概率和损失做决定

    把 B 胜过 A 的概率、上线 B 的预期损失、提升的区间放在一起看,按实验前定好的标准做决定。

计算公式

Beta-二项后验,以及它和 p 值的区别

每个转化率先给一个 Beta 先验;观察到「访客中有多少人转化」之后,后验仍是 Beta 分布。所有结果都是对两个后验分布的积分,用数值方法算出,不做蒙特卡洛抽样,所以每次结果一样。

  • p 值的思路:假设 A、B 完全一样,这样的数据有多意外?它从不直接给出「B 更好的概率」
  • 贝叶斯的思路:给定数据和先验,各种转化率的可能性有多大?于是能直接得到 B 胜过 A 的概率和预期损失
  • 两者都假设访客相互独立、实验期间转化率稳定;都挡不住分流不均、机器人流量或埋点失效
  • 偷看照样有影响:B 胜过 A 的概率一过 95% 就停,做错决定的频率会高于这个数字暗示的水平

后验

p_A ~ Beta(α₀ + 转化_A, β₀ + 访客_A − 转化_A)

均匀先验:A 为 Beta(241, 7,761),B 为 Beta(283, 7,719)

B 胜过 A 的概率

P(p_B > p_A) = ∫ f_B(x) · F_A(x) dx

= 96.9%

上线 B 的预期损失

E[max(p_A − p_B, 0)]

= 0.003 个百分点

算例

同样的提升,不同的数据量

均匀先验。概率和预期损失用本计算器算出;p 值来自双尾、合并方差的双比例 z 检验。

三个实验的贝叶斯与频率学派结论
A(转化 / 访客)B(转化 / 访客)观察到的提升B 胜过 A选 B 的损失p 值
30 / 1,00035 / 1,000+16.7%73.4%0.13 个百分点0.53
240 / 8,000282 / 8,000+17.5%96.9%0.003 个百分点0.062
3,000 / 100,0003,100 / 100,000+3.3%90.3%0.003 个百分点0.19

第二个实验按 p < 0.05「不显著」,但 B 胜过 A 的概率有 96.9%,选 B 的预期损失只有 0.003 个百分点。要不要上线,取决于你事先定的标准。数字用本工具算出。

常见错误

贝叶斯结果常被误用的地方

贝叶斯结果更好解释,但流程不对照样会出错。

把 95% 读成「B 好 95%」

B 胜过 A 的概率 95%,说的是 B 很可能更好,不是好多少。95% 的把握只提升 0.1%,未必值得上线。

概率一高就停

每天盯着、概率一过线就停,照样会增加错误决定。事先定好样本量或决策规则。

事后挑一个强先验

自定义先验应该来自以往的实验,并在看结果之前定下。样本小的时候,强先验自己就能决定结论。

跳过 SRM 检查

分流不对时,各组已经不可比,概率和 p 值都是在错的分组上算出来的。

常见问题

贝叶斯 A/B 测试常见问题

还有其他问题?

直接和 TapCub 团队聊聊——工作日通常几小时内回复。

什么是贝叶斯 A/B 测试?

用贝叶斯统计分析 A/B 测试:每个转化率用一个概率分布描述,并随数据更新。结论直接表述为 B 比 A 好的概率、每种选择的预期损失,以及提升幅度的可信区间。

「B 胜过 A 的概率」怎么算?

均匀先验下,A 的转化率服从 Beta(1 + 转化数, 1 + 未转化数),B 同理。B 胜过 A 的概率是 B 的密度乘以 A 的累积分布函数再积分。本计算器用数值积分算;240/8,000 对 282/8,000 时是 96.9%。

贝叶斯和 p 值有什么区别?

p 值是「假设没有差别时,出现至少这么极端的数据的概率」,不是「B 更好的概率」,虽然常被这么理解。贝叶斯概率恰好就是后一种说法(在给定先验下)。默认例子里 p = 0.062,B 胜过 A 的概率是 96.9%。

预期损失是什么?

如果选了的版本其实更差,平均会损失多少转化率。它把「选错的可能性」和「选错的代价」合在一起。常见做法是事先定一个很小的阈值,领先版本的预期损失低于它就上线。

先验怎么选?

均匀先验 Beta(1, 1) 是常用的中性选择,Jeffreys 先验 Beta(½, ½) 是另一种。自定义先验可以吸收以往实验的经验,比如 Beta(4, 96) 表示「大约 4%,相当于 100 个访客的证据」。每组几千人以上时,选哪种先验结果几乎一样。

贝叶斯 A/B 测试可以随时停吗?

可以随时看,但概率一过阈值就停,做错决定的频率会高于概率暗示的水平。事先定好样本量或固定的决策规则,做决定前先检查分流。

结果会像有些计算器那样每次不一样吗?

不会。很多计算器靠随机抽样,每次结果略有不同。这个计算器对后验分布做数值积分,同样的输入永远得到同样的结果。

更新记录

更新记录

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

  1. · v1.0

    首次上线首次上线。

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

看清数据,找到增长。

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

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