Two files we actually use on engagements.
No email gate, no form, no drip sequence. These are the working artefacts from the first week of a cost audit, published as-is. If they are enough on their own, that is a good outcome and you owe us nothing.
1. LLM cost allocation sheet
Download the CSV ↓ · opens in Excel, Numbers, or Sheets
One row per month, provider, model and workload, with the columns that make an LLM invoice legible to someone outside the engineering team. The layout is opinionated in three ways that matter more than the file itself.
- Cost per unit of work, not total spend. Total spend rises with growth and tells you nothing about efficiency. A cost-per-ticket or cost-per-document figure survives a growth month and is the only number worth trending.
- Units delivered is not requests. Retried calls, abandoned sessions and agent loops that hit their step cap all bill in full and deliver nothing. They belong in the cost column and not in the units column, which is what makes them visible.
- A quality column is mandatory. A cost per unit that fell alongside accuracy is not a saving, and a sheet that cannot express that will eventually be used to claim one.
Reasoning tokens get their own column because they bill as output on most providers but scale with prompt design rather than response length. Merged into output tokens, the lever disappears.
2. LLM spend policy
Download the Markdown ↓ · paste into Notion, Confluence, or a repo
A policy skeleton with every organisation-specific value left as a bracket to fill in: attribution requirements, budgets and thresholds, model selection rules, the mandatory cost controls, and a review cadence. It covers the five controls that come up in almost every audit — caching on stable prefixes, max_tokens on every call, a capped retry budget, a step cap on agent loops that emits a metric, and batch tiers for anything without a documented latency requirement.
The instruction at the top is the important part: delete any section you will not enforce. One decorative clause teaches the reader that the whole document is decorative, and after that the enforced sections stop working too.
Why these are free
Most teams who find this page are not going to hire anyone, and gating a spreadsheet behind an email address would mostly generate a list of people who wanted a spreadsheet. The teams who do eventually want help tend to arrive having already filled one of these in, which makes the first call substantially shorter for both sides.