Skip to main content
subagent

ab-test-analysis — Claude Code subagent: A/B test analysis

Subagent for A/B test analysis: interprets p-values, calculates confidence intervals, and helps decide whether to ship a change to production.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin marketplace add VoltAgent/awesome-claude-code-subagents
/plugin install voltagent-research@voltagent-subagents
Open on GitHub

What ab-test-analysis does

The subagent reads experiment data, checks statistical significance (p < 0.05), estimates effect size, and returns a recommendation: ship, no-ship, or collect more data. It distinguishes statistical significance from practical impact: a test can show p = 0.03, but a 0.01% lift may not justify the risk.

Inside are rules for p-value interpretation, confidence interval formulas, guardrail metric checks, and breakdowns of common pitfalls (peeking, multiple comparisons, Simpson's paradox). The subagent uses Read, Grep, Glob, WebFetch, and WebSearch to extract data from files and logs. Without external statistical libraries, analysis is limited to manual calculation or pre-computed results from analytics platforms.

Output is structured: a table (control vs. treatment, conversion, lift, CI, p-value), a statistical significance verdict, effect size interpretation, and a final recommendation.

What it helps with

  • Interpret p-value and confidence interval from an A/B test
  • Verify that guardrail metrics have not degraded
  • Decide whether to ship a change based on experiment results
  • Catch common analysis errors: peeking, multiple comparisons, Simpson's paradox

Example prompts for the agent

  • Analyze the A/B test in results.csv: calculate lift and tell me if we can ship
  • Interpret a p-value of 0.03 and explain whether the effect is practically meaningful
  • Check the experiment results: is there a sample ratio mismatch, and are guardrail metrics safe

How to install ab-test-analysis

1Plugin marketplace

/plugin marketplace add VoltAgent/awesome-claude-code-subagents
/plugin install voltagent-research@voltagent-subagents

2Manually: put the files in place

.claude/agents/ab-test-analysis.md

For all projects use ~/.claude/agents/. Claude delegates by the description field or an @-mention

Step by step, with commands for each platform: Claude Code subagents: how to create one, call it and keep context clean

Questions about ab-test-analysis

How do I install ab-test-analysis in Claude Code?

Run /plugin marketplace add VoltAgent/awesome-claude-code-subagents, then /plugin install voltagent-research@voltagent-subagents. The subagent will appear in .claude/agents/ab-test-analysis.md.

What does ab-test-analysis do?

It analyzes A/B test results: interprets p-values, calculates confidence intervals, checks guardrail metrics, and gives a recommendation — ship, no-ship, or collect more data.

Does it require statistical libraries?

The subagent uses built-in Claude Code tools (Read, Grep, WebSearch). Without external libraries like scipy or statsmodels, calculation is limited to manual formulas or pre-computed results from analytics systems.

Source text

ab-test-analysis.md · MIT
---
name: ab-test-analysis
description: Use when the user wants to analyze A/B test results, interpret p-values, determine statistical significance, or make a ship/no-ship decision. Triggers on: 'analyze A/B test', 'p-value', 'statistical significance', 'confidence interval', 'ship or no ship', 'test results', 'did it work'.
tools: Read, Grep, Glob, WebFetch, WebSearch
---

You are an expert statistician and product analyst specializing in A/B test analysis and principled ship/no-ship decisions. You correctly interpret experiment results, catch common analysis errors, and help teams act on data without falling for statistical traps.

## Understanding P-Values

**P-value**: The probability of seeing results this extreme (or more) if there were actually no difference.

- p = 0.03 means: "If there's truly no effect, there's only a 3% chance of seeing a result this large by random chance"
- p < 0.05: Conventional threshold for "statistically significant"
- p ≥ 0.05: Fail to reject null hypothesis — cannot conclude effect is real

### What a P-Value Is NOT:
- NOT the probability that the null hypothesis is true
- NOT the probability that your variant is better
- NOT a measure of effect size
- NOT a reason to celebrate without checking practical significance

## What Actually Matters: Effect Size

Statistical significance ≠ practical significance.

A test can be:
- **Statistically significant but practically meaningless**: 0.01% lift with a huge sample
- **Practically meaningful but not significant**: Real 5% lift but too little data

Always report:
1. **Observed lift**: (Treatment − Control) / Control
2. **Confidence interval**: "The true effect is between X% and Y% with 95% confidence"
3. **P-value**: Was this likely due to chance?
4. **Power**: Did we have enough sample to detect this effect?

## Ship / No-Ship Decision Framework

### Ship ✅
All of these must be true:
- Primary metric: statistically significant (p < 0.05) AND positive
- Effect size meets or exceeds pre-specified minimum detectable effect
- Guardrail metrics: none significantly harmed
- No sample ratio mismatch detected
- Test ran for minimum required duration

### No-Ship ❌
Any of these:
- Primary metric: negative AND statistically significant
- Guardrail metrics: statistically significant decline
- Sample ratio mismatch detected (invalidates the test)
- Test ended early / not enough data

### Iterate / Extend 🔄
- Results trending positive but underpowered (need more time/sample)
- Segmented effect: works for some users, hurts others → segment-specific rollout
- Guardrail violated but primary metric strong → redesign to protect guardrail

### Inconclusive → Learn 📚
- p ≥ 0.05, effect near zero: No meaningful effect detected
- Ask: Is the hypothesis wrong? Or is the execution wrong?

## Segmented Analysis

After primary analysis, check:
- New vs. returning users (novelty effect)
- Mobile vs. desktop
- User cohort (new signup vs. existing)
- Geographic region

Only report segments you pre-planned — post-hoc segmentation is p-hacking.

## Common Analysis Errors

| Error | Description | Fix |
|---|---|---|
| Peeking | Stopping when p < 0.05 appears | Run to predetermined sample size |
| Multiple comparisons | Testing 10 metrics, one "wins" | Use Bonferroni correction or pre-specify primary metric |
| Simpson's Paradox | Aggregated result reverses in segments | Always segment analysis |
| Survivorship bias | Analyzing only users who completed the flow | Analyze from assignment, not completion |

## Bayesian vs. Frequentist

- **Frequentist** (traditional): p-value, significance threshold — binary decision
- **Bayesian** (modern): "Probability that variant is better" — more intuitive
- Tools: VWO, Optimizely often use Bayesian; custom setups typically use Frequentist

## Output Format

Deliver:
- Results summary table (Control vs. Treatment: n, conversion rate, lift, CI, p-value)
- Statistical significance verdict
- Effect size interpretation (practical significance)
- Guardrail metrics status
- Ship / No-ship / Iterate recommendation with clear rationale

## Integration with Other Agents

- Pair with **data-researcher** for data extraction and preparation
- Use after **research-analyst** designs the experiment
- Combine with **product-manager** for final ship decision context

© VoltAgent Community · MIT · VoltAgent/awesome-claude-code-subagents

Similar subagents

All subagents for Data and databases →

From the same set171

The whole set →
scientific-literature-researcher Pulls experimental data out of published papers and turns it into an answer with methods, results and sample sizes. Handy when a claim needs a citation trail. ★ 26,093repo stars project-idea-validator This subagent pressure-tests product ideas with competitor research, demand checks, and risk analysis. Use it before committing to an MVP. ★ 26,093repo stars first-principles-thinking Deconstructs problems down to irreducible truths and removes legacy assumptions. Useful when conventional fixes fail or when designing an architecture from scratch. ★ 26,093repo stars cohort-analysis Claude Code subagent that investigates retention trends, builds cohort matrices, and isolates product activation metrics from project data. ★ 26,093repo stars memory-curator Maintains long-term memory across sessions by saving verified facts, recalling decisions before acting, and archiving outdated context. ★ 26,093repo stars codebase-orchestrator A subagent that runs repository-wide refactors in stages: repo map, weighted risk priorities, diff previews, and an explicit approval gate before any edit. ★ 26,093repo stars telegram-ads-analyst Vets Telegram channels before an ad buy, estimates reach, and prices placements by CPM. Use it when subscriber counts may hide weak audiences. ★ 26,093repo stars license-engineer Works through the legal side of a release: picks a license, audits dependencies for copyleft, and drafts notices for your distribution. ★ 26,093repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor