Business

How to Price Internal AI Automation as a Service to Other Teams

Antonio Evans9 min read

A clean isometric cutaway of an office building floor.
Key points

Key points

  1. 1Pick the chargeback model that matches who controls the cost: pass-through tokens when teams can tune their own prompts, seats when usage is diffuse and shallow, per-task fees when each run has a clean, countable finish line.
  2. 2A defensible rate comes from four stacked numbers: metered model spend, allocated platform labor, infrastructure share, and a reinvestment margin, all divided by a measured unit count such as active users or completed runs.
  3. 3Run showback for four to six weeks before you move money, so allocation disputes surface while they are cheap to fix.
  4. 4Present ROI as a comparison against the fully loaded cost of the manual process you replace, and label saved time as capacity, not cash, until you can show where it was redeployed.

The three chargeback models and when each one wins

An internal AI service has the same problem as a public cloud: the bill arrives as one number, and the business context is gone by the time finance sees it. Teams that build chargeback take a single provider invoice and turn it into per-team accountability with accurate ROI behind it per this allocation walkthrough. The choice of model determines how much of that accountability the consuming team actually feels.

Token pass-through. You charge each team the metered cost of the model calls it made, plus a markup for platform overhead. It is the most transparent model and the easiest to defend, because every dollar maps to a usage record. It also gives the consuming team a lever: if their prompts are bloated or their agent retries a failing step ten times, they see it in their own invoice. The downside is variance. A team doing exploratory work with long contexts can land a bill that fluctuates wildly month to month, which is hard to plan against.

Seat subscription. Each active user in a consuming team pays a flat monthly fee. Allocating AI spend by seats works well for flat-rate tools like coding assistants or enterprise chat, where the cost driver is seats, not tokens as this cost categorization table shows. The model wins on predictability and simplicity: finance can forecast it, managers can approve it without a usage analyst, and no one argues about decimals. The downside is moral hazard. Heavy users are subsidized by light users, and nobody has a reason to tune a prompt.

Per-task fee. You publish a fixed price per completed automation run: per invoice reconciled, per ticket resolved, per contract clause extracted. It is the cleanest model for anything agentic, because per-task cost is the unit economics of an agent and the direct basis for comparing agent cost against human cost per this guide to cost per task. The fee is stable, the consuming team can budget by volume, and the service's revenue scales with the work delivered. The risk sits on your side: if your 90th-percentile task costs ten times the median, as agent investigations often do, your flat fee can lose money on the tail.

A practical decision rule: if the consuming team can change its own consumption (prompt design, context length, retry policy), charge tokens so the incentive is live. If consumption is roughly one call per user per day, charge seats. If the output has a countable, verifiable finish line that the business already tracks, charge per task.

DimensionToken pass-throughSeat subscriptionPer-task fee
Cost driverInput and output tokens per callActive usersCompleted, verified runs
Forecast stability for the consumerLowHighHigh
Incentive to tune usageStrongWeakModerate
Dispute surfaceToken counts and pricingWho counts as activeWhether a run "completed"
Best fitCustom agents, exploratory workFlat-rate chat and coding toolsDocument, ticket and reconciliation workflows
Main risk to the service ownerLow margin on thin markupCross-subsidy across usersLosing money on high-variance runs

Build the unit cost before you publish a rate

Almost everything that makes a chargeback survive budget review happens before a rate is quoted. You need two sources of truth: metered usage with an owner attached, and a labor allocation.

Step 1: Categorize spend. Separate variable inference from flat licensing and from shared infrastructure. They behave differently and resist one shared rule; a flat license should never be split the way variable inference is per this FinOps method.

Step 2: Make every call attributable. This is the step most teams skip. A call to a model provider is a transaction, not an asset, so the resource tag you rely on for a virtual machine never appears; teams that wait for tags stay blind to per-team spend for months per the same guide. Attach a team or project identifier to every request at the application layer, and do not share one API key across teams.

Step 3: Measure the unit. Pick one unit per model: tokens for pass-through, monthly active users for seats, completed runs for per-task. Pull it from the same pipeline that produces the usage records, so the numerator and denominator reconcile.

Step 4: Allocate the human cost. Platform engineering, prompt maintenance, evaluation, and on-call time are real costs. Divide the monthly loaded cost of the platform team by the unit count, and be explicit about the driver: tokens, users, or runs.

Step 5: Add infrastructure share and a margin. Shared vector databases, gateways, observability and logging have no single owner, so split them by a published rule. Then decide on a reinvestment margin, typically in the range you use for internal services elsewhere, and hold it. A margin of 0 leaves nothing to build the next automation.

Worked example, illustrative. A platform team has a loaded monthly cost of $18,000 and serves 400 active users across three departments. Central model spend on that service averages $6,000 a month, shared infrastructure $2,000, and a 15 percent reinvestment margin is applied. Total monthly cost is $26,000. Under a seat model, the derived rate is $65 per active user per month: $26,000 divided by 400. If the firewall, support desk, quality review or any other fully loaded human step costs a median seven minutes at $70 an hour, that adds roughly $8.17 per manual ticket, which is the number the per-task price must beat.

The same arithmetic drives per-task pricing. Take a reconciliation run that completes, on average, with $0.32 of model spend, $0.10 of infrastructure share, and a labor allocation of $0.18 per run, then apply the margin. The published fee sits at that total, and you keep a ledger of the actual cost per run so you can show margin by workflow, not just in aggregate.

Present ROI so it survives budget review

Finance teams are trained to distrust AI business cases. Only 29 percent of executives say they can confidently measure AI ROI, according to the Deloitte survey reported in this ROI metrics guide. RAND's interviews with 65 experienced data scientists and engineers found that more than 80 percent of AI projects fail, twice the rate of IT projects that do not involve AI per the RAND report. Your chargeback presentation is where that credibility is won or lost.

Four rules keep it standing.

Compare against a measured baseline, not a guess. Record the manual process before you automate it: volume, cycle time, error rate, and the fully loaded labor rate. Use fully loaded rather than base pay; practitioners typically load salary by 1.3 to 1.5 times to cover benefits and overhead per this ROI guide. Without a pre-automation baseline, every number downstream is an assertion.

Subtract the rework. Human-in-the-loop costs, review time and correction effort belong in the per-task calculation, not in a footnote per the cost-per-task breakdown. A draft that takes 20 minutes instead of 60 but demands 25 minutes of fixing saves 15 minutes, not 40 per this AI ROI metrics list.

Call saved time capacity, not cash. State the capacity in hours or full-time equivalents, then show where it went: more throughput, lower contractor spend, or pulled-forward projects. A worked example from an engineering tooling context shows the reporting shape: 200 engineers at $180,000 fully loaded, 8 percent net time saved, capacity value of $2,880,000 against $650,000 of investment after the productivity dip, a 343 percent first-year return and 2.7-month payback, presented to finance as the equivalent of 16 engineers and tracked by cost per merged pull request per this ROI framework. The numbers are illustrative, but the reporting discipline is the point.

Publish the unit cost next to the ROI. If the consumer's chargeback is $65 a seat and their replaced process cost $120 a seat in labor, the ROI argument is finished before the meeting starts. If the numbers are close, say so and show the path.

ROI lineWhat to reportWhere the number comes from
Baseline costVolume times fully loaded time per unitSix months of pre-automation records
New costChargeback total plus retained human reviewYour metered ledger plus the oversight formula
Net benefitBaseline minus new costThe difference, shown per unit and in total
Capacity releasedHours or FTE, with a destinationWhere the reclaimed time was redeployed
PaybackMonths to net benefit turning positiveCumulative ledger, not a projection

A rate card template you can copy

A rate card is the contract between your service and its consumers. Keep it to one page with these fields. The line items follow the same categorization that keeps allocation defensible per the FinOps allocation method.

SERVICE: <name of the internal AI automation service>
EFFECTIVE DATE: <first day of the billing period>   OWNER: <team>

CHARGEBACK MODEL (tick one)
[ ] Token pass-through   [ ] Seat subscription   [ ] Per-task fee
Cross-model handling: <mixed models allowed, billed at the model mapped to the workflow>

RATE CARD
1. Metered usage      Unit: <token / active user / completed run>
                      Rate: <$/unit>   Source: <metering pipeline, retained 13 months>
2. Labor allocation   Rate: <$/unit>   Basis: <platform team loaded cost / unit count>
3. Infrastructure     Rate: <$/unit>   Rule: <split by token share / headcount>
4. Reinvestment       Rate: <%/unit>   Purpose: <next automation, evaluations>
5. Human review       Rate: <$/run>    Basis: <median review minutes x loaded hourly rate>

TRUE-UP RULES
- Reconciliation cadence: <monthly / quarterly>
- Threshold: accounts within <X%> of forecast are not trued up
- Direction: differences above threshold settle in <next period>
- Forecast window: <promised volume / promised prompt changes>

DISPUTE PROCESS
- Raise within <5 business days> of invoice, in writing, with the request IDs
- Service owner responds within <5 business days> with the usage record
- Unresolved disputes go to <named arbiter> within <10 business days>
- Same dispute type twice in a quarter triggers a rate card review

The template matters more than it looks. The threshold on true-ups is the single most important clause, because it saves both sides the cost of chasing small variances. The forecast window clause is second: it is what lets you say "you promised this volume and changed your prompt strategy" when the bill swings. Keep usage records for a full year plus one month, so any dispute inside a fiscal review can be answered from primary data.

True-ups, disputes and the rules that keep them short

Disputes are expensive and they erode trust in the whole model. Three rules keep them rare.

Run showback before chargeback. Showback reports usage and cost to each team without moving the money, which is the right first phase for validation and alignment; chargeback sends the expense to the consuming unit's P&L and carries more setup complexity and more cultural risk if teams do not trust the allocation per this FinOps comparison. The common practice is four to six weeks of showback before the switch, long enough to catch disputed shared costs and repair tags per the allocation guide.

Pick one direction for true-ups and apply it mechanically. If you true up both overage and underspend, teams stop treating the invoice as a budget. Most internal services do better with overages passed through and underspend returning to the central pool, announced in advance on the rate card. The other common mistake is true-up thresholds that are too tight; a variance under a small percentage of the monthly total costs more to administer than it recovers.

Give every dispute a record to point at. The whole model rests on attribution, and attribution needs context: which department generated the usage, which product drove the cost, which team owns the bill per this internal chargeback model guide. A dispute that says "the bill is too high" is unresolvable. A dispute that says "requests 8812 to 9014 came from a mislabeled test account" is a five-minute fix. Set the log retention to cover your fiscal close and your audit window, and make the log searchable by team and request ID.

If your platform team would rather not build the metering and the allocation reporting itself, Quanta Inference puts text, image, video, audio and embedding models behind one OpenAI-compatible API key with prepaid billing, which makes per-team keys and per-call usage records the default rather than a project. For the strategy layer, a free 30-minute discovery call is a reasonable place to pressure-test your rate card against another practitioner.

One more trap worth naming. Ownership of the AI spend often sits with several cost centers at once, so the chargeback model can be technically correct and still lose the room. Before you publish rates, confirm which budget line pays the model provider today, who holds the platform headcount, and who owns the shared infrastructure. A chargeback that moves money between units without moving ownership just relabels the invoice.

FAQ

FAQ

Should the chargeback cover only tokens, or the platform team too?

Cover everything, or the rate is fiction. Token pass-through that ignores platform labor, evaluations and on-call shifts makes the AI service look free while the platform team absorbs the cost. Build the unit cost from metered usage, allocated labor, infrastructure share and a reinvestment margin, then divide by your chosen unit, whether that is a token, an active user, or a completed run. Charge only part of it and finance will eventually ask where the rest went.

How do I stop other teams from stocking prompts or retrying endlessly?

Make the cost visible to the person who can change it. Token pass-through with per-team keys is the simplest way: retries and bloated contexts show up in the consuming team's own invoice rather than in your platform budget. If you use seats or per-task fees, add a consumption report to the monthly invoice and keep a retry budget, because a coding agent retrying a failing step ten times burns ten times the token cost of a clean run per the cost-per-task guide. A monthly variance review is usually enough.

What if a consuming team disputes the usage numbers?

Answer from primary data, not from a summary. Every request needs a team identifier, a timestamp and a request ID, and the usage log needs to be retained through the fiscal close and the audit window. Ask for the disputed request IDs in writing and send back the matching records. If the same dispute type shows up twice in a quarter, treat it as a rate card bug and revise the allocation rule rather than arguing case by case.

Do I charge back from day one, or show the costs first?

Show first, charge second, unless you already have trusted attribution and an agreed allocation rule. Showback builds cost awareness without moving the money, and it is the recommended first phase because it lets you test ownership rules and fix tagging before invoices reach a business unit's P&L per this comparison. Four to six weeks is the usual window. Move to chargeback when coverage holds and the disputed costs have stopped recurring.

How do I prove the service is worth its chargeback at budget review?

Compare the chargeback against the fully loaded cost of the manual process, measured before the automation existed. Include rework and review time in the new cost, and report saved time as capacity with a destination rather than as cash. Keep the ledger of actual cost per unit so you can show margin by workflow, and report payback in months from cumulative net benefit rather than from a projection. If the numbers are close, say so: a case that names its risks survives review better than one that does not.

Sources

Sources

  1. How to Allocate AI Cost: A Step-by-Step FinOps Method
  2. AI Agent Cost Per Task: How to Measure the True Cost of ...
  3. How to Measure AI Agent ROI: Metrics & Formulas
  4. The Root Causes of Failure for Artificial Intelligence Projects and ...
  5. AI ROI Metrics: Top 10 KPIs to Track
  6. How to measure the ROI of AI coding tools - Waydev
  7. Chargeback vs Showback: FinOps Cost Allocation Guide
  8. How to Build an Internal Chargeback Model for Your API ...
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles