On a submarine, we tracked every BTU of energy the reactor plant produced. Nobody asked "should we measure that." You measured it because unmeasured energy is either wasted or dangerous, and you don't get to find out which one after the fact. Your AI spend deserves the same rigor.
ICONIQ Growth found AI inference now runs roughly 23% of AI-attributable revenue at scale, and most owner-operators cannot tell you what their percentage is, let alone which calls are earning it. This audit fixes that in one afternoon a month.
Key Takeaways
- AI API costs are variable, not fixed, and they scale with usage whether or not usage produces revenue. Treat every model call like a labor hour: it needs to trace to an outcome.
- Benchmark data puts healthy AI cost at 5-15% of AI-attributable revenue for SaaS companies where AI is a feature, not the whole product. Above 20-30%, you have a pricing or waste problem, not a model problem.
- The top 5% of users often drive roughly 75% of usage cost under flat pricing. A handful of accounts can be quietly destroying your unit economics while looking like your best customers.
- Model routing, prompt caching, and batching are not engineering nice-to-haves. Anthropic's own data shows prompt caching cuts costs on repeat context by up to 90% and cuts latency by up to 85%. That is margin sitting on the table.
The Invisible Cost Problem
Hosting costs show up on one line. AI costs hide in dozens.
Every chatbot reply, every embedding, every retry, every background agent call adds a few cents to a bill you check once a month, if that. A few cents times ten thousand calls is real money, and it compounds the way debt compounds: quietly, then all at once. I have seen founders discover a $23,000 monthly AI bill and have no idea which feature was driving it.
That is not a hypothetical. One SaaS support team found their bot was answering "how do I reset my password" more than 4,000 times a month, generating a fresh GPT-4o response from scratch every single time. Same question, same context, same answer, full price paid again and again.
Their bill hit $23,000 before anyone looked closely. After three weeks of caching and routing work, it dropped to $8,600, a savings of $14,400 a month for doing nothing except stopping the waste.
Traditional software COGS scale sub-linearly. More customers on the same server costs you almost nothing extra. AI inference does not work that way. Every call re-runs computation and burns real compute, so your cost of goods sold rises in lockstep with usage.
That is why AI-native SaaS companies run gross margins in the 50-65% range against the 70-90% that built the SaaS valuation model in the first place, per Bessemer and a16z data. Margin does not compress because AI is bad. It compresses because nobody is running the audit.
I have watched founders treat the AI line item like a utility bill: pay it, move on, worry about it later. A utility bill does not double when you add one new feature that nobody asked to be billed for separately. Your model bill does exactly that, and it does it silently, one API call at a time, until the CFO or the founder playing CFO finally asks why gross margin dropped six points in a quarter with flat headcount.
The Audit Framework
FOCUS Strategy starts with knowing your cost structure before you claim a position in the market. You cannot defend a price, a margin, or a moat if you do not know what each unit costs to deliver. The AI cost audit is that discipline applied to your model bill, one call at a time.
Step 1: Map every AI call to a revenue outcome
List every place your product makes an AI API call. Support bot, onboarding assistant, internal copilot, content generator, background enrichment agent, all of it. For each one, write down what revenue event it is supposed to drive: a trial conversion, a retained seat, a support ticket deflected, an upsell.
If you cannot name the outcome, you have already found your first cut candidate. A call with no revenue attribution is a cost center pretending to be a feature.
Step 2: Calculate cost per AI-driven outcome
For each mapped call, divide the monthly spend by the number of outcomes it produced. Cost per ticket deflected. Cost per trial converted. Cost per qualified lead enriched.
This is the number that matters, not the aggregate API bill. A $30,000 monthly spend that deflects 40,000 support tickets at $0.75 each is a bargain if your loaded cost per human-handled ticket is $8. A $3,000 monthly spend on a "smart" onboarding email generator that nobody reads is a bad trade at any price.
Step 3: Identify the waste
Waste shows up in three patterns every time I run this audit:
- Duplicate work. The same question, the same document, the same context, processed fresh every time instead of cached or routed to a cheaper model.
- Wrong model for the job. A frontier model doing a classification task a small model could handle at one-tenth the cost.
- No usage ceiling. A small number of accounts or a runaway agent loop consuming a disproportionate share of spend with no revenue to show for it. Research on flat-fee AI pricing found the top 5% of users can drive roughly 75% of usage cost while contributing a fraction of the revenue.
Rank every mapped call by cost-per-outcome, worst first. Anything in the bottom quartile gets thirty days to prove itself or gets cut.
The Cost Levers
Once you know where the money goes, four levers move it.
Model selection. Not every call needs your most expensive model. GPT-4o runs $2.50 per million input tokens and $10 per million output tokens. A smaller model in the same family often runs a fraction of that for classification, extraction, and routing tasks.
Reserve the expensive model for the step that actually needs its reasoning. Route everything else down.
Caching. Anthropic's prompt caching charges roughly 10% of the standard input price for a cache hit, after a modest write premium the first time. If your system prompt, your knowledge base excerpt, or your conversation history repeats across calls, you are paying full price for content the provider would let you reuse at a 90% discount. Studies of production LLM traffic found that 30-40% of requests are semantically similar to a prior request. That is a caching opportunity sitting unclaimed in most SaaS stacks.
Batching. Both OpenAI and Anthropic offer batch processing at roughly 50% off standard rates for work that does not need a real-time response: nightly enrichment jobs, bulk classification, report generation. If a task can wait a few hours, batch it. There is no reason to pay real-time pricing for a job that runs on a schedule.
Prompt optimization. Shorter, tighter prompts cost less every single call, and the savings scale with volume. Strip boilerplate. Cut redundant instructions. Test whether a shorter prompt degrades output quality before you assume it does; often it does not.
Stack these levers and the math moves fast. A team paying full price on every call, with no caching, no routing, and no batching, is running the AI equivalent of an all-hands meeting for a two-person decision. Every lever you turn on compounds with the ones already running, because a cached call that also gets routed to a cheaper model saves twice, not once.
The Monthly Audit Checklist
Run this on the same day every month, the way you run payroll.
- Pull total AI API spend by provider and by feature.
- Calculate AI cost as a percentage of AI-attributable revenue.
- Recalculate cost per outcome for each mapped AI call.
- Flag any call with no clear revenue attribution.
- Check cache hit rate. If it is under 40% and your traffic is repetitive, fix your caching before you touch anything else.
- Review model mix. Confirm expensive models are reserved for tasks that need them.
- Identify your top 5% of AI-cost accounts and check whether their revenue matches their consumption.
- Compare this month's percentage of revenue to last month's trend, not just the raw number.
- Cut, cap, or reprice anything that failed step 4 through step 7 for two consecutive months.
Benchmark Targets
Use these as your operating ranges, not gospel:
- 5-15% of AI-attributable revenue: Healthy. Keep measuring, keep the discipline.
- 15-25%: Workable, but add routing and caching now before it drifts.
- 25-40%: Warning zone. Your pricing, your model mix, or your feature set needs a hard look.
- 40%+: You are not selling software. You are reselling compute with a chat window on top, and your gross margin will tell everyone the truth eventually.
Gross margin context matters here too. Traditional SaaS runs 70-90% gross margin. AI-enabled SaaS, where AI sits alongside a core product, runs 60-80%. AI-native products, where the model is the product, run 50-65%.
Know which category you are in before you panic over a number that might be normal for your model.
Sources and Further Reading
- AI gross margin: how AI spend hits SaaS profitability (CloudZero, ICONIQ/Bessemer benchmarks)
- AI Margin Calculator and Benchmark: Is Your AI Profitable? (PerUnit)
Frequently Asked Questions
How often should I actually run this audit? Monthly, minimum, tied to your close process. If you are scaling an AI feature fast or just shipped a new agent, run it every two weeks until the cost curve stabilizes. Waiting a full quarter to check means you find the $23,000 bill after it has already become a $70,000 quarter.
What counts as "AI-attributable revenue" for the denominator? Revenue from the plan tier, feature, or usage-based charge that the AI capability enables. If AI is bundled into every plan with no separate pricing, use total subscription revenue for that segment as a conservative proxy, and revisit your pricing model at the same time.
Should I self-host models to cut costs? Only past real volume. Industry data suggests API pricing beats self-hosting below roughly 10 billion tokens a month once you account for infrastructure, GPU procurement, and the engineering time to run it. Below that threshold, self-hosting adds headcount and complexity to save money you were probably going to save through caching and routing anyway.
What is the single fastest win most founders miss? Prompt caching. It requires a code change measured in hours, not weeks, and providers report cost reductions up to 90% on the cached portion of repeat calls. If your product has any conversational memory, repeated system prompts, or document context reused across calls, this is the first lever to pull.
Doctrine Connection: Verification Beats Optimism
I did not trust a gauge because the gauge looked fine. I trusted it because I had verified it against a second source and logged the reading. That habit is the whole doctrine: verification beats optimism, every time, without exception.
Most founders assume their AI spend is fine because the product works and the invoice gets paid. That is optimism, not verification. Verification is pulling the per-feature breakdown, calculating cost per outcome, and confirming the number against last month's trend before you decide anything is fine.
Run the audit. Do not assume the bill is buying you revenue. Prove it, every month, the same way you prove every other number that touches your margin.
Jeff Barnes has no personal position in any company, tool, or platform named in this article. DEMG has no current commercial relationship with any party mentioned. DEMG provides marketing strategy and AI operations guidance, not investment advice. Results described are illustrative and not guaranteed.