Guides → Playground & Guide → Support Deflection ROI - AI Agent vs Human Cost Per Ticket
Meet Dana Osei. VP Customer Experience, 20K tickets/month e-commerce. "The vendor deck says 60% deflection. What does that actually save us net - after the conversations our team still has to rescue?"
🔥 She's been burned by automation ROI decks before; she wants a number with the caveats priced in, not hidden.
The raw math is lopsided on purpose. A full support conversation - instructions, history, knowledge-base lookups, six turns of replies - costs a few cents in tokens. A human resolution costs $5-12 fully loaded. That gap is why every vendor leads with deflection.
The honest model adds two things vendors skip. First, the human-touch share: 8-30% of 'deflected' conversations still get reviewed or rescued by a person - we price each at half a ticket. Second, the per-ticket margin: human cost minus (AI conversation cost + expected human-touch cost). If that margin is negative, no deflection rate saves you money.
Dana runs her queue: 20K tickets, 60% deflection, $6 tickets, 8% human touch. The AI all-in cost is a fraction of the avoided human cost, and the per-deflected-ticket margin is positive by dollars, not cents - the automation case holds even with pessimistic review rates.
The output she takes to finance is the net monthly savings and the cost per cleanly-resolved conversation - both computed from live token prices that move when vendor prices move.
Here are the inputs that move the result the most. Play with the sliders and check it out. The number updates live.
Drag volume and deflection to see the monthly AI cost of the conversations it handles. The full calculator adds ticket cost + the human-touch share for net savings.
💡Volume and deflection set how many conversations the AI fronts; the per-conversation token cost is cents against a $5-12 human ticket — the honest variable is the human-touch share.
Open the full calculator. Pick a model, enter your tokens, see per-call, daily, monthly, and annual cost.
🚀 Open the full calculator →AI cost per resolved support conversation at live token prices vs the human cost deflection avoids - with the human-in-the-loop share priced in. Net savings, cost per resolved conversation, and the per-ticket break-even margin.
Each input shapes the cost. Click an input on the calculator to set it. The explanations below match the live calculator field by field.
Context: 2026 CX benchmarks: AI deflection median ~41% of tickets (well-tuned 50-60%); escalation-to-human median 22%, tuned target 10-15%; human handling $6-13.50/ticket (SaaS $18-35, complex B2B $30-60).
| Input | Default | Typical ballparks |
|---|---|---|
ticketsPerMonth
moves the needle
|
5,000 | Small team · 1K/mo = 1,000 · Mid support org · 5K/mo = 5,000 · Large · 50K/mo = 50,000 |
deflectionRate
moves the needle
|
45 | Early rollout · 25% = 25 · Industry median · 41% = 41 · Well-tuned · 55% = 55 |
humanCostPerTicket
|
8 | Simple/offshore · ~$6 = 6 · Typical · ~$10 = 10 · SaaS support · ~$25 = 25 · Complex B2B · ~$45 = 45 |
hitlReviewRate
|
10 | Mature · 10% = 10 · Industry median · 22% = 22 |
tokensInPerConversation
moves the needle
|
6,000 | Chat turn · ~500 in = 500 · Typical task · ~2K in = 2,000 · RAG-heavy · ~3.5K in = 3,500 · Long-context · ~10K in = 10,000 |
tokensOutPerConversation
|
1,200 | Classification / label · ~50 out = 50 · Short answer · ~300 out = 300 · Typical response · ~800 out = 800 · Long-form · ~1.5K out = 1,500 |
modelSlug
|
claude-haiku-4-5 | — |
Ballparks are broad industry starting points (sourced ranges; * = rough estimate) — your result gets more accurate as you replace them with measured numbers.
Try them live in the calculator;
API & agent users get the same data from the MCP resource aicost://input-reference/support-deflection-roi.
Net savings is the headline: human cost avoided minus the AI all-in cost (tokens + priced human touches). The multiple next to it is the return on the AI spend.
Cost per resolved conversation is your unit-economics number - compare it directly to your human cost per ticket.
The saving per deflected ticket is the break-even test: if it's negative, the model/token mix is too expensive for your ticket cost at ANY deflection rate - fix that before arguing about deflection.
Honest limitations. Every model is wrong; some are useful. Where this one falls short:
For these, use: HITL Review Cost for a deeper human-oversight model. Voice Agent Stack if the channel is phone.
The gaps we just listed are real, and they are the expensive ones: your actual prompts, your switching cost, your MLOps overhead. An AICost expert spends the hour on your AI and cloud costs, not a generic playbook. You leave with a written report: the way forward, in 30 days of concrete steps.
Not sure yet? The $39 AICost Blueprint credits toward a Session, and the Session fee credits toward any plan. You never pay twice for the same ground. See all pricing →
You have seen the shape of it. Open the calculator with your model, your tokens, your volume.
🚀 Open the full calculator →A full human-in-the-loop cost model with reviewer wages and sampling rates.
Voice channel version →STT + LLM + TTS cost per call for phone support.
What one agent task costs →Multi-step agent loops with tool calls, per task.
The cost of getting it wrong →Quality checks and the price of hallucinations in production.
Author: Subu Vdaygiri, Founder & CEO of CloudIntelligence.ai. 17 years Fortune 100 (Ingram Micro, Siemens). Wharton CTO program · Kellogg CPO program · 10× AWS+Azure certified.
Last-verified date is the most recent successful daily snapshot
(aicost_pricing_snapshots) or, when no snapshot exists yet,
the latest successful crawler run (aicost_crawler_runs).
10 of 10
vendors are currently verified. Aggregator services (TokenCost, AI Pricing Guru, etc.)
are not listed.
Derived from industry conventions, not directly published by the vendor. Typical conventions: cached input = 10% of base (90% off), Batch API = 50% of base (50% off).
| Vendor / Model | Field | Why it’s inferred |
|---|---|---|
| Anthropic — Claude Sonnet 4.6 | cachedInput |
Derived at 10% of input rate — Anthropic publishes 90% cache-hit discount on this tier. |
| Anthropic — Claude Sonnet 4.5 | cachedInput |
Derived at 10% of input rate; same 90% cache-hit convention as Sonnet 4.6. |
| Anthropic — Claude Sonnet 4.5 | batchInput |
Derived at 50% of standard input — Anthropic documents uniform 50% Batch discount. |
| Anthropic — Claude Sonnet 4.5 | batchOutput |
Derived at 50% of standard output — Anthropic documents uniform 50% Batch discount. |
| Anthropic — Claude Haiku 4.5 | cachedInput |
Derived at 10% of input rate — Anthropic 90% cache-hit discount convention. |
| OpenAI — GPT-5.4 Mini | cachedInput |
Derived at 10% of input — OpenAI documents automatic 90% discount on cache hits across GPT-5.x tier. |
| OpenAI — GPT-5.4 Nano | cachedInput |
Derived at 10% of input — OpenAI 90% cache-hit convention. |
| OpenAI — GPT-5.4 Nano | batchInput |
Derived at 50% of input — OpenAI Batch API uniform 50% discount. |
| OpenAI — GPT-5.4 Nano | batchOutput |
Derived at 50% of output — OpenAI Batch API uniform 50% discount. |
| OpenAI — GPT-5.4 Pro | cachedInput |
Derived at 10% of input — OpenAI 90% cache-hit convention. |
| OpenAI — GPT-5.4 Pro | batchInput |
Derived at 50% of input — OpenAI Batch API uniform 50% discount. |
| OpenAI — GPT-5.4 Pro | batchOutput |
Derived at 50% of output — OpenAI Batch API uniform 50% discount. |
| OpenAI — GPT-5.2 | cachedInput |
Derived at 10% of input; no residency uplift. |
| OpenAI — GPT-5.2 | batchInput |
Derived at 50% of input. |
| OpenAI — GPT-5.2 | batchOutput |
Derived at 50% of output. |
| OpenAI — GPT-5 | cachedInput |
Derived at 10% of input. |
| OpenAI — GPT-5 | batchInput |
Derived at 50% of input. |
| OpenAI — GPT-5 | batchOutput |
Derived at 50% of output. |
| OpenAI — GPT-5.5 Pro | cachedInput |
Derived at 10% of input — OpenAI does not publish a cached rate for *-pro models; using the family convention. |
| OpenAI — GPT-5.5 Pro | batchInput |
Derived at 50% of input. |
| OpenAI — GPT-5.5 Pro | batchOutput |
Derived at 50% of output. |
| OpenAI — GPT-5.2 Pro | cachedInput |
Derived at 10% of input — pro-tier convention. |
| OpenAI — GPT-5.2 Pro | batchInput |
Derived at 50% of input. |
| OpenAI — GPT-5.2 Pro | batchOutput |
Derived at 50% of output. |
| OpenAI — GPT-5.1 | batchInput |
Derived at 50% of input. |
| OpenAI — GPT-5.1 | batchOutput |
Derived at 50% of output. |
| OpenAI — GPT-5 Pro | batchInput |
Derived at 50% of input. |
| OpenAI — GPT-5 Pro | batchOutput |
Derived at 50% of output. |
| OpenAI — GPT-5 Nano | cachedInput |
Derived at 10% of input. |
| OpenAI — GPT-5 Nano | batchInput |
Derived at 50% of input. |
| OpenAI — GPT-5 Nano | batchOutput |
Derived at 50% of output. |
| Google — Gemini 3 Flash | cachedInput |
Derived at 10% of input — Google caching discount convention ~90%. |
| Google — Gemini 3.1 Flash-Lite | cachedInput |
Derived at 10% of input — Google caching convention. |
| Google — Gemini 3.1 Flash-Lite | batchInput |
Derived at 50% of input — Google Batch API uniform 50% discount. |
| Google — Gemini 3.1 Flash-Lite | batchOutput |
Derived at 50% of output — Google Batch API uniform 50% discount. |
| Google — Gemini 2.5 Pro | cachedInput |
Derived at 10% of input. |
| Google — Gemini 2.5 Flash | cachedInput |
Derived at 10% of input. |
| Google — Gemini 2.5 Flash-Lite | cachedInput |
Derived at 10% of input — Google caching convention. |
| Google — Gemini 2.5 Flash-Lite | batchInput |
Derived at 50% of input — Google Batch API uniform 50% discount. |
| Google — Gemini 2.5 Flash-Lite | batchOutput |
Derived at 50% of output — Google Batch API uniform 50% discount. |
| Google — Gemini 2.0 Flash | cachedInput |
Derived at 25% of input per Google 2.0 family caching rates. |
| Google — Gemini 2.0 Flash | batchInput |
Derived at 50% of input — Google Batch API uniform 50% discount. |
| Google — Gemini 2.0 Flash | batchOutput |
Derived at 50% of output — Google Batch API uniform 50% discount. |
| Google — Gemini 2.0 Flash-Lite | cachedInput |
Derived at 10% of input — Google caching convention. |
| Google — Gemini 2.0 Flash-Lite | batchInput |
Derived at 50% of input — Google Batch API uniform 50% discount. |
| Google — Gemini 2.0 Flash-Lite | batchOutput |
Derived at 50% of output — Google Batch API uniform 50% discount. |
| xAI — Grok 4 (legacy) | cachedInput |
Extrapolated at 25% of base. |
Pricing is cross-verified against the
LiteLLM community registry
when available. Daily snapshots are kept in aicost_pricing_snapshots;
every change is logged to aicost_price_changelog with old & new
values for full audit trail. Read the full methodology →