Appearance
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
| Worker | Cost line |
|---|---|
| Employee | Compensation, plus the copilots they use |
| Contractor | Rate, plus the copilots they use |
| Agent | Its 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:
- Copilot spend lands on the person, once.
- Agent spend is its own line, once.
- Nothing is double-counted.
- 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
| Surface | What you see |
|---|---|
| Team Plan and forecasts | Fully-loaded person costs: compensation or rate plus copilot spend. See the forecast. |
| Agentic workforce and forecasts | Agent lines with their own realised and forecast spend, next to the people lines. |
| Detected services and Usage providers | The shared equipment layer: which AI tools exist in the org and the billing connections that price them. Tools, not workers. |
| Spend reconciliation | Estimated session costs reconciled against provider invoices, for people and agents alike. |
| Finance → Budgets → AI caps | The 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:
| Line | Base cost / month | Copilot spend / month | Fully-loaded / month | Merged PRs | Cost per merged PR |
|---|---|---|---|---|---|
| Engineer | £9,000 salary cost | £180 (Claude Code + Copilot) | £9,180 | 10 | £918 |
| Contractor | £7,200 rate | £120 (Cursor) | £7,320 | 8 | £915 |
| Release-notes agent | £0 | n/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.