WhichJudge / decision

Banking queue routing

Replace compares Jev with 4o-mini only

TF-IDF 94.2% beats both neural judges by more than 20 points if you have labels. Among APIs Jev 70.2% beats Mini 66.4% (Holm p=0.021) and ties the 2026 model at 72.4%; clef beats Jev at 76.2% and clef-flash beats Jev at 81.4%, and both still trail TF-IDF. The 'other' queue is the failure: Jev routes 1.6% of it correctly. Do not pay for a model on this task if you can train one.

Replaces: Support-queue classifier on banking tickets
Gold: PolyAI BANKING77 - BANKING77 train split, collapsed 77 to 8 queues, n=500, seed=11
Labels: cards / top_up / cash_atm / transfers / fx / account / payments_fees / other

ModelAccuracy95% CILatency (p50 unless stated)Cost per 1M decisions
Jev jev-1.13.070.2%[66.0% - 74.0%]694 ms$20.65
gpt-4o-mini-2024-07-1866.4%[62.1% - 70.4%]1054 ms$34.81
gpt-5.4-mini-2026-03-1772.4%[68.3% - 76.1%]847 msunpriced (216.8 tok/call)
Laya (self-hosted, convaiinnovations/laya)56.8%[52.4% - 61.1%]370 ms local cpu, no network$0 API, compute not priced
gpt-6-luna (OpenAI Decisions API)70.2%[66.0% - 74.0%]1316 ms, one client, region unset, includes network$25.74 (list $0.10 per 1M input tokens, 2026-10-09)
@cf/cloudflare/clef (Cloudflare Workers AI)76.2%[72.3% - 79.7%]1152 ms, one client, region unset, includes network$80.33 (list $0.24 per 1M input tokens, 2026-10-09)
@cf/cloudflare/clef-flash (Cloudflare Workers AI)81.4%[77.8% - 84.6%]715 ms, one client, region unset, includes network$30.12 (list $0.09 per 1M input tokens, 2026-10-09)
TF-IDF + LR (train n=9,503)94.2%[91.8% - 95.9%]18 us mean per row, batched$0

McNemar Jev vs Mini: jev, p=0.00235 (27 Jev-only correct, 8 Mini-only correct). TF-IDF vs Jev: tfidf.

Quit line

Gating works here even though the calibration does not: at >=0.9 it is 79.0% on 80.2% of tickets, 8.9pt above ungated. What ECE 0.232 costs you is the right to quote the confidence as a probability, not the right to threshold on it.

Auto slice: at Jev confidence ≥ 0.9, 79.0% accurate on 80.2% of traffic, which is +8.8pt against 70.2% ungated. That threshold is the strongest one still covering at least half the traffic, picked by rule from the measured gates.

Calibration: ECE 0.232 (max bin gap 0.59). ECE says whether the confidence can be read as a probability. It does not say whether gating helps: thresholding only needs the model to rank its own answers, so a badly calibrated task can still gate well. High ECE costs you the right to quote the number, not the right to threshold on it.

Verify this

Frozen samples 7510a530521d, schema c898ec217cfd. receipts/banking_coarse_route.json here is the slim copy: per call, the id, gold, prediction, confidence, latency and the SHA-256 of the request and response. The full request and response bodies are in the repository at results/receipts/banking_coarse_route.json .

git clone https://github.com/RadRebelSam/whichjudge.dev
python3 scripts/verify_run.py   # recounts this table from the receipts, no API key
python3 scripts/run_eval.py     # hits the APIs again with your own keys

Independent bench, not affiliated with TypeSafe AI. Public gold labels, n=500, not a procurement study. All 11 decisions · source and data · contact@radrebeldeveloper.com

build e6d1f683a4 · this row from run 1 of 1, 2026-09-21T06:23Z