news 2026/9/10 14:20:12

PM Skills 的 /analyze-test:以统计严谨性驱动 A/B 测试「Ship / Extend / Stop」决策的完整工作流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PM Skills 的 /analyze-test:以统计严谨性驱动 A/B 测试「Ship / Extend / Stop」决策的完整工作流

PM Skills 的 /analyze-test:以统计严谨性驱动 A/B 测试「Ship / Extend / Stop」决策的完整工作流

【免费下载链接】pm-skillsPM Skills Marketplace: 100+ agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth.项目地址: https://gitcode.com/GitHub_Trending/pm/pm-skills

导读

/analyze-test是 pm-data-analytics 插件中面向产品经理的 A/B 测试分析命令:从汇总统计、原始 CSV、实验平台截图或自然语言描述中接收实验数据,依次完成实验设计校验、统计显著性计算、效应量与置信区间评估,最终产出包含明确产品决策(Ship / Extend / Stop)与业务影响估算的分析报告。读完本文,你将掌握该命令的五步工作流、完整的报告模板、背后的样本量公式与统计检验实现,以及如何利用仓库中的 ab-test-analysis 技能与 Python/scipy.stats 完成可复现的显著性计算。


一、命令定位:pm-data-analytics 插件中的实验决策入口

在 pm-skills 仓库中,pm-data-analytics 插件将「数据分析」能力拆分为三个命令与三个技能,构成产品经理日常数据分析的完整工具箱:

  • 命令:/write-query(自然语言生成 SQL)、/analyze-cohorts(留存与参与度队列分析)、/analyze-test(A/B 测试结果分析);
  • 技能:sql-queriescohort-analysisab-test-analysis

其中/analyze-test是唯一直接面向实验决策的入口。其元数据(pm-data-analytics/commands/analyze-test.md 的 YAML frontmatter)明确了它的职责边界:

description: Analyze A/B test results — statistical significance, sample size validation, and ship/extend/stop recommendations argument-hint: "<test results as data, screenshot, or description>"

argument-hint表明该命令接受三种形态的输入:结构化数据、实验平台截图或纯文字描述,这也决定了 Step 1 的数据接收设计。从插件清单 pm-data-analytics/.claude-plugin/plugin.json 可以看到,该插件版本为 2.0.0,关键词覆盖 product-management、data-analytics、sql、cohort-analysis、retention;而在 README.md 的插件总览中,/analyze-test被定位为「Analyze A/B test results —— statistical significance, sample size validation, and ship/extend/stop recommendations」。

命令与技能的绑定关系是仓库的显式设计:/analyze-test在 Step 3 中调用ab-test-analysis技能(见 pm-data-analytics/skills/ab-test-analysis/SKILL.md)。仓库根目录的 validate_plugins.py 中validate_cross_references函数(L289-L310)会校验命令中引用的技能必须存在于同一插件内,保证这种「命令链技能」的结构不悬空。

二、Invocation:三种调用姿势

命令支持三种等价调用方式,覆盖从「手上有原始数据」到「只有一段口头描述」的全部场景:

/analyze-test Control: 4.2% conversion (n=5000), Variant: 4.8% conversion (n=5100) /analyze-test [upload a CSV of test results] /analyze-test [screenshot from your experimentation platform]

第一种直接内联汇总统计量(对照组转化率 4.2%、样本 5000,实验组转化率 4.8%、样本 5100),适合数据已在手上、快速出结论的场景;第二种与第三种面向原始事件数据与实验平台(Optimizely、LaunchDarkly 等)的导出结果,命令会自动读取并解析。这与 ab-test-analysis 技能中的约定一致:"If the user provides data files (CSV, Excel, or analytics exports), read and analyze them directly. Generate Python scripts for statistical calculations when needed."

三、五步工作流:从数据输入到决策输出

Step 1:接受测试数据(Accept Test Data)

命令以「格式无关」为设计原则,接受的输入包括:

  • 汇总统计:各变体的转化率与样本量;
  • 原始事件数据:CSV,要求包含user_idvariantconvertedtimestamp等关键列;
  • 实验平台截图:Optimizely、LaunchDarkly 等平台的运行结果截图;
  • 实验与结果的文字描述

CSV 这类原始数据会触发技能中的自动处理逻辑:读取文件后生成 Python 脚本完成统计计算,而不是依赖人眼估算。

Step 2:校验实验设计(Validate Test Design)

这是命令强调「先校验、再分析」的关键一步——结果来自有缺陷的实验时,再漂亮的显著性数字也具有误导性。四个校验维度:

  1. 样本量是否充足:运行功效分析(power analysis),确认样本量能否支撑期望效应量的检测;
  2. 实验时长是否足够:至少覆盖 1~2 个完整业务周期(business cycles),以捕获周度周期波动;
  3. 随机化是否干净:检查样本比率失配(Sample Ratio Mismatch,SRM)——当实验组与对照组流量占比偏离预设比例时,随机化很可能被破坏;
  4. 实验期间的外部因素:季节性活动、市场事件、版本发布等是否污染了结果窗口。

ab-test-analysis 技能为样本量校验提供了可直接套用的公式:

n = (Z²α/2 × 2 × p × (1-p)) / MDE²

其中 Zα/2 为 95% 置信水平下的双侧分位数(约 1.96),p 为基准转化率,MDE 为最小可检测效应(Minimum Detectable Effect)。技能同时设定了一个硬性阈值:功效低于 80% 即为 underpowered(统计功效不足),必须显式标记

Step 3:分析结果(Analyze Results)

Step 3 调用 ab-test-analysis 技能执行五个层面的统计评估:

  • 统计显著性(Statistical significance):计算 p-value 与置信区间;
  • 效应量(Effect size):变体间的绝对差与相对差;
  • 实际显著性(Practical significance):效应是否大到对业务有意义——统计显著 ≠ 业务值得上线;
  • 置信区间(Confidence interval):真实效应的合理取值范围;
  • 分段分析(Segment analysis):数据允许时,检查不同用户分段是否存在差异化效应。

技能在Calculate statistical significance步骤中给出了具体的计算口径(pm-data-analytics/skills/ab-test-analysis/SKILL.md L33-L41):

  • 分别计算对照组与实验组的转化率;
  • 相对提升(Relative lift)(variant - control) / control × 100
  • p-value:使用双尾 z 检验(two-tailed z-test)卡方检验(chi-squared test)
  • 95% 置信区间:针对组间差值计算;
  • 统计显著性判定p < 0.05
  • 实际显著性判定:提升量对业务是否有意义。

对于提供原始数据的场景,技能要求生成并运行 Python 脚本完成上述全部计算(仓库约定使用scipy.stats,见命令 Notes 末尾)。

除主指标外,技能还强制检查守卫指标(guardrail metrics)(L43-L45):如果收入、活跃度、页面加载时间等守卫指标在主指标提升的同时出现恶化,那么「主指标获胜」可能并不是一个真正的胜利——这是 Step 4 决策时需要权衡的核心输入。

Step 4:生成分析报告(Generate Analysis)

命令在 Step 4 输出一份结构化的完整报告模板,命令执行时会按此骨架填充真实数据:

## A/B Test Analysis: [Test Name] **Date**: [today] **Test duration**: [X days/weeks] **Total sample**: [N users] ### Results Summary | Variant | Sample | Metric | Rate | 95% CI | |---------|--------|--------|------|--------| | Control | [n] | [metric] | [X%] | [X% - Y%] | | Variant | [n] | [metric] | [X%] | [X% - Y%] | ### Statistical Analysis - **Relative lift**: [+X%] ([CI range]) - **P-value**: [X] - **Statistically significant**: [Yes/No] at 95% confidence - **Minimum detectable effect**: [X%] (what the test was powered to detect) ### Sample Size Check - **Required sample**: [N] per variant (for [X%] MDE at 80% power) - **Actual sample**: [N] per variant - **Verdict**: [Sufficiently powered / Underpowered / Overpowered] ### Decision **Recommendation: [SHIP / EXTEND / STOP]** [Clear explanation of why, considering both statistical and practical significance] ### Business Impact Estimate If shipped to 100% of users: - **Expected impact**: [metric change per month/quarter] - **Revenue impact**: [if applicable] - **Confidence**: [How certain we are about this estimate] ### Caveats - [Any concerns about the test validity] - [Segments where results differ] - [Novelty effects or other biases to consider] ### Follow-Up - [What to test next based on learnings] - [Monitoring plan if shipping the variant]

报告设计上值得注意的几点:Sample Size Check用「实际样本 vs 需求样本」直接给出 Sufficiently powered / Underpowered / Overpowered 判定,与 Step 2 的功效分析首尾呼应;Business Impact Estimate把统计结果翻译成月度/季度业务指标变化与收入影响,并强制要求标注置信度,避免把区间估计当确定值;CaveatsFollow-Up则把实验的有效性疑虑、分段差异、新奇效应(novelty effect)和后续监控计划显式列出。

技能侧还提供了一个更精简的结果摘要格式(L58-L72),适合快速汇报:Hypothesis / Duration / Sample头信息 + 主指标与守卫指标对照表(Metric | Control | Variant | Lift | p-value | Significant?)+Recommendation / Reasoning / Next steps三段式收尾。

Step 5:提供下一步行动建议(Offer Next Steps)

分析完成并非终点,命令在 Step 5 主动衔接后续工作流,提供三类跟进选项:

  • "Want me todesign a follow-up experimentbased on these findings?"——基于本次发现设计后续实验;
  • "Should Irun the analysis for specific segments?"——针对特定用户分段深入分析;
  • "Want me togenerate the SQLto monitor this metric post-launch?"——生成上线后监控指标的 SQL。

第三项直接与同插件的/write-query命令形成工作流衔接——这也呼应了 README.md 中「Commands are designed to flow into each other」的设计理念:一条命令结束后建议的相关命令,恰好是产品经理工作流的自然下一环。

四、决策框架:从统计结果到产品结论的映射表

ab-test-analysis 技能给出了「实验结果 → 推荐动作」的完整映射表,这是 Step 4 中 SHIP / EXTEND / STOP 决策的依据(pm-data-analytics/skills/ab-test-analysis/SKILL.md L49-L55):

OutcomeRecommendation
Significant positive lift, no guardrail issuesShip it— roll out to 100%
Significant positive lift, guardrail concernsInvestigate— understand trade-offs before shipping
Not significant, positive trendExtend the test— need more data or larger effect
Not significant, flatStop the test— no meaningful difference detected
Significant negative liftDon't ship— revert to control, analyze why

这张表的精髓在于引入了第五种状态:当主指标显著为正但守卫指标恶化时,决策不是简单的 Ship 而是 Investigate——先理解权衡(trade-off)再决定是否全量。这与命令文档中「统计显著性 ≠ 实际显著性」的警示一脉相承。

五、统计实现要点:scipy.stats 与可复现计算

当输入为 CSV 原始数据时,命令与技能约定使用Python + scipy.stats生成完整分析(命令 Notes 第 5 条:"If data is provided as CSV, generate the full analysis using Python with scipy.stats")。从技能的算法描述可以还原出实现路径:

  1. 转化率converted列按variant分组求均值;
  2. 相对提升(variant_rate - control_rate) / control_rate * 100
  3. 显著性检验:双尾 z 检验(对比例可用 z-test for proportions)或卡方检验(scipy.stats.chi2_contingency),得到 p-value;
  4. 置信区间:基于比例的 Wald 区间或更稳健的 Wilson 区间,输出 95% CI;
  5. 样本量/功效校验:代入 Step 2 的公式n = (Z²α/2 × 2 × p × (1-p)) / MDE²,反推需求样本量并与实际样本对比,给出 powered 判定。

技能中Think step by step. Save as markdown. Generate Python scripts for calculations if raw data is provided.(L74)意味着完整分析脚本会被保存,保证结论可复现、可随新数据重跑——这与/analyze-cohorts命令中「保存 Python 脚本以便用新数据重跑」的约定(pm-data-analytics/commands/analyze-cohorts.md Notes)是同一设计哲学。

六、注意事项与常见陷阱(Notes)

命令文档在 Notes 一节集中列出了实践中的关键警示,这些是产品经理最容易踩坑的地方:

  1. 统计显著 ≠ 实际显著:数据足够多时 0.1% 的提升也能显著,但未必值得上线——决策必须同时看效应量的业务意义;
  2. 先查样本比率失配(SRM):在信任任何结果之前,确认实验组/对照组流量比例符合预设;
  3. 新奇效应会虚高短期结果:建议上线后持续监控 2~4 周,让新奇效应消退后再下最终结论;
  4. 功效不足时,正确答案通常是「延展」而非「无效果」:Underpowered 实验无法区分「没有差异」和「差异太小测不出来」,此时 EXTEND 比 STOP 更稳妥;
  5. 收入类指标要用置信区间估算影响:用置信区间的上下界分别估算最好与最坏的业务影响,而不是只报点估计;
  6. CSV 数据走 Python + scipy.stats:保证计算的精确性与可复现性,而非手工估算。

七、在仓库中的实现结构与进一步阅读

如果你希望深入理解该命令的工程实现与周边配套,可以在仓库中按以下路径继续探索:

  • 命令本体:pm-data-analytics/commands/analyze-test.md —— 本文所基于的核心文档,frontmatter 含descriptionargument-hint
  • 底层技能:pm-data-analytics/skills/ab-test-analysis/SKILL.md —— 样本量公式、检验方法、决策映射表与结果摘要模板的完整定义;
  • 插件清单:pm-data-analytics/.claude-plugin/plugin.json —— 插件元数据、作者信息与关键词;
  • 插件 README:pm-data-analytics/README.md —— 三个技能与三个命令的索引;
  • 安装方式:在 README.md 中可查看claude plugin install pm-data-analytics@pm-skills的安装命令(Claude Code 与 Codex CLI 均支持);
  • 质量保障:validate_plugins.py —— 根目录的插件校验脚本,validate_command(L232-L265)检查命令 frontmatter 必填字段,validate_cross_references(L289-L310)校验命令引用的技能存在性,保证本文所述「命令 → 技能」链条的完整性。

在 pm-data-analytics/skills/ab-test-analysis/SKILL.md 的 Further Reading 一节还列出了 A/B 测试基础、实验库与指标选择等延伸阅读(原文为外部链接,此处仅提示其存在)。结合命令文档的完整工作流与技能层的统计实现,/analyze-test为产品经理提供了一条从「拿到实验数据」到「做出有依据的产品决策」的标准化路径:先校验实验设计、再计算统计量、最终在统计显著性与实际显著性之间做出权衡,把 A/B 测试从「看谁的百分比高」升级为「用统计严谨性说话」。

【免费下载链接】pm-skillsPM Skills Marketplace: 100+ agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth.项目地址: https://gitcode.com/GitHub_Trending/pm/pm-skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 14:19:31

机械毕业设计之瓜果切丝切片机的结构设计

题目&#xff1a;机械毕业设计之瓜果切丝切片机的结构设计一、项目介绍随着食品工业的快速发展&#xff0c;对高效、稳定的瓜果切丝切片机需求日益增长。本文聚焦于瓜果切丝切片机的结构设计与性能优化研究&#xff0c;旨在解决现有设备在切割效率、质量稳定性及能耗等方面的不…

作者头像 李华
网站建设 2026/9/10 14:19:19

Vue AI 技术架构与智能开发实践

1. Vue AI 技术架构解析Vue AI作为Vue.js生态中的新一代智能开发工具&#xff0c;其核心架构采用了模块化设计理念。底层基于Vue 3的Composition API构建&#xff0c;通过智能代码生成引擎和上下文感知系统实现开发辅助功能。1.1 核心功能模块智能代码补全系统&#xff1a;采用…

作者头像 李华
网站建设 2026/9/10 14:19:16

Linux内存管理:页表与TLB原理及优化实践

1. Linux内存管理核心机制解析在Linux系统中&#xff0c;Page Table&#xff08;页表&#xff09;和TLB&#xff08;Translation Lookaside Buffer&#xff09;是内存管理子系统的两大核心组件。作为一位长期从事Linux内核开发的工程师&#xff0c;我经常需要深入理解这两者的工…

作者头像 李华
网站建设 2026/9/10 14:18:31

DanKoe视频笔记法:高效学习与目标实现的系统方法

1. 项目概述&#xff1a;DanKoe视频笔记的核心价值第一次看到DanKoe的视频时&#xff0c;我就被这种独特的"视频笔记"形式吸引了。这不是普通的观影记录&#xff0c;而是一种将视频内容深度内化的系统性方法。通过结构化提取关键观点、建立个人知识关联、设计可执行步…

作者头像 李华
网站建设 2026/9/10 14:18:18

用卷积神经网络识别恶意软件家族:从灰度图到服务部署

简介&#xff1a;这是一份基于Python卷积神经网络的恶意软件检测项目源码&#xff0c;面向毕业设计、期末大作业及课程设计等场景&#xff0c;适合需要快速搭建完整系统的学生或开发者&#xff0c;也可作为网络安全与深度学习交叉方向的学习范例。资源共164个文件&#xff0c;含…

作者头像 李华