Evaluate A/B test results with statistical rigor and translate findings into clear product decisions.
Context
You are analyzing A/B test results for $ARGUMENTS.
If the user provides data files (CSV, Excel, or analytics exports), read and analyze them directly. Generate Python scripts for statistical calculations when needed.
Instructions
Understand the experiment:
What was the hypothesis?
What was changed (the variant)?
What is the primary metric? Any guardrail metrics?
How long did the test run?
What is the traffic split?
Validate the test setup:
Sample size: Is the sample large enough for the expected effect size?
Use the formula: n = (Z²α/2 × 2 × p × (1-p)) / MDE²
Flag if the test is underpowered (<80% power)
Duration: Did the test run for at least 1-2 full business cycles?
Randomization: Any evidence of sample ratio mismatch (SRM)?
Novelty/primacy effects: Was there enough time to wash out initial behavior changes?
Calculate statistical significance:
Conversion rate for control and variant
Relative lift: (variant - control) / control × 100
p-value: Using a two-tailed z-test or chi-squared test
Confidence interval: 95% CI for the difference
Statistical significance: Is p < 0.05?
Practical significance: Is the lift meaningful for the business?
If the user provides raw data, generate and run a Python script to calculate these.
Check guardrail metrics:
Did any guardrail metrics (revenue, engagement, page load time) degrade?
A winning primary metric with degraded guardrails may not be a true win
Interpret results:
Outcome
Recommendation
Significant positive lift, no guardrail issues
Ship it — roll out to 100%
Significant positive lift, guardrail concerns
Investigate — understand trade-offs before shipping
1---2name: ab-test-analysis3description: A/B Test Analysis4---5## A/B Test Analysis67Evaluate A/B test results with statistical rigor and translate findings into clear product decisions.89### Context1011You are analyzing A/B test results for **$ARGUMENTS**.1213If the user provides data files (CSV, Excel, or analytics exports), read and analyze them directly. Generate Python scripts for statistical calculations when needed.1415### Instructions16171. **Understand the experiment**:18 - What was the hypothesis?19 - What was changed (the variant)?20 - What is the primary metric? Any guardrail metrics?21 - How long did the test run?22 - What is the traffic split?23242. **Validate the test setup**:25 - **Sample size**: Is the sample large enough for the expected effect size?26 - Use the formula: n = (Z²α/2 × 2 × p × (1-p)) / MDE²27 - Flag if the test is underpowered (<80% power)28 - **Duration**: Did the test run for at least 1-2 full business cycles?29 - **Randomization**: Any evidence of sample ratio mismatch (SRM)?30 - **Novelty/primacy effects**: Was there enough time to wash out initial behavior changes?31323. **Calculate statistical significance**:33 - **Conversion rate** for control and variant34 - **Relative lift**: (variant - control) / control × 10035 - **p-value**: Using a two-tailed z-test or chi-squared test36 - **Confidence interval**: 95% CI for the difference37 - **Statistical significance**: Is p < 0.05?38 - **Practical significance**: Is the lift meaningful for the business?3940 If the user provides raw data, generate and run a Python script to calculate these.41424. **Check guardrail metrics**:43 - Did any guardrail metrics (revenue, engagement, page load time) degrade?44 - A winning primary metric with degraded guardrails may not be a true win45465. **Interpret results**:4748 | Outcome | Recommendation |49 |---|---|50 | Significant positive lift, no guardrail issues | **Ship it** — roll out to 100% |51 | Significant positive lift, guardrail concerns | **Investigate** — understand trade-offs before shipping |52 | Not significant, positive trend | **Extend the test** — need more data or larger effect |53 | Not significant, flat | **Stop the test** — no meaningful difference detected |54 | Significant negative lift | **Don't ship** — revert to control, analyze why |55566. **Provide the analysis summary**:57 ```58 ## A/B Test Results: [Test Name]5960 **Hypothesis**: [What we expected]61 **Duration**: [X days] | **Sample**: [N control / M variant]6263 | Metric | Control | Variant | Lift | p-value | Significant? |64 |---|---|---|---|---|---|65 | [Primary] | X% | Y% | +Z% | 0.0X | Yes/No |66 | [Guardrail] | ... | ... | ... | ... | ... |6768 **Recommendation**: [Ship / Extend / Stop / Investigate]69 **Reasoning**: [Why]70 **Next steps**: [What to do]71 ```7273Think step by step. Save as markdown. Generate Python scripts for calculations if raw data is provided.7475---7677### Further Reading7879- [A/B Testing 101 + Examples](https://www.productcompass.pm/p/ab-testing-101-for-pms)80- [Testing Product Ideas: The Ultimate Validation Experiments Library](https://www.productcompass.pm/p/the-ultimate-experiments-library)81- [Are You Tracking the Right Metrics?](https://www.productcompass.pm/p/are-you-tracking-the-right-metrics)
Run npx skillmds@latest add comeonoliver/ab-test-analysis in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
A/B Test Analysis It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
ComeOnOliver (@comeonoliver) published this skill. Their other Agent Skills are listed on their SkillMD profile.