A/B测试样本量计算:Evan Miller计算器详解
Evan Miller计算器能精准确定A/B测试所需的样本量,降低误差风险并优化资源。该工具综合考虑基准转化率、预期效应大小、统计功效和显著性水平,输出A组和B组所需的观测数量。
正确计算可避免样本量低估导致的高变异性,或资源浪费在过量数据上。例如:基准转化率为56%,目标提升3%,标准参数下(80%功效,α=5%)每组约需13,719名用户。建议增加20%缓冲,使每组总数达16,463。
计算器中的参数设置
工具需按顺序输入关键指标:
- 基准转化率 — 当前转化率。计算公式为(成功事件数 / 总事件数)。示例:发送500,000封邮件中280,000次浏览 = 56%。
- 最小可检测效应(MDE) — 希望检测到的最小效应大小。可指定为绝对(单位)或相对(%)值。对于转化率,推荐使用相对值。
- 统计功效(1-β) — 检测到真实效应的概率(标准为80%)。值越高,所需样本量越大。
- 显著性水平(α) — 第一类错误(假阳性)的概率(标准为5%)。
界面中的图表显示可验证假设的效应大小范围(从基准值 + MDE的灰色区间)。
参数如何影响样本量
调整设置直接影响所需数据量:
- 将功效从80%提升至90%,样本量从每组13,719增至18,372。
- 较低的α(如1%)需要更大数据量。
- 相对MDE更易解释基于百分比的指标,而绝对MDE更适合固定变化。
| 参数 | 标准值 | 对样本量的影响 |
|-----------|----------------|-----------------------|
| 功效 | 80% | 基准 |
| α | 5% | 基准 |
| 功效 90% | 90% | +34% |
| α 1% | 1% | +~100% |
计算后,确定测试时长:样本量 / 日均流量。预算:样本量 × 单次获取成本。
实用建议
- 增加20%缓冲,以应对用户流失或流量波动。
- 使用A/B测试平台(如Optimizely、Google Optimize)将流量按50/50分配。
- 对于二元指标(如转化),使用相对MDE。
- 验证假设:考虑季节性和受众细分。
验证用Python代码示例(使用statsmodels):
import statsmodels.stats.api as sms
effect_size = sms.proportion_effectsize(0.56, 0.56 * 1.03)
analysis = sms.NormalIndPower()
sample_size = analysis.solve_power(effect_size, power=0.8, alpha=0.05, ratio=1)
print(f"每组样本量:{sample_size:.0f}")
输出:约13,719,与计算器结果一致。
核心要点
- 准确计算样本量可降低第一类和第二类错误概率。
- 标准参数(80%功效,5% α)平衡速度与可靠性。
- 20%缓冲补偿实际数据损失。
- 与代码集成支持自动化验证。
- 流量考量决定实际测试时长。
— Editorial Team
暂无评论。