When to Switch Models: A Threshold Worth Crossing
New models ship constantly and switching is never free. The signals that justify a migration, the ones that do not, and how to run the decision.
A new model ships, the benchmark chart looks better, and somebody proposes switching. The proposal is usually made on the basis of a leaderboard delta and almost never on the basis of what the change would cost.
Switching is not free and it is not neutral. It consumes engineering time, invalidates tuned prompts, introduces failure modes you have not seen, and resets whatever operational intuition the team has built. The question is not whether the new model is better; it is whether it is enough better.
What switching actually costs
Start by pricing the move, because the benefit side gets estimated carefully and this side rarely does.
Prompt re-tuning is the largest item. Prompts fitted to one model over months encode that model's quirks, and those quirks are exactly what a different model does not share. Expect the heavily tuned ones to need work. Pinning model versions explains why the fit is model-specific.
Re-evaluation is the second. You need to run your evaluation set, compare on real metrics, and be confident enough to deploy. If you do not have an evaluation set, that is the cost, and it is larger than the switch itself.
Then there is the operational tail: new rate limit behaviour, different error semantics, different tool-calling strictness, different structured output discipline. None of it is hard, all of it takes time, and the surprises arrive after deployment.
Signals that justify a switch
A few things genuinely clear the bar.
A capability you do not currently have. Not a better score on something you already do — a category of work that was impossible and now is not. Native multimodality where you were doing OCR first, or a 1M context window where you were maintaining a retrieval pipeline to work around a smaller one. RAG versus long context covers whether that swap deletes real complexity.
A large cost reduction at equal quality. Large means enough to survive the switching cost with room to spare. The right measure is cost per successful outcome on your own work, not headline price per million tokens. Cost-adjusted scoring covers computing it.
A latency change that unlocks an interaction. If a faster model moves a feature from tolerable to genuinely responsive, that is a product change rather than an optimisation. Latency-adjusted scoring sets the budget.
A licence or deployment change. Weights becoming available under permissive terms can remove a compliance blocker outright. GLM-5.2 and both DeepSeek V4 variants ship under MIT; Kimi K3 ships under Moonshot's own terms with a revenue threshold for model-as-a-service. If that difference resolves a constraint, it is not a marginal gain.
Signals that do not
A few points on a composite index is the most common bad reason. Composite scores carry the sampling noise of every component, and a gap of three or four points will not be visible in your product. The Artificial Analysis Index is a shortlisting tool, not a migration trigger.
A vendor benchmark claim is a weaker reason still. Vendor numbers come from vendor scaffolding, and the gap between a reported figure and what you get through your own prompts is routinely large. Why benchmarks disagree covers where the difference comes from.
Novelty is the reason nobody states out loud. Recency is not evidence, and the newest model is the one with the least community knowledge about its failure modes, which is a real cost during the first weeks.
The forced moments
Some switches are not optional, and they should be handled as scheduled work rather than incidents.
Deprecation is the obvious one. When a provider announces a retirement date, the migration is happening; the only choice is whether it happens on your calendar or theirs. Model deprecation and migration covers running that properly.
Sustained capacity problems are the other. If a model is regularly rate-limited or unavailable at your volume, reliability has become the binding constraint and capability arguments are secondary. Fallback model selection covers the intermediate step of adding a second model rather than replacing the first.
The decision procedure
Write down the metric that would change your mind before you test anything. Cost per successful outcome, p95 latency, tool-call validity, task success rate — one primary, at most two secondary.
Run both models on the same requests concurrently, at the same temperature, with a prompt that is not tuned to either. A/B testing two models covers the design that avoids fooling yourself.
Set the threshold before seeing the result. A useful default is twenty percent improvement on the primary metric, because that is roughly where the gain survives the switching cost with margin. Below it, stay put and record the result for next time.
If the answer is a switch, do it as a routed change rather than an edit: a configuration value that maps a role to a model, so rollback is one deploy of one value. Model routing and fallbacks describes the plumbing.
The middle option people skip
Switching is presented as binary and rarely is. Adding a second model for one class of work is usually cheaper and better than replacing the first.
Most workloads are heterogeneous. Bulk classification, commit message generation and simple summarisation do not need the same model as multi-step refactoring, and routing the easy majority to a cheaper model captures most of the available saving without touching the prompts that matter. Multi-model strategies covers the split.
This also builds the machinery you need for every future decision. Once routing exists, evaluating a new model is a traffic percentage rather than a project, and the next switch costs a fraction of this one.
Common questions
How much better does a new model need to be before switching?
Roughly twenty percent on the metric you care about, measured on your own requests. That is about where the gain survives prompt re-tuning, re-evaluation and the new failure modes with margin left over.
Is a higher benchmark score a good reason to migrate?
Rarely on its own. A few points on a composite index sits inside the noise of the component benchmarks and will not be visible in your product, while the migration cost is certain.
What is the alternative to switching outright?
Routing part of the workload to a second model. Most workloads are heterogeneous, so sending the easy majority to a cheaper model captures much of the saving without touching the prompts that took months to tune.