Guides / ai cost in a board pack

How to put AI spend in front of a board without it becoming a line item

A board cares whether AI spend changes unit economics, not what it totalled. Report gross margin, cost per unit sold and the trend in both, with the bill as supporting detail. Culpa, a local-first LLM cost, margin, and forecast ledger, holds cost and revenue together so margin is a query rather than a spreadsheet.

Why this happens

AI spend usually reaches a board as a number and a direction, which is the least useful form it takes. A total tells nobody whether the business is working. It rises when you grow, which is good, and it rises when you're inefficient, which isn't, and the two are indistinguishable in a single figure. What a board is actually deciding is whether the unit economics hold as volume increases, and that needs the cost divided by something: gross margin, cost per customer, cost per transaction. The failure isn't ignorance, it's that the join is genuinely hard. Model spend arrives on a provider invoice with no customer attached, revenue lives in a billing system with no tokens attached, and nothing joins them by default. So the metric that would answer the question doesn't exist, and a total gets reported because a total is what's available. The second failure follows: a point estimate for next year, when what a board needs is a range and the trigger for acting on the top of it.

What this usually looks like

  • AI cost reaches the board as a total and a percentage change.
  • Nobody can state gross margin with model spend inside cost of goods sold.
  • Cost per customer isn't reported because it can't be produced.
  • Next year's AI line is a single number with no range.
  • The board asks whether it scales and the answer is a chart of spend.

Free, no card, no account

Run the free Cost Leak Scan

It shows your most expensive conversation before you install anything.

Run the free Cost Leak ScanStart 14-day trial

Mistakes that cost the most

MistakeWhy it hurtsDo instead
Reporting AI spend as a total.It rises with growth and with waste, and a total can't distinguish them.Report gross margin and cost per unit sold, with the total as a footnote.
Leaving model spend out of cost of goods sold.It overstates gross margin, and the correction arrives later as a restatement.Book it in cost of goods sold and show the margin it produces.
Presenting a single number for next year.It's wrong by construction and gives the board nothing to hold anyone to.Present a range with the assumptions named, and the action at the top of it.
Showing cost without the revenue it supported.The board can't tell an expensive product from a growing one.Put cost and revenue on the same cut, by product or by customer segment.

Run this check tonight

  1. Try to state gross margin with model spend in cost of goods sold, for last quarter.
  2. Work out cost per paying customer and see whether it's rising or falling.
  3. Check whether your AI line has a range around it or a single figure.
  4. Ask what you'd cut at the top of that range, and whether anyone has agreed it.

The same quarter, as a total and as a margin

Illustrative example

A modelled business at $50,000 of monthly revenue with $12,000 of model spend in cost of goods sold, where cost grows 40% over a period while revenue holds flat. Every figure is modelled, and the point is the comparison rather than the amounts.

reported as a total: model spend rose from $12,000 to $16,800, up 40%
gross margin before: ($50,000 - $12,000) / $50,000 = 76.0%
gross margin after: ($50,000 - $16,800) / $50,000 = 66.4%
the same movement, stated as margin: 9.6 percentage points of gross margin gone

A 40% rise in a cost line invites a conversation about vendors. A 9.6-point fall in gross margin invites a conversation about the business. Both describe the identical quarter, and only one of them tells a board what it needs to decide.

Every number, with its confidence and source

FigureWhat it meansConfidenceSource
76.0% falling to 66.4%modelled gross margin before and after a 40% rise in model spend at flat revenuecalculatedA modelled $50,000 of monthly revenue with model spend rising from $12,000 to $16,800 in cost of goods sold. ($50,000 - $12,000) / $50,000 = 76.0% and ($50,000 - $16,800) / $50,000 = 66.4%, a fall of 9.6 percentage points. Every figure is modelled, and the comparison rather than the amounts is the point.

What a generic answer can’t know

Every cost tool can produce the total, and none of them can produce the margin, because the revenue half lives in your billing system and no provider has ever seen it. That join is the entire difficulty, and it has to happen where both sides exist, which is inside your own infrastructure. Culpa prices every call in exact decimal from a versioned price book, attributes it to the customer and product that caused it, and takes your revenue alongside, so gross margin by segment is a query rather than a quarterly assembly job. Forecasts are stored as ranges and scored against what happened, which is what lets next year's number be defended rather than presented. The board question, whether the unit economics hold as volume rises, then has an answer with evidence under it.

Questions founders ask next

What AI metric should go in a board pack?

Gross margin with model spend inside cost of goods sold, plus cost per unit sold and the trend in both. The total belongs in supporting detail. A total rises with growth and with waste equally, so on its own it can't answer the question a board is asking.

Why is a total misleading?

Because it moves for opposite reasons. In the modelled example a 40% rise in model spend reads as a vendor problem, while the same movement stated as margin is 9.6 percentage points of gross margin, from 76.0% to 66.4%. Same quarter, two very different conversations.

Should AI spend sit in cost of goods sold?

If it scales with usage, yes. Booking it elsewhere overstates gross margin and the correction tends to arrive later as a restatement. The test is whether the cost rises when a customer uses the product more, which for model spend it does almost by definition.

How should next year's AI budget be presented?

As a range with its assumptions named, and with the action agreed for the top of it. A single number is wrong by construction, and a range that nobody has attached a decision to is only slightly better. What makes it useful is knowing in advance what gets cut if the high case arrives.

On your infrastructure

Culpa runs on your infrastructure. Your prompts and responses never leave it. Culpa counts calls to run your plan, and it fails open, so if it ever breaks your app keeps running.


How Culpa works

Find the culprit. Not just the total.

Your dashboard shows what you spent. It stops short of who spent it. Culpa shows the conversation, the user and the feature behind it.

Your prompts stay local.

Culpa runs on your own infrastructure. What you send to a model reaches us at no point.

Every dollar has a name.

Follow any charge to the conversation, the user, the feature and the customer behind it.

See the bill before it lands.

Cost your next feature before you ship it. You get the likely bill and the worst case, at best, median, p90 and p99.

Three steps to your first answer.

1

Change one base URL.

Or drop in the Python or TypeScript library.

2

Find your most expensive conversation.

In the first session, not the first week.

3

Cost your next feature before you ship it.

Base URLhttp://localhost:4545/v1Your traffic keeps flowing if Culpa ever stops.

Why the bill went up

Example dashboard

Calls traced

418,209

across 3 projects

Spend this week

$378.41

+ $182 vs last week

Failed calls

312

74% retried, and you paid for all of them

+ $182 this week traced to one culprit

Spend over 14 days

$0$20$40$60$8024262830020406
user_384report_generatorconv_91fprompt_v1894,220 tokens3 retries$6.81

Most expensive users

user_384$38.42
user_119$21.07
user_562$14.90
user_204$8.30
user_871$5.10

Next week forecast

Best$180
Median$240
p90$310
p99$395

Graded against reality. Accuracy shown as results land.

Keep reading


Sources: Anthropic pricing. Last reviewed 2026-08-05, rates effective 2026-07-02. Plain text version.