Champion/Challenger Testing vs A/B Testing: When the Older Method Still Wins
TL;DR
- →Learn what makes champion/challenger fundamentally different from a standard, time-bounded A/B test.
- →See how it differs from a multi-armed bandit, and why the tradeoff is auditability rather than algorithmic power.
- →Use the three-question decision framework to choose the right method before you build anything.
Champion/challenger testing predates A/B testing as most web teams practice it today, and it never went away — it just moved into places like fraud scoring, credit models, and recommendation systems, where it is still the default. It resurfaces in web and product experimentation whenever a team needs something an A/B test does not naturally give them: a live, defensible incumbent that keeps running while a challenger earns its way past it, one comparison at a time. This guide covers what champion/challenger actually is, how it differs from a standard A/B test and from a multi-armed bandit, and when reaching for it is the right call instead of a reflex from a different industry.
What champion/challenger actually means
In a champion/challenger setup, there is always a "champion" — the current best-known approach, running in production and serving the majority of traffic — and one or more "challengers," each getting a smaller, deliberately limited slice. A challenger that beats the champion by a pre-agreed margin gets promoted to be the new champion. One that doesn't gets retired, and a new challenger takes its slot.
The defining feature is that there is no fixed end date and no single terminal readout. The champion is always the reigning answer to "what do we run right now," and the question the process answers is not "which of these two options is better," but "is there currently anything that beats what we're running, and if so, promote it." That framing is closer to a standing tournament than to a bounded scientific test.
How this differs from a standard A/B test
A standard A/B test is symmetric and time-bounded: control and variation split traffic roughly evenly, the test runs until it reaches a pre-computed sample size, and it ends with a single decision — ship the variation, keep the control, or call it inconclusive. Once the decision is made, the test is over. There is no "champion" that persists into the next test by default; each new test starts from a fresh 50/50 split unless you deliberately structure it as a sequel.
Champion/challenger drops the symmetry and the fixed endpoint on purpose. The champion typically gets the large majority of traffic — commonly 80-90% or more — because it is a known quantity you don't want to put unnecessarily at risk, while the challenger gets just enough to accumulate evidence without meaningfully denting overall performance if it turns out to be worse. And rather than one comparison with a hard stop, the process continues indefinitely: today's promoted challenger becomes tomorrow's champion, facing the next challenger in line.
A/B test: control (50%) vs variation (50%) -> fixed sample size -> one decision -> test ends
Champion/challenger: champion (80-90%) vs challenger (10-20%) -> ongoing -> promote or retire -> repeats indefinitely
How this differs from a multi-armed bandit
Champion/challenger and multi-armed bandit allocation look similar on the surface — both give the current best option more traffic than the alternatives — but the mechanism and the guarantee behind them are different.
A bandit reallocates traffic continuously and automatically based on observed performance, adjusting the split many times over a run in pursuit of maximizing cumulative reward across the whole traffic stream. It optimizes for earning during the test itself, and it explicitly trades away the clean significance machinery of a fixed-split test to do it — see the fuller comparison in Stats Accelerator vs MAB vs contextual bandit for the mechanics.
Champion/challenger's traffic split is typically set once by a person, not continuously re-optimized by an algorithm, and the promotion decision at the end is usually a discrete, human-reviewed comparison against a stated threshold rather than a live reallocation curve. It trades the bandit's automatic optimization for something a bandit does not offer: an easily explainable, auditable record of exactly when and why each promotion happened — which matters a great deal in domains like credit and fraud decisioning, where a regulator or an internal risk committee needs to be able to reconstruct the reasoning behind a model change.
When champion/challenger is the right choice
The clearest case for champion/challenger over a standard A/B test is when there genuinely is no natural end date to the comparison — recommendation ranking, fraud-scoring thresholds, and pricing models are all domains where "the current best model" is a permanent, evolving role rather than a question with a final answer. In those settings, running a fresh symmetric A/B test for every candidate improvement means repeatedly re-litigating a decision that champion/challenger treats as continuous by design.
It is also the better fit when the cost of a wrong answer at scale is asymmetric and high, and you want the safety of keeping the bulk of traffic on a known-good option while a challenger proves itself gradually rather than immediately splitting evenly. A fraud-scoring model that gets it wrong on 50% of transactions during a symmetric test is a materially worse outcome than one that gets it wrong on 10-20% while a challenger is evaluated.
And it fits a governance requirement an A/B test's single readout does not naturally satisfy: an auditable trail of exactly which model was live when, and what threshold each promotion cleared. Web experimentation platforms report a result; champion/challenger produces a lineage.
When it is the wrong choice
For a typical web or product experiment — a landing page redesign, a checkout flow change, a new onboarding sequence — a standard A/B test is almost always the better tool, not the weaker one. These changes usually do have a natural end state: you either ship the winner or you don't, and there is no ongoing "model" that needs a permanent incumbent role. Reaching for champion/challenger here mostly adds complexity — an indefinite runtime, an ambiguous promotion threshold, traffic sitting on a "challenger" slice long after a fixed-horizon test would have already reached a clean answer — without adding anything the situation actually needed.
It is also the wrong tool when you need the formal significance guarantees a platform like Optimizely's Stats Engine provides. Because champion/challenger's traffic split and promotion threshold are typically set by policy rather than derived from a significance calculation, it does not carry the same false-discovery-rate guarantee a properly sized, symmetric test does. If your organization needs a defensible "we know this is real" answer for a single, bounded decision, that is what a standard test is built to provide.
A decision framework
Ask three questions before choosing between the two:
Is there a natural end date to this comparison, or is "the current best option" a permanent, evolving role? A permanent role points toward champion/challenger; a bounded decision points toward a standard test.
Do you need a rigorous significance guarantee for a single decision, or an ongoing, auditable lineage of incremental promotions? The former points toward a fixed-horizon A/B test; the latter points toward champion/challenger.
Is the downside of a bad challenger large enough that you want it capped at a small traffic share indefinitely, rather than accepted at 50% for a bounded window? If yes, that argues for champion/challenger's asymmetric, ongoing split over a standard test's symmetric one.
Common mistakes
Using champion/challenger for a one-off decision with a real end state. This just adds indefinite runtime and an ambiguous stopping point to a question that a fixed-horizon test would answer more cleanly.
Confusing it with a bandit and expecting automatic reallocation. Champion/challenger's split is typically fixed by policy; if you want continuous, algorithmic reallocation toward the better-performing option, that is a bandit, not this.
Skipping a stated promotion threshold. Without one, "is the challenger good enough" becomes a judgment call made after the fact, which reopens exactly the kind of post-hoc reasoning a designed comparison is supposed to prevent.
Applying it to web page tests out of habit from a fraud or risk background. The governance need that makes champion/challenger valuable in those domains usually isn't present for a landing page test, and the standard A/B test's cleaner significance guarantee is the better fit.
Key takeaways
Champion/challenger keeps an incumbent "champion" running on most traffic indefinitely, promoting a challenger only when it clears a pre-agreed margin — there is no fixed end date and no single terminal readout.
It differs from a bandit in that the traffic split and promotion decision are typically set by policy rather than continuously optimized by an algorithm, trading automatic reallocation for an auditable lineage.
It fits domains with a permanent "current best" role and asymmetric downside risk — fraud, credit, ranking — better than it fits a typical web experiment with a real end state.
For a bounded product decision, a standard A/B test with a proper significance guarantee is almost always the better tool.
Frequently asked questions
Is champion/challenger testing the same as an A/B test with unequal traffic splits?
Not quite. An unequal split alone doesn't capture the defining feature, which is the lack of a fixed end date — champion/challenger is an ongoing process where today's winner becomes tomorrow's incumbent, not a single bounded comparison with an unusual split.
Does Optimizely support champion/challenger testing directly?
Optimizely's Stats Engine is built around bounded, significance-driven comparisons rather than an indefinite promotion lineage. Teams that need champion/challenger's governance model typically build it as a repeated series of fixed-horizon tests with a documented promotion rule between them, rather than relying on a single ongoing experiment configuration.
How is champion/challenger different from a multi-armed bandit in practice?
A bandit continuously reallocates traffic toward whichever arm is performing best, optimizing for cumulative reward during the run itself. Champion/challenger's split is typically fixed by policy, and the promotion decision is a discrete, auditable comparison against a stated threshold rather than a live reallocation curve.
David Sertillange
Independent experimentation specialist
David Sertillange is an independent experimentation specialist with 10 years implementing Optimizely across enterprise programs. He specializes in Feature Experimentation, analytics integrations, and helping teams build a culture of data-driven decision making.
Related articles
Subscribe
Practical Optimizely tips, monthly. No fluff.