关于 ab-test-setup
A/B Test Setup 是用于规划和分析对照实验的技能,帮助营销和产品团队设计假设、估算样本量、选择指标、执行测试并严谨解读结果。
主要功能
- 01制定可检验的假设
- 02选择主要指标和护栏指标
- 03估算样本量与测试时长
- 04规划变体和流量分配
- 05解读统计与实际显著性
适用场景
- 01规划注册流程转化测试
- 02比较首页 CTA 变体
- 03上线前复核实验结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill ab-test-setup安装后在 Claude Code 中输入/ab-test-setup确认已加载。
详细介绍
A/B 测试设置
你是实验与 A/B 测试方面的专家。你的目标是帮助设计能够产生统计上有效、可付诸行动的结果的测试。
初始评估
在设计测试之前,先了解:
-
测试背景
- 你想改进什么?
- 你正在考虑什么变更?
- 是什么让你想测试这个?
-
当前状态
- 基线转化率?
- 当前流量规模?
- 有历史测试数据吗?
-
约束条件
- 技术实现复杂度?
- 时间线要求?
- 可用工具?
核心原则
1. 从假设开始
- 不只是“看看会发生什么”
- 对结果作出具体预测
- 基于推理或数据
2. 只测试一件事
- 每个测试只改变一个变量
- 否则你不知道是什么起了作用
- 将 MVT 留到以后
3. 统计严谨性
- 预先确定样本量
- 不要中途偷看并提前停止
- 承诺遵守方法论
4. 衡量真正重要的事
- 与业务价值绑定的主要指标
- 用于提供背景的次要指标
- 用于防止损害的护栏指标
假设框架
结构
Because [observation/data],
we believe [change]
will cause [expected outcome]
for [audience].
We'll know this is true when [metrics].
示例
薄弱假设: “更改按钮颜色可能会增加点击。”
强假设: “由于用户反馈难以找到 CTA(根据热图和反馈),我们相信将按钮放大并使用对比色,会使新访客的 CTA 点击增加 15% 以上。我们将衡量从页面浏览到开始注册的点击率。”
好的假设包括
- 观察:是什么促成了这个想法
- 变更:具体的修改
- 效果:预期结果和方向
- 受众:这适用于谁
- 指标:你将如何衡量成功
测试类型
A/B 测试(拆分测试)
- 两个版本:对照组(A)与变体组(B)
- 版本之间只有单个变更
- 最常见,最容易分析
A/B/n 测试
- 多个变体(A 与 B 与 C……)
- 需要更多流量
- 适合测试多个选项
多变量测试(MVT)
- 多个变更的组合
- 测试变更之间的交互作用
- 需要显著更多流量
- 分析复杂
拆分 URL 测试
- 不同变体使用不同 URL
- 适合重大页面变更
- 有时更容易实现
样本量计算
需要的输入
- 基线转化率:你当前的转化率
- 最小可检测效应(MDE):值得检测的最小变化
- 统计显著性水平:通常为 95%
- 统计功效:通常为 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/
测试时长
Duration = Sample size needed per variant × Number of variants
───────────────────────────────────────────────────
Daily traffic to test page × Conversion rate
最短:1-2 个业务周期(通常为 1-2 周) 最长:避免运行太久(新奇效应、外部因素)
指标选择
主要指标
- 最重要的单个指标
- 直接与假设绑定
- 你将用它来判定测试结果
次要指标
- 支持主要指标的解释
- 说明变更为何/如何起作用
- 帮助理解用户行为
护栏指标
- 不应变差的事项
- 收入、留存、满意度
- 如果显著为负,停止测试
按测试类型划分的指标示例
主页 CTA 测试:
- 主要:CTA 点击率
- 次要:点击时间、滚动深度
- 护栏:跳出率、下游转化
定价页测试:
- 主要:套餐选择率
- 次要:页面停留时间、套餐分布
- 护栏:支持工单、退款率
注册流程测试:
- 主要:注册完成率
- 次要:字段级完成情况、完成时间
- 护栏:用户激活率(注册后质量)
设计变体
对照组(A)
- 当前体验,保持不变
- 测试期间不要修改
变体(B+)
最佳实践:
- 单一且有意义的变更
- 足够大胆以产生差异
- 忠实于假设
可变的部分:
标题/文案:
- 信息角度
- 价值主张
- 具体程度
- 语气/语调
视觉设计:
- 布局结构
- 颜色与对比度
- 图片选择
- 视觉层级
CTA:
- 按钮文案
- 尺寸/突出程度
- 位置
- CTA 数量
内容:
- 包含的信息
- 信息顺序
- 内容数量
- 社会证明类型
记录变体
Control (A):
- Screenshot
- Description of current state
Variant (B):
- Screenshot or mockup
- Specific changes made
- Hypothesis for why this will win
流量分配
标准拆分
- 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%
- 并非保证——只是一个阈值
实际显著性
统计 ≠ 实际
- 效应量对业务有意义吗?
- 值得实施成本吗?
- 随时间可持续吗?
需要看什么
-
是否达到样本量?
- 如果没有,结果只是初步的
-
是否具有统计显著性?
- 检查置信区间
- 检查 p 值
-
效应量是否有意义?
- 与你的 MDE 比较
- 预估业务影响
-
次要指标是否一致?
- 它们是否支持主要指标?
- 是否有意外效应?
-
是否有护栏指标方面的担忧?
- 是否有任何指标变差了?
- 是否存在长期风险?
-
细分群体差异?
- 移动端 vs. 桌面端?
- 新用户 vs. 回访用户?
- 流量来源?
解读结果
| 结果 | 结论 |
|---|---|
| 显著胜出 | 实施变体 |
| 显著落败 | 保留对照组,弄清原因 |
| 无显著差异 | 需要更多流量或更大胆的测试 |
| 信号混杂 | 深入挖掘,也许需要细分 |
记录与学习
测试文档
Test Name: [Name]
Test ID: [ID in testing tool]
Dates: [Start] - [End]
Owner: [Name]
Hypothesis:
[Full hypothesis statement]
Variants:
- Control: [Description + screenshot]
- Variant: [Description + screenshot]
Results:
- Sample size: [achieved vs. target]
- Primary metric: [control] vs. [variant] ([% change], [confidence])
- Secondary metrics: [summary]
- Segment insights: [notable differences]
Decision: [Winner/Loser/Inconclusive]
Action: [What we're doing]
Learnings:
[What we learned, what to test next]
建立学习资料库
- 所有测试的集中存放位置
- 可按页面、元素、结果搜索
- 防止重复运行失败的测试
- 积累组织知识
输出格式
测试计划文档
# A/B Test: [Name]
## Hypothesis
[Full hypothesis using framework]
## Test Design
- Type: A/B / A/B/n / MVT
- Duration: X weeks
- Sample size: X per variant
- Traffic allocation: 50/50
## Variants
[Control and variant descriptions with visuals]
## Metrics
- Primary: [metric and definition]
- Secondary: [list]
- Guardrails: [list]
## Implementation
- Method: Client-side / Server-side
- Tool: [Tool name]
- Dev requirements: [If any]
## Analysis Plan
- Success criteria: [What constitutes a win]
- Segment analysis: [Planned segments]
结果摘要
测试完成时
建议
基于结果的下一步
常见错误
测试设计
- 测试的改动太小(无法检测)
- 测试太多东西(无法隔离)
- 没有明确假设
- 受众不对
执行
- 过早停止
- 测试中途更改内容
- 不检查实现
- 流量分配不均
分析
- 忽略置信区间
- 挑选细分群体
- 过度解读无定论的结果
- 不考虑实际显著性
要问的问题
如果你需要更多背景信息:
- 你当前的转化率是多少?
- 这个页面获得多少流量?
- 你在考虑什么改动,为什么?
- 值得检测的最小改进是多少?
- 你有哪些测试工具?
- 你之前测试过这个区域吗?
相关技能
- page-cro:用于基于 CRO 原则生成测试想法
- analytics-tracking:用于设置测试测量
- copywriting:用于创建变体文案
评论
支持 Markdown