改版犹豫不决?A/B测试怎么设计才有说服力?从假设定义、样本量计算到结果解读,全流程帮你搞定。支持贝叶斯、序贯检验、多臂老虎机,7步走完一个严谨实验,让你用数据拍板而不是拍脑袋。 触发词:A/B测试、AB测试、对照实验、样本量计算、实验设计、灰度发布、转化率优化、多臂老虎机、epsilon-greedy、UCB、...
---
name: a-b-test-planner
version: 1.5.0
description: |
改版犹豫不决?A/B测试怎么设计才有说服力?从假设定义、样本量计算到结果解读,全流程帮你搞定。支持贝叶斯、序贯检验、多臂老虎机,7步走完一个严谨实验,让你用数据拍板而不是拍脑袋。
触发词:A/B测试、AB测试、对照实验、样本量计算、实验设计、灰度发布、转化率优化、多臂老虎机、epsilon-greedy、UCB、Thompson采样、贝叶斯测试、序贯检验、增量实验、分层实验、分桶测试、分流策略、置信区间、p值、显著性检验、效果量、MDE、最小可检测效应、护栏指标、AA测试、方差缩减
排除:纯数据分析(无实验设计)、监控告警、日志分析、APM性能监控、竞品分析
上下文条件:用户明确有"两个方案对比"或"版本选择"的决策需求
---
# A/B测试规划器 🧪 v1.4.0
## 核心流程(7 Steps)
### Step 1: 业务问题定义 ⚡ 快速校验
**输入确认**:
- 明确对比的方案A vs 方案B
- 确认这是"决策问题"而非"分析问题"
**假设框架**:
```
H0(零假设):A和B无差异
H1(备择假设):A和B有差异 或 B > A(单尾)
```
**常见错误预警**:
- ❌ "我觉得A比B好" → 需要定义衡量指标
- ❌ "先跑数据再定假设" → 假设应先于数据
- ❌ "多个指标同时看" → 需要主指标+护栏指标
---
### Step 2: 核心指标选择 📊 护栏指标
**OEC(Overall Evaluation Criterion)主指标**:
| 业务类型 | 推荐指标 |
|----------|----------|
| 电商 | 转化率、客单价、GMV |
| 内容平台 | 留存率、互动率、完播率 |
| SaaS | 注册转化、付费转化、NRR |
| 广告 | CTR、CVR、eCPM |
| APP | D1/D7/D30留存、LT |
**护栏指标(Guardrail Metrics)**:
- 技术指标:页面加载时间、错误率
- 业务下限:收入底线、用户体验底线
- 反向指标:退订率、投诉率、流失率
**指标定义检查清单**:
- [ ] 指标计算公式明确
- [ ] 数据来源和埋点确认
- [ ] 统计周期定义(自然日/滚动天)
- [ ] 分母定义(UV/会话/页面PV)
---
### Step 3: 参数设定 🎯 MDE计算
**必设参数**:
| 参数 | 建议值 | 说明 |
|------|--------|------|
| 基线转化率p | 历史数据 | 通常3-5% |
| 最小可检测效应MDE | 相对提升5-20% | 业务可接受的最小差异 |
| 显著性水平α | 0.05 | 假阳性风险 |
| 统计功效1-β | 0.80/0.85/0.90 | 假阴性风险 |
| 测试周期 | 7天/14天/完整周期 | 覆盖完整用户周期 |
**样本量公式**:
```
n = 16 × p × (1-p) / MDE² (简化公式,α=0.05, β=0.2)
其中 MDE = p2 - p1(绝对值)
```
**快速估算表**:
| 基线p | MDE(相对) | MDE(绝对) | 每组样本量 | 总样本量 |
|--------|------------|------------|------------|----------|
| 5% | 10% | 0.5% | 60,000 | 120,000 |
| 5% | 20% | 1.0% | 15,000 | 30,000 |
| 10% | 10% | 1.0% | 28,800 | 57,600 |
| 10% | 20% | 2.0% | 7,200 | 14,400 |
| 20% | 5% | 1.0% | 98,304 | 196,608 |
---
### Step 4: 分流策略设计 🚰 流量分配
**分流单位**:
| 场景 | 推荐单位 | 说明 |
|------|----------|------|
| 用户个性化 | user_id | 体验一致 |
| 页面级改动 | cookie/session | 跨设备体验 |
| 纯展示测试 | pageview | 样本量充足 |
| 订单相关 | device_id | 避免跨设备归因 |
**层叠实验设计**:
```
Traffic Layer 1: 80%
├── Experiment A: 50% / 50%
└── Experiment B: 50% / 50%
Traffic Layer 2: 20% (互不干扰)
```
**分流均匀性检验(AA测试)**:
- 运行1-2天纯基线组对比
- 验证分流随机性:p > 0.05
- 不均匀需重新分流或分层
---
### Step 5: 实验执行监控 📡 异常检测
**每日监控检查点**:
```
1. 样本量进度:actual / target × 100%
2. 指标趋势:日间波动是否异常
3. 分流均匀:各组UV占比偏离 < 2%
4. 外部干扰:是否有运营活动/外部事件
```
**预警规则**:
- ⚠️ 指标单日波动 > 3σ → 检查异常
- ⚠️ 组间差异早期过大 → 新奇效应预警
- ⚠️ 节假日/周末 → 需延长周期
**序贯检验(可选)**:
- O'Ean检验:随时监控,提前终止
- α消耗:每次检验消耗α配额
- 谨慎使用:需业务方签字确认
---
### Step 6: 结果分析 📈 统计解读
**显著性判断**:
| p值 | 结论 |
|-----|------|
| p < 0.01 | 高度显著,强烈推荐 |
| p < 0.05 | 显著,可采纳 |
| p >= 0.05 | 不显著,无充分证据 |
| p > 0.95 | 极可能无差异,可采纳对照组 |
**效果量评估**:
```
Cohen's d = (p2 - p1) / sqrt(p(1-p))
- |d| < 0.2: 微小
- |d| < 0.5: 小
- |d| < 0.8: 中等
- |d| >= 0.8: 大
```
**置信区间解读**:
```
95% CI: [L, U] = [3.1%, 3.9%]
解读:有95%的把握,真值落在此区间
```
**异质性处理效应(HTE)**:
- 按用户维度分群:新用户/老用户、渠道、设备
- 检验分群间差异显著性
- 存在HTE时,需针对性策略
---
### Step 7: 决策建议 ✅ 行动方案
**结论分类**:
| 结论 | 条件 | 建议 |
|------|------|------|
| 全量发布B | p<0.05, 效果量可观, 护栏指标正常 | 直接发布 |
| 渐进发布 | p接近0.05, 护栏有风险 | 10%→30%→50%渐进 |
| 继续观察 | 样本量不足60% | 延长周期 |
| 放弃实验 | p>0.2, 趋势不明 | 复用实验资产 |
| 发布A | B无提升或护栏指标下降 | 保持原方案 |
**发布后监控**:
- 全量后持续监控7-14天
- 设置护栏指标告警
- 建立回滚预案
---
## 输出模板
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧪 A/B测试方案 | {实验名} | v1.4.0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## 📌 业务背景
{一句话描述实验动机}
## 🎯 假设与指标
**核心假设**:{H0/H1定义}
**主指标**:{OEC名称} | 当前基线:{X}%
**MDE设定**:{X}%(相对提升{X}%)
**护栏指标**:{指标列表} | 底线:{阈值}
## 📊 参数计算
| 参数 | 值 |
|------|-----|
| 显著性水平α | 0.05 |
| 统计功效1-β | 0.80 |
| 基线转化率p | {X}% |
| MDE | {X}% |
| **每组样本量** | **{N}** |
| **总样本量** | **{2N}** |
| 预估周期 | {X}天 |
## 🚰 分流设计
**分流单位**:{user_id/session/pageview}
**分流比例**:A组 {X}% | B组 {X}%
**层叠设计**:{是/否} | 共享层:{X}%
**AA测试**:{是/否} | 预热期:{X}天
## 📡 监控计划
**日检查点**:
- 样本进度预警线:{X}%
- 指标波动告警:{X}σ
- 节假日处理:{方案}
**序贯检验**:{启用/禁用}
## 📈 结果分析框架
**显著性阈值**:p < 0.05
**效果量标准**:Cohen's d > 0.2
**置信区间**:95% CI
**异质性分群**:{新用户/渠道/设备/...}
## ✅ 决策树
```
IF p < 0.05 AND 效果量 > 0.2 AND 护栏正常
→ 全量发布B
ELIF p < 0.05 AND 护栏有风险
→ 渐进发布 + 继续观察
ELIF p >= 0.05 AND 样本量 >= 80%
→ 放弃实验,保留原方案
ELSE
→ 延长周期或扩大样本
```
## 📅 发布后监控
**监控周期**:全量后 {X} 天
**护栏告警阈值**:{指标} {阈值}
**回滚触发条件**:{条件}
**回滚操作**:{步骤}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
---
## 正向示例 ✅
### 示例1:电商购买按钮颜色测试
```
**输入**:
- 现状:红色购买按钮,点击率3%
- 方案B:绿色购买按钮
- 业务目标:提升点击率5%以上
**输出方案**:
├── 假设:H0=无差异,H1=绿色>红色
├── 主指标:购买按钮点击率(CTR)
├── 基线:3%,MDE:0.15%(5%相对提升)
├── 样本量:每组 63,000,总计 126,000
├── 周期:7天(假设日UV 18,000)
├── 分流:user_id级,AA预热2天
└── 决策:p<0.05则全量
```
### 示例2:订阅弹窗时机测试
```
**输入**:
- 现状:浏览30秒弹出订阅框,转化率8%
- 方案B:浏览60秒后弹出
- 顾虑:担心用户流失
**输出方案**:
├── 假设:H0=无差异,H1=60秒>=30秒
├── 主指标:订阅转化率
├── 护栏:页面退出率(底线:不恶化>2%)
├── 样本量:每组 11,000,总计 22,000
└── 决策:需同时满足主指标正向+护栏正常
```
---
## 反向示例 ❌
### 示例3:错误的多指标同时检验
```
**问题**:用户同时看10个指标,p值都<0.05就发布
**正确做法**:
1. 选1个主指标(OEC)
2. 其他9个设为护栏指标
3. 或使用Bonferroni修正:α' = 0.05/10 = 0.005
```
### 示例4:样本量不足强行发布
```
**问题**:跑了3天只有30%样本量,p<0.05就发布
**正确做法**:
- 样本量不足时,p值不可信
- 应延长实验周期或承认统计功效不足
- 可设置提前终止条件(需业务签字)
```
---
## 边界场景 🌐
### 边界1:转化率极低(<1%)
```
问题:基线0.5%,MDE 10%需巨大样本
方案:
- 改用比例差异而非相对提升
- 考虑时间窗口内的转化次数(Poisson分布)
- 降低MDE到1%绝对值,评估业务可接受性
```
### 边界2:实验组/对照组样本比非1:1
```
问题:希望90%流量到实验组
方案:
- 使用不均衡样本量公式
- 统计检验需考虑权重
- 推荐不均衡比例不超过 4:1
```
### 边界3:周末/节假日效应
```
问题:实验跨越周末,指标周期性波动
方案:
- 最小周期覆盖完整7天
- 分层分析平日vs周末数据
- 考虑周内同天对比
```
### 边界4:新奇效应(Novelty Effect)
```
问题:新功能初期表现好,长期回落
方案:
- 延长观察周期至14-21天
- 分析新老用户分层表现
- 设置护栏防止短期数据误导
```
---
## 多臂老虎机(MAB)进阶 ⚙️
**适用场景**:持续优化、流量成本高、快速迭代
**算法对比**:
| 算法 | 特点 | 适用 |
|------|------|------|
| Epsilon-Greedy | 简单,稳定 | 快速验证 |
| UCB | 平衡探索/利用 | 稳定优化 |
| Thompson Sampling | 贝叶斯视角 | 转化率优化 |
| LinUCB | 上下文特征 | 个性化 |
**输出扩展**:
```
🎰 多臂老虎机方案
## 配置
- 臂数:{N}
- 探索率ε:{X}%(Epsilon-Greedy)
- 探索/利用权衡:{偏探索/平衡/偏利用}
## 预期收益
- 相比固定分流:预期提升 {X}%
- 收敛周期:{X}天
- 最低样本量:{每臂N}
```
---
## 贝叶斯测试进阶 🧬
**适用场景**:快速决策、需量化不确定性、样本量有限
**输出扩展**:
```
🧬 贝叶斯分析
## 先验分布
- Beta(α, β) = Beta({1,1}) [无信息先验]
- 或历史数据驱动:Beta({success+1, fail+1})
## 后验估计
- P(B>A) = {X}%
- 预期提升:{X}% [-{L}%, +{U}%]
- 决策阈值:P(B>A) > 95%
## 样本效率
- 贝叶斯方法通常节省 {X}% 样本量
```
---
## 质量检查清单 ✅
**方案发布前检查**:
- [ ] 假设明确(H0/H1)
- [ ] 指标定义完整(计算公式+数据来源)
- [ ] MDE业务可接受
- [ ] 样本量计算正确
- [ ] 分流单位合理
- [ ] 护栏指标设置
- [ ] 周期覆盖完整(至少7天)
- [ ] 外部干扰预判(节假日/活动)
- [ ] 决策规则明确
- [ ] 回滚预案就绪
---
## Output Language
中文输出,统计术语可保留英文缩写
## Anti-rationalization
| 借口 | 正确做法 |
|------|----------|
| "样本量计算太复杂,给个大概数字就行" | 必须使用标准公式 n = 16 × p × (1-p) / MDE² 计算,列出基线p、MDE、α、β四个参数及其取值依据 |
| "护栏指标不重要,只看主指标" | 必须设置至少2个护栏指标(技术指标+业务下限),并定义明确的底线阈值 |
| "跑了3天p值已经显著了,直接发布吧" | 必须检查样本量是否达到目标的80%以上,且实验周期覆盖至少7个完整天(含工作日和周末) |
| "分流就用50/50,不需要做AA测试" | 分流方案必须说明分流单位选择理由,并建议AA预热期1-2天验证分流均匀性 |
| "多个指标都看一遍,p<0.05的就采纳" | 必须指定1个OEC主指标,其他指标设为护栏;多指标同时检验必须做Bonferroni修正 |
| "效果量太小就不报告了" | 必须报告效果量(Cohen's d)和95%置信区间,即使p值显著也要评估实际业务意义 |
| "外部干扰应该不大,不用考虑" | 必须预判外部干扰因素(节假日/运营活动/季节性),并在监控计划中说明应对方案 |
don't have the plugin yet? install it then click "run inline in claude" again.