mcpField
A
ab-test-setup

ab-test-setup

github.com/davila7营销与增长33.0k356 次安装1 天前更新
代码仓库

关于 ab-test-setup

A/B Test Setup 是用于规划和分析对照实验的技能,帮助营销和产品团队设计假设、估算样本量、选择指标、执行测试并严谨解读结果。

主要功能

  1. 01制定可检验的假设
  2. 02选择主要指标和护栏指标
  3. 03估算样本量与测试时长
  4. 04规划变体和流量分配
  5. 05解读统计与实际显著性

适用场景

  1. 01规划注册流程转化测试
  2. 02比较首页 CTA 变体
  3. 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. 当前状态

    • 基线转化率?
    • 当前流量规模?
    • 有历史测试数据吗?
  3. 约束条件

    • 技术实现复杂度?
    • 时间线要求?
    • 可用工具?

核心原则

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
  • 适合重大页面变更
  • 有时更容易实现

样本量计算

需要的输入
  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/变体
公式资源
测试时长
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%
  • 并非保证——只是一个阈值
实际显著性

统计 ≠ 实际

  • 效应量对业务有意义吗?
  • 值得实施成本吗?
  • 随时间可持续吗?
需要看什么
  1. 是否达到样本量?

    • 如果没有,结果只是初步的
  2. 是否具有统计显著性?

    • 检查置信区间
    • 检查 p 值
  3. 效应量是否有意义?

    • 与你的 MDE 比较
    • 预估业务影响
  4. 次要指标是否一致?

    • 它们是否支持主要指标?
    • 是否有意外效应?
  5. 是否有护栏指标方面的担忧?

    • 是否有任何指标变差了?
    • 是否存在长期风险?
  6. 细分群体差异?

    • 移动端 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]
结果摘要

测试完成时

建议

基于结果的下一步


常见错误

测试设计
  • 测试的改动太小(无法检测)
  • 测试太多东西(无法隔离)
  • 没有明确假设
  • 受众不对
执行
  • 过早停止
  • 测试中途更改内容
  • 不检查实现
  • 流量分配不均
分析
  • 忽略置信区间
  • 挑选细分群体
  • 过度解读无定论的结果
  • 不考虑实际显著性

要问的问题

如果你需要更多背景信息:

  1. 你当前的转化率是多少?
  2. 这个页面获得多少流量?
  3. 你在考虑什么改动,为什么?
  4. 值得检测的最小改进是多少?
  5. 你有哪些测试工具?
  6. 你之前测试过这个区域吗?

相关技能

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

评论

支持 Markdown