Guides / cost per support ticket
What an AI support conversation costs, and what decides whether it pays
Anthropic publishes a worked example putting 10,000 support conversations at roughly $37.00 on Claude Haiku 4.5, about a third of a cent each. That's the floor, and escalation rate multiplies it. Culpa, a local-first LLM cost, margin, and forecast ledger, prices each conversation so your own figure sits beside the benchmark.
Why this happens
Support is the use case where AI economics look easiest and get argued about most, because the model cost is genuinely small and everything around it isn't. Anthropic's own pricing page works the example: roughly 3,700 tokens for an average conversation, priced on Haiku 4.5, giving about $37.00 per 10,000 tickets. That's a third of a cent a conversation against a human-handled ticket costing orders of magnitude more, and it makes the naive business case trivially positive. The naive case is also the one that fails review. Three things move it. Conversations that escalate cost you the model spend AND the human, so they're strictly worse than not trying. Retrieval, reranking and guardrail calls multiply the per-conversation token count well past the benchmark. And a benchmark built on a 3,700-token average says nothing about your own distribution, where the long tail of complex conversations is exactly where escalation happens.
What this usually looks like
- Your deflection business case uses a vendor benchmark rather than your own conversations.
- Nobody separates conversations that resolved from conversations that escalated.
- Retrieval and guardrail calls aren't counted in cost per ticket.
- You know your average conversation cost and not the top decile.
- Deflection rate is reported and cost per deflection never is.
Free, no card, no account
Run the free Cost Leak Scan
It shows your most expensive conversation before you install anything.
Mistakes that cost the most
| Mistake | Why it hurts | Do instead |
|---|---|---|
| Costing deflection from an average conversation. | The tail is where escalation lives, and the tail is much more expensive than the mean. | Price the distribution, and look hardest at the conversations that ended in a handoff. |
| Counting only the answering model. | Retrieval, reranking and safety checks are calls too, and they scale with conversation length. | Sum every call in the conversation, which is what cost per conversation means. |
| Treating an escalated conversation as cost-neutral. | You paid the model and the human, so it costs more than never attempting it. | Report cost per resolved conversation, not cost per attempted one. |
| Optimising the model before the flow. | At a third of a cent a conversation, the model is rarely the lever that matters. | Attack escalation rate and retrieval volume first, then revisit the model. |
Run this check tonight
- Work out your real average tokens per conversation and compare it to 3,700.
- Split last month's conversations into resolved and escalated, and price each group.
- Divide total support model spend by conversations RESOLVED, not attempted.
- Count how many calls a single conversation makes, including retrieval and safety checks.
The floor, and the two things that multiply it
Illustrative example
Anthropic's pricing page, read 2026-08-05, publishes a worked example for support: an average of about 3,700 tokens per conversation on Claude Haiku 4.5 at $1.00 and $5.00 per million, totalling about $37.00 per 10,000 tickets. Those figures are Anthropic's. The escalation and retrieval additions below are modelled, and they're the part a business case has to supply for itself.
The published number is real, and it's a floor rather than an estimate. It prices one answering call on an average exchange, so every real deployment adds to it: more calls per conversation, and conversations that end with a person anyway. Both multipliers come from your own traffic, which is why the benchmark settles the model question and leaves the business case open.
Every number, with its confidence and source
| Figure | What it means | Confidence | Source |
|---|---|---|---|
| about $37.00 per 10,000 conversations | Anthropic's published worked example for support ticket processing on Claude Haiku 4.5 | provider-reported | Anthropic's pricing page at platform.claude.com/docs/en/docs/about-claude/pricing, read 2026-08-05, gives a worked example of about 3,700 tokens per conversation on Claude Haiku 4.5 at $1.00 and $5.00 per million, totalling about $37.00 per 10,000 tickets, which is $0.0037 per conversation. Quoted as published, with no recalculation. The escalation and retrieval adjustments discussed alongside it are modelled. |
What a generic answer can’t know
A benchmark is somebody else's average. Yours differs on conversation length, on how many retrieval and safety calls each one makes, and above all on what fraction escalate, and none of those appear on a pricing page. Culpa prices every call and groups them by conversation, so cost per conversation is a sum rather than an estimate, and it carries whatever identifiers you attach, including whether the conversation resolved. That turns the two questions that decide the business case into queries: what a resolved conversation costs against an escalated one, and which topics drive the expensive tail. Set it against what those customers pay and support stops being a cost centre with a deflection rate and becomes a margin line.
Questions founders ask next
How much does an AI support conversation cost?
Anthropic's published example puts an average conversation at about 3,700 tokens on Claude Haiku 4.5, roughly $37.00 per 10,000 tickets, or a third of a cent each. Your own figure depends on conversation length and how many retrieval or safety calls each one makes.
Why is my cost per ticket higher than the benchmark?
Usually because a conversation is more than one call. Retrieval, reranking and guardrail checks all bill, and they scale with how long the conversation runs. The benchmark prices the answering model on an average exchange, which is the floor rather than the figure.
What actually decides whether deflection pays?
Escalation rate, not token price. At a third of a cent a conversation the model is almost never the binding constraint. A conversation that escalates costs you the model spend plus the human, so it's worse than not attempting it, and that ratio moves the business case far more than any model choice.
Should I measure cost per attempted or per resolved conversation?
Resolved. Attempted flatters the number by spreading cost over conversations that still needed a person. Cost per resolved conversation is the figure that compares honestly against what a human-handled ticket costs you.
On your infrastructure
Culpa runs on your infrastructure. Your prompts and responses never leave it. Culpa counts calls to run your plan, and it fails open, so if it ever breaks your app keeps running.
How Culpa works
Find the culprit. Not just the total.
Your dashboard shows what you spent. It stops short of who spent it. Culpa shows the conversation, the user and the feature behind it.
Your prompts stay local.
Culpa runs on your own infrastructure. What you send to a model reaches us at no point.
Every dollar has a name.
Follow any charge to the conversation, the user, the feature and the customer behind it.
See the bill before it lands.
Cost your next feature before you ship it. You get the likely bill and the worst case, at best, median, p90 and p99.
Three steps to your first answer.
Change one base URL.
Or drop in the Python or TypeScript library.
Find your most expensive conversation.
In the first session, not the first week.
Cost your next feature before you ship it.
Why the bill went up
Example dashboardCalls traced
418,209
across 3 projects
Spend this week
$378.41
+ $182 vs last week
Failed calls
312
74% retried, and you paid for all of them
+ $182 this week traced to one culprit
Spend over 14 days
Most expensive users
Next week forecast
Graded against reality. Accuracy shown as results land.
Keep reading
Sources: Anthropic pricing. Last reviewed 2026-08-05, rates effective 2026-07-02. Plain text version.