关于 ab-test-planner
ab-test-planner 是帮助产品团队规划 A/B 实验的技能,覆盖假设、指标、样本量、时长和结果判读。它强调统计可靠性、护栏指标与预先设定的决策标准。
主要功能
- 01制定有方向的实验假设
- 02选择主指标与护栏指标
- 03计算所需样本量
- 04估算测试时长
- 05提供结果判读指南
- 06定义回滚条件
适用场景
- 01规划新功能或界面变更实验
- 02估算达到统计显著性所需流量
- 03预先约定实验结果的处理方式
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mohitagw15856/ pm-claude-skills --skill ab-test-planner安装后在 Claude Code 中输入/ab-test-planner确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/test-validity-traps.mdworked-example.mdtemplates/test-plan.md详细介绍
A/B 测试规划技能
设计能得出可靠结果的实验,而不只是方向性信号。每份测试输出都包含假设、成功指标、样本量、时长和结果解读指南。
必需输入
根据已提供的信息开展工作。如果以下任一信息缺失,仍须输出完整内容:用合理的假设填补空缺,并标记为 (假设,需确认),然后在末尾列出这些假设。只有在核心主题本身缺失(没有任何内容可供撰写)时,才先提问。
- 测试内容(功能、UI 变更、文案、定价、引导步骤)
- 假设(或请协助拟定假设)
- 主要指标(转化率、点击率、完成率等)
- 基线率和最小可检测效应(MDE)
- 每日符合条件的用户数(用于计算时长)
实验设计检查清单
运行任何测试之前,请确认:
- 假设明确,且有预测方向
- 只有一个主要指标(另加至多 2 个护栏指标)
- 已定义最小可检测效应(MDE)
- 已计算样本量
- 已估算测试时长
- 目标细分群体已隔离(与其他正在运行的测试不重叠)
- 已制定回滚计划
假设模板
“我们认为,[变更] 将使 [用户细分群体] 的 [主要指标] [提升/降低] [X%],因为 [基于数据或洞察的理由]。”
没有明确方向的假设,绝不运行测试。“先看看会发生什么”不算假设。
样本量计算逻辑
使用此公式(向用户提供计算结果,而非公式):
- 基线转化率: 主要指标的当前比率
- MDE: 值得检测的最小变化(大多数功能建议相对提升 10–20%)
- 统计功效: 80%(标准值)
- 显著性水平: 95%(p < 0.05)
对于常见情形,请提供预先计算的估算值:
| 基线率 | MDE(相对值) | 每个变体所需样本量 |
|---|---|---|
| 5% | 20% | ~19,000 |
| 10% | 15% | ~14,000 |
| 20% | 10% | ~15,000 |
| 40% | 10% | ~9,500 |
| 60% | 5% | ~42,000 |
务必提醒:“这些都是估算值。要获得精确结果,请使用 Evan Miller 的计算器或 Statsig 等工具。”
测试时长指南
最短:完整 2 周(以覆盖每周的季节性波动) 最长:4 周(超过此时长,新奇效应会扭曲结果)
Duration = Required sample ÷ (Daily traffic × % exposed)
如果流量过低,无法在 8 周内达到显著性,请标明这一点,并建议采用其他方法(例如,保留组测试、定性研究)。
输出格式
A/B 测试计划 — [测试名称] — [日期]
假设:
[填入假设模板]
变体:
- 对照组(A):[当前体验]
- 实验组(B):[变更后的体验 — 请具体说明]
主要指标:[指标名称 + 测量方式] 护栏指标:[不得出现退化的指标]
目标细分群体:[哪些用户会看到测试 — 流量占比、用户类型] 流量分配:[建议 50/50,除非需要逐步放量]
**所需样本量:**每个变体约 [N] 名用户 预计时长:[X] 周(基于每日 [Y] 名符合条件的用户) **显著性阈值:**95% 置信度,80% 统计功效
排除项:[要排除的任何用户细分群体及原因]
**回滚触发条件:**如果 [护栏指标] 退化 [X%],立即停止测试。
结果解读指南:
- ✅ 发布:实验组的主要指标提升至少 [X%],且达到 95% 置信度,同时护栏指标保持稳定
- 🔄 迭代:方向为正但结果不显著——可考虑延长测试或重新设计
- ❌ 拒绝:未见提升,或结果在达到显著性时呈负向
- ⚠️ 无法定论:不要发布,也不要宣称成功。
指南
- 始终建议不要在测试达到计划样本量前查看结果——并解释 p-hacking(窥探数据并反复检验)的风险
- 如果用户想测试多个变体,说明多重比较问题,并建议采用 Bonferroni 校正或贝叶斯方法
- 如果流量非常低(<1,000 名用户/天),建议采用定性替代方案:主持式测试、5 秒测试或用户访谈
- 切勿批准没有护栏指标的测试——务必保护收入、留存率或核心参与度
反模式
- 不要在没有方向性假设的情况下运行测试——“看看会发生什么”会产生无法解读的结果
- 不要在达到预先规划的样本量前宣布胜出方案——窥探结果会提高假阳性率
- 不要在单个变体中测试多个相互独立的改动——你将无法判断是哪项改动导致了结果
- 如果目标是收入或留存率,不要将参与度指标(点击量、页面停留时间)作为主要指标——代理指标会误导判断
- 不要忽视护栏指标——转化率提升若导致支持工单激增,就不算成功
深入材料
此技能附带支持文件——有以下文件时请使用:
references/test-validity-traps.md—《会悄然导致 A/B 测试无效的有效性陷阱》。生成输出时请参考此文件;其中包含校准判断和具体取舍,这些内容在上面的精简方法摘要中有所省略。templates/test-plan.md— 带有内嵌质量关卡的可填写交付模板。用户想自行完成文档而非让你生成时,请提供此模板。
评分标准(0–40)
交付前,先按此标准为此技能的任何输出评分;32 分及以上才达到交付质量。
| 维度 | 0 | 5 | 10 |
|---|---|---|---|
| 统计严谨性 | 未提供样本量,或虽有数字但没有说明其依据的基线值/最小可检测效应(MDE) | 提供了样本量,但 MDE 是猜测的,或未经核对实际基线就照搬查表结果;未说明统计功效/显著性 | 根据给定基线值和 MDE,以 80% 统计功效/95% 置信度推导样本量;根据实际每日流量核验测试时长及 2–4 周窗口;若无法满足则采用低流量替代方案 |
| 假设严谨性 | “看看会发生什么”——没有方向、幅度,或将多项改动捆绑在一起 | 有方向性假设,但缺少幅度、细分群体或基于证据的“因为”;未确认变体纯度 | 完整填写模板(改动、指标、方向、幅度、细分群体、引用数据的理由),且处理组只隔离一项改动,并将排除的想法列为后续测试 |
| 护栏与回滚 | 没有护栏指标,或回滚条件没有阈值 | 列出了护栏指标,但分母/定义含糊;回滚触发条件含糊(“情况不好时”) | 设定 1–2 项保护收入或核心参与度的护栏指标,采用预先约定的定义和明确的回滚阈值,并明确区分窥探数据与监测危害 |
| 决策准备度 | 没有解读指南,结果出来后才开始争论 | 列出了发布/迭代/拒绝,但阈值不清晰;未包含无定论结果,或将其当作小幅胜利 | 将四种结果(发布/迭代/拒绝/无定论)全部对应到预先承诺的阈值,包括说明无定论结果的代价,以及每种结果将如何影响后续工作 |
质量检查
- 假设具有方向性(预测具体方向和幅度,而非“看看会发生什么”)
- 主要指标只有一个(护栏指标为次要指标)
- 样本量依据实际 MDE 和基线值计算(而非猜测)
- 测试时长考虑了每周季节性(至少 2 周)
- 已定义护栏指标(至少一项用于保护收入或核心参与度)
- 已规定具有明确阈值的回滚触发条件
示例触发语句
- “设置一项实验。”
- “设计 A/B 测试。”
- “计算样本量。”
- “解读测试结果。”