CUPED Variance Reduction in A/B Testing, Explained (2026)
CUPED uses pre-experiment data to cut the noise in your metrics, so tests reach significance on less traffic. Here is how CUPED works, the intuition and the math, when it helps most, and which platforms support it.
Published:
Most advice on speeding up A/B tests is about getting more traffic. CUPED is the opposite idea - get more signal out of the traffic you already have. It is one of the highest-leverage techniques in modern experimentation, and it is barely known outside the teams that live in their stats engine. CUPED can roughly halve the sample size a test needs, without changing a single thing about the experiment itself, purely by subtracting out noise you can predict in advance.
CUPED - Controlled-experiment Using Pre-Experiment Data - is a variance-reduction technique that uses each user’s behaviour from before the test to sharpen the estimate of the treatment effect. The short version lives in the CUPED glossary entry; this post is the intuition, the math, and when to reach for it.
The intuition - subtract what you already knew
Imagine you are testing a change and your metric is revenue per user. Users vary wildly in how much they spend. A handful of whales spend hundreds, most spend little, and that spread is enormous noise sitting on top of whatever small lift your change produced. The lift is a whisper in a stadium.
Here is the key observation: a lot of that spread was predictable before the test even started. A user who spent a lot last month will probably spend a lot this month, regardless of your variant. That predictable part is noise you can remove, because it has nothing to do with your treatment.
CUPED does exactly that. For each user it looks at their pre-experiment behaviour, estimates how much of their in-experiment outcome that history explains, and subtracts it out. What remains is the part of the outcome that was genuinely surprising - and it is against that quieter background that your treatment effect becomes visible. The whisper is now in a library.
The math, kept honest
The adjustment is simpler than its reputation. For a metric Y and a pre-experiment covariate X (the same metric measured before the test), CUPED computes an adjusted metric:
Y_cuped = Y - theta * (X - mean(X))
where theta = Cov(Y, X) / Var(X)
The theta term is just the slope of Y on X - how much of Y you can predict from X. Subtracting theta * (X - mean(X)) removes the predictable component while leaving the average unchanged, which is why the estimate stays unbiased.
The payoff is captured by one clean result. The variance of the adjusted metric is reduced by a factor of (1 - rho^2), where rho is the correlation between the pre-experiment covariate and the in-experiment metric. So:
| Correlation (rho) | Variance reduction | Rough sample-size saving |
|---|---|---|
| 0.3 | ~9% | small |
| 0.5 | ~25% | noticeable |
| 0.7 | ~49% | roughly half the traffic |
| 0.9 | ~81% | a fraction of the traffic |
Because required sample size scales with variance, cutting variance in half roughly halves the users you need. That is the whole prize. The one non-negotiable rule: X must come strictly from before the experiment. Use anything from during the test and the treatment leaks into your covariate, and the result becomes biased.
When CUPED helps most, and when it does not
CUPED is powerful precisely when past behaviour predicts future behaviour, and useless when it does not.
- Big wins: returning-user products where engagement, revenue, or session counts are sticky month to month. A user’s history is a strong predictor,
rhois high, and the variance reduction is large. - Little to no benefit: metrics with no meaningful pre-period. First-time-visitor conversion, brand-new signups, or a metric that simply did not exist before the test has no covariate to lean on, so
rhois near zero. - Small or short tests: the overhead of computing the covariate rarely pays off on a tiny experiment, though a good engine applies it for free.
The rule of thumb: the more a user’s past predicts their present, the more CUPED is worth.
Which platforms actually do this
CUPED is not a checkbox on a basic flag tool. It is a feature of experimentation-first platforms with a real stats engine.
GrowthBook includes CUPED in its engine alongside sequential testing, Bayesian analysis and SRM checks. Being warehouse-native, it applies CUPED against your own event history in BigQuery, Snowflake or Databricks, which is exactly where the pre-experiment covariate lives. The MIT core self-hosts free. The trade is a genuine statistics learning curve and a dependency on having an instrumented warehouse.
Statsig was built by ex-Facebook engineers to recreate a rigorous internal experimentation stack, and CUPED and sequential testing are part of that engine. Flag and config checks are unlimited and free on every tier, with analytics events as the meter, so the heavy statistical machinery is cheap to run. Statsig has been owned by OpenAI since September 2025.
CUPED itself was published by Microsoft’s experimentation team and is used at scale by companies like Netflix, which speaks to its pedigree - this is production-grade methodology, not a gimmick.
Where CUPED fits in your testing practice
CUPED does not change how you design a test - you still need a hypothesis, a primary metric, and a sample-size plan. It changes the economics of that plan by shrinking the traffic required to hit the same power. Think of it as free acceleration you turn on in the engine, not a substitute for discipline.
Pair it with the fundamentals: our statistical significance guide explains what you are trying to detect, how to run an A/B test puts the workflow together, and the best experimentation platforms roundup shows which engines carry CUPED and which only claim to do A/B testing. If your tool supports it and your metric has a predictive pre-period, turning on CUPED is one of the cheapest ways to reach a trustworthy answer faster.
Frequently Asked Questions
What is CUPED in A/B testing?
CUPED stands for Controlled-experiment Using Pre-Experiment Data. It is a variance-reduction technique that uses each user's behaviour from before the test started to remove predictable noise from your metric. By subtracting out the part of a user's outcome you could have guessed from their history, the metric becomes less noisy, so the same real effect stands out more clearly. In practice that means an experiment reaches statistical significance on less traffic or in less time.
How much faster does CUPED make experiments?
The gain depends entirely on how strongly a user's pre-experiment behaviour predicts their in-experiment behaviour. The variance is reduced by a factor of roughly one minus the correlation squared. A correlation of 0.7 between the pre-period and in-experiment metric reduces variance by about 50 percent, which can roughly halve the sample size you need. Weak correlation gives little benefit. Metrics like revenue or engagement, where past behaviour strongly predicts future behaviour, tend to benefit most.
Does CUPED introduce bias into results?
No, when applied correctly CUPED is unbiased. It only uses data from before the experiment began, which cannot have been affected by the treatment, so it does not tilt the estimated effect in either direction. It reduces the variance of the estimate without shifting its expected value. The key requirement is that the covariate comes strictly from the pre-experiment period. Using in-experiment data as the covariate would break that guarantee and introduce bias.
Which A/B testing tools support CUPED?
CUPED is an advanced feature found mainly in experimentation-first platforms. GrowthBook includes CUPED in its stats engine alongside sequential testing and Bayesian analysis, and Statsig includes CUPED as part of the engine built to mirror Facebook's internal experimentation stack. It originated as a method published by Microsoft and is also used by teams at Netflix and other large-scale experimenters. Most basic feature-flag tools that bolt a chart onto percentage rollouts do not offer it.
Explore More
Tool Reviews
Related Articles
- Bayesian vs Frequentist A/B Testing - Which Stats Engine to Trust (2026)
- Confidence Intervals in A/B Testing - How to Read Them Right (2026)
- How Long to Run an A/B Test - A Practical Duration Guide (2026)
- Minimum Detectable Effect (MDE) Explained for A/B Testing (2026)
- Multi-Armed Bandit vs A/B Testing - Which Should You Use in 2026
Free Newsletter
Get the Feature Flags Newsletter
Platform benchmarks, real pricing data and progressive delivery practice. No spam.
Related Articles
Bayesian vs Frequentist A/B Testing - Which Stats Engine to Trust (2026)
Your A/B tool answers a Bayesian question or a frequentist one, and they are not the same question. Here is what each actually computes, how to read the output correctly, and which platforms use which.
July 28, 2026
guideConfidence Intervals in A/B Testing - How to Read Them Right (2026)
A confidence interval tells you the plausible range of your true lift, which is more useful than a pass-fail p-value. Here is how to read one, the overlap trap, and relative vs absolute lift.
July 28, 2026
guideEmail A/B Testing - A 2026 Guide to Subject Lines, Send Times and Real Significance
How to A/B test email properly - subject lines, send times, and content - with the split mechanics, sample-size math, and why you should measure conversions instead of just open rate.
July 28, 2026
GrowthBook Review
Statsig Review