Switchyard can send each type of request to a different Claude model: a quick question to Haiku, a hard analysis to Opus. That only saves money if the map from request type to model is right, and the first map was written by hand. So we measured it: every request type, every model, the same problems, and the cheapest model that clears the bar wins the type. The costs on this page are metered token costs, the way an API key is billed. A cheaper model does not lower the monthly fee of a Pro or Max plan. It can lower the paid extra usage those plans offer beyond their limits, which is billed at API rates.
acme-support is our own test tenant, and “Acme Outfitters” is a fictional company. This run proves the method (measure each request type, then route) on realistic support work. It does not set any real client's quality bar, and none of these figures is a customer's.
Each cell is 15 graded answers (5 problems, 3 runs each). An answer passes at 4 or more out of 5. A model clears a type when at least 95% of its answers pass; the cheapest model that clears it wins the type.
| Request type | Haiku 5.5 | Sonnet 5.5 | Opus 5.5 | Cheapest that clears | Hand map | Live map |
|---|---|---|---|---|---|---|
| Quick questionquick-question | 15/15100% | 15/15100% | 15/15100% | Haiku 5.5 | Haiku 5.5 | Haiku 5.5 |
| Product FAQproduct-faq | 15/15100% | 15/15100% | 15/15100% | Haiku 5.5 | Haiku 5.5 | Haiku 5.5 |
| Refund requestrefund-request | 15/15100% | 15/15100% | 15/15100% | Haiku 5.5 | Sonnet 5.5 · overpaid | Haiku 5.5 |
| Deep analysisdeep-analysis | 15/15100% | 15/15100% | 15/15100% | Haiku 5.5 | Opus 5.5 · overpaid | Opus 5.5 · held |
| Order statusorder-status | 12/1580% | 15/15100% | 15/15100% | Sonnet 5.5 | Haiku 5.5 · below bar | Sonnet 5.5 |
| Summarize a ticketsummarize | 12/1580% | 15/15100% | 15/15100% | Sonnet 5.5 | Sonnet 5.5 | Sonnet 5.5 |
| Writingwriting | 14/1593.3% | 15/15100% | 15/15100% | Sonnet 5.5 | Sonnet 5.5 | Sonnet 5.5 |
| Codecode | 14/1593.3% | 15/15100% | 15/15100% | Sonnet 5.5 | Sonnet 5.5 | Sonnet 5.5 |
Average score out of 5 across all 120 answers each: Haiku 5.5 4.59 · Sonnet 5.5 4.74 · Opus 5.5 4.89.
Answer cost per 1,000 requests, with the 8 types equally mixed. The judge's cost is not included: it is the cost of measuring, not of serving. Per type, Opus cost 33× to 195× what Haiku did.
| Map | Per 1,000 requests | Quality |
|---|---|---|
| Opus everywhere | $5.26 | Clears the bar on every type. |
| Hand-written map | $2.40 | Below the bar on 1 type. |
| Live map (today) | $2.28 | The measured map, with 1 type held on Opus. Clears the bar on every type. |
| Sonnet everywhere | $2.03 | Clears the bar on every type. |
| Measured map | $1.07 | Clears the bar on every type. |
| Haiku everywhere | $0.10 | Below the bar on 4 types. Shown for scale, not as an option. |
Haiku missed 8 answers, on 5 of the 40 problems. Sonnet and Opus missed none. The reasons below are the judge's, summarized. Most are plain errors: a wrong delivery date, a broken word limit. One cell rests on a single problem: every “summarize a ticket” miss was on acme-summarize-2, made the same way in each run.
The final values were right, but it first showed wrong values in bold before correcting itself.
Miscounted business days across a weekend, giving a delivery window of Oct 12–14 instead of Oct 13–15, and added prose where JSON only was asked for.
The content was right, but the reply ran past the 80-word limit (the judge counted about 90 to 103 words).
Listed the agent’s instruction (a 4-hour charge and a 3-second hold) as something the customer had already done. The customer reported charging overnight and holding the button, without confirming the hold duration.
About 64 words against a 60-word limit, plus a “recharges quickly” claim the product specs do not support.
Open-ended deep analysis problems. If Haiku or Sonnet clears the bar on those too, the live map can drop Opus and take most of the measured saving. If not, the hold was right, and this page will say so.
The judge bake-off asks whether a cheaper model can grade as well as a premier one, and the router comparison sets our measured routing against OpenRouter's automatic one. See them all, with what each found.