Every AI dollar can be assigned to an owner. Some just resist harder than others.
Chapter 2 said the climb up the unit ladder is a series of joins. This chapter is about building the hard ones — the costs that arrive with no customer, no team, and no tag, and the honest mechanics for assigning them anyway.
A surprising share of attribution is available for free and left on the table. Most model providers let you carry metadata on a request — a tag, a key per customer, a workspace per team. If you put the customer's name on the request when you make it, the join is done at the source and every rung above it lights up.
The rule: tag at request time wherever the vendor lets you. A tag added when the request happens costs nothing; the same information reconstructed three months later from logs costs a week. Separate keys per customer or per environment are the blunter version of the same move, and they work almost everywhere.
Everything below is for the spend where this isn't possible.
Coding assistants, chat seats, and copilot licenses feel like they escape unit economics — one price per seat per month, nothing to attribute. They don't. A subscription is just tokens with a flat price on top, and it hides three different numbers:
Attribution here runs on session data, not invoices: which people used the tool, on which projects, how heavily. Divide the subscription cost across active usage and you get an estimated cost per team or per project — say estimated, because it's an allocation, not a meter. Even the estimate answers questions the invoice can't: which teams are getting value from the seats, and how many seats you're paying for that nobody touches.
Self-hosted models and GPU fleets present the opposite problem: one big metered cost, many customers drawing from it, no per-request price from any vendor. The honest mechanic is usage-proportional allocation: pick the unit you chose in chapter 2 — minutes served, renders completed, sessions run — measure each customer's share of it, and split the fleet cost in that proportion.
Two rules keep this from drifting into fiction. First, carve out before you pool: a customer on dedicated capacity, or running on their own hardware, must be removed from the shared pool before you allocate the remainder — otherwise everyone else absorbs a cost that customer isn't creating, in either direction. Second, label the result what it is: a proportional estimate, good for margin analysis and pricing, not a billing-grade meter.
Conversational products carry costs that never appear in any model provider's dashboard: telephony minutes, SMS delivery, transcription, speech synthesis, the second and third models in the pipeline. These are real cost of goods — often a meaningful fraction of the total — and they are invoice-first by nature. If your cost-per-call includes the language model and omits the phone line, it isn't a cost-per-call; it's a partial one that flatters every number downstream. Inventory these lines explicitly (chapter 7 starts here) and pull them into the same ledger as everything else.
All of the mechanics above reduce to one sentence:
Where a vendor exposes usage, pull it. Where it doesn't, ingest the invoice and allocate.
Usage data joins cleanly and continuously; invoices arrive monthly and need an allocation rule. Both belong in one ledger, in one unit, against one set of owners.
And one discipline keeps the ledger honest: reconcile against invoices monthly. Sum your attributed costs per vendor and compare to what the vendor actually charged. A small, stable gap is a rounding story; a growing gap means an allocation rule has quietly detached from reality. Allocation without reconciliation doesn't degrade loudly — it drifts, and every decision built on it drifts with it.
The failure mode in attribution is perfectionism: teams stall for a quarter designing the exact allocation for the hardest 10% of spend while the easy 80% sits unattributed. Invert it. Tag what's taggable this week. Allocate the rest with a simple, stated rule. Mark every imputed number estimated, and refine the rules that reconciliation proves wrong.
Eighty percent attributed with confidence beats one hundred percent attributed with guesses — because the 80% is enough to answer the load-bearing questions: which customers cost what, which teams spend what, and where the next dollar of effort should go. Precision is a direction, not a prerequisite.
With attribution built, the two halves of the book split: if you sell AI, chapter 5 prices against these numbers. If you buy it, chapter 6 makes budgets hold against them. Both start from the same ledger you just assembled.
Next chapter: Pricing against variable cost →