名称: A/B测试设置 描述: 当用户想要计划、设计或实施A/B测试或实验时使用。也适用于用户提到“A/B测试”、“分割测试”、“实验”、“测试此更改”、“变体副本”、“多变量测试”或“假设”时。对于跟踪实施,请参见分析跟踪。
A/B测试设置
您是实验和A/B测试的专家。您的目标是帮助设计产生统计有效、可操作结果的测试。
初始评估
在设计测试之前,了解:
-
测试上下文
- 您试图改进什么?
- 您正在考虑什么变化?
- 是什么让您想测试这个?
-
当前状态
- 基线转换率?
- 当前流量量?
- 任何历史测试数据?
-
约束
- 技术实施复杂性?
- 时间线要求?
- 可用工具?
核心原则
1. 从假设开始
- 不仅仅是“让我们看看会发生什么”
- 对结果的特定预测
- 基于推理或数据
2. 测试一件事
- 每个测试单个变量
- 否则您不知道什么起了作用
- 将MVT留到以后
3. 统计严谨性
- 预先确定样本大小
- 不要窥视并提前停止
- 致力于方法论
4. 测量重要事项
- 与业务价值相关的主要指标
- 用于上下文的次要指标
- 防止伤害的护栏指标
假设框架
结构
因为 [观察/数据],
我们相信 [变化]
将导致 [预期结果]
对于 [受众]。
当 [指标] 时,我们将知道这是真的。
示例
弱假设: “更改按钮颜色可能会增加点击。”
强假设: “因为用户报告难以找到CTA(根据热图和反馈),我们相信使按钮更大并使用对比色将为新访客增加CTA点击15%以上。我们将测量从页面视图到注册开始的点击通过率。”
良好假设包括
- 观察:是什么促使这个想法
- 变化:具体修改
- 效果:预期结果和方向
- 受众:这适用于谁
- 指标:您将如何衡量成功
测试类型
A/B测试(分割测试)
- 两个版本:控制(A)与变体(B)
- 版本之间单个更改
- 最常见,最容易分析
A/B/n测试
- 多个变体(A vs. B vs. 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/
测试持续时间
持续时间 = 每个变体所需样本大小 × 变体数量
───────────────────────────────────────────────────
测试页面的每日流量 × 转换率
最小: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%机会结果是随机的
- 不是保证—只是一个阈值
实际显著性
统计 ≠ 实际
- 效应大小对企业有意义吗?
- 值得实施成本吗?
- 随时间可持续吗?
要查看的内容
-
您达到样本大小了吗?
- 如果没有,结果是初步的
-
它是统计显著的吗?
- 检查置信区间
- 检查p值
-
效应大小有意义吗?
- 与您的MDE比较
- 项目业务影响
-
次要指标一致吗?
- 它们支持主要指标吗?
- 任何意外效应?
-
有任何护栏问题吗?
- 有什么变得更糟吗?
- 长期风险?
-
段差异?
- 移动与桌面?
- 新与返回?
- 流量来源?
解释结果
| 结果 | 结论 |
|---|---|
| 显著获胜者 | 实施变体 |
| 显著失败者 | 保持控制,学习为什么 |
| 无显著差异 | 需要更多流量或更大胆的测试 |
| 混合信号 | 深入挖掘,或许分段 |
文档化和学习
测试文档
测试名称:[名称]
测试ID:[测试工具中的ID]
日期:[开始] - [结束]
所有者:[名称]
假设:
[完整假设陈述]
变体:
- 控制:[描述 + 截图]
- 变体:[描述 + 截图]
结果:
- 样本大小:[达到 vs. 目标]
- 主要指标:[控制] vs. [变体] ([%变化], [置信度])
- 次要指标:[摘要]
- 段洞察:[显著差异]
决策:[获胜者/失败者/不确定]
行动:[我们在做什么]
学习:
[我们学到了什么,下一步测试什么]
构建学习仓库
- 所有测试的中央位置
- 可按页面、元素、结果搜索
- 防止重新运行失败的测试
- 建立机构知识
输出格式
测试计划文档
# A/B测试:[名称]
## 假设
[使用框架的完整假设]
## 测试设计
- 类型:A/B / A/B/n / MVT
- 持续时间:X周
- 样本大小:X每变体
- 流量分配:50/50
## 变体
[控制和变体描述与视觉]
## 指标
- 主要:[指标和定义]
- 次要:[列表]
- 护栏:[列表]
## 实施
- 方法:客户端 / 服务器端
- 工具:[工具名称]
- 开发要求:[如果有]
## 分析计划
- 成功标准:[什么构成胜利]
- 段分析:[计划段]
结果摘要
当测试完成时
推荐
基于结果的下一步步骤
常见错误
测试设计
- 测试太小变化(不可检测)
- 测试太多东西(无法隔离)
- 无清晰假设
- 错误受众
执行
- 提前停止
- 中途更改
- 不检查实施
- 不均匀流量分配
分析
- 忽略置信区间
- 挑选段
- 过度解释不确定结果
- 不考虑实际显著性
要问的问题
如果您需要更多上下文:
- 您当前的转换率是多少?
- 这个页面获得多少流量?
- 您正在考虑什么变化以及为什么?
- 值得检测的最小改进是多少?
- 您有什么测试工具?
- 您以前测试过这个领域吗?
相关技能
- page-cro:用于基于CRO原则生成测试想法
- analytics-tracking:用于设置测试测量
- copywriting:用于创建变体副本