用于设置A/B测试的结构化指南,包含假设、指标和执行就绪性的强制门控检查。
技能概述
ab-test-setup 技能为A/B测试提供了一套严格的结构化设置流程,确保每个测试在编写代码之前都是有效、严谨和安全的。该技能通过强制门控机制防止"偷看"行为,强制执行统计功效要求,并阻止无效假设的测试。
下载地址:https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/ab-test-setup
主要功能
- 假设质量检查:确保假设包含观察证据、具体变更、方向性预期、目标受众和可衡量的成功标准
- 假设锁定机制:在设计和指标定义之前强制锁定最终假设
- 假设与有效性检查:明确列出关于流量稳定性、用户独立性、指标可靠性等的假设
- 测试类型选择:帮助选择最简单有效的测试类型(A/B、A/B/n、MVT、Split URL)
- 指标定义:定义主要指标、次要指标和护栏指标
- 样本量计算:基于基准率、MDE、显著性水平和统计功效计算所需样本量
- 执行就绪性门控:确保所有必要条件满足后才能开始实施
触发条件
在以下情况下应该调用此技能:
- 需要设置新的A/B测试时
- 需要验证测试假设的有效性时
- 需要确定测试指标和样本量时
- 需要确保测试符合统计要求时
- 需要建立测试文档和学习记录时
使用场景
场景1:新产品功能测试
当团队想要测试新功能对用户行为的影响时,使用此技能确保测试设计合理、指标明确、样本量充足。
场景2:UI/UX优化测试
在进行界面或用户体验优化时,使用此技能建立严格的测试框架,避免主观判断和过早结论。
场景3:转化率优化
在优化转化漏斗时,使用此技能确保测试能够准确衡量变更效果,并设置适当的护栏指标。
处理过程
1. 前置条件检查
确保具备以下条件:明确的用户问题、分析数据源的访问权限、大致估算的流量规模。
2. 假设质量验证
验证假设是否包含:观察或证据、单一具体变更、方向性预期、定义的受众、可衡量的成功标准。
3. 假设锁定(硬门控)
在继续设计变体或指标之前,必须呈现最终假设,明确目标受众、主要指标、预期效果方向和最小可检测效应(MDE)。
4. 假设与有效性检查
明确列出关于流量稳定性、用户独立性、指标可靠性、随机化质量和外部因素的假设。如果假设薄弱或被违反,警告用户并建议推迟或重新设计测试。
5. 测试类型选择
选择最简单有效的测试类型,默认为A/B测试,除非有明确理由选择其他类型。
6. 指标定义
定义主要指标(单一成功评估指标)、次要指标(提供上下文)和护栏指标(防止有害胜利)。
7. 样本量与持续时间计算
基于基准率、MDE、显著性水平(通常95%)和统计功效(通常80%)计算所需样本量和预期测试持续时间。
8. 执行就绪性门控(硬停止)
只有当假设已锁定、主要指标已冻结、样本量已计算、测试持续时间已定义、护栏已设置、跟踪已验证时,才能继续实施。
输入要求
使用此技能时,用户需要提供:
- 明确的用户问题描述
- 访问分析数据源的权限
- 大致估算的流量规模
- 初步的测试假设
- 预期的变更内容
输出说明
技能将提供:
- 验证过的测试假设
- 明确的测试类型建议
- 完整定义的指标体系(主要、次要、护栏)
- 计算出的样本量和测试持续时间
- 执行就绪性检查清单
- 测试文档模板
使用示例
示例: 设置一个按钮颜色变更的A/B测试
- 不要提前停止测试:即使早期结果看起来很好,也要等待预定的样本量达到
- 不要在测试中途更改变体:这会破坏测试的有效性
- 不要添加新的流量来源:保持流量源的一致性
- 不要重新定义成功标准:主要指标必须在测试前冻结
- 记录所有学习:无论测试结果如何,都要记录学习内容以避免重复失败
- 尊重护栏指标:即使主要指标获胜,如果护栏指标失败,也不要发布
测试结果分析
| 结果 | 行动 |
|---|---|
| 显著正向 | 考虑发布 |
| 显著负向 | 拒绝变体,记录学习 |
| 不确定 | 考虑增加流量或更大幅度的变更 |
| 护栏失败 | 不要发布,即使主要指标获胜 |
注意事项
- 测试期间仅监控技术健康状况,不要基于"好看"的结果提前停止
- 不要将结果推广到测试人群之外
- 不要在测试变更之外声称因果关系
- 区分统计显著性和业务判断
- 将测试记录存储在共享、可搜索的位置