Banking77 intent classification: Jev vs nano, frontier and a supervised encoder
Assign a customer banking utterance to one of 77 intent labels, zero-shot.
| Model | Accuracy | Recall | FPR | AUROC | ECE | Latency | Cost |
|---|---|---|---|---|---|---|---|
Jev via Vercel AI Gateway (typesafe-ai/jev) | 83.2% [77.9%, 88.0%] | — | — | — | — | 440 ms / 710 ms | $0.000071 / call measured, 77 labels in the prompt |
GPT-5.4 nano via Lightning AI | 79.3% [73.6%, 85.1%] | — | — | — | — | 850 ms / 1,520 ms | not recorded |
GPT-5.6 Terra via Lightning AI | 87.5% [82.7%, 91.8%] | — | — | — | — | 1,510 ms / 5,570 ms | not recorded |
BGE-small-en-v1.5 + logistic regression | 93.3% [89.9%, 96.6%] | — | — | — | — | 10 ms / 100 ms | not recorded |
Deliberately zero-shot for the generative models. JSON-prompted output parsed with a regex rather than schema-constrained decoding. Prompts were not tuned per model. Calls issued serially. The supervised encoder is not zero-shot: it is frozen BAAI/bge-small-en-v1.5 CLS embeddings with a scikit-learn logistic regression head (C=10) fitted on the task's own training data.
- The pre-registered primary result was AMBIGUOUS: the cascade escalation-rate difference was +0.265 with a 95% CI of [-0.530, +0.595], which spans zero. The accuracy ordering below should be read as descriptive, not as a decided result.
- n=208, reduced from the pre-registered 300 because of rate limiting. Intervals are wide and overlap heavily.
- Output was parsed from JSON with a regex rather than schema-constrained decoding, which can disadvantage the generative baselines relative to a production integration.
- Prompts were not tuned per model.
- The supervised encoder is trained on this dataset and is not directly comparable to the zero-shot systems.
- LLM costs were not recorded — the client does not return them — so only Jev has a measured cost here.
What this benchmark does not prove
- 01That Jev beats a nano-class model or loses to a frontier model on classification. The pre-registered outcome was AMBIGUOUS and the intervals overlap heavily at n=208.
- 02That a supervised encoder is 'better than' Jev. It was trained on this dataset's own labels and is not solving the zero-shot problem — it is a different option, not a better score.
- 03That a Jev cascade needs a 22% fallback rate. That figure holds for this dataset, this cascade and a 90.5% accuracy target only.
- 04That the generative baselines were run at their best. Output was regex-parsed rather than schema-constrained and prompts were not tuned per model.
jev-baselines-eval — Pre-registered independent eval of Jev against nano-class, frontier, and supervised-encoder baselines — ickma2311, verified 2026-09-19
Reproduction artifacts: github.com/ickma2311/jev-baselines-eval
Independent: yes · Vendor-affiliated: no · Independently reproduced: not yet
Pre-registration is hash-pinned in the repository. Author states no TypeSafe affiliation, no vendor involvement, no free credits, and that API costs (~$1) were paid by the author.