mcpField
S
stat-ab-testing

stat-ab-testing

github.com/asgard-ai-platform数据与数据库24338 次安装21 周前更新
代码仓库

关于 stat-ab-testing

用于规划和分析 A/B 测试的技能,面向实验设计团队。它强调开测前计算样本量,并根据停止规则选择分析方法。

主要功能

  1. 01比例指标的样本量计算
  2. 02频率学派、贝叶斯与序贯方法
  3. 03实验设计检查清单
  4. 04随机分组与指标检查
  5. 05显著性及护栏指标分析

适用场景

  1. 01估算实验开始前所需样本量
  2. 02按停止需求选择检验方法
  3. 03检查实验指标与随机分组
  4. 04评估结果的实际意义

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/asgard-ai-platform/skills --skill stat-ab-testing

安装后在 Claude Code 中输入/stat-ab-testing确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

examples/
sample_scenario.md
references/
bandits.md
bayesian-ab.md

详细介绍

A/B 测试统计学

框架

IRON LAW: Calculate Sample Size BEFORE Running the Test

Running a test without knowing the required sample size leads to two
failures: stopping too early (false positives) or running too long (waste).

Required inputs: baseline conversion rate, minimum detectable effect (MDE),
significance level (α), power (1-β). Calculate BEFORE starting.
样本量公式(比例)
n per group ≈ (Z_α/2 + Z_β)² × [p₁(1-p₁) + p₂(1-p₂)] / (p₁ - p₂)²

快速参考(α=0.05,power=0.8):

基准率MDE(相对值)每组 N
5%10%(→5.5%)~58,000
5%20%(→6.0%)~15,000
10%10%(→11%)~15,000
10%20%(→12%)~4,000
测试方法
方法工作原理最适用场景
频率学派(固定时限)设定样本量,运行至完成后再分析标准做法,理解透彻
贝叶斯根据数据更新信念,计算效果提升的概率需要概率陈述(“B 优于 A 的概率为 90%”)
序贯测试按间隔检查结果,并调整阈值需要在胜负明确时提前停止,或限制下行风险
实验设计检查清单
  1. 假设:你预计会发生什么,为什么?
  2. 主要指标:一个关键指标(转化率、收入、留存率)
  3. 护栏指标:不得变差的指标(页面加载时间、错误率)
  4. 随机化单位:用户、会话还是设备?
  5. 样本量:根据基准值、MDE、α、power 计算
  6. 持续时间:考虑每周周期(至少完整运行 1–2 周)
  7. 停止规则:预先定义——未经校正,不要查看结果后提前停止
分析步骤
  1. 检查随机化平衡(各组在处理前的指标上是否具有可比性?)
  2. 计算观察到的差异和置信区间
  3. 进行显著性检验(比例数据用 z 检验,连续数据用 t 检验)
  4. 检查护栏指标
  5. 解读结果时考虑实际意义

输出格式

# A/B Test Design: {Experiment Name}

## Hypothesis
- H₀: {no difference}
- H₁: {expected improvement}
- Primary metric: {metric}
- MDE: {X% relative}

## Sample Size
- Baseline rate: {X%}
- Required N per group: {N}
- Estimated duration: {days/weeks}

## Results (post-test)
| Metric | Control | Treatment | Diff | CI (95%) | p-value |
|--------|---------|-----------|------|----------|---------|
| {primary} | X% | X% | +X% | [X, X] | {value} |

## Decision
{Ship / Don't ship / Extend test} — {rationale}

注意事项

  • 频繁查看结果会增加假阳性:每天检查结果,并在 p < 0.05 时停止,可能导致 30% 以上的假阳性率。如需频繁查看,请使用序贯测试方法。
  • 新奇效应:新功能可能在初期带来提升,但随着用户逐渐熟悉,效果会减弱。测试时间应足够长(至少 2 周),以便效果趋于稳定。
  • 辛普森悖论:整体结果为正,但在每个子群中都可能为负(反之亦然)。请按关键维度进行细分。
  • 网络效应 / 干扰:如果实验组用户会与对照组用户互动(社交功能、市场),则独立性假设不成立。请使用集群随机化。
  • 统计显著性阈值是任意设定的:α=0.05 是惯例,并非真理。对于高风险决策(定价、重大 UX 变更),可考虑使用 α=0.01。

参考资料

  • 有关贝叶斯 A/B 测试方法,请参阅 references/bayesian-ab.md
  • 有关多臂老虎机方法,请参阅 references/bandits.md

评论

支持 Markdown