Guides → Playground & Guide → Agentic TCO + ROI Control Tower - All 12 Cost Layers, Risk-Weighted ROI, GO / NO-GO
Meet Dana Whitfield. VP of AI deciding whether an agent program clears the bar. "Tokens are a fraction of the real cost. When I add eval, guardrails, humans-in-the-loop, integration and upkeep, does this agent still clear ROI?"
🔥 Finance asked for a defensible all-in number and a yes/no. I had a token estimate and a lot of hand-waving on everything else.
Token cost is the tip of the iceberg. Production agents carry eval, guardrails, human review, integration, maintenance, observability and compliance - each a real line item. This control tower rolls all twelve layers into one number.
It then risk-weights the ROI: a program that pencils out on paper but carries high reliability or compliance risk gets discounted accordingly, so the verdict reflects the real bet, not the best case.
The output is a board-ready GO / NO-GO with the layer-by-layer breakdown behind it - so the number survives scrutiny instead of collapsing under the first hard question.
Here are the inputs that move the result the most. Play with the sliders and check it out. The number updates live.
Benefit vs the full cost stack, weighted by cancellation risk. Governance gates fixed at default here.
💡Risk-weighted ROI = (gross benefit x (1 - cancellation risk) - TCO) / TCO over the horizon.
Open the full calculator. Pick a model, enter your tokens, see per-call, daily, monthly, and annual cost.
🚀 Open the full calculator →Roll every agentic cost layer - tokens, eval, guardrails, HITL, integration, maintenance, observability, compliance - into one risk-weighted ROI and a board-ready GO / NO-GO verdict.
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: Mid-2026 agentic TCO reality: tokens are only ~8-27% of run cost — human oversight, HITL, compliance and integration dominate. S&P Global: median 8 months prototype-to-production; Gartner: 40%+ of agentic projects projected canceled by 2027. Tiers below = Pilot / Department / Enterprise program.
| Input | Default | Typical ballparks |
|---|---|---|
modelTokensUsd
moves the needle
|
120,000 | Pilot workload · $3K/mo = 3,000 · Scaling product · $30K/mo = 30,000 · Enterprise portfolio · $120K/mo = 120,000 |
retrievalUsd
|
4,000 | Small corpus · $250/mo = 250 · Production RAG · $1.5K/mo = 1,500 · Multi-corpus enterprise · $4K/mo = 4,000 |
guardrailsUsd
|
1,560 | Managed gateway tier · $200/mo * = 200 · Per-request screening · $1.5K/mo * = 1,500 · Regulated stack · $6K/mo * = 6,000 (rough estimates) |
evalUsd
|
600 | Eval platform starter · $250/mo = 250 · Continuous evals · $600/mo = 600 · Judge-heavy + CI gates · $2.5K/mo = 2,500 |
hitlUsd
|
15,000 | Part-time reviewer · $2.5K/mo * = 2,500 · Review pod (~2 FTE) · $15K/mo * = 15,000 · Review team + SMEs · $60K/mo * = 60,000 (rough estimates) |
complianceUsd
|
11,000 | EU AI Act deployer · $1K/mo = 1,000 · SOC2 steady-state · $5K/mo = 5,000 · Yr-1 SOC2 + AI Act · $12K/mo = 12,000 |
observabilityUsd
|
1,250 | Self-host / starter · $150/mo = 150 · Managed tracing+cost · $1.25K/mo = 1,250 · Enterprise APM class · $5K/mo = 5,000 |
integrationUsd
|
1,700 | One system, maintained · $500/mo = 500 · Amortized build+maint · $1.7K/mo = 1,700 · Many systems · $6K/mo = 6,000 |
dataFreshnessUsd
|
1,705 | Monthly refresh · $300/mo * = 300 · Weekly re-embed · $1.7K/mo * = 1,700 · Near-real-time · $5K/mo * = 5,000 (rough estimates) |
modelMaintenanceUsd
|
4,667 | Light (~0.05 FTE) · $1.2K/mo * = 1,200 · Typical (~0.2 FTE) · $4.7K/mo * = 4,700 · Migration-heavy · $12K/mo * = 12,000 (rough estimates) |
vendorRiskUsd
|
2,000 | Self-host gateway · $150/mo * = 150 · Gateway + dual-vendor evals · $2K/mo * = 2,000 · Full portability program · $6K/mo * = 6,000 (rough estimates) |
gapsUsd
|
6,000 | Contingency ~10% · $2K/mo * = 2,000 · Contingency ~15% · $6K/mo * = 6,000 · High-uncertainty · $15K/mo * = 15,000 (rough estimates) |
grossMonthlyBenefitUsd
moves the needle
|
450,000 | 50-seat department · $50K/mo * = 50,000 · 300-seat org · $300K/mo * = 300,000 · Business-line transformation · $1M/mo * = 1,000,000 (rough estimates) |
rampMonths
|
5 | Fast follow-on · 3 mo = 3 · Industry median · 8 mo = 8 · Regulated / healthcare · 15 mo = 15 |
horizonMonths
|
36 | Budget year · 12 mo = 12 · Program view · 24 mo = 24 · Board case · 36 mo = 36 |
cancellationProbPct
moves the needle
|
40 | Strong governance+data · 25% = 25 · Agentic baseline (Gartner) · 40% = 40 · Weak data foundations · 60% = 60 |
gateScoped
|
true | — |
gateBaseline
|
false | — |
gateEval
|
true | — |
gateGovernance
|
true | — |
gateOwner
|
false | — |
gateCleanData
|
true | — |
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/agentic-tco-roi.
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 →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 →