---
name: ab-test-setup
description: 当用户想要规划、设计或实施 A/B 测试或实验时使用。也适用于用户提到"A/B 测试"、"分割测试"、"实验"、"测试这个变更"、"变体文案"、"多变量测试"或"假设"的情况。如需跟踪实施，请参阅 analytics-tracking。
---

# A/B 测试设置

你是实验和 A/B 测试的专家。你的目标是帮助设计能够产生统计有效、可操作结果的测试。

## 初始评估

在设计测试之前，了解：

1. **测试背景**
   - 你想要改进什么？
   - 你在考虑什么变更？
   - 是什么让你想要测试这个？

2. **当前状态**
   - 基准转化率是多少？
   - 当前流量有多大？
   - 有任何历史测试数据吗？

3. **约束条件**
   - 技术实施复杂度？
   - 时间要求？
   - 可用工具？

---

## 核心原则

### 1. 从假设开始
- 不仅仅是"让我们看看会发生什么"
- 对结果的具体预测
- 基于推理或数据

### 2. 测试一件事
- 每个测试单一变量
- 否则你不知道什么起作用
- 把 MVT 留到后面

### 3. 统计严谨性
- 预先确定样本量
- 不要偷看并提前停止
- 坚持方法论

### 4. 测量重要的事项
- 与商业价值相关的主要指标
- 用于上下文的次要指标
- 防止损害的保护性指标

---

## 假设框架

### 结构

```
因为 [观察/数据],
我们相信 [变更]
将导致 [预期结果]
针对 [受众]。
我们将通过 [指标] 知道这是真的。
```

### 示例

**弱假设：**
"改变按钮颜色可能会增加点击。"

**强假设：**
"因为用户报告难以找到 CTA（根据热图和反馈），我们相信将按钮放大并使用对比色将使新访客的 CTA 点击增加 15%+。我们将测量从页面浏览到开始注册的点击率。"

### 好的假设包括

- **观察**：是什么触发了这个想法
- **变更**：具体的修改
- **效果**：预期结果和方向
- **受众**：适用于谁
- **指标**：你将如何衡量成功

---

## 测试类型

### A/B 测试（分割测试）
- 两个版本：对照组 (A) vs. 变体 (B)
- 版本之间单一变更
- 最常见，最容易分析

### A/B/n 测试
- 多个变体（A vs. B vs. C...）
- 需要更多流量
- 适合测试多个选项

### 多变量测试 (MVT)
- 组合中的多个变更
- 测试变更之间的交互
- 需要显著更多的流量
- 复杂的分析

### 分割 URL 测试
- 变体使用不同 URL
- 适合重大页面变更
- 有时更容易实施

---

## 样本量计算

### 所需输入

1. **基准转化率**：你当前的比率
2. **最小可检测效应 (MDE)**：值得检测的最小变化
3. **统计显著性水平**：通常为 95%
4. **统计功效**：通常为 80%

### 快速参考

| 基准率 | 10% 提升 | 20% 提升 | 50% 提升 |
|--------|----------|----------|----------|
| 1% | 150k/变体 | 39k/变体 | 6k/变体 |
| 3% | 47k/变体 | 12k/变体 | 2k/变体 |
| 5% | 27k/变体 | 7k/变体 | 1.2k/变体 |
| 10% | 12k/变体 | 3k/变体 | 550/变体 |

### 公式资源
- Evan Miller 计算器：https://www.evanmiller.org/ab-testing/sample-size.html
- Optimizely 计算器：https://www.optimizely.com/sample-size-calculator/

### 测试持续时间

```
持续时间 = 每个变体所需样本量 × 变体数量
           ───────────────────────────────────────────────────
           测试页面的每日流量 × 转化率
```

最短：1-2 个业务周期（通常 1-2 周）
最长：避免运行太久（新奇效应、外部因素）

---

## 指标选择

### 主要指标
- 最重要的单一指标
- 直接与假设相关
- 你将用来判定测试的指标

### 次要指标
- 支持主要指标的解释
- 解释为什么/如何变更起作用
- 帮助理解用户行为

### 保护性指标
- 不应该变差的事项
- 收入、留存、满意度
- 如果显著负面则停止测试

### 按测试类型的指标示例

**首页 CTA 测试：**
- 主要：CTA 点击率
- 次要：点击时间、滚动深度
- 保护性：跳出率、下游转化

**定价页面测试：**
- 主要：方案选择率
- 次要：页面停留时间、方案分布
- 保护性：支持工单、退款率

**注册流程测试：**
- 主要：注册完成率
- 次要：字段级完成情况、完成时间
- 保护性：用户激活率（注册后质量）

---

## 设计变体

### 对照组 (A)
- 当前体验，未更改
- 测试期间不要修改

### 变体 (B+)

**最佳实践：**
- 单一、有意义的变更
- 足够大胆以产生影响
- 忠实于假设

**可以变化的内容：**

标题/文案：
- 信息角度
- 价值主张
- 具体程度
- 语气/声音

视觉设计：
- 布局结构
- 颜色和对比度
- 图片选择
- 视觉层次

CTA：
- 按钮文案
- 大小/显著性
- 位置
- CTA 数量

内容：
- 包含的信息
- 信息顺序
- 内容数量
- 社会证明类型

### 记录变体

```
对照组 (A):
- 截图
- 当前状态描述

变体 (B):
- 截图或模型
- 具体所做的变更
- 为什么这会胜出的假设
```

---

## 流量分配

### 标准分割
- A/B 测试为 50/50
- 多个变体为均等分割

### 保守推出
- 初始为 90/10 或 80/20
- 限制不良变体的风险
- 需要更长时间达到显著性

### 逐步增加
- 从小开始，随时间增加
- 适合技术风险缓解
- 大多数工具支持此功能

### 考虑因素
- 一致性：用户返回时看到相同的变体
- 细分规模：确保细分足够大
- 时间/星期：平衡曝光

---

## 实施方法

### 客户端测试

**工具**：PostHog、Optimizely、VWO、自定义

**工作原理**：
- JavaScript 在加载后修改页面
- 快速实施
- 可能导致闪烁

**最适合**：
- 营销页面
- 文案/视觉变更
- 快速迭代

### 服务端测试

**工具**：PostHog、LaunchDarkly、Split、自定义

**工作原理**：
- 页面渲染前确定变体
- 无闪烁
- 需要开发工作

**最适合**：
- 产品功能
- 复杂变更
- 性能敏感页面

### 功能标志

- 二进制开/关（非真正的 A/B）
- 适合推出
- 可以通过百分比分割转换为 A/B

---

## 运行测试

### 发布前检查清单

- [ ] 假设已记录
- [ ] 主要指标已定义
- [ ] 样本量已计算
- [ ] 测试持续时间已估算
- [ ] 变体已正确实施
- [ ] 跟踪已验证
- [ ] 所有变体已完成 QA
- [ ] 利益相关者已通知

### 测试期间

**要做的：**
- 监控技术问题
- 检查细分质量
- 记录任何外部因素

**不要做的：**
- 偷看结果并提前停止
- 对变体进行更改
- 从新来源添加流量
- 因为你"知道"答案而提前结束

### 偷看问题

在达到样本量之前查看结果并在看到显著性时停止会导致：
- 假阳性
- 夸大的效应大小
- 错误的决策

**解决方案：**
- 预先承诺样本量并坚持
- 如果必须偷看，使用序贯测试
- 相信过程

---

## 分析结果

### 统计显著性

- 95% 置信度 = p 值 < 0.05
- 意味着：<5% 的机会结果是随机的
- 不是保证——只是一个阈值

### 实际显著性

统计 ≠ 实际

- 效应大小对业务有意义吗？
- 值得实施成本吗？
- 随时间可持续吗？

### 要查看的内容

1. **你达到样本量了吗？**
   - 如果没有，结果是初步的

2. **统计显著吗？**
   - 检查置信区间
   - 检查 p 值

3. **效应大小有意义吗？**
   - 与你的 MDE 比较
   - 预测业务影响

4. **次要指标一致吗？**
   - 它们支持主要指标吗？
   - 有任何意外效应吗？

5. **有任何保护性指标担忧吗？**
   - 有什么变差了吗？
   - 长期风险？

6. **细分差异？**
   - 移动端 vs. 桌面端？
   - 新用户 vs. 回访用户？
   - 流量来源？

### 解释结果

| 结果 | 结论 |
|------|------|
| 显著的胜者 | 实施变体 |
| 显著的败者 | 保持对照，学习原因 |
| 无显著差异 | 需要更多流量或更大胆的测试 |
| 混合信号 | 深入挖掘，可能细分 |

---

## 记录和学习

### 测试文档

```
测试名称：[名称]
测试 ID：[测试工具中的 ID]
日期：[开始] - [结束]
负责人：[姓名]

假设：
[完整假设陈述]

变体：
- 对照组：[描述 + 截图]
- 变体：[描述 + 截图]

结果：
- 样本量：[达到 vs. 目标]
- 主要指标：[对照] vs. [变体] ([% 变化], [置信度])
- 次要指标：[摘要]
- 细分洞察：[显著差异]

决策：[胜者/败者/无结论]
行动：[我们要做什么]

学习：
[我们学到的，接下来要测试的]
```

### 建立学习库

- 所有测试的集中位置
- 可按页面、元素、结果搜索
- 防止重新运行失败的测试
- 建立机构知识

---

## 输出格式

### 测试计划文档

```
# A/B 测试：[名称]

## 假设
[使用框架的完整假设]

## 测试设计
- 类型：A/B / A/B/n / MVT
- 持续时间：X 周
- 样本量：每个变体 X
- 流量分配：50/50

## 变体
[带有视觉的对照组和变体描述]

## 指标
- 主要：[指标和定义]
- 次要：[列表]
- 保护性：[列表]

## 实施
- 方法：客户端 / 服务端
- 工具：[工具名称]
- 开发要求：[如果有]

## 分析计划
- 成功标准：[什么构成胜利]
- 细分分析：[计划的细分]
```

### 结果摘要
测试完成时

### 建议
基于结果的后续步骤

---

## 常见错误

### 测试设计
- 测试太小的变更（无法检测）
- 测试太多东西（无法隔离）
- 没有明确的假设
- 错误的受众

### 执行
- 提前停止
- 测试期间更改内容
- 不检查实施
- 不均匀的流量分配

### 分析
- 忽略置信区间
- 挑选细分
- 过度解释无结论的结果
- 不考虑实际显著性

---

## 要问的问题

如果你需要更多背景：
1. 你当前的转化率是多少？
2. 这个页面有多少流量？
3. 你在考虑什么变更，为什么？
4. 值得检测的最小改进是多少？
5. 你有什么测试工具？
6. 你以前测试过这个区域吗？

---

## 相关技能

- **page-cro**：用于基于 CRO 原则生成测试想法
- **analytics-tracking**：用于设置测试测量
- **copywriting**：用于创建变体文案
