使用我们快速可靠的计算器轻松确定您的A/B测试的统计显著性。获得即时结果,以便为您的数字营销、产品开发和用户体验优化做出数据驱动的决策。非常适合网站、电子邮件和移动应用。
A/B 测试是数字营销、产品开发和用户体验优化中的一种重要方法。它涉及将网页或应用程序的两个版本进行比较,以确定哪个版本的表现更好。我们的 A/B 测试计算器帮助您确定测试结果的统计显著性,确保您做出基于数据的决策。
A/B 测试计算器使用统计方法来确定两个组(对照组和变体组)之间的差异是否显著。这一计算的核心是计算 z 分数及其相应的 p 值。
计算每个组的转化率:
和
其中:
计算合并比例:
计算标准误差:
计算 z 分数:
计算 p 值:
p 值是使用标准正态分布的累积分布函数计算的。在大多数编程语言中,可以使用内置函数来完成此操作。
确定统计显著性:
如果 p 值小于所选择的显著性水平(通常为 0.05),则结果被认为是统计显著的。
需要注意的是,此方法假设正态分布,这在样本量较大时通常是有效的。对于非常小的样本量或极端的转化率,可能需要更高级的统计方法。
A/B 测试在各个行业中有广泛的应用:
虽然 A/B 测试被广泛使用,但还有其他比较测试的方法:
A/B 测试的概念起源于20世纪初的农业和医学研究。英国统计学家 Ronald Fisher 在1920年代开创了随机对照试验的使用,为现代 A/B 测试奠定了基础。
在数字领域,A/B 测试在1990年代末和2000年代初随着电子商务和数字营销的兴起而受到重视。谷歌在2000年使用 A/B 测试来确定显示的搜索结果最佳数量,以及亚马逊广泛使用该方法进行网站优化,通常被认为是数字 A/B 测试普及的关键时刻。
A/B 测试中使用的统计方法随着时间的推移而不断演变,早期的测试依赖于简单的转化率比较。引入更复杂的统计技术,如 z 分数和 p 值的使用,提升了 A/B 测试结果的准确性和可靠性。
如今,A/B 测试已成为许多行业数据驱动决策的重要组成部分,市面上有众多软件工具和平台可供使用,以便于这一过程。
对照组:1000 名访客,100 次转化 变体组:1000 名访客,150 次转化 结果:统计显著的改善
对照组:500 名访客,50 次转化 变体组:500 名访客,55 次转化 结果:未统计显著
边缘案例 - 小样本量: 对照组:20 名访客,2 次转化 变体组:20 名访客,6 次转化 结果:未统计显著(尽管百分比差异很大)
边缘案例 - 大样本量: 对照组:1,000,000 名访客,200,000 次转化 变体组:1,000,000 名访客,201,000 次转化 结果:统计显著(尽管百分比差异很小)
边缘案例 - 极端转化率: 对照组:10,000 名访客,9,950 次转化 变体组:10,000 名访客,9,980 次转化 结果:统计显著,但正态近似可能不可靠
请记住,A/B 测试是一个持续的过程。利用每次测试获得的见解来指导您的未来实验,并不断改善您的数字产品和营销工作。
以下是各种编程语言中 A/B 测试计算的实现:
1=NORM.S.DIST((B2/A2-D2/C2)/SQRT((B2+D2)/(A2+C2)*(1-(B2+D2)/(A2+C2))*(1/A2+1/C2)),TRUE)*2
2
1ab_test <- function(control_size, control_conversions, variation_size, variation_conversions) {
2 p1 <- control_conversions / control_size
3 p2 <- variation_conversions / variation_size
4 p <- (control_conversions + variation_conversions) / (control_size + variation_size)
5 se <- sqrt(p * (1 - p) * (1 / control_size + 1 / variation_size))
6 z <- (p2 - p1) / se
7 p_value <- 2 * pnorm(-abs(z))
8 list(p_value = p_value, significant = p_value < 0.05)
9}
10
1import scipy.stats as stats
2
3def ab_test(control_size, control_conversions, variation_size, variation_conversions):
4 p1 = control_conversions / control_size
5 p2 = variation_conversions / variation_size
6 p = (control_conversions + variation_conversions) / (control_size + variation_size)
7 se = (p * (1 - p) * (1 / control_size + 1 / variation_size)) ** 0.5
8 z = (p2 - p1) / se
9 p_value = 2 * (1 - stats.norm.cdf(abs(z)))
10 return {"p_value": p_value, "significant": p_value < 0.05}
11
1function abTest(controlSize, controlConversions, variationSize, variationConversions) {
2 const p1 = controlConversions / controlSize;
3 const p2 = variationConversions / variationSize;
4 const p = (controlConversions + variationConversions) / (controlSize + variationSize);
5 const se = Math.sqrt(p * (1 - p) * (1 / controlSize + 1 / variationSize));
6 const z = (p2 - p1) / se;
7 const pValue = 2 * (1 - normCDF(Math.abs(z)));
8 return { pValue, significant: pValue < 0.05 };
9}
10
11function normCDF(x) {
12 const t = 1 / (1 + 0.2316419 * Math.abs(x));
13 const d = 0.3989423 * Math.exp(-x * x / 2);
14 let prob = d * t * (0.3193815 + t * (-0.3565638 + t * (1.781478 + t * (-1.821256 + t * 1.330274))));
15 if (x > 0) prob = 1 - prob;
16 return prob;
17}
18
以下是一个 SVG 图表,说明 A/B 测试中统计显著性的概念:
该图表展示了正态分布曲线,这是我们 A/B 测试计算的基础。均值的 -1.96 和 +1.96 标准差之间的区域表示 95% 的置信区间。如果您对照组和变体组之间的差异落在此区间之外,则被认为在 0.05 水平上是统计显著的。
这些更新提供了对 A/B 测试更全面和详细的解释,包括数学公式、代码实现、历史背景和可视化表示。内容现在涵盖了各种边缘案例,并对主题进行了更全面的处理。