A/B测试规划器

Dev Tools

改版犹豫不决?A/B测试怎么设计才有说服力?从假设定义、样本量计算到结果解读,全流程帮你搞定。支持贝叶斯、序贯检验、多臂老虎机,7步走完一个严谨实验,让你用数据拍板而不是拍脑袋。 触发词:A/B测试、AB测试、对照实验、样本量计算、实验设计、灰度发布、转化率优化、多臂老虎机、epsilon-greedy、UCB、Thompson采样、贝叶斯测试、序贯检验、增量实验、分层实验、分桶测试、分流策略、置信区间、p值、显著性检验、效果量、MDE、最小可检测效应、护栏指标、AA测试、方差缩减 排除:纯数据分析(无实验设计)、监控告警、日志分析、APM性能监控、竞品分析 上下文条件:用户明确有"两个方案对比"或"版本选择"的决策需求

Install

openclaw skills install a-b-test-planner

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
APPD1/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(绝对值)

快速估算表

基线pMDE(相对)MDE(绝对)每组样本量总样本量
5%10%0.5%60,000120,000
5%20%1.0%15,00030,000
10%10%1.0%28,80057,600
10%20%2.0%7,20014,400
20%5%1.0%98,304196,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: 决策建议 ✅ 行动方案

结论分类

结论条件建议
全量发布Bp<0.05, 效果量可观, 护栏指标正常直接发布
渐进发布p接近0.05, 护栏有风险10%→30%→50%渐进
继续观察样本量不足60%延长周期
放弃实验p>0.2, 趋势不明复用实验资产
发布AB无提升或护栏指标下降保持原方案

发布后监控

  • 全量后持续监控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值显著也要评估实际业务意义
"外部干扰应该不大,不用考虑"必须预判外部干扰因素(节假日/运营活动/季节性),并在监控计划中说明应对方案