Yes, you can recover LLM token costs from SaaS customers. First you need to measure those costs for each tenant and each feature. Most SaaS teams do best with a hybrid model: a subscription that includes an AI allowance sized for typical use, plus metered overage or higher tiers for heavy users. Caps on top of that protect your margin.
Why do LLM costs break a flat SaaS price?#
Every AI request costs you money each time it runs, while a flat price stays the same however much a customer uses.
In classic SaaS, serving one more user costs almost nothing. With LLM features, every prompt, retrieved document and generated answer is billed by the token. The bill also varies a lot by model. CloudZero's breakdown of OpenAI's rate card lists the current flagship at $10 input and $50 output per million tokens, while the cheapest model in the same table costs $0.20 for input. Output tokens cost several times more than input, so long answers and agent loops add up quickly.
Here's a worked example using those flagship rates. Say a feature sends 3,000 input tokens and gets 800 output tokens back on each call:
- Input: 3,000 × $10 / 1M = $0.03
- Output: 800 × $50 / 1M = $0.04
- Cost per call: $0.07
A user who runs it 50 times a working day makes about 1,050 calls a month and costs you about $73. If the seat sells for $40, every heavy user loses you money, and light users can't make up the gap if heavy users are common.
Many vendors have moved away from flat pricing for this reason. Metronome's field report found the move to usage-based or hybrid pricing was often a defensive move to deal with real, variable costs rather than a strategy.
How do you measure token usage per tenant and per feature?#
Send every model call through one gateway. The gateway tags each call with the tenant, the feature and the model, and records the token counts the provider returns.
Set it up in this order:
- One path to the model. Product code shouldn't call provider SDKs directly. Use a single gateway or wrapper, so nothing goes unmetered.
- Tag every request. Add tenant ID, plan, feature, model and user. Without the feature tag, you can't tell which feature is losing money.
- Record each token type separately. OpenTelemetry's generative AI conventions define separate counters for input, output, cache-read, cache-write and reasoning tokens. The recorded value should match the count the provider returns, not your own estimate.
- Price each call at the time it runs. Multiply each token type by the rate card in force on that date and write the result to a cost ledger. Rates change, so totals recalculated later at new rates will be wrong.
- Add the costs that aren't tokens. Count embeddings, vector search, retries and failed calls. Retries are easy to miss and can be a real share of spend.
- Look at the spread, not the average. Report cost per tenant at the median and the 95th percentile, and cost per completed task for each feature.
Collect at least one full billing cycle of this data before you change any prices. The spread decides your pricing model more than the average does. We cover the setup in more detail in our guide to cutting cloud and LLM costs at a SaaS company.
Which pricing models can recover LLM costs: quotas, metering or tiers?#
All three can recover costs. Which one fits depends on how uneven usage is across tenants and how much your buyers need predictable bills.
Hybrid models are now the most common choice. Metronome reports that most enterprise AI deals in 2025 still rely on usage-based or hybrid pricing. Orb, citing Stripe, says that among AI company leaders, 56% use hybrid pricing and 38% use pure usage-based pricing.
| Model | How it works | Recovers cost when | Main risk |
|---|---|---|---|
| Absorbed (built into the price) | AI is part of the plan price | Usage is light and even | Heavy users erode margin |
| Included quota + overage | A set allowance, then a charge per unit | Usage has a long tail | Bill surprises if alerts are weak |
| Pure metering | A charge per request, task or token | Usage is driven by the customer and is spiky | Buyers can't budget for it |
| Tiered plans | Higher tiers raise AI limits | Usage tracks customer size | Customers bunch up just under a tier limit |
| Prepaid credits | Customers buy credits up front and spend them down | Features vary in cost | Credits feel abstract to buyers |
| Outcome-based | A charge per resolved task | The outcome can be measured cleanly | Arguments over what counts as done |
Several large vendors already use these models. GitHub Copilot business plans include a set number of premium requests, and an admin policy decides whether to allow charges beyond that or block usage. Intercom sells annual credit buckets with optional pricing per resolution.
Charge business buyers in a unit they recognize, such as a request, a document, a report or a resolution. Use tokens only to set that price internally. That way, when you switch to a cheaper model, your margin improves and the customer's price list doesn't change.
The chart places each model on two criteria. One is how predictable the bill is for the buyer. The other is how well the model protects your margin when usage spikes.
How do you set token budgets and caps that protect margin?#
Start from the gross margin you want on each plan, work out how much AI cost each tenant can carry, and enforce that budget in the gateway.
- Set the AI share of revenue for each plan. For example, a $500-a-month plan that may spend 15% on AI has a $75 budget per tenant.
- Convert the budget into units. At $0.07 a call, $75 covers about 1,070 calls. Set the included quota a bit lower, say 1,000, to leave room for retries and fallbacks.
- Add thresholds. Warn the customer's admin at 80% of the quota. At 100%, either move the tenant to a cheaper model or ask them to approve overage. The hard cap is whatever the contract allows.
- Budget expensive features separately. Long-context analysis and multi-step agents can use up a whole quota in a few runs. Give them their own limits.
- Cut costs before you raise prices. Under Anthropic's pricing, cache reads cost 0.1x the base input rate, a 90% discount on repeated system prompts. Sending simple requests to smaller models lowers costs further. In our generative AI builds, each feature gets latency and cost targets per request, with model routing and fallbacks.
- Recheck every month. Provider prices change, so recalculate how many units the budget covers whenever the rate card moves.
How should you explain usage charges to customers without losing trust?#
Show customers their usage before you bill it, let them set their own limits, and charge in units they understand.
Surprise bills are common. Orb cites a survey in which 78% of IT leaders reported unexpected charges from consumption-based or AI pricing. To avoid adding to that:
- Put a usage meter in the product that shows units used, units left and the date the allowance resets.
- Alert admins, not only users, at 80% and 100% of the quota.
- Let customers choose what happens at the limit. Like GitHub's overage policy, admins should decide whether usage continues at a charge or stops.
- Offer a trial period so buyers can estimate their usage before they commit. Intercom uses generous or extendable free AI trials for this.
- Don't charge for your own failures. Leave retries, timeouts and answers that failed validation off the bill.
- Give notice before changes take effect. Let existing contracts run to renewal on their current terms, and publish the new units well in advance.
When should you absorb LLM costs versus pass them on?#
Absorb LLM costs when the cost per tenant is small and stable compared with the price. Pass them on when usage is uneven, heavy or controlled by the customer.
Absorbing tends to fit when:
- Even your 95th-percentile tenant stays within the AI budget for the plan.
- The feature is now something buyers expect, and competitors include it at no extra charge.
- Use is limited by how the product works, such as one summary per record.
Passing costs on tends to fit when:
- A small group of tenants causes most of the spend.
- Customers trigger the volume themselves, such as with bulk jobs, agents or API access.
- The feature is a new premium capability that buyers will pay more for.
Conclusion#
Price LLM costs only after you can see them. Meter every call by tenant and feature, then look at how unevenly usage is spread. Most SaaS companies end up with a hybrid: an included allowance, then overage or tiers, budgets enforced in the gateway, and usage that customers can see before they're billed.
Calidad's cloud cost optimization work covers this for teams whose cloud and AI bills grow faster than revenue. We show where the money goes, cut the waste and set guardrails so the savings last. Every engagement starts with a paid pilot, and there are no long-term contracts.
Frequently asked questions
Should I show customers raw token counts on their invoice?
Usually not for business buyers. Tokens are hard to predict and depend on which model you use. Bill in a unit customers recognize, such as requests, documents or resolved tasks, and set its price from tokens internally. Developer-facing API products are the exception, because their buyers often expect to see tokens.
How much markup should I add on top of LLM costs?
No single markup is right. Start from the gross margin you want on each plan, and allow for retries, embeddings, infrastructure and support as well as tokens. Check what the price of your chosen unit looks like to the buyer against the value they get from it, not only against your cost.
What should I do when model prices drop?
If you charge in your own units rather than tokens, a cheaper model raises your margin without any change to the price list. Decide whether to keep the savings, add more included usage, or lower prices for competitive reasons. Recheck how many units each budget covers whenever a rate card changes.
Can I add AI usage charges to existing customer contracts?
Doing it mid-term risks breaking trust and the contract itself. A safer approach is to keep current terms until renewal, give clear notice and show customers their actual usage beforehand. That way the new pricing reflects usage they've already seen.
How long should I meter usage before choosing a pricing model?
Collect at least one full billing cycle of data tagged by tenant and feature, and longer if usage changes with the season. You need enough data to see the 95th-percentile tenant, not only the average. Pricing on a short sample tends to set quotas too generously or too tightly.
- LLM pricing
- SaaS pricing
- AI monetization
- usage-based pricing
Newsletter
Get new articles by email
A short monthly round-up of what we've written on engineering pods, quality and AI. No spam.
