The nine percent it refuses to answer.
Wiring a model to an inbox takes an afternoon, and that is not the part that decides anything. What decides it is one number per branch: how sure the thing has to be before it answers without asking. Start at 0.97 and almost nothing sends. Most clients settle near 0.92 after a month of watching the log, which leaves about nine percent arriving with a person, flagged, alongside the records the model was reading when it gave up.
The model scored f1 0.94 on a week it had never seen before auto-send was turned on at all. The 166 it will not decide arrive with a person, flagged, alongside the records it was reading when it gave up.
Six things, and what each one actually gets you.
Machine learning development
A small classifier trained on your own resolved history rather than a general model asked nicely. Eighteen months of tickets teaches it your SKUs, your abbreviations and the way your customers actually write, none of which a foundation model knows.
GPT and LLM integration
Claude for the reasoning, a small local classifier for the routing, and we will tell you which is doing what. Sending every message to the largest model available is the expensive way to get a worse answer slower.
AI-driven automation
The model sits inside a pipeline rather than being the pipeline. It reads and it proposes. Something deterministic decides what actually happens, which is why a bad guess costs you a review rather than an order.
Custom AI software development
The parts with no off-the-shelf version: the thing that reconciles two systems that disagree, the queue a person works through, the screen that shows why a decision was made.
Data analytics and visualisation
What the model is doing, in numbers you can argue with. Volume by branch, how often it agreed with the person who checked it, and cost per message. Built so that the first question after a bad week has an answer rather than a theory.
Evaluation, and the drift watch after
A held-out week it has never seen, rerun on every prompt change, because a prompt edit is a code change whatever it feels like. After launch, a weekly agreement report that alerts below 0.90 rather than waiting for a customer to notice.
$12,000 to $22,000 to build, and you own it.
| Build | $12,000 to $22,000 for a first router, fixed price |
|---|---|
| Running | $0.004 a message at current volumes, on your own cloud account |
| Us, after | $0. No retainer and no licence. Your data stays in your tenant and is not trained on |
| Not included | Labelling, if your history is not already labelled. We will tell you how much there is before anyone quotes you |
We read your history
Eighteen months of resolved tickets, before a price exists. If there is not enough labelled ground truth for anything to learn from, that is the finding and we say so rather than selling you a model that will guess.
It answers nothing, and we keep score
The model runs on live traffic writing nothing at all. Wherever it would have answered differently from the person who did, both versions are kept and read side by side. Auto-send stays off until f1 clears 0.94 on a week it has never seen.
Live at 0.97, and the slider is yours
It starts so cautious it barely sends anything. You watch the log for a month and lower the threshold yourself, a branch at a time. Most settle near 0.92, and nobody has to ask us to change it.
The ones that decide it.
What happens the first time it gets one wrong?
Is our data training somebody else's model?
We already pay for a chatbot. Why is this different?
What if our volume is too small for this to pay?
Start with where the repeated work is.
The free audit asks where your team's hours go and costs the bottleneck we would fix first, whether the answer turns out to be AI or something simpler. If you already know what you want a model to do, tell us directly instead.