Measured on this exact workflow

How to route support tickets with a decision model

Ticket routing is the cleanest fit for a decision model in the whole category: the queues are enumerable, the volume is high, and being wrong costs a re-route rather than a disaster.

The decision, typed

Which queue does this ticket belong in, and can it be routed without a person looking? As a typed decision this is a choice — one option from a closed set you supply per call, over billing · delivery · refund · technical · account. Usually decided in the same call: Whether a human needs to see it, and how urgent it is.

What we measured on this workflow

From our own run of Jev against 500 decisions in this workflow, on a frozen split. Method and confidence intervals are on the model page.

SubsetDecisionsAccuracy
All of it5000.788
Graders agreed3150.892
Graders disagreed1850.611

The graders behind this benchmark disagreed with each other on 37.0% of these decisions. That gap is the single most useful thing on this page: it tells you how much of the task has a defensible answer at all before you ask any model to do it.

What you could automate

Confidence thresholdCoverageAccuracy within it
0.5 and above89.2%0.825
0.7 and above62.2%0.92
0.9 and above38.2%0.995

How to actually set this up

  1. Write down the option set before you pick a model

    If you cannot enumerate the valid answers, this is not a typed decision yet and no model in the directory will help. The list is an argument to the call, so it can change later, but it has to exist now.

  2. Freeze a test set from decisions you already made

    Historical cases plus what was actually decided. Hold it out and never tune against it. Where your own records disagree with each other, keep the disagreement rather than cleaning it away — on this workflow that is 37.0% of cases.

  3. Measure accuracy at coverage, not accuracy

    A single accuracy figure cannot tell you what to automate. Sort by the model’s confidence, pick thresholds, and read off what share of the queue clears your error budget at each one.

  4. Check the calibration before you trust the threshold

    If the model says 0.9 on a hundred cases, roughly ninety should be right. When that does not hold, every threshold you set on top of it is wrong in a way accuracy will not reveal.

  5. Staff the escalation path before you ship the automation

    When the queue list changes weekly, or when routing wrong sends a customer somewhere that cannot recover the conversation. Enumerate the queues first; if you cannot, this is not yet a typed decision.

Before you build it

What people ask at this point

The questions that come up once the decision is written down and the option set exists.

Do I need a decision model for this, or will a general LLM do?

A general model behind constrained decoding produces a typed answer too. What it does not reliably give you is a calibrated probability across the option set, and without that you cannot set a threshold. If you are going to send everything to a human anyway, you do not need the calibration and a general model is fine. The longer answer is here.

How much historical data do I need before this is worth trying?

Enough cases with recorded outcomes that you can hold out a test set and still have something left. A few thousand is comfortable. What matters more than volume is that the recorded outcome is what actually happened, not what a workflow defaulted to.

What if my own team disagrees about the right answer?

Then you are in the normal case. On this exact workflow, the graders behind the public benchmark disagreed with each other on 37.0% of decisions. Score the agreed and contested subsets separately, because a single accuracy number averages a task that has a defensible answer with one that does not.

Which model should I start with?

Licence first, then size. Apache-2.0 or MIT, small enough to run where the decision happens, and shipping in a format you can actually deploy. The commercially licensed models are here. None of them has an independent benchmark, so treat the first pick as a candidate rather than an answer.

Find out what your data actually supports

We turn your historical decisions into a frozen test set, then tell you which model, which threshold, and how much of it you can safely automate.