Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Analyse a finished A/B test and write an honest results readout with real statistics. Use when asked to read out an A/B test, analyse experiment results, check if a result is statistically significant, or decide ship/no-ship from test data. Produces a readout — the computed lift, p-value & confidence interval, a significance verdict, guardrail check, and a clear ship / no-ship / iterate recommendation. Includes a stdlib significance calculator.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 21% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 45% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 68% | 0% |
A test result is only a decision if the statistics are sound — and "variant looks higher" is not a result. This skill computes the lift, the p-value, and a confidence interval from the raw counts, checks the guardrails, and writes an honest readout with a clear ship/no-ship call — flagging the traps (peeking, underpowered, novelty, a significant but tiny effect) that make teams ship noise.
Ask for these only if they aren't already provided:
1. Result — computed (use the helper): control vs. treatment rate, absolute & relative lift, p-value, and the confidence interval on the difference.
| Variant | N | Conversions | Rate | |---|---|---|---| | Control | | | | | Treatment | | | |
→ Lift: X% (CI: a%, b%]) · p = 0.0xx
2. Verdict — significant at the stated bar or not, and whether the effect is big enough to matter (a significant +0.2% may not be worth the complexity). Distinguish statistical from practical significance.
3. Guardrails — did anything you promised not to harm move? A win that tanks a guardrail isn't a win.
4. Validity checks — was it run to the planned sample (no peeking/early-stopping)? Sample-ratio mismatch? Novelty/seasonality? Call out anything that undermines the result.
5. Recommendation — ship / no-ship / iterate / re-run, with the reason. If inconclusive, say so — "no significant difference" is a valid, useful result, not a failure to spin.
scripts/ab_significance.py (stdlib only) computes the two-proportion z-test, p-value, lift, and CI:
bash# python3 ab_significance.py <control_n> <control_conv> <treat_n> <treat_conv> python3 scripts/ab_significance.py 10000 800 10000 880 python3 scripts/ab_significance.py 10000 800 10000 880 --json
Frequentist A/B analysis — two-proportion z-test, confidence intervals, guardrails, and the peeking/practical-significance pitfalls.
Other measured skills in the registry, with their headline benchmark lift.