A total cost of ownership model for an AI agent has five cost categories: inference and tool-call spend, platform and tooling fees, integration and maintenance engineering time, human oversight labor, and the expected cost of failure. Most organizations build a model with only the first two, then are surprised when the agent's true cost profile looks nothing like the pilot budget.
Why the Obvious Costs Are the Least Informative
When a team scopes an AI agent project, the cost conversation usually starts and ends with inference: how many tokens will this consume, at what rate, across how many requests per month. That number is real, but it is also the easiest one to get from a vendor's pricing page, which makes it the one everyone anchors on.
The costs that actually determine whether an agent program is worth running tend to be the ones nobody put a line item next to: the engineer who spends four hours a week tuning prompts after a model update, the reviewer who reads every agent-generated output before it ships, the incident that happens when the agent takes an action nobody expected. None of these show up on an LLM provider's invoice, which is exactly why they get left out of the business case — and why the business case falls apart six months in.
For a treatment of how to keep the invoice-visible portion of cost under control once you're in production, see FinOps for AI Agents: Controlling Token and Tool Costs.
The Five Cost Categories
1. Inference and Tool-Call Spend
This is the metered cost of running the agent: model token consumption (input and output, since these are typically priced differently), any tool or retrieval calls that carry their own charges, and embedding or reranking costs if the agent uses retrieval. Build this as a formula rather than a static estimate: cost = (tasks per period) × (average tokens per task) × (rate per token), summed across every model and tool the agent calls. Keep the formula, not a snapshot — rates change, and task volume is rarely stable in the first two quarters of a rollout.
2. Platform and Tooling Fees
Separate from raw inference is whatever you pay for the platform that runs, governs, or observes the agent: orchestration, guardrail and policy enforcement, observability, and identity and access management for the agent fleet. These are often subscription or seat-based fees that don't scale directly with task volume, which makes them easy to under-model in a pilot (where volume is low) and easy to under-provision for at scale (where volume is high).
3. Integration and Maintenance Engineering Time
An agent is not a static asset. Prompts drift, upstream APIs change, models get deprecated, and the task distribution the agent sees in month six is rarely the one it was tuned against in month one. Model this as an ongoing engineering allocation — a fraction of an engineer's time per agent per period — rather than a one-time integration cost that amortizes to zero.
4. Human Oversight Labor
This is the category most TCO models omit entirely, and it is often the largest one in practice. Oversight labor includes: reviewers who check agent output before it's used, approvers in a human-in-the-loop workflow, the on-call rotation that responds when the agent does something unexpected, and the time spent building and maintaining the eval sets that keep the agent's quality bar from silently drifting.
The reason this gets undercounted is structural — it's distributed across many people's calendars in small increments rather than appearing as a single line on a bill. Build it explicitly: (oversight hours per task or per period) × (fully loaded cost per hour of the role doing the oversight). If you don't know the oversight hours yet, that itself is a finding — it means you're running the agent without instrumentation on its single largest hidden cost driver.
5. Expected Cost of Failure
Every agent has a non-zero probability of taking a wrong or harmful action: sending an incorrect communication, executing an action outside its intended scope, or exposing data it shouldn't have touched. Model this as a probability-weighted expected cost: (probability of a failure event in the period) × (cost of that event, including remediation, customer impact, and any regulatory exposure) — not as an afterthought you add only after an incident has already happened.
You will not have a precise probability. That's fine — the value of including the term is that it forces an explicit conversation about what a bad outcome would cost, rather than implicitly pricing it at zero. See the threat model for runaway agent spend for how one specific failure mode compounds if left unchecked, and Service Level Objectives for AI Services for how availability failures fit into the same probability-weighted framing.
Structuring the Model
| Category | What it captures | How to size it |
|---|---|---|
| Inference and tool spend | Metered LLM and tool-call charges | Tasks × tokens per task × rate, per model |
| Platform and tooling fees | Orchestration, guardrails, observability, identity | Subscription or seat cost, by tier |
| Integration and maintenance | Engineering time to keep the agent working | Fraction of FTE per agent per period |
| Human oversight labor | Review, approval, on-call, eval maintenance | Oversight hours × fully loaded hourly cost |
| Expected failure cost | Probability-weighted cost of a bad outcome | Probability × (remediation + impact + exposure) |
Treat each row as a formula with your own variables, not a number you copy from a vendor case study. The formula is the reusable artifact — you'll rerun it every quarter as your measured inputs change.
A Worked Illustrative Example
The following is illustrative only, with made-up inputs, to show how the categories combine — do not treat any figure below as a benchmark for your own deployment.
Suppose an agent handles a fixed task volume V per month. Its measured inference cost is I per task, its platform allocation is a flat fee P per month, its engineering maintenance draw is E hours per month at a loaded rate R, its oversight burden is O hours per task at rate R2, and its estimated failure probability per task is F with an average failure cost of C.
Total monthly cost = (V × I) + P + (E × R) + (V × O × R2) + (V × F × C)
The point of writing it this way is not to produce a headline number — it's that each term is independently measurable from your own data. If you can fill in V, I, P, E, O, and F from what you're actually observing, the model tells you which term dominates. In most rollouts, the surprise is that oversight labor (V × O × R2) or expected failure cost (V × F × C) exceeds inference spend (V × I) by the time an agent reaches steady state — but that's a finding you need your own numbers to confirm, not a rule to assume.
Where This Connects to ROI
A TCO model answers "what does this cost, fully loaded?" It's the denominator's partner in an ROI calculation — the cost side that pairs with an outcome-based value measure. See Measuring the ROI of AI Agents for how to build the value side: cost per outcome, time recovered, and deflection rate. A TCO model without an outcome measure tells you what you're spending; it doesn't tell you whether that spend is justified.
It also connects directly to internal cost allocation. Once you know the full cost of running an agent, you can decide how to recover it from the teams that benefit — see Spend Attribution Per Agent and Showback for one standard approach to that allocation problem.
Common Questions
Should the TCO model include the cost of the incumbent process the agent replaces?
Not in the TCO model itself — that comparison belongs in the ROI or business-case layer. TCO answers "what does the agent cost," full stop. Comparing it to the cost of the alternative (a human process, a different tool, doing nothing) is a separate step that depends on your outcome measure. Keep the two calculations distinct so you can audit each independently.
How often should the model be rerun?
Rerun it whenever a major input changes: a model swap, a pricing change from a provider, a material shift in task volume, or after your first full quarter of production data replaces your pilot-stage estimates. A TCO model built once during procurement and never revisited will drift from reality within two or three model or pricing cycles.
What if we can't yet measure oversight labor or failure probability?
Say so explicitly in the model rather than defaulting them to zero. A line item marked "unmeasured — estimate range TBD" is more honest and more useful than an implicit assumption that a real cost doesn't exist. The act of trying to measure it is often the first step toward reducing it.
What Good Looks Like
- Every cost category has an explicit formula with your own variables, not a borrowed industry figure.
- Human oversight labor is measured, not assumed to be zero because it doesn't appear on an invoice.
- Expected failure cost is modeled as a probability-weighted term before an incident forces the conversation.
- The model is versioned and rerun on a cadence, not built once for a procurement decision and shelved.
- TCO and outcome-value calculations are kept as separate, auditable steps rather than blended into one number.