router overhead — rolling p95: 11ms. Illustrative model, not measured results.

All of it, including what got worse.

One fabricated reference deployment — a mid-sized support-chat and document-Q&A product running eight million calls a month — taken from a single frontier tier to a routed ladder over six months. Every figure below comes from that one model, so the numbers can be checked against each other.

Three numbers we would rather not print

They are near the top instead of in a footnote, because a page that only improves is a page nobody should believe.

+1%

P99 latency got 1% worse

Escalated requests make two hops, and the tail is where they land. Median latency fell 58% in the same run; that trade is the product, not an accident.

20%

/review only saved 20%

Its quality floor sits at a judge p10 of 84, close to what the tiers below the frontier can reach. There was never much headroom to take, and taking it anyway would have broken the floor.

11%

Over-routing costs about 11% of the bill

8.7% of calls are scored a rung too high and quietly cost more than they had to. Tightening the thresholds shrinks that and grows the escalation rate instead.

The reference deployment

Fabricated, fixed, and used everywhere on this site. If a figure elsewhere contradicts this table, this table is right and the figure is a bug.

The reference deployment
ParameterValueNote
Monthly calls8,000,0003 / 12 · average / peak requests per second
Input / output tokens per call1,800 / 320960 · a deep-reasoning answer bills more output for the same question
Baseline tier, before routingL-36% of baseline calls were retries
Endpoints4traffic shares are in the next table
Tiers in the ladder matrix23vendor-neutral codes across seven providers, four of them self-hosted weights

Four endpoints, each against its own floor

Every endpoint declares its own floor, in its own unit — a judge-score percentile for prose, a schema pass rate for structured output. All four clear the floor they declared. The savings differ by a factor of three, and the reason is always the floor.

Four endpoints, each against its own floorthe gap right of the floor line is the headroom savings come out ofFIG-07ILLUSTRATIVE
Share of trafficDeclared floorMeasuredUSD / 1kSaving/chatsupport chat46%judge p10 ≥ 74p10 = 79.160100$2.8174%/docqadocument Q&A29%judge p10 ≥ 78p10 = 81.660100$4.2261%/extractstructured extraction18%schema pass ≥ 99.0%99.4%95100$3.6866%/reviewcontract & code review7%judge p10 ≥ 84p10 = 85.260100$8.6520%Σthe gap right of the floor line is the headroom savings come out of$3.7865%
Illustrative model · FIG-07 · shares sum to 1.00; saving is like-for-like against the single-tier baseline

Weighted by share this comes to 65.0% before shadow replay is charged back, and 64% after.

Judge score by difficulty band and tier

This is the table that should have been used to pick a model in the first place. Measured on one undifferentiated sample, every tier below the frontier looks bad — because the routine questions and the hard ones are averaged together. Cut the same traffic by difficulty band and the cheap tiers are indistinguishable from the frontier exactly where 42% of the traffic lives.

Judge score by difficulty band and tierTier × Difficulty bandFIG-07BILLUSTRATIVE
Judge score by difficulty band and tier
TierD1 routine · 42%D2 standard · 34%D3 complex · 19%D4 high-stakes · 5%
C-088.285.0——
S-186.879.466.151.8
M-289.186.176.363.2
L-390.489.887.978.6
L-3R90.690.289.485.4
Illustrative model · FIG-07B · blended judge score 0–100; empty cells are tiers not eligible for that band

What that averages out to

What that averages out to
BasisBlended judge score
Baseline, everything on the frontier tier89.1
Routed, first pick only85.8
Routed, after the ladder86.8

The tail went the other way

Blended quality fell 2.3 points and we are not hiding it. The p5 tail improved 2.8 points, because a declared floor forces a redo on the worst answers — something a single-tier setup never even notices, since it has nothing to compare them against.

  • +2.8The tail went the other wayp5 68.4 → 71.2

Six months of bills

The line that matters is the gap between what was paid and what the same traffic would have cost on a single frontier tier. Traffic grew 30% over the same six months, which is why the counterfactual climbs while the bill falls.

Six months of billsmonthly bill, thousand USDFIG-08ILLUSTRATIVE
Bill actually paidSame traffic on one tier throughoutthe area between them0306090120M0 baselineM1M2M3M4M5M6monthly bill, thousand USD112.440.4the area between themrouting coverage08.0158.2358.5608.9829.4959.910010.4calls / month, millionsBill actually paid−53%$86.5k → $40.4kcalls / month, millions+30%8.0 → 10.4USD per 1,000 calls−64%$10.81 → $3.88
Illustrative model · FIG-08 · monthly spend in USD thousands; counterfactual = same call volume at the baseline unit cost
Six months of bills
MonthCalls (M)Routed coverageBillIf all frontier
M0 baseline8.00%$86.5k$86.5k
M18.215%$80.1k$88.6k
M28.535%$71.3k$91.9k
M38.960%$59.2k$96.2k
M49.482%$48.2k$101.6k
M59.995%$41.8k$107.0k
M610.4100%$40.4k$112.4k
Where the routed unit cost goesUSD per 1,000 callsFIG-08BILLUSTRATIVE
USD per 1,000 calls$0$3$6$9$12Baseline$10.81Routed$3.884−64%model inference (5 tiers)$3.669The four lines a deck leaves out×100escalation waste$0.073shadow replay (3% of traffic)$0.105fingerprint classifier$0.030judge scoring (6% sampled)$0.007$0$0.12RoutedΣ $3.884
Illustrative model · FIG-08B · USD per 1,000 calls · Total $3.884

Three of these five lines are ours, not the providers’: the low-tier calls thrown away during an escalation, the 3% mirrored to shadow, and the amortised classifier. Together they are $0.21 per thousand calls — 5.4% of the routed cost. We print them because leaving them out is how a deck beats reality.

Where the routed unit cost goes
LineUSD per 1,000 calls
model inference (5 tiers)$3.669
escalation waste$0.073
shadow replay (3% of traffic)$0.105
fingerprint classifier$0.030
judge scoring (6% sampled)$0.007
Total$3.884

Cost per resolved call

Per-token billing counts attempts. This counts answers someone actually accepted, and puts every retry, discarded low-tier attempt, judge sample and shadow call in the numerator. It is the only cost basis we argue from.

Cost per resolved call
BasisUnit costAccepted rateCost per resolved call
Baseline$10.8194.1%$11.49
Routed$3.8894.6%$4.11

Latency, both distributions

Most requests got faster because most requests were never hard. The ones that escalate pay for two hops, and they are concentrated exactly where the tail already was.

Latency, both distributionsend-to-end latency, ms — log-spaced bucketsFIG-06ILLUSTRATIVE
RoutedBaselineshare of calls, %0102030400–250250–500500–1k1k–2k2k–4k4k–8k8k–16kend-to-end latency, ms — log-spaced bucketsPercentileBaselineP502,265msP753,532msP905,911msP957,545msP9913,332msRoutedP50955msP751,927msP904,223msP957,257msP9913,511msP99 +1% · hatched = worse than baselineRouter overheadfingerprint / decision & budget, p95 9 / 4 msP506msP9511msP9919ms
Illustrative model · FIG-06 · end-to-end, log-spaced buckets, both distributions on one axis
Latency, both distributions
PercentileBaselineRoutedDelta
P502,265ms955ms−58%
P753,532ms1,927ms−45%
P905,911ms4,223ms−29%
P957,545ms7,257ms−4%
P9913,332ms13,511ms+1%

What Switchyard itself adds

Six milliseconds at the median, eleven at p95, nineteen at p99 — of which the fingerprint is nine at p95 and the decision plus budget check is four. It is a rounding error against the model call it chooses, which is the only reason any of this is worth doing.

  • 11msRouter overheadp50 6 · p99 19
  • 9 / 4 msfingerprint / decision & budget, p95p95

One brownout, replayed

An illustrative incident: the frontier provider’s 429 rate goes from 0.3% to 31.4% inside eight minutes. What follows is what the state machine did about it.

One brownout, replayedminutes from first errorFIG-10ILLUSTRATIVE
Illustrative incident: frontier provider 429 rate spikes 0.3% → 31.4%upstream 5xx+429 > 8% over 60sUpstream failure rate31.4%3508% / 60sAnswers from a degraded rung41.2%450User-visible error rate1.10%1.20Blended judge score86.9 → 81.68878+4mincutover · detected in 40s0481216202428minutes from first error
Illustrative model · FIG-10 · 30 minutes at 2-minute resolution; the event line marks the brownout action

Timeline

t = 0
Upstream 429 rate at 0.3%. Normal. The rolling 60-second window is the only thing watching.
t = 4 min
Forty seconds after the window crossed the trigger, /chat and /docqa enter brownout. Detection target is 60 seconds; this took 40.
Action
Top rung swapped from the frontier tier to the mid tier, output cap cut from 1,024 to 512 tokens, the reasoning tier disabled.
Peak
Upstream failure peaks at 31.4%. User-visible errors peak at 1.1%. At the worst point 41% of answers come from a degraded rung and the blended judge score dips to 81.6.
t = 30 min
Upstream back at 0.3%. The cooldown holds the degraded ladder for ten more minutes before the top rung ramps back.

The readout

With 31.4% of upstream calls failing, the user-visible error rate peaked at 1.1%. The price was paid in quality, not availability: 41% of answers came from a degraded rung and the blended score fell about five points for roughly twenty minutes.

Trigger rule: upstream 5xx and 429 above 8% over 60 seconds.

Illustrative incident: frontier provider 429 rate spikes 0.3% → 31.4%

Next

What it takes to plug this in.

See integration