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.
Each input shapes the cost. Click an input on the calculator to set it — explanations below match the live calculator field by field.
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 →