Guides → Playground & Guide → AI ROI Quick Check - Will Your AI Investment Pay Back?
Meet Marcus Lee. CFO at a 250-person professional services firm. "Engineering wants to spend $5K/month on AI tools. Will this pay back, or am I subsidizing a vendor?"
🔥 MIT NANDA: 95% of GenAI pilots fail to show ROI.
The MIT NANDA finding is brutal: 95% of GenAI pilots fail to demonstrate measurable ROI. Not because AI doesn't work - because nobody priced the workload first.
Marcus has 50 employees who'd benefit from an AI assistant. Engineering wants to spend $5K/mo on the API + tools. He's been burned before - 'productivity tools' that turned into shelfware. He wants the math, defensible to his board.
The math has 4 inputs: hours saved per user × loaded hourly cost × number of users − monthly AI spend. Add revenue lift if any. Subtract risk-adjusted setup cost. The number you get is monthly ROI in dollars. The payback period tells you when this becomes net-positive.
Most teams skip this calculation, then act surprised when the CFO kills the project at month 6. Don't be that team.
MIT NANDA reports 95% of GenAI pilots fail to show ROI. This calculator + guide pricing the workload - hours saved, revenue lift, risk avoided, AI spend - with payback period.
roi
Below: live sliders. Move them to see numbers change in real time. * Output uses the generic compute model — for precise numbers use the full calculator below.
Each input shapes your cost. Move the slider — see the impact.
Open the full calculator — pick a model, enter your tokens, see per-call, daily, monthly, and annual cost.
🚀 Open the full calculator →Net monthly ROI = (hours × users × hourly cost) + revenue lift + cost displaced + (risk × impact ÷ 12) − AI spend. The setup cost gets amortized over 12-24 months.
Read the payback period. Under 6 months: green light, this is a real ROI. 6-12 months: defensible if you have committed budget. 12-24 months: risky in volatile org. Beyond 24 months: don't bother - vendor pricing or AI capability will change before payback.
Read the headroom. If your monthly ROI is 3× your AI spend, you have margin to be wrong about hours saved by 50% and still come out ahead. If it's 1.2×, you're betting the project on optimistic estimates.
Test the conservative case. Halve your hours-saved estimate. Does the math still work? If yes, this is robust. If no, you're hoping more than calculating - and your CFO will sniff that out.
Same calculator, three different team sizes. Click a tab to see how the numbers shift.
8hr/user × 50 users × $75/hr = $30K/mo time saved against $5K AI spend = 6× ROI. Payback ~1 month including setup. This is the textbook positive case.
Healthy range: Strong ROI: $30K/mo saved on $5K spend (6×)
What if hours saved is half what engineering claims, AND only 60% of users actually adopt? 4hr × 30 users × $75 = $9K/mo. Still 1.8× ROI. Payback ~3 months. Much more defensible - this is the number to bring to the CFO.
Healthy range: Conservative ROI still positive at ~$9K/mo
Smaller team, higher individual ROI. Engineers save more hours (specialized tasks), have higher loaded costs ($150). 12hr × 5 × $150 = $9K/mo time saved. 6× ROI on $1.5K AI spend. Setup multiplier is lower (1.2) because devs adopt faster than mixed teams.
Healthy range: Engineering ROI: 6× ($9K saved on $1.5K)
Cost isn't the only dimension. Click any constraint — see how recommendations change.
Better to under-promise. Halve your hours-saved estimate before bringing the analysis to the CFO.
ROI calcs are gamed all the time. The cheapest model gets picked, the highest hours-saved estimate gets used, the adoption gap gets ignored. Result: 95% of pilots fail. Always run the conservative case in parallel with the optimistic case.
AI can technically save 2 hours but require 1 hour of verification - net 1 hour. Measure net, not gross.
If your AI tool requires significant verification time (catching hallucinations, checking outputs), subtract that from hours saved. The CFO won't credit gross savings - they want net.
Adds 20-40% to AI spend but eliminates compliance objections from legal.
If your company has any privacy/compliance concerns, build the no-train Enterprise tier into the AI spend BEFORE running ROI. Otherwise, legal will kill the deal at month 3 and your ROI math becomes irrelevant.
Privacy posture is a binary in regulated workflows. You either have the right tier, or you don't deploy. Don't try to ROI-justify a privacy compromise.
Unless you're in voice agents - then sub-300ms TTFT is mandatory.
ROI calcs care about user time, not API time. A 2-second response vs 5-second response doesn't move ROI for typical knowledge work - it moves user satisfaction, which is a separate metric.
If your ROI assumes Sonnet 4.6 at $3/$15, and Anthropic raises 50%, your ROI breaks. Routing across vendors hedges this.
Single-vendor dependence is a hidden ROI risk. Build pricing volatility into your sensitivity analysis. Test: what's the ROI if AI spend goes up 50%? Up 100%? If the project still works at 2× cost, robust. If not, you're betting on stable pricing - which the 3-year history shows isn't reliable.
Otherwise it shows up as a surprise in month 6 and makes the ROI look worse than projected.
MLOps is the single biggest line item teams forget. Drift monitoring, eval pipelines, version management. If you're using fine-tuned or self-hosted models, add 25-50% to the AI spend in your ROI calc. API-only with major vendor: ~5%.
Tradeoff analysis is where most AI projects go sideways. Talk to a CFO-grade AI cost analyst →
Pre-loaded scenarios for the most common applications. Click a tab to see realistic numbers — then the "Try this scenario" button to load it into the calculator above.
Lower hourly cost ($35 - support reps), but adds $8K/mo of displaced contractor spend. Total: $5,250 hours + $8K displaced = $13,250 vs $1,200 spend. 11× ROI. Cost-displacement is huge for support.
Healthy range: Support ROI: 9× including displaced contractor cost
Marketing teams have a unique signal: faster content = more campaigns = revenue lift. 10hr × 8 × $90 = $7,200 hours saved + $5K revenue lift + $2K displaced agency spend = $14.2K vs $600 spend. 23× ROI.
Healthy range: Marketing ROI: includes revenue lift from faster output
Lawyers have a high hourly rate ($250) but low time savings (4hr/mo - work is reasoning-heavy). What dominates: risk avoided. 5% chance of $200K incident = $10K/mo expected value. Time savings: $6K. Total: $16K vs $800 spend. 20× ROI. Risk is often the biggest ROI driver in regulated workflows.
Healthy range: Risk-adjusted ROI: bigger story than time savings alone
Honest limitations — every model is wrong; some are useful. Where this one falls short:
For these, use: Agentic Workflow Cost for accurate AI spend estimate. Full TCO Wizard for adoption gap, time-to-value, and sensitivity analysis.
Don't guess at the AI spend. Calculate it from team size, usage, model tier.
Stress-test for vendor pricing volatility →What's your exposure if your primary vendor raises prices 50%?
Full TCO Wizard with sensitivity analysis →Tornado chart, adoption-gap modeling, 12-month projection.
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.
Why this matters: pricing for major vendors has dropped 40-90% in the last 24 months. A budget set 12 months ago is probably wrong by 30%+.
View 3-year history for →
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 →