In this article
  1. Before you start
  2. Why interviewers ask this
  3. Champion challenger model deployment from first principles
  4. Worked example
  5. Trade-offs and edge cases
  6. How to answer it in an interview
  7. Common mistakes
  8. Follow-up questions
  9. Sources

Before you start

Related: machine learning operations (MLOps) interview questions. This page assumes the basics of machine learning algorithms.

Why interviewers ask this

A model that beats the current one on a held-out test set can still lose on live traffic, because production data shifts and test sets age. Champion challenger deployment is how a team gets evidence from live traffic before it changes what any user sees, so it comes up in the deployment part of a machine learning (ML) system design round.

A weak answer says "deploy the new model and watch the metrics." A strong answer separates who answers users from who is only scored, explains how the two models are compared fairly, and names the cost. A Staff-level answer adds the label delay, the sample size needed to call a winner, and a promotion rule agreed before the test starts. The same habit of checking a model against live data runs through model drift and large language model (LLM) observability.

Champion challenger model deployment from first principles

Champion
In a champion challenger setup, the champion is the model that currently serves production traffic, the one whose predictions reach users or downstream systems, and it is the baseline that every candidate must beat before it is allowed to replace it.
Challenger
A challenger is a candidate model, deployed beside the champion, that scores the same live requests but has its predictions logged instead of returned, so it can be compared with the champion on real traffic without affecting any user. Several challengers can run at once.
Shadow deployment
Shadow deployment is a release technique that sends a copy of all or a sampled share of live requests to a second model and logs its responses without returning them, so the second model is tested on real traffic while it serves nobody. It is the form of champion challenger described here, also called shadow testing or a dark launch.

In plain words

Picture a restaurant. A new chef cooks every order beside the head chef. Only the head chef's plate goes to the table. The new chef's plate goes on a shelf. Later, the team checks which plate matched what the diner wanted. The analogy breaks in one place. A diner's reaction is visible at once. A model's true outcome may arrive weeks later. And nobody reacts to the challenger's output at all.

In one precise sentence, champion challenger deployment scores a candidate model on the same live requests as the production model, withholds the candidate's output from users, and compares the two once true labels exist.

Step 1: Duplicate each request and answer only with the champion

The champion answers the caller; the challenger scores a copy of the request. Seldon's documentation puts it as traffic that "is duplicated so that it goes to both a main model and also a shadow model", and the responses that reach the end user come only from the main model (Seldon docs, as of October 2026).

Dataiku's documentation describes this mode as deploying one or more extra models whose predictions are "simply logged for further analysis" (Dataiku Knowledge Base, as of October 2026).

Input: one live request. Output: one answer to the caller and one hidden score. SageMaker forwards a user-set traffic sampling percentage to the shadow variant (Amazon Web Services (AWS) Machine Learning Blog, as of October 2026). A sensible ramp, with illustrative steps of 5%, 25% and 100%, starts low and rises as confidence grows.

As design advice, not a platform requirement, call the challenger asynchronously with its own timeout, so a slow challenger never delays the champion. You now know how the two models see the same input; next comes the record that makes comparison possible.

Step 2: Log both predictions under one request id

Both predictions are logged under one request id. Without a shared id, the champion's score and the challenger's score for the same request cannot be paired later, and a paired comparison is the fair one.

Input: the two predictions. Output: one log row per request. A useful row holds the request id, a timestamp, the model versions, the input features (or a pointer to them), and both scores. SageMaker can log the shadow variant's response in Amazon Simple Storage Service (Amazon S3) or discard it (AWS Machine Learning Blog, as of October 2026). Keep it. A discarded response tests only that the challenger runs; a logged one lets you test whether it is right. The feature store design page shows how to make sure both models read the same feature values.

Step 3: Wait out the label delay, then compare on the same requests

The comparison waits for the true labels to arrive. A label is the true outcome for a request, such as "this payment was fraud." Until labels exist, the log holds two columns of guesses and no verdict.

Input: the log plus the labels. Output: a metric for each model on the same requests, and a test of whether the gap is real. Label delay decides how soon this step can start. For fraud, a chargeback can take weeks; for a click, seconds.

This is why the answer to "how long do we run the challenger?" has two parts: the time to collect enough labelled requests, and the label delay on top. The worked example below puts numbers on both, and a larger sample is what turns a small gap into evidence.

Step 4: Promote the winner or retire the loser

A winning challenger is promoted; a losing one is retired. Promotion makes the challenger the new champion, and the old champion becomes a baseline or is removed. Both Seldon and SageMaker offer promotion as a platform step: SageMaker, once you confirm, updates the endpoint to make the shadow variant the new production variant (AWS Machine Learning Blog, as of October 2026).

Before promoting, raise sampling to 100 percent. AWS says sampling 100 percent of requests lets you validate that the shadow variant can handle production traffic once promoted, and recommends the same instance type, size and count as production (SageMaker developer guide, as of October 2026). Write the promotion rule down before the test starts. The continuous delivery design page covers how that rule fits a pipeline.

Only the champion answers while the challenger is scoredFlow of champion challenger deployment: a live request reaches the champion and the challenger, both predictions go to one log, a comparison runs once labels arrive, and the winner is promoted or the loser retired.Live requestsame input tobothChampionanswers thecallerChallengerscores a copyPrediction logone request idComparewith true labelsPromote orretirerule set inadvanceDiagram: Interview Clozo, CC BY 4.0 ·interview.clozo.ai/blog/champion-challenger-model-deployment.html

Only the champion answers the caller; the challenger is scored on a copy and promoted only after the comparison.CC BY 4.0 — source: What is champion challenger model deployment?
Step-by-step description
  1. The champion answers; the challenger scores a copy.
  2. Both predictions share one request id.
  3. Compare on the same requests once labels arrive.
  4. The winner is promoted, the loser retired.
  • The champion answers the caller; the challenger scores a copy of the request.
  • Both predictions are logged under one request id.
  • The comparison waits for the true labels to arrive.
  • A winning challenger is promoted; a losing one is retired.

Knowing it is half the job. Saying it is the other half.

Interview Clozo is an AI interview copilot for real interview rounds: it hears the question and puts a strong answer on your screen, and you say it in your own words. See the features or how it works.

Start Free Trial →

Worked example

Take a fraud model whose challenger has been shadowed on 10,000 requests that now have true labels (illustrative). The counts below are illustrative; every figure derived from them was computed.1

The champion was right on 9,500 requests and the challenger on 9,580 (illustrative), so accuracy is 95.0% against 95.8%. Accuracy is used only to keep the arithmetic readable; a real fraud team would compare precision, recall and the cost of each error.

Only the requests where the two models disagree can separate them. There are 680 such requests: the challenger was right on 380 and the champion on 300. The McNemar test, a standard test for paired yes/no outcomes, asks whether a split of 380 to 300 could be luck if both models were equally good. Its statistic, without continuity correction, is (380 − 300)² / 680 = 9.41, and the p-value is 0.0022, so luck is an unlikely explanation. With continuity correction the statistic is 9.18, which still gives a p-value below 0.01.1

The challenger's 0.8-point accuracy gain is clear at 10,000 labelled requests but unresolved at 1,000 with identical rates.
QuantityValue (illustrative inputs, computed results)
Labelled requests compared10,000
Both models right9,200
Champion right, challenger wrong300
Challenger right, champion wrong380
Both wrong120
Champion accuracy95.0%
Challenger accuracy95.8%
Difference0.8 percentage points
95% confidence interval of the difference0.29 to 1.31 percentage points
p-value, McNemar test0.0022
Same rates with 1,000 requestsp-value about 0.33, interval −0.82 to 2.42 points

With a tenth of the requests and the same rates, the interval includes zero, so no winner can be called.1 Sample size, not the size of the gap, makes the verdict.

Time matters too. At 20,000 requests a day (illustrative), a 5% sample reaches 10,000 requests in 10 days and a 100% sample in 1 day. A 30-day label delay (illustrative) adds to every case, so the verdict comes on day 40, 32 or 31.1

Most of the wait is label delay at every sampling rateBar chart of days to a verdict for illustrative traffic of 20,000 requests a day, 10,000 labelled requests needed and a 30-day label delay: 40 days at 5% sampling, 32 at 25% and 31 at 100%.Days to a verdict (days)010203040505%25%100%Traffic sampling rate403231Diagram: Interview Clozo, CC BY 4.0 ·interview.clozo.ai/blog/champion-challenger-model-deployment.html
Raising the sampling rate shortens the collection but cannot shorten the label delay.CC BY 4.0 — source: What is champion challenger model deployment?
Text description of the diagram
  • A 5% sample reaches 10,000 requests in 10 days and a 100% sample in 1 day.
  • A 30-day label delay adds to every case, so the verdict comes on day 40, 32 or 31.

Cost is the other number. If the champion runs on 4 instances (illustrative), a 100% shadow adds 4 more, so total inference compute is twice the normal bill during the test.1

Trade-offs and edge cases

Shadow deployment trades money and time for safety. It exposes nobody to the challenger, but it needs a second fleet and cannot show how users react. Three release patterns are often confused, so keep them apart. Shadow sends a copy of all live traffic to the challenger and logs its responses without returning them (Seldon docs, as of October 2026), or a sampled share of it (AWS Machine Learning Blog, as of October 2026).

A canary release is a rollout that sends a small percentage of real traffic to the new model while most traffic stays on the old one (Seldon canary docs, as of October 2026). In an A/B test the candidate scores a portion of live requests and serves them (Dataiku Knowledge Base, as of October 2026).

Only shadow deployment exposes no user to the new modelTable comparing shadow deployment, a canary release and an A/B test by who sees the new model's output, how much traffic it gets, whether user reaction can be measured, and what it costs during the test.QuestionShadowCanaryA/B testWho gets itsanswers?NobodyA smallshareA share ofrequestsTraffic it seesFull copy orsampleSmall realshareA split oftrafficShows userreaction?NoYesYesCost in the testA secondfleetScales withshareScales withshareDiagram: Interview Clozo, CC BY 4.0 ·interview.clozo.ai/blog/champion-challenger-model-deployment.html
Only shadow exposes no user to the new model, and only shadow cannot measure how users react.CC BY 4.0 — source: What is champion challenger model deployment?
Text description of the diagram
  • Shadow sends a copy of live traffic to the challenger and logs its responses without returning them.
  • A canary sends a small percentage of real traffic to the new model, and an A/B test serves a portion of live requests.

Edge cases to name:

  • No business impact signal. The challenger's output never reaches users, so shadow cannot measure clicks or conversions. This follows from how the pattern works; no source states it directly.
  • Side effects. A challenger must not send messages, write shared state or charge cards. Only the champion's response may act.
  • Platform limits. A SageMaker shadow test pairs one shadow variant with the production variant (CreateEndpointConfig application programming interface (API) reference, ShadowProductionVariants, as of October 2026); testing several challengers needs several tests or a custom fan-out.
  • Different vocabulary. The Federal Reserve's 2011 supervisory guidance on model risk management names "effective challenge" of models, meaning critical analysis by objective, informed parties, as a guiding principle (Federal Reserve Board, 2011). In banking, challenge is broader than live deployment.

Sources use the term differently, so state which form you mean. Some teams also use champion challenger for a live split in which the challenger makes real decisions for a small share of cases; Dataiku would file that under A/B testing (Dataiku Knowledge Base, as of October 2026). This page teaches the shadow form. Logged challenger data can also feed the next training run, as in a data flywheel built from production feedback.

How to answer it in an interview

Interviewer asks

How would you safely test a new model against the one in production?

A strong answer

I would run champion challenger deployment. The current model, the champion, keeps answering users while the new one, the challenger, scores a copy of the same live requests. Its predictions are logged under one request id and never returned. When the true labels arrive, I compare both models on the same requests and test whether the gap is real, not noise. Label delay sets how long that takes. If the challenger wins, I raise sampling to full traffic to prove capacity, then promote it. The trade-off is a second fleet's cost, and it cannot show how users react.

The spoken structure: say who answers and who is only scored, say how you compare, name the label delay, then give the cost and the limit.

Common mistakes

  • "Champion challenger always means the challenger serves nobody." (wrong) The term has two forms. (right) "Say which form you mean: shadow, where it serves nobody, or a live split, where it serves a share."
  • "The challenger wins if its test-set metric is higher." (wrong) The point is comparison on the same live requests. (right) "I compare both on logged production requests, with labels."
  • "Shadow is free." (wrong) It needs a second fleet, and 100% sampling roughly doubles inference compute. (right) "I budget for the second fleet and match the instance type."
  • "Two weeks of shadowing is enough." (wrong) The label delay may be longer. (right) "I size the sample and add the label delay before I set the date."
  • "Shadow shows the business impact." (wrong) Users never see the challenger. (right) "Shadow shows prediction quality; impact needs a canary or an A/B test."

Follow-up questions

What is the difference between champion challenger and A/B testing?

In shadow champion challenger the challenger scores the same requests as the champion and serves none. In an A/B test the candidate scores a portion of live requests and serves them, so user reaction can be measured.

What is the difference between shadow deployment and a canary release?

Shadow sends a copy of live traffic to the new model and logs its responses without returning them, so nobody sees the new model. A canary sends a small share of real traffic to the new model, so some users do get its answers.

How long should you run a challenger?

Long enough to collect the labelled requests the test needs, plus the label delay. In the worked example 10,000 requests were needed, and a 30-day delay (illustrative) made the earliest verdict day 31 even at full sampling.

Does shadow deployment cost twice as much?

At 100 percent sampling with the same instance type as production, inference compute roughly doubles during the test, which AWS recommends so the load test is realistic. A lower sampling percentage costs less only if the shadow fleet autoscales with the sampled traffic; with a fixed instance count the fleet bill is the same at any rate, and a low rate also proves less about capacity.

What does challenger mean in banking model risk?

It points to the "effective challenge" idea in model risk management, critical analysis of a model by objective, informed parties, which is broader than live deployment. See the MLOps interview questions hub for the neighbouring deployment topics.

Key takeaways
  • The champion answers users; the challenger scores a copy of the same requests and is only logged.
  • Log both predictions under one request id so the comparison is paired.
  • Label delay and sample size, not a calendar guess, decide when a verdict is possible.
  • Raise sampling to 100 percent before promotion to prove capacity.
  • Shadow exposes no user but cannot measure user reaction and needs a second fleet.

Sources

  1. Monitoring and feedback in the AI project lifecycle — Dataiku Knowledge Base, 26 Oct 2026
  2. Testing models with shadow variants — Amazon SageMaker AI Developer Guide, 26 Oct 2026
  3. Minimize the production impact of ML model updates with Amazon SageMaker shadow testing — AWS Machine Learning Blog, 26 Oct 2026
  4. Best practices (shadow tests) — Amazon SageMaker AI Developer Guide, 26 Oct 2026
  5. Shadow (rollout strategies) — Seldon Enterprise Platform docs, 26 Oct 2026
  6. Canary (rollout strategies) — Seldon Enterprise Platform docs, 26 Oct 2026
  7. CreateEndpointConfig (ShadowProductionVariants) — Amazon SageMaker API Reference, 26 Oct 2026
  8. Supervisory Letter SR 11-7: Guidance on Model Risk Management — Federal Reserve Board, 4 Apr 2011