Ab test analysis skill

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop recommendations.

by phuryn·MIT license·★ 26,557 Stars on the repo·GitHub ↗

Use now

Files of Ab test analysis

phuryn/main1 file shown
SKILL.md
Show the full text83 lines
ab-test-analysis-2/SKILL.md83 lines · 3.5 KB

A/B Test Analysis

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
  1. 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?
  2. 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?
  3. 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.

  4. 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
  5. 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
    Not significant, positive trend Extend the test — need more data or larger effect
    Not significant, flat Stop the test — no meaningful difference detected
    Significant negative lift Don't ship — revert to control, analyze why
  6. Provide the analysis summary:

    ## A/B Test Results: [Test Name]
    
    **Hypothesis**: [What we expected]
    **Duration**: [X days] | **Sample**: [N control / M variant]
    
    | Metric | Control | Variant | Lift | p-value | Significant? |
    |---|---|---|---|---|---|
    | [Primary] | X% | Y% | +Z% | 0.0X | Yes/No |
    | [Guardrail] | ... | ... | ... | ... | ... |
    
    **Recommendation**: [Ship / Extend / Stop / Investigate]
    **Reasoning**: [Why]
    **Next steps**: [What to do]
    

Think step by step. Save as markdown. Generate Python scripts for calculations if raw data is provided.


Further Reading
1---
2name: ab-test-analysis
3description: "Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop recommendations. Use when evaluating experiment results, checking if a test reached significance, interpreting split test data, or deciding whether to ship a variant."
4---
5 
6## A/B Test Analysis
7 
8Evaluate A/B test results with statistical rigor and translate findings into clear product decisions.
9 
10### Context
11 
12You are analyzing A/B test results for **$ARGUMENTS**.
13 
14If the user provides data files (CSV, Excel, or analytics exports), read and analyze them directly. Generate Python scripts for statistical calculations when needed.
15 
16### Instructions
17 
181. **Understand the experiment**:
19 - What was the hypothesis?
20 - What was changed (the variant)?
21 - What is the primary metric? Any guardrail metrics?
22 - How long did the test run?
23 - What is the traffic split?
24 
252. **Validate the test setup**:
26 - **Sample size**: Is the sample large enough for the expected effect size?
27 - Use the formula: n = (Z²α/2 × 2 × p × (1-p)) / MDE²
28 - Flag if the test is underpowered (<80% power)
29 - **Duration**: Did the test run for at least 1-2 full business cycles?
30 - **Randomization**: Any evidence of sample ratio mismatch (SRM)?
31 - **Novelty/primacy effects**: Was there enough time to wash out initial behavior changes?
32 
333. **Calculate statistical significance**:
34 - **Conversion rate** for control and variant
35 - **Relative lift**: (variant - control) / control × 100
36 - **p-value**: Using a two-tailed z-test or chi-squared test
37 - **Confidence interval**: 95% CI for the difference
38 - **Statistical significance**: Is p < 0.05?
39 - **Practical significance**: Is the lift meaningful for the business?
40 
41 If the user provides raw data, generate and run a Python script to calculate these.
42 
434. **Check guardrail metrics**:
44 - Did any guardrail metrics (revenue, engagement, page load time) degrade?
45 - A winning primary metric with degraded guardrails may not be a true win
46 
475. **Interpret results**:
48 
49 | Outcome | Recommendation |
50 |---|---|
51 | Significant positive lift, no guardrail issues | **Ship it** — roll out to 100% |
52 | Significant positive lift, guardrail concerns | **Investigate** — understand trade-offs before shipping |
53 | Not significant, positive trend | **Extend the test** — need more data or larger effect |
54 | Not significant, flat | **Stop the test** — no meaningful difference detected |
55 | Significant negative lift | **Don't ship** — revert to control, analyze why |
56 
576. **Provide the analysis summary**:
58 ```
59 ## A/B Test Results: [Test Name]
60 
61 **Hypothesis**: [What we expected]
62 **Duration**: [X days] | **Sample**: [N control / M variant]
63 
64 | Metric | Control | Variant | Lift | p-value | Significant? |
65 |---|---|---|---|---|---|
66 | [Primary] | X% | Y% | +Z% | 0.0X | Yes/No |
67 | [Guardrail] | ... | ... | ... | ... | ... |
68 
69 **Recommendation**: [Ship / Extend / Stop / Investigate]
70 **Reasoning**: [Why]
71 **Next steps**: [What to do]
72 ```
73 
74Think step by step. Save as markdown. Generate Python scripts for calculations if raw data is provided.
75 
76---
77 
78### Further Reading
79 
80- [A/B Testing 101 + Examples](https://www.productcompass.pm/p/ab-testing-101-for-pms)
81- [Testing Product Ideas: The Ultimate Validation Experiments Library](https://www.productcompass.pm/p/the-ultimate-experiments-library)
82- [Are You Tracking the Right Metrics?](https://www.productcompass.pm/p/are-you-tracking-the-right-metrics)
83 

Discussion

Alternatives

A/B Test SetupWhen the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program," or "experiment playbook." Use this whenever someone is comparing two approaches and wants to measure which performs better, or when they want to build a systematic experimentation practice. For tracking implementation, see analytics. For page-level conversion optimization, see cro.Marketing · MITAd Copy Generator + A/B TesterGenerate and A/B test Google Ads copy. Use when asked to write ad copy, headlines, descriptions, create ad variants, test ad messaging, improve CTR, or generate RSA (Responsive Search Ad) components. Trigger on "ad copy", "write ads", "headlines", "descriptions", "RSA", "responsive search ad", "ad text", "ad creative", "improve CTR", "ad A/B test", "ad variants", "write me an ad", "ad variation experiment", or when the user wants to improve click-through rate on existing ads.Marketing · MITA/B Test Planner SkillDesign statistically rigorous A/B tests for product features, UI changes, onboarding flows, and pricing experiments. Use when asked to set up an experiment, design an A/B test, calculate sample size, or interpret test results. Produces a complete test plan with hypothesis, variant definitions, sample size, duration estimate, guardrail metrics, and a results interpretation guide.Marketing · MITAb test setupDesign, plan, and analyze A/B tests with statistical rigor. Use when the user asks about A/B testing, split testing, experiment design, statistical significance, sample size calculation, test duration, multivariate testing, or conversion experiments. Trigger phrases include "A/B test", "split test", "experiment", "statistical significance", "sample size", "test duration", "which version wins", "conversion experiment", "hypothesis test", "variant testing".Marketing · MIT