# Ab Test Analysis

> 分析已有 A/B 实验数据的分组质量、转化或连续指标提升、统计显著性与置信区间，并输出审慎上线建议。用于用户要求 A/B 测试、实验效果、显著性检验、转化率对比、对照组与实验组评估时。

- Skill: `zafer-liu/ab-test-analysis` (Agent Skill)
- Install (CLI): `npx skillmds add zafer-liu/ab-test-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zafer-liu/ab-test-analysis/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: Zafer-Liu (https://skillmd.com/u/zafer-liu)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/zafer-liu/ab-test-analysis

---

# A/B 实验分析

分析已采集的实验数据；不要配置线上分流、修改用户分组或宣称因果关系超出随机实验设计所支持的范围。

## 必要口径

先确认或从数据中识别以下信息。缺少会改变结论的定义时，只问一个最关键的问题。

- 对照组和实验组的分组字段及取值；默认以对照组为基准。
- 随机化单位（用户、设备、订单等）及其唯一标识字段。
- 主指标与指标类型：二元转化、用户级连续值，或需先按用户聚合的收入/次数。
- 实验起止时间、过滤条件，以及主指标的分母和成功条件。

不得把曝光数、订单行数或事件行数直接当作独立用户样本；先按随机化单位聚合。只在数据明确存在恰好两组且分组定义清晰时输出 A/B 结论；否则说明这是多组或非实验比较。

## 工作流

1. 用 `get_schema` 确认候选表、字段类型和时间覆盖范围；不臆造字段或业务事件。
2. 用 `query_data` 检查每个实验单位是否只有一个分组、各组样本量、缺失值，以及实验期间是否一致。发现重复分组、空分组或明显的样本比例失衡时，先报告风险。
3. 用 `run_analysis` 执行 `AB_Test_Analysis`。SQL 必须返回每个随机化单位恰好一行、一个数值指标列和一个分组列；不要传原始事件行。
4. 在 `analysis_options` 中传入 `control_group`；可选传入 `metric_type`（`binary` / `continuous` / `auto`）及 `expected_allocation`。二元指标必须为 0/1。
5. 读取结果中的比例/Welch 检验、95% 置信区间、提升幅度与 SRM。不要自行计算 p 值或置信区间。
6. 同时检查并报告样本比例是否与预期分流一致、实验周期是否完整，以及多个指标/分组比较带来的假阳性风险。未预先声明为主指标的结果仅标为探索性。
7. 先给出一张组间对比表；数据支持时，用 `generate_chart` 绘制主指标及 95% 置信区间，或按日期的组别趋势图。

## 结论规则

- 仅在双侧 `p < 0.05`、95% 置信区间不跨 0、方向与业务目标一致，且样本质量没有重大问题时，建议“实验组在该主指标上有统计证据优于对照组”。
- `p >= 0.05` 或置信区间跨 0 时，写“尚无足够证据证明差异”，不要写“两个版本相同”。
- 显著但效果很小、区间很宽、样本比例异常、实验过早停止或存在多重比较时，建议继续实验或复核，不直接建议全量上线。
- 不把统计显著性当作业务显著性；将预先约定的最小可接受提升、成本和护栏指标纳入建议。数据中没有这些信息时明确列为未验证项。

## 输出格式

按以下顺序输出：实验口径与数据范围、样本质量检查、主指标结果表、统计结论、业务建议、局限性与下一步。每个关键数字标注来源表和过滤条件；区分观察结果、统计推断和业务假设。

## 工具路由

1. 使用 `get_schema` 识别实验表、随机化单位、分组、指标与时间字段。
2. 使用 `query_data` 完成单位级聚合与数据质量预检；SQL 中显式写出过滤条件与分组字段。
3. 使用 `run_analysis` 并设置 `analysis_name="AB_Test_Analysis"`、`target_column`、`groupby_column` 和 `analysis_options`。
4. 只在主指标结果已验证后使用 `generate_chart`，图表必须标明组别、指标、时间范围与置信区间口径。

## Implementation reference

- 查询工具：`agent/tools/business/data.py::_tool_query_data`
- 图表工具：`agent/tools/business/data.py::_tool_generate_chart`
- 图表实现：`Function/Charts_generation/chart_generate.py`

