ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

pm-skills 项目 A/B 测试分析技能实战指南:从显著性检验到 Ship/Extend/Stop 决策

pm-skills 项目 A/B 测试分析技能实战指南:从显著性检验到 Ship/Extend/Stop 决策 pm-skills 项目 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本篇技术指南聚焦 pm-skills 仓库中pm-data-analytics插件的ab-test-analysis技能讲解如何以统计严谨性评估 A/B 测试结果并将 p 值、置信区间、样本量校验与守卫指标转化为明确的产品决策Ship / Extend / Stop / Investigate。读完本文你将掌握该技能的完整六步分析流程、样本量公式的用法、配套/analyze-test命令的调用方式以及如何结合仓库源码理解其运行机制。技能定位为 PM 而生的实验分析框架ab-test-analysis是pm-data-analytics插件提供的三大技能之一仓库根 README.md 将其描述为 Statistical significance, sample size validation, and ship/extend/stop recommendations。技能文件位于 pm-data-analytics/skills/ab-test-analysis/SKILL.md其 YAML frontmatter 定义了技能的触发条件name: ab-test-analysis与所在目录名一致符合agentskills.io规范description明确列出触发场景评估实验结果、检查测试是否达到显著性、解读分流测试数据、决定是否上线某个变体variant。仓库根目录的 validate_plugins.py 会对每个SKILL.md做结构校验要求存在 YAML frontmatter、name与目录名匹配、description必填且建议包含 use when 等触发短语。ab-test-analysis的 description 中正是通过 Use when evaluating experiment results... 显式声明了触发时机这也是技能能被 Agent 自动加载的关键设计。插件层面pm-data-analytics/.claude-plugin/plugin.json 声明了该插件的版本2.0.0、作者Paweł Huryn与 keywordsproduct-management、data-analytics、sql、cohort-analysis、retention并将ab-test-analysis、cohort-analysis、sql-queries三个技能与analyze-test、analyze-cohorts、write-query三个命令打包为一个可安装插件。输入方式与使用场景技能文件在 Context 一节中声明分析目标是$ARGUMENTS用户在对话中给出的实验描述。技能支持三种输入形态直接粘贴汇总统计例如 Control: 4.2% conversion (n5000), Variant: 4.8% conversion (n5100)上传数据文件CSV、Excel 或分析平台导出技能会直接读取并分析实验平台截图来自 Optimizely、LaunchDarkly 等平台的测试结果截图。当用户提供原始数据尤其 CSV时技能会生成并运行 Python 脚本完成统计计算。配套命令/analyze-test见 pm-data-analytics/commands/analyze-test.md在 Notes 一节进一步明确If data is provided as CSV, generate the full analysis using Python with scipy.stats——即以scipy.stats作为统计计算引擎。六步分析工作流详解技能的核心是六步递进流程每一步都对应可验证的操作。第一步理解实验在动手计算前先建立对实验本身的完整认识技能要求明确回答五个问题假设实验前预期会发生什么变更内容variant 与 control 之间到底改了什么指标主指标是什么有无守卫指标guardrail metrics时长测试跑了多久流量切分control 与 variant 的流量比例是多少这一步看似简单却是避免算对数字、判错实验的前提。第二步校验测试设置样本量与实验有效性技能要求从四个维度审查实验设计质量任何一项不达标都应显式标记因为有缺陷的实验结果会产生误导样本量n (Z²α/2 × 2 × p × (1-p)) / MDE²这是双样本比例检验的经典样本量公式。其中p为基准转化率通常取 control 的预估转化率MDE为最小可检测效应Minimum Detectable EffectZα/2是显著性水平对应的标准正态分位数——在 95% 置信度α 0.05下取 1.96。公式求得的是每个变体所需的样本量。若实际样本不足技能会标记测试功效低于 80%underpowered此时结论应倾向延长测试而非无效。配套命令analyze-test.md的 Step 3 将其落地为三个可输出的结论Required sample达到指定 MDE 与 80% 功效所需的每变体样本量、Actual sample、VerdictSufficiently powered / Underpowered / Overpowered。时长至少覆盖 12 个完整业务周期business cycles以捕捉周内波动随机化检查是否存在样本比例失衡Sample Ratio MismatchSRM——如果 control 与 variant 的分配比例显著偏离预期说明随机化被破坏结果不可信新奇/首因效应novelty/primacy effects新功能上线初期用户行为会异常需要足够时间冲刷掉初始行为变化。第三步计算统计显著性技能要求计算六项核心指标control 与 variant 的转化率相对提升(variant - control) / control × 100p 值使用双尾 z 检验或卡方检验。z 检验统计量为z (p̂₁ - p̂₂) / √(p̂(1-p̂)(1/n₁ 1/n₂))其中p̂为合并比例卡方检验等价于双尾比例检验适用于 2×2 列联表置信区间差异的 95% CI即(p̂₁ - p̂₂) ± 1.96 × SESE 为差异的标准误统计显著性p 0.05 是否成立实际显著性practical significance提升对业务是否真正有意义——统计显著不等于值得上线。若用户提供原始数据技能会生成并运行 Python 脚本完成上述计算。结合analyze-test.md的指引scipy.stats一个典型的计算脚本形态如下由 Agent 依据命令文档生成实际运行时会以用户数据为准from scipy import stats # control 与 variant 的转化数与样本量 c_conv, c_n 210, 5000 v_conv, v_n 245, 5100 # 双尾 z 检验等价于卡方检验的比例版 z, p stats.proportions_ztest( [v_conv, c_conv], [v_n, c_n], alternativetwo-sided ) # 95% 置信区间 p1, p2 v_conv / v_n, c_conv / c_n se ((p1 * (1 - p1) / v_n) (p2 * (1 - p2) / c_n)) ** 0.5 ci (p1 - p2 - 1.96 * se, p1 - p2 1.96 * se) print(fp-value: {p:.4f}, 95% CI: [{ci[0]:.4f}, {ci[1]:.4f}])注意stats.proportions_ztest对数组参数的取值顺序有约定生成脚本时以scipy.stats官方签名为准脚本的目的在于把统计量算准让结论落在数据而不是直觉上。第四步检查守卫指标守卫指标如收入、整体活跃度、页面加载时间用于防止赢了主指标、输了产品。技能明确指出主指标显著为正但守卫指标恶化可能并非真正的胜利。例如转化率提升但复购率显著下滑应当降级为需要调查而非直接上线。第五步解读结果并给出决策技能提供了一张五行的决策表这是整个技能的决策核心结果建议显著正提升无守卫指标问题上线Ship it——逐步放量至 100%显著正提升存在守卫指标隐忧调查Investigate——上线前理解权衡不显著但呈正向趋势延长测试Extend the test——需要更多数据或更大效应不显著且结果平坦停止测试Stop the test——未检测到有意义的差异显著负提升不要上线Dont ship——回退到 control并分析原因这张表把统计结论 业务权衡压缩为四类可执行动作也是/analyze-test命令输出中 Recommendation 字段的来源。第六步输出分析摘要技能给出了结构化的输出模板/analyze-test命令analyze-test.mdStep 4将其扩展为更完整的报告骨架。两者融合后的核心字段包括实验概况测试名、假设、时长、每变体样本量结果表格Metric | Control | Variant | Lift | p-value | Significant?统计细节相对提升及 CI、最小可检测效应样本量检查Required / Actual / Verdict决策RecommendationSHIP / EXTEND / STOP / INVESTIGATE Reasoning Next steps业务影响估算若全量上线预计的月度/季度指标变化与收入影响并标注置信程度注意事项与后续实验有效性问题、分群差异、新奇效应以及上线后的监控计划。技能与命令都要求Think step by step并以 markdown 保存分析结果。配套命令 /analyze-test从数据到决策的端到端工作流与技能配套的/analyze-test命令pm-data-analytics/commands/analyze-test.md将上述流程封装为五步可重复的工作流接受测试数据汇总统计、原始事件 CSVuser_id, variant, converted, timestamp等字段、实验平台截图或文字描述均可校验实验设计运行功效分析、检查时长与随机化SRM、排查测试期间的外部因素应用 ab-test-analysis 技能计算 p 值与置信区间、绝对与相对效应量、实际显著性并在数据允许时做分群分析segment analysis以发现差异化影响生成分析报告输出包含 Results Summary、Statistical Analysis、Sample Size Check、Decision、Business Impact Estimate、Caveats、Follow-Up 七个章节的完整报告模板提供后续动作主动提议设计后续实验、按细分群体运行分析、或生成监控指标的 SQL。命令的 Notes 一节沉淀了四条实战经验同样适用于技能的日常使用统计显著性 ≠ 实际显著性数据足够多时 0.1% 的提升也可能显著但不值得上线先查样本比例失衡再信结果新奇效应会虚增短期结果上线后建议监控 24 周功效不足时正确答案是延长而非无效应。与仓库其他技能的协作ab-test-analysis并非孤立存在它与pm-data-analytics插件的其他组件形成闭环pm-data-analytics/skills/cohort-analysis/SKILL.md当实验结论是延长测试或需要理解留存差异时可用群组分析定位问题队列该技能的 Step 5 也建议基于发现设计 A/B 测试或功能实验pm-data-analytics/skills/sql-queries/SKILL.mdanalyze-test命令 Step 5 提供的生成 SQL 监控上线后指标正是该技能的用武之地pm-data-analytics/commands/analyze-cohorts.md实验前定义群组基线、实验后验证人群差异与analyze-test互补。使用与安装方式技能文件遵循通用技能格式任何支持读取skills/*/SKILL.md的工具均可使用。在 Claude Code 中通过插件市场安装pm-data-analytics插件后技能会在对话涉及实验评估时自动加载也可用/pm-data-analytics:ab-test-analysis强制加载/analyze-test命令则通过斜杠指令直接触发。各工具的具体安装路径可参考仓库根 README.md 的 Installation 一节。延伸阅读仓库内pm-data-analytics/skills/ab-test-analysis/SKILL.md本文讲解的技能源文件pm-data-analytics/commands/analyze-test.md配套命令的完整工作流与报告模板pm-data-analytics/skills/cohort-analysis/SKILL.md留存与群组分析技能pm-data-analytics/README.md插件级能力总览validate_plugins.py仓库对技能/命令结构的校验实现【免费下载链接】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),仅供参考
返回列表