Skip to content

The AI cost model

Three worker classes, one tool layer. That is the whole model. Workers produce work and carry cost. Tools load their cost onto the worker who uses them. Get this split right and every AI pound in your org lands exactly once, on the line that caused it.

The three worker classes

WorkerCost line
EmployeeCompensation, plus the copilots they use
ContractorRate, plus the copilots they use
AgentIts own AI usage, attributed to no person

Employees and contractors are fully loaded: their line includes what their copilots cost. An agent is autonomous, so its usage is its own line.

Copilots are not workers

A copilot is an AI tool a person uses: Claude Code, Cursor, GitHub Copilot, Gemini in the hands of an engineer. A copilot:

  • loads its spend onto the person using it,
  • never gets its own worker line,
  • never appears in a project's agent deploy pool.

If your Cursor bill doubles, your engineers got more expensive. No new "worker" appeared.

One output metric

People and agents both ship pull requests. The cost source differs, the output measure is the same: cost per merged pull request. That gives you one honest comparison across the whole workforce. An engineer at £9,180 a month merging 10 PRs and an agent at £120 a month merging 4 PRs sit on the same axis.

Integrity rules

Four rules keep the model honest:

  1. Copilot spend lands on the person, once.
  2. Agent spend is its own line, once.
  3. Nothing is double-counted.
  4. A copilot never masquerades as a worker.

Attribution decides which is which

The same product can be a copilot or an agent. Claude Code driven by an engineer is copilot use. Claude Code running headless under a service identity is agent work. Attribution decides:

  • A session owned by an AI service account, with no person behind it, is agent work.
  • A session owned by an employee or contractor is copilot use, loaded onto that person.

See Attribution for how sessions get owners, and My AI for tagging your own sessions.

What this means in each surface

SurfaceWhat you see
Team Plan and forecastsFully-loaded person costs: compensation or rate plus copilot spend. See the forecast.
Agentic workforce and forecastsAgent lines with their own realised and forecast spend, next to the people lines.
Detected services and Usage providersThe shared equipment layer: which AI tools exist in the org and the billing connections that price them. Tools, not workers.
Spend reconciliationEstimated session costs reconciled against provider invoices, for people and agents alike.
Finance → Budgets → AI capsThe spend ceilings. Caps apply to AI spend wherever it lands, and breaches raise alerts.

A worked example

The numbers below are an example, not benchmarks.

A team has one engineer, one contractor, and one agent:

LineBase cost / monthCopilot spend / monthFully-loaded / monthMerged PRsCost per merged PR
Engineer£9,000 salary cost£180 (Claude Code + Copilot)£9,18010£918
Contractor£7,200 rate£120 (Cursor)£7,3208£915
Release-notes agent£0n/a£120 (300 runs at £0.40)4£30

Reading it back through the rules:

  • The £300 of copilot spend appears inside the two person lines and nowhere else. There is no separate "Claude Code" worker line.
  • The agent's £120 is its own line, owned by the agent, attributed to no person.
  • Total AI spend for the team is £420, and every pound of it appears exactly once.
  • All three lines compare on the same output metric. The agent is cheap per PR, but its PRs are small and templated. The metric starts the conversation, it doesn't end it.

If the agent's spend breached a cap set at Finance → Budgets → AI caps, an alert would fire on Insights → Agent insights → Alerts. If the engineer's copilot spend jumped, their fully-loaded cost would rise in the next forecast. Same model, both lenses.

Flowstate Documentation