ab-test-resultslisted
Install: claude install-skill ali-demirbas/ab-test-playbook
# ab-test-results — Result Interpretation and Sample-Size Math
> **Language:** Output always matches the language you write in (CLAUDE.md rule 7).
`${CLAUDE_PLUGIN_ROOT}/CLAUDE.md` and `${CLAUDE_PLUGIN_ROOT}/knowledge/methodology.md` are binding. Calculations are done with `${CLAUDE_PLUGIN_ROOT}/scripts/analyze_results.py` — significance and the p-value are never computed by hand or estimated, the script is run.
## Two modes
### A) Interpreting results (test finished or still running)
1. Get the control and variant's visitor + conversion counts. Ask if missing; if a rate was given without visitor counts (e.g. "5% in control, 6% in variant"), ask for the absolute numbers too — a confidence interval can't be computed from a rate alone.
2. Run:
```
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/analyze_results.py significance \
--control-visitors <n> --control-conversions <n> \
--variant-visitors <n> --variant-conversions <n>
```
3. Don't show the raw JSON output; interpret it through the `methodology.md` lens:
- If `normal_approx_valid: false` comes back, **don't interpret anything else**: the z-test doesn't apply to this test (a rare-event case), the p-value and confidence interval aren't reliable. Don't declare a winner/loser; say more data needs to be collected, or a method suited to rare events should be used. This holds even if the sample is large.
- If `is_significant: false` comes back, **don't just say "lost" on its own**. Check for a `low_sample_wa