The cheapest model is not the right model for every task. The durable cost win comes from matching model capability to the job, then keeping a reliable fallback one step down. Policate treats that as a policy-owned model mix rather than a hard-coded provider preference.
The combinations below are starting points, not universal rankings. Provider catalogs, regions, prompt shape, cache hit rate, and output length change the result. Use them as a hypothesis, then validate with the request traces and prices in your organization’s dashboard.

A practical four-lane model mix
Start with four task classes. The primary model handles the common case; the fallback protects quality when the task is harder, the provider is unhealthy, or the policy rejects the first candidate.
Route by task class, then fall back by policy
decision path| Task class | Primary | Fallback | Why this mix | Example / 1k requests | Illustrative saving |
|---|---|---|---|---|---|
| Search and triage | Claude Haiku 4.5 | GPT-4o Mini | High-volume, low-latency classification and repository navigation | $1–3 / 1k requests | 80–92% |
| Implementation | Claude Sonnet 4.6 | Claude Haiku 4.5 | Strong coding quality with a fast retry path | $8–11 / 1k requests | 35–65% |
| Review and tests | Claude Sonnet 4.6 | GPT-4o Mini | Reasoning depth where regressions are expensive | $5–9 / 1k requests | 30–60% |
| Architecture and migration | Claude Opus 4.8 | Claude Sonnet 4.6 | Reserve the premium lane for high-context decisions | $20–28 / 1k requests | 10–35% |
The savings equation
Imagine 10,000 monthly requests. If every request costs $0.008, the baseline is $80. A simple mix—7,000 search requests at $0.001, 2,500 implementation/review requests at $0.008, and 500 architecture requests at $0.024—costs about $39.00 before cache hits. That is roughly 51% below the single-premium baseline while keeping a premium lane for the work that benefits from it.
If an 18% exact-cache hit rate removes provider calls evenly, the same illustrative mix falls to about $31.98. The dashboard should show the observed number, not hide the assumption: route savings, exact-cache savings, and budget protection are separate effects.
$ policate budget status