566 lines
19 KiB
Markdown
566 lines
19 KiB
Markdown
# A/B 测试:用数据"做决策"
|
||
|
||
::: tip 🎯 核心问题
|
||
**如何科学地验证产品改动的效果?** 这就像问:新按钮真的更好用吗?还是用户只是因为新鲜感多点了一下?A/B 测试解决的就是"用数据说话"的问题——不是我觉得好,而是数据证明真的好。
|
||
:::
|
||
|
||
---
|
||
|
||
## 0. 先问一个问题:你有没有经历过这些"伪成功"?
|
||
|
||
**场景一:被数据骗了**
|
||
|
||
你改了购物车的结算按钮颜色,从蓝变红。一周后一看数据:点击率提升了 30%!
|
||
|
||
你很高兴,宣布大获成功。但三周后,点击率悄悄回到了原水平,甚至还不如之前。
|
||
|
||
**真相**:这是"新奇效应"——用户因为好奇多点了几次,新鲜劲过后就恢复了。
|
||
|
||
**场景二:假阳性陷阱**
|
||
|
||
你同时测试了 20 个不同的改进方案。有一个方案显示"统计显著"(p < 0.05),你立即全量上线。
|
||
|
||
一个月后,用户满意度下降了。
|
||
|
||
**真相**:同时测试 20 个方案,即使全部无效,也有 64% 的概率至少有一个"显著"(1 - 0.95^20)。你看到的"显著"只是随机波动。
|
||
|
||
**场景三:辛普森悖论**
|
||
|
||
你的数据显示:B 版本的转化率(7.3%)高于 A 版本(5.6%)。但拆分数据后却发现:
|
||
|
||
- 移动端:A 8% > B 6%
|
||
- 桌面端:A 4% > B 3%
|
||
|
||
**每个渠道 A 都更好,但合并后 B 反而赢了**!
|
||
|
||
**真相**:流量分配不均(移动端占 80% 流量,且更多分配给了 B),导致加权平均后 B 看起来更好。
|
||
|
||
---
|
||
|
||
**好的 A/B 测试就像科学的临床试验**——严谨设计、足够样本、长期观察,才能得出可信结论。
|
||
|
||
---
|
||
|
||
## 1. 什么是 A/B 测试?
|
||
|
||
**A/B 测试**是一种对比实验方法:将用户随机分成两组,分别体验不同版本,比较关键指标(如转化率、点击率)的差异,从而判断哪个版本更优。
|
||
|
||
### 1.1 用医学试验来类比
|
||
|
||
| 医学试验 | A/B 测试 | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| 对照组(安慰剂) | A组(对照组) | 使用当前版本,作为基准 |
|
||
| 实验组(新药) | B组(实验组) | 使用新版本,验证效果 |
|
||
| 治愈率 | 转化率 | 衡量是否"成功"的指标 |
|
||
| 统计显著性 | 统计显著性 | 结果是否可信 |
|
||
|
||
**关键原则**:除了版本不同,其他所有条件必须相同(随机分配、同时运行、相同用户群)。
|
||
|
||
### 1.2 A/B 测试的完整流程
|
||
|
||
```
|
||
1. 提出假设
|
||
↓
|
||
2. 设计实验(确定指标、样本量)
|
||
↓
|
||
3. 开发并部署实验
|
||
↓
|
||
4. 运行实验(收集数据)
|
||
↓
|
||
5. 分析结果(统计检验)
|
||
↓
|
||
6. 做出决策(全量/放弃/迭代)
|
||
```
|
||
|
||
---
|
||
|
||
## 2. A/B 测试的核心价值
|
||
|
||
### 2.1 避免"拍脑袋决策"
|
||
|
||
没有 A/B 测试时,决策往往依赖:
|
||
|
||
- **HiPPO**(Highest Paid Person's Opinion):最高领导说了算
|
||
- **设计直觉**:设计师觉得这样更好看
|
||
- **模仿竞品**:竞争对手这么做,我们也这么做
|
||
|
||
**问题**:这些方法都忽略了真实的用户行为。
|
||
|
||
### 2.2 降低风险
|
||
|
||
上线前不知道用户会不会买账?先小范围测试,用 1% 流量验证,避免全量上线后造成损失。
|
||
|
||
### 2.3 持续优化
|
||
|
||
通过不断的小实验,积累小的提升,最终实现显著增长。这就是"增长黑客"的核心方法。
|
||
|
||
---
|
||
|
||
## 3. 实验设计:对照组与实验组
|
||
|
||
### 3.1 随机分配的重要性
|
||
|
||
**正确的做法**:每个用户有 50% 概率进入 A 组,50% 概率进入 B 组
|
||
|
||
**错误的做法**:
|
||
- 前半天所有用户进 A 组,后半天进 B 组(时间差异)
|
||
- 移动端用户进 A 组,桌面端进 B 组(设备差异)
|
||
- 新用户进 A 组,老用户进 B 组(用户类型差异)
|
||
|
||
**为什么随机很重要?**
|
||
|
||
只有随机分配,才能保证两组用户在其他所有方面都相似(年龄、设备、使用习惯等),这样才能公平比较。
|
||
|
||
### 3.2 流量分配演示
|
||
|
||
👇 **动手试试看**:点击下方按钮,观察流量如何随机分配到两组:
|
||
|
||
<ABTestingDemo />
|
||
|
||
::: tip 💡 50/50 分配是最优的
|
||
虽然有 30/70 或 20/80 的分配策略,但 50/50 能最快检测出差异。除非你对新版本极度不放心,否则不推荐使用非对称分配。
|
||
:::
|
||
|
||
---
|
||
|
||
## 4. 样本量计算:需要多少用户才够?
|
||
|
||
### 4.1 为什么不能"看着办"?
|
||
|
||
样本量太小 → 统计功效不足,即使有真实差异也检测不出来(假阴性)
|
||
样本量太大 → 浪费资源,运行时间过长
|
||
|
||
**正确做法**:实验前计算所需样本量。
|
||
|
||
### 4.2 影响样本量的四个因素
|
||
|
||
| 因素 | 影响 | 典型值 |
|
||
| :--- | :--- | :--- |
|
||
| **基准转化率** | 越高,所需样本越少 | 2% - 10% |
|
||
| **最小检测提升** | 越小,所需样本越多 | 相对提升 5% - 20% |
|
||
| **显著性水平 (α)** | 越小,所需样本越多 | 0.05 (95%置信度) |
|
||
| **统计功效 (1-β)** | 越大,所需样本越多 | 0.8 (80%功效) |
|
||
|
||
**直觉理解**:
|
||
- 你想检测的差异越小(比如只提升 5%),就需要更多样本才能"看清"
|
||
- 你想要的结果越确定(比如 99% 置信度 vs 95%),就需要更多证据
|
||
|
||
### 4.3 样本量计算公式
|
||
|
||
对于比例指标(转化率),简化的样本量公式为:
|
||
|
||
```
|
||
n = (Zα + Zβ)² × [p1(1-p1) + p2(1-p2)] / (p2 - p1)²
|
||
```
|
||
|
||
其中:
|
||
- `n` = 每组所需样本量
|
||
- `Zα` = 显著性水平对应的 Z 值(α=0.05 时,Zα=1.96)
|
||
- `Zβ` = 统计功效对应的 Z 值(80%功效时,Zβ=0.84)
|
||
- `p1` = 基准转化率
|
||
- `p2` = 目标转化率 = p1 × (1 + 相对提升)
|
||
|
||
### 4.4 样本量计算示例
|
||
|
||
**场景**:购物车结算按钮,当前转化率 5%,希望检测 20% 的相对提升(即 6%)。
|
||
|
||
- `p1` = 5% = 0.05
|
||
- `p2` = 6% = 0.06
|
||
- `Zα` = 1.96 (α=0.05)
|
||
- `Zβ` = 0.84 (80%功效)
|
||
|
||
```
|
||
n = (1.96 + 0.84)² × [0.05×0.95 + 0.06×0.94] / (0.06 - 0.05)²
|
||
n ≈ 6,932
|
||
```
|
||
|
||
**每组需要 6,932 个样本,两组共需 13,864 个样本**。
|
||
|
||
如果每天有 5,000 个访客,大约需要 **3 天**才能达到足够样本量。
|
||
|
||
::: tip 💡 在线计算工具
|
||
- [Evan Miller 的样本量计算器](https://www.evanmiller.org/ab-testing/sample-size.html) - 业界标准
|
||
- [Optimizely 的样本量计算器](https://www.optimizely.com/sample-size-calculator/)
|
||
:::
|
||
|
||
---
|
||
|
||
## 5. 统计显著性:如何判断结果"可信"?
|
||
|
||
### 5.1 P 值是什么?
|
||
|
||
**P 值**:如果两个版本真的没有差异(零假设为真),观察到当前数据(或更极端数据)的概率。
|
||
|
||
**通俗理解**:P 值越小,说明"纯属巧合"的可能性越小。
|
||
|
||
**常用阈值**:
|
||
- `p < 0.05`:统计显著,有 95% 的信心说差异不是随机的
|
||
- `p < 0.01`:高度显著,有 99% 的信心
|
||
- `p ≥ 0.05`:不显著,差异可能是随机波动
|
||
|
||
### 5.2 置信区间
|
||
|
||
**置信区间**:真实差异可能落入的范围。
|
||
|
||
示例:
|
||
- 相对提升:+15%
|
||
- 95% 置信区间:[+5%, +25%]
|
||
|
||
**解读**:我们有 95% 的信心认为,真实提升在 5% 到 25% 之间。
|
||
|
||
::: warning ⚠️ 常见误解
|
||
置信区间不是"有 95% 的概率在这个区间内",而是"如果我们重复实验 100 次,95 次的区间会包含真实值"。
|
||
|
||
对于单次实验,真实值要么在区间内,要么不在。但我们不知道是哪种情况。
|
||
:::
|
||
|
||
### 5.3 A/B 组结果对比演示
|
||
|
||
👇 **动手试试看**:调整转化率和样本量,观察统计显著性的变化:
|
||
|
||
<ABTestingDemo />
|
||
|
||
**关键观察**:
|
||
1. **相对提升越大**,P 值越小(越容易显著)
|
||
2. **样本量越大**,P 值越小(越容易显著)
|
||
3. **转化率越低**,需要更大样本量才能达到相同显著性
|
||
|
||
---
|
||
|
||
## 6. A/B 测试的常见误区
|
||
|
||
### 6.1 过早停止实验(Peeking 问题)
|
||
|
||
**问题**:看到结果"显著"就立即停止实验,不再继续观察。
|
||
|
||
**真相**:P 值会随着数据积累而波动。你看到的"显著"可能只是暂时的随机波动。
|
||
|
||
**Airbnb 的真实案例**:
|
||
- 第 7 天:p = 0.05,结果显著,B 版本领先
|
||
- 第 14 天:p = 0.15,不再显著
|
||
- 第 30 天:p = 0.42,完全中性
|
||
|
||
如果第 7 天就停止,就会得出错误的结论。
|
||
|
||
**解决方案**:
|
||
- 实验前计算所需样本量,达到后才能分析
|
||
- 使用序贯检验(Sequential Testing),预设"窥探"点和调整后的显著性阈值
|
||
|
||
### 6.2 辛普森悖论
|
||
|
||
**问题**:分组看 B 更差,但合并后 B 反而更好(或相反)。
|
||
|
||
**根本原因**:混淆变量(Confounding Variable)分布不均。
|
||
|
||
**示例**:
|
||
```
|
||
移动端(占 80% 流量):
|
||
- A 组:8% 转化率(分配了 40% 流量)
|
||
- B 组:6% 转化率(分配了 40% 流量)
|
||
|
||
桌面端(占 20% 流量):
|
||
- A 组:4% 转化率(分配了 10% 流量)
|
||
- B 组:3% 转化率(分配了 10% 流量)
|
||
|
||
合并数据:
|
||
- A 组:(8%×0.4 + 4%×0.1) / 0.5 = 7.2%
|
||
- B 组:(6%×0.4 + 3%×0.1) / 0.5 = 5.4%
|
||
|
||
但如果是这样分配:
|
||
移动端:A 组 40% 流量,B 组 40% 流量
|
||
桌面端:A 组 0% 流量,B 组 20% 流量(不平衡!)
|
||
|
||
合并数据:
|
||
- A 组:(8%×0.4) / 0.4 = 8%
|
||
- B 组:(6%×0.4 + 3%×0.2) / 0.6 = 5%
|
||
但如果不加权,直接平均:A=5.6%, B=7.3%(B 反而赢了!)
|
||
```
|
||
|
||
**解决方案**:
|
||
- 确保随机化正确,每个子群体流量分配一致
|
||
- 按关键维度(设备、流量来源、用户类型)分别分析
|
||
- 使用 A/A 测试验证随机化是否有效
|
||
|
||
### 6.3 P-hacking(P 值操纵)
|
||
|
||
**问题**:通过尝试不同方法,直到找到"显著"结果。
|
||
|
||
**常见形式**:
|
||
- **子群挖掘**:主指标不显著,就按年龄、地区、设备细分,宣称某个子群显著
|
||
- **选择性报告**:同时测了 10 个指标,只报告显著的 1 个
|
||
- **延长实验**:看到 p = 0.06,就再跑几天,"看看能不能降到 0.05 以下"
|
||
|
||
**问题**:这些都会大幅增加假阳性率。
|
||
|
||
**解决方案**:
|
||
- 预先注册假设和指标,实验过程中不改变
|
||
- 同时测试多个指标时,使用 Bonferroni 校正或 FDR(False Discovery Rate)控制
|
||
- 严格控制"窥探"次数
|
||
|
||
### 6.4 新奇效应
|
||
|
||
**问题**:用户因好奇点击新功能,导致短期数据虚高。
|
||
|
||
**示例**:
|
||
- 新按钮上线首周:点击率 +30%
|
||
- 第二周:+15%
|
||
- 第三周:+5%
|
||
- 第四周:0%(甚至 -2%,新鲜感过后,用户发现并不好用)
|
||
|
||
**解决方案**:
|
||
- 至少运行 2 个完整业务周期(通常 2-4 周)
|
||
- 观察趋势是否稳定,而不是只看绝对值
|
||
- 对长期指标(如用户留存)的重视度高于短期指标(如点击率)
|
||
|
||
### 6.5 统计功效不足
|
||
|
||
**问题**:样本量太小,即使有真实差异也检测不出来(假阴性)。
|
||
|
||
**示例**:预期提升 5%,但只跑了 1,000 个样本,结果显示"不显著",你就放弃了。
|
||
|
||
实际上,如果检测 5% 的提升,需要约 30,000 样本才能达到 80% 功效。
|
||
|
||
**解决方案**:
|
||
- 实验前必须计算样本量
|
||
- 如果资源有限,可以考虑:
|
||
- 提高最小检测提升(比如从 5% 改为 10%)
|
||
- 降低统计功效(从 80% 降到 70%,但会增加假阴性风险)
|
||
- 延长测试时间
|
||
|
||
---
|
||
|
||
## 7. 实战案例
|
||
|
||
### 7.1 案例 1:按钮颜色测试
|
||
|
||
**背景**:电商网站购物车结算按钮,当前为蓝色,想测试红色是否能提升转化率。
|
||
|
||
**实验设计**:
|
||
- 假设:红色按钮更醒目,能提升转化率 10%
|
||
- 指标:结算按钮点击率(点击次数 / 访问次数)
|
||
- 基准转化率:5%
|
||
- 目标转化率:5.5%(相对提升 10%)
|
||
- 所需样本量:每组约 30,000(使用在线计算器)
|
||
- 流量分配:50/50
|
||
- 显著性水平:α = 0.05
|
||
- 统计功效:80%
|
||
|
||
**结果**:
|
||
- 运行 7 天后达到所需样本量
|
||
- A 组(蓝):5.02%
|
||
- B 组(红):5.15%
|
||
- 相对提升:+2.6%
|
||
- P 值:0.23(不显著)
|
||
- 95% 置信区间:[-1.7%, +6.9%]
|
||
|
||
**决策**:结果不显著,无法确认红色按钮更好。考虑到:
|
||
1. 转化率提升很小(即使真实,也只有 2.6%)
|
||
2. 置信区间包含 0(甚至包含负值)
|
||
3. 红色按钮可能影响品牌一致性
|
||
|
||
**最终决定**:保持蓝色按钮,尝试其他优化方向(如按钮文案、大小、位置)。
|
||
|
||
---
|
||
|
||
### 7.2 案例 2:注册流程简化
|
||
|
||
**背景**:SaaS 产品注册流程需要填写 10 个字段,想测试减少到 5 个字段是否能提升注册率。
|
||
|
||
**实验设计**:
|
||
- 假设:字段更少 → 注册率更高
|
||
- 指标:注册完成率(完成注册数 / 开始注册数)
|
||
- 基准转化率:25%
|
||
- 目标转化率:30%(相对提升 20%)
|
||
- 所需样本量:每组约 2,000
|
||
- 流量分配:50/50
|
||
|
||
**结果**:
|
||
- A 组(10 字段):24.8%
|
||
- B 组(5 字段):31.2%
|
||
- 相对提升:+25.8%
|
||
- P 值:< 0.001(高度显著)
|
||
- 95% 置信区间:[+18.2%, +33.4%]
|
||
|
||
**决策**:结果高度显著,全量上线 5 字段版本。
|
||
|
||
**后续跟踪**:
|
||
- 新用户注册率提升了 25.8%
|
||
- 用户质量(后续付费率)没有下降
|
||
- 用户反馈"注册很快很方便"
|
||
|
||
---
|
||
|
||
### 7.3 案例 3:推荐算法优化
|
||
|
||
**背景**:视频网站推荐算法,想测试新的协同过滤算法是否能提升用户观看时长。
|
||
|
||
**实验设计**:
|
||
- 假设:新算法推荐更精准 → 观看时长更长
|
||
- 指标:人均每日观看时长(分钟)
|
||
- 基准:45 分钟/天
|
||
- 目标:提升 5% → 47.25 分钟/天
|
||
- 所需样本量:每组约 10,000 用户
|
||
- 运行时间:至少 4 周(覆盖完整用户行为周期)
|
||
|
||
**结果(4 周后)**:
|
||
- A 组(旧算法):45.2 分钟/天
|
||
- B 组(新算法):46.8 分钟/天
|
||
- 相对提升:+3.5%
|
||
- P 值:0.07(接近显著,但未达到 0.05 阈值)
|
||
- 95% 置信区间:[-0.2%, +7.2%]
|
||
|
||
**决策**:
|
||
1. 统计不显著,但趋势积极(P 值接近 0.05)
|
||
2. 置信区间下限接近 0(-0.2%),风险很小
|
||
3. 新算法成本增加不大(服务器资源 +5%)
|
||
|
||
**最终决定**:谨慎全量上线,但:
|
||
- 持续监控关键指标
|
||
- 准备快速回滚方案
|
||
- 一个月后重新评估
|
||
|
||
**一个月后**:
|
||
- 观看时长提升稳定在 +4%
|
||
- 用户留存率无显著变化
|
||
- 服务器成本增加可接受
|
||
|
||
结论:实验成功。
|
||
|
||
---
|
||
|
||
## 8. 用 AI 辅助 A/B 测试设计
|
||
|
||
AI 可以帮助你快速设计实验、计算样本量、分析结果。关键在于提供清晰的上下文。
|
||
|
||
### 8.1 提示词模板:样本量计算
|
||
|
||
```
|
||
你是一位资深的 A/B 测试专家。请帮我计算实验所需的样本量。
|
||
|
||
## 业务背景
|
||
[描述你的业务场景,例如:电商网站、SaaS 产品、移动 App]
|
||
|
||
## 当前指标
|
||
- 关键指标:[转化率/留存率/点击率等]
|
||
- 当前数值:[基准值,如 5%]
|
||
- 指标类型:[比例指标/均值指标]
|
||
|
||
## 实验设计
|
||
- 预期相对提升:[如 10%,即从 5% 提升到 5.5%]
|
||
- 显著性水平 (α):0.05 (95% 置信度)
|
||
- 统计功效 (1-β):0.8 (80%)
|
||
- 流量分配:50/50
|
||
|
||
## 请求
|
||
1. 计算每组所需样本量
|
||
2. 假设每天有 [X] 个访问用户,估算需要运行多少天
|
||
3. 给出实验设计建议
|
||
```
|
||
|
||
### 8.2 提示词模板:结果分析
|
||
|
||
```
|
||
你是一位资深的 A/B 测试专家。请帮我分析实验结果。
|
||
|
||
## 实验结果
|
||
- A 组(对照组):
|
||
- 样本量:10,000
|
||
- 转化数:500
|
||
- 转化率:5.0%
|
||
|
||
- B 组(实验组):
|
||
- 样本量:10,000
|
||
- 转化数:550
|
||
- 转化率:5.5%
|
||
|
||
## 请求
|
||
1. 计算相对提升(百分比)
|
||
2. 计算 Z 值和 P 值
|
||
3. 计算 95% 置信区间
|
||
4. 判断是否统计显著(α = 0.05)
|
||
5. 给出决策建议(全量/放弃/继续观察)
|
||
6. 指出实验可能存在的偏倚或问题
|
||
```
|
||
|
||
### 8.3 提示词模板:常见问题诊断
|
||
|
||
```
|
||
你是一位资深的 A/B 测试专家。我的实验遇到了问题,请帮我诊断。
|
||
|
||
## 问题描述
|
||
[描述你遇到的问题,例如:
|
||
- 运行两周后 P 值仍在 0.5 左右,完全不显著
|
||
- A 组和 B 组数据差异很大,完全不像随机分配
|
||
- 第 3 天结果显示显著,但第 7 天又不显著了]
|
||
|
||
## 实验信息
|
||
- 指标:[转化率等]
|
||
- 基准值:[如 5%]
|
||
- 预期提升:[如 10%]
|
||
- 流量分配:[50/50]
|
||
- 运行天数:[如 7 天]
|
||
- 总样本量:[如 5,000]
|
||
|
||
## 请求
|
||
1. 分析可能的原因
|
||
2. 提供诊断建议
|
||
3. 给出解决方案
|
||
```
|
||
|
||
::: tip 💡 追问技巧
|
||
- "请用通俗语言解释什么是 P 值"
|
||
- "我的置信区间包含 0,这意味着什么?"
|
||
- "如何判断是否存在辛普森悖论?"
|
||
- "什么情况下可以使用非 50/50 的流量分配?"
|
||
:::
|
||
|
||
---
|
||
|
||
## 名词速查表
|
||
|
||
| 名词 | 英文 | 解释 |
|
||
| :--- | :--- | :--- |
|
||
| **A/B 测试** | A/B Testing | 对比实验,随机分配用户到不同版本,比较指标差异 |
|
||
| **对照组** | Control Group | 使用当前版本的组(A 组),作为基准 |
|
||
| **实验组** | Treatment Group | 使用新版本的组(B 组),验证效果 |
|
||
| **转化率** | Conversion Rate | 完成目标行为的用户占比(如购买、注册) |
|
||
| **零假设** | Null Hypothesis | 假设两组没有差异的起点,目标是"推翻"它 |
|
||
| **P 值** | P-value | 如果零假设为真,观察到当前数据的概率 |
|
||
| **统计显著性** | Statistical Significance | P 值 < 0.05,结果不太可能是随机的 |
|
||
| **置信区间** | Confidence Interval | 真实差异可能落入的范围(如 95% CI) |
|
||
| **统计功效** | Statistical Power | 检测到真实效应的概率(1-β),通常 80% |
|
||
| **第一类错误** | Type I Error | 假阳性(说有差异,实际没有),α 控制 |
|
||
| **第二类错误** | Type II Error | 假阴性(说没差异,实际有),β 控制 |
|
||
| **显著性水平** | Significance Level | 容忍第一类错误的概率,通常 α = 0.05 |
|
||
| **效应量** | Effect Size | 差异的大小(相对提升多少),不只是是否显著 |
|
||
| **样本量** | Sample Size | 每组需要的用户数,需提前计算 |
|
||
| **随机分配** | Random Assignment | 每个用户有相同概率进入任一组 |
|
||
| **单尾检验** | One-tailed Test | 只检验"更好"(不关心"更差") |
|
||
| **双尾检验** | Two-tailed Test | 检验"有差异"(更好或更差都算) |
|
||
| **辛普森悖论** | Simpson's Paradox | 分组看趋势一致,合并后趋势相反 |
|
||
| **P-hacking** | P-hacking | 操纵数据或方法以获得显著结果 |
|
||
| **新奇效应** | Novelty Effect | 用户因好奇产生的短期行为变化 |
|
||
| **序贯检验** | Sequential Testing | 预设多个检查点,动态调整显著性阈值 |
|
||
|
||
---
|
||
|
||
## 参考资源
|
||
|
||
### 在线工具
|
||
- [Evan Miller - A/B 测试样本量计算器](https://www.evanmiller.org/ab-testing/sample-size.html)
|
||
- [Optimizely - 样本量计算器](https://www.optimizely.com/sample-size-calculator/)
|
||
- [AB TestGuide - 统计显著性计算器](https://abtestguide.com/calc/)
|
||
|
||
### 经典文章
|
||
- [ Airbnb 的实验设计实践](https://medium.com/airbnb-engineering/experimentation-at-airbnb-acquiring-trust-confidence-through-exploratory-data-analysis-9304de556269)
|
||
- [Netflix 的 A/B 测试指南](https://netflixtechblog.com/its-all-a-bout-testing-the-netflix-experimentation-platform-4e1ca458c55)
|
||
- [Google 的 A/B 测试最佳实践](https://experimentation.com/)
|
||
|
||
### 书籍推荐
|
||
- 《Trustworthy Online Controlled Experiments》- Ron Kohavi 等
|
||
- 《Designing Experiments》- Geoffrey Keppel
|
||
|
||
### 相关文章
|
||
- [A/B Testing Pitfalls - Simpson's Paradox, P-hacking, Early Stopping](https://blog.example.com/ab-testing-pitfalls)
|
||
- [Sample Size Calculation for A/B Testing](https://www.evanmiller.org/ab-testing/sample-size.html)
|