假设检验:用数据验证产品假设
产品经理的数学课 · 第19讲
假设检验:用数据验证产品假设
「新设计比旧设计好」——这是你的假设。但数据支持这个假设吗?假设检验给你一个严谨的框架来回答这个问题。
前言
你做了一个新设计,转化率是 8%。旧设计的转化率是 6%。
老板问:「新设计真的更好吗?还是只是随机波动?」
你不确定。8% 比 6% 高,但可能是抽样误差——如果只看 100 个用户,8% 和 6% 的差异可能只是运气。
假设检验:帮你判断「差异是否显著」——是否大到不太可能是随机波动。
核心思想:假设「没有差异」(零假设),然后看数据是否足够强烈地反驳这个假设。
核心概念
零假设和备择假设
零假设(H₀):没有差异(新设计和旧设计一样好)
备择假设(H₁):有差异(新设计更好或更差)
例子:
- H₀:新设计转化率 = 旧设计转化率 = 6%
- H₁:新设计转化率 ≠ 6%
p 值:数据有多极端?
p 值:如果零假设为真,看到当前数据或更极端数据的概率。
例子:新设计 1000 次展示,80 次转化(8%)。
如果 H₀ 为真(转化率 = 6%),看到 80 次或更多转化的概率是多少?
计算:用正态近似或二项分布
p ≈ 0.008
含义:如果新设计和旧设计一样好(6%),看到 8% 或更高转化率的概率只有 0.8%。
显著性水平:多小才算小?
显著性水平(α):你愿意接受的「误判」概率。通常 α = 0.05。
决策规则:
- p < α(0.05):拒绝零假设,差异统计显著
- p ≥ α(0.05):不拒绝零假设,差异不显著
例子:p = 0.008 < 0.05 → 拒绝 H₀,新设计显著更好。
第一类错误和第二类错误
第一类错误(α):假阳性——零假设为真,但你拒绝了它
- 例子:新设计其实和旧设计一样,但你认为新设计更好
- 概率 = α = 5%
第二类错误(β):假阴性——零假设为假,但你没有拒绝它
- 例子:新设计确实更好,但你没有检测到
- 概率 = β(通常 20%)
统计功效:检测差异的能力
统计功效(Power) = 1 - β = 检测到真实差异的概率
通常要求 Power ≥ 80%。
影响 Power 的因素:
- 样本量:样本越大,Power 越高
- 效应大小:差异越大,越容易检测到
- 显著性水平:α 越大,Power 越高(但第一类错误也越高)
样本量计算:需要多少用户?
样本量公式(简化版):
$$ n = \frac{(Z_{\alpha/2} + Z_{\beta})^2 \times (p_1(1-p_1) + p_2(1-p_2))}{(p_1 - p_2)^2} $$
例子:检测 6% vs 8% 的差异,α = 0.05,Power = 80%。
n ≈ 2,400 每组(总共 4,800 用户)
经验法则:
- 检测 1% 的差异:需要 ~10,000 用户/组
- 检测 2% 的差异:需要 ~2,500 用户/组
- 检测 5% 的差异:需要 ~400 用户/组
置信区间:差异的范围
置信区间(Confidence Interval):差异的可能范围。
例子:新设计转化率 8%,旧设计 6%。差异 = 2%。
95% 置信区间:[0.5%, 3.5%]
含义:真实差异有 95% 的概率在 0.5% 到 3.5% 之间。
如果置信区间包含 0:差异不显著(可能没有真实差异)
产品经理的应用
应用场景一:A/B 测试
你正在测试新设计:
| 指标 | 旧设计 | 新设计 |
|---|---|---|
| 展示次数 | 5,000 | 5,000 |
| 转化次数 | 300 | 400 |
| 转化率 | 6.0% | 8.0% |
假设检验:
- H₀:新设计转化率 = 6%
- H₁:新设计转化率 ≠ 6%
- p ≈ 0.001
- 95% 置信区间:[0.7%, 3.3%]
结论:p < 0.05,置信区间不包含 0。新设计显著更好。
应用场景二:功能效果评估
你上线了一个新功能,比较上线前后的用户留存:
| 指标 | 上线前 | 上线后 |
|---|---|---|
| 用户数 | 1,000 | 1,000 |
| 次日留存 | 40% | 45% |
假设检验:
- p ≈ 0.02
- 95% 置信区间:[0.8%, 9.2%]
结论:p < 0.05,新功能显著提高了留存。
应用场景三:样本量规划
你想检测 5% vs 7% 的转化率差异,要求 Power = 80%,α = 0.05。
样本量计算:每组需要 ~3,000 用户。
如果每天有 500 用户:需要 6 天数据(3000/500 = 6 天)。
决策:运行 A/B 测试 6 天,然后分析结果。
常见误区
误区一:p 值不是假设为真的概率
「p = 0.03,所以新设计有 97% 的概率更好」
p 值是「如果 H₀ 为真,看到这个数据的概率」,不是「H₀ 为假的概率」。p 值不告诉你假设为真的概率。
误区二:统计显著 ≠ 实际显著
「p < 0.001,新设计非常好!」
p 值小只说明差异不太可能是随机的,但差异可能很小(比如 0.1%)。要看效应大小和置信区间,不只看 p 值。
误区三:样本量太小
「10 个用户,7 个说好用,70% 好评率!」
10 个用户太少了——70% 可能只是随机波动。先计算需要多少样本,再做测试。
误区四:多次检验不校正
「测试了 10 个指标,有 1 个 p < 0.05,所以显著!」
测试 10 个指标,期望有 0.5 个假阳性(5% × 10)。多次检验需要校正(Bonferroni 校正或 FDR 控制)。
PM/BA 应用
| 场景 | 假设检验工具 | 决策价值 |
|---|---|---|
| A/B 测试 | p 值 + 置信区间 | 判断差异是否真实 |
| 功能效果 | 配对检验 | 评估功能影响 |
| 样本量规划 | Power 分析 | 确定测试时长 |
| 多次检验 | Bonferroni 校正 | 避免假阳性 |
| 效应大小 | Cohen’s d | 评估实际重要性 |
课后测验
题目 1
你的 A/B 测试显示:p = 0.03。以下哪种说法最准确?
A. 新设计有 97% 的概率更好
B. 如果新设计和旧设计一样好,看到这个数据的概率是 3%
C. 差异是 3%
D. 你应该立即全量上线新设计
查看答案与解析
答案:B(如果新设计和旧设计一样好,看到这个数据的概率是 3%)
p 值的定义:如果 H₀ 为真,看到当前数据或更极端数据的概率。
p = 0.03 意味着:如果新设计和旧设计一样好,看到当前差异(或更大差异)的概率是 3%。
A 错误:p 值不是「假设为真的概率」
C 错误:p 值不是效应大小
D 不一定:还要看效应大小、置信区间、业务影响
题目 2
你想检测 2% 的转化率差异(5% vs 7%),Power = 80%,α = 0.05。每组需要多少样本?
A. 200
B. 500
C. 2,500
D. 10,000
查看答案与解析
答案:C(2,500)
检测 2% 的差异,经验法则是 ~2,500 用户/组。
精确计算(用样本量公式):
n = (1.96 + 0.84)² × (0.05×0.95 + 0.07×0.93) / (0.07 - 0.05)²
= 7.84 × (0.0475 + 0.0651) / 0.0004
= 7.84 × 0.1126 / 0.0004
≈ 2,207
约 2,500 用户/组。
题目 3
你的 A/B 测试:p = 0.08。你应该:
A. 拒绝零假设(p < 0.05 不成立,但 0.08 接近)
B. 不拒绝零假设(差异不显著)
C. 增加样本量再测
D. B 和 C 都可以
查看答案与解析
答案:D(B 和 C 都可以)
p = 0.08 > 0.05,不拒绝零假设——差异不显著。
但 0.08 接近 0.05,可能是因为样本量不够(Power 不足)。
可能的行动:
- 接受当前结果:差异不显著,不采取行动(B)
- 增加样本量再测:如果效应真实但样本量不够,增加样本量可能让 p < 0.05(C)
取决于你的风险承受能力:如果错过真实差异的成本很高,选 C;如果成本不高,选 B。
本课要点
- 零假设 vs 备择假设:假设「没有差异」,看数据是否反驳
- p 值:如果 H₀ 为真,看到这个数据的概率——不是假设为真的概率
- 显著性水平 α = 0.05:p < 0.05 才算显著
- 统计功效 Power ≥ 80%:检测到真实差异的概率
- 样本量:先计算需要多少样本,再做测试——样本太少会导致 Power 不足
延伸阅读
- Fisher, 《Statistical Methods for Research Workers》 — 假设检验的奠基之作
- Wasserstein & Lazar, 《The ASA Statement on p-Values》 — p 值的正确解读
- Kahneman, 《Thinking, Fast and Slow》 — 统计直觉的常见错误
下一步
下一课:相关性与因果性:数据不会说谎,但会误导 — 为什么「相关」不等于「因果」。
工具提示:做 A/B 测试前,先用 Power 分析计算需要多少样本。样本太少 = 浪费时间——你得不到显著的结果。