AI budget planning for 2027 should start from what you already pay your providers, broken down by unit of work, then apply the drivers that will change each line next year. The method below is bottom-up: baseline this year's spend by provider, team and product; turn it into unit costs; model volume, agent, coding and media growth plus known model changes; decide what goes on committed capacity; add a stated buffer; and enforce the result with budgets and a monthly reconciliation. It works for a platform lead preparing the numbers and a finance partner approving them.
October is the right moment. Most organizations lock next year's budget in the fourth quarter, and AI is now a line large enough to be asked about, but rarely one with a forecast method behind it.
Why AI budgets go wrong
Three patterns break AI budgets more than any price change:
- Top-down percentages. "This year plus 50%" ignores that one product may triple while another is retired.
- Calls per task change silently. A feature that moved from one model call to an agent loop can multiply its cost per user without any new users.
- Estimates never checked against the invoice. A dashboard that misreads spend by a tenth becomes a budget that misreads it by the same tenth.
The FinOps Foundation's AI working group makes a related point: optimisation and model changes move AI forecasts more than they move most cloud forecasts, so cost has to be tied to units of work and re-forecast as vendor pricing changes1.
Step 1: baseline current spend from provider data
Start with what the providers say you spent, not what your own logs estimate.
- Anthropic exposes a Usage API grouped by model, workspace, API key and service tier, in 1-minute to 1-day buckets, and a Cost API in USD with daily buckets, grouped by workspace or description. Both need an Admin API credential; workspace keys do not work2.
- OpenAI exposes
/v1/organization/usage/completions, which can be grouped by model and project, and/v1/organization/costs, grouped by line item or project, both called with an admin key3. - Cloud-hosted models (Azure, Bedrock, Vertex) appear in your cloud bill. Azure provisioned throughput, for example, is tracked in Microsoft Cost Management, including reservation utilisation and amortised cost4.
Pull at least six months. Then reconcile the total to the invoices for the same months; if your internal attribution disagrees with the provider's cost report, fix that first, because every forecast inherits the gap. The method is in reconciling LLM spend with provider invoices.
Break the reconciled total into lines that someone owns: product feature, internal tool, team. Workspaces, projects and API keys are the usual join keys, which is a good reason to issue one key per service. Spend that cannot be attributed becomes its own line called "unattributed", with an owner whose job is to make it smaller.
Step 2: turn spend into unit costs
A budget line is volume times unit cost. Pick the unit the business already counts:
| Product type | Unit | What drives the unit cost |
|---|---|---|
| Support assistant | Resolved conversation | Turns per conversation, retrieval size, model |
| Coding agent | Active developer per month | Tasks per developer, steps per task, context size |
| Document pipeline | Page or document processed | Pages per document, batch versus synchronous |
| Agent workflow | Completed task | Steps per task, retries, tools called |
| Media feature | Image, second of video, minute of audio | Resolution, duration, model |
Count failed and retried work in the unit cost; you pay for it. For agents, cost per completed task is the only stable unit, and capping steps gives it an upper bound — see cost per successful task and bounding agent loops.
Step 3: model the growth drivers per line
For each line, write down the volume driver and the unit-cost driver separately, with the assumption behind each:
- Volume. Users, seats, documents, conversations. Use the product plan, not a trend line.
- Agents. A feature moving from single calls to an agent changes calls per task. Model it as a unit-cost change on the launch date.
- Coding agents. Budget per developer seat with an assumed tasks-per-week figure, and a separate line for heavy users. Per-developer spend is uneven.
- Media. Image, video and audio are priced per output, not per token. A launch that adds video changes the shape of the line, not just its size.
- Caching and batch. Moving stable prompt prefixes into a cache, or offline work to a batch tier, lowers unit cost; count it only when the work is scheduled.
Step 4: price movement and model deprecations
Prices and models change inside a budget year, and some of the changes are already announced. OpenAI's deprecations page lists shutdowns scheduled across the first months of 2027, among them GPT-4o, GPT-4o mini, GPT-4.1 and GPT-4.1 mini on 14 January 2027 with gpt-6-luna as the recommended replacement5. OpenAI commits to at least six months' notice for generally available models, three months for specialised variants, and much shorter for previews5.
For every model in your baseline, check its vendor's deprecation page and add a dated row to the plan: the migration date, the replacement, the replacement's list rate, and an evaluation cost for the migration itself. A replacement with a different rate or different token usage changes that line's unit cost from that date. The model deprecation migration playbook covers the evaluation.
Do not forecast general price declines you cannot point to. If you expect a model with a lower rate to replace one with a higher rate, write it as a planned migration with a date and an owner, so the saving is a commitment rather than a hope.
Step 5: committed capacity, on-demand and negotiated rates
Decide which lines are steady enough to commit:
- Provisioned capacity. Azure, for example, bills provisioned deployments per PTU per hour, with one-month or one-year Azure Reservations for a discounted rate; Microsoft notes reservations do not guarantee capacity, so create the deployment first4. It suits predictable, latency-sensitive production traffic. Standard pay-per-token suits variable or early-stage traffic4.
- Committed-spend agreements. If you negotiate a commitment directly with a provider, put the committed amount in the plan as a floor, track draw-down monthly, and forecast to the end of the term.
- Negotiated rates. If your contract carries rates other than list, forecast with the contract rate and record the effective date. List rate versus negotiated rate drift is covered in negotiated rates and list-price drift.
Step 6: buffers and separate lines
Add a buffer as an explicit line, sized from this year's variance between forecast and actual, not as padding hidden in every row. Keep these as separate lines too:
- Provider cost, what your AI providers bill you, by product and team.
- Platform and tooling charges, gateway, observability or evaluation subscriptions. They are priced differently and should never be summed into a per-token figure.
- One-off migration and evaluation work for the deprecations in Step 4.
- Unpriced or unattributed usage, with a target to shrink it.
A worked example
Step 7: guardrails that keep the year inside the plan
A budget nobody enforces is a forecast. Turn each line into controls:
- Monthly caps per project or team, matching the budget lines, with alerts at thresholds such as 50%, 80% and 100% of the month.
- Per-key caps for agents and batch jobs, so one runaway loop cannot spend a team's month. See LLM spend controls and budgets.
- Forecast alerts: a warning when the month is projected to exceed its line, not only when it has.
- Showback, then chargeback. Send each owner their line weekly; move to chargeback once the attribution is trusted. The showback and chargeback guide covers both.
- A monthly report for leadership with budget, actual, projection and the decisions needed. The format is in the AI spend report for leadership.
- Monthly reconciliation of your estimates against each provider's reported cost.
The broader practice, from tagging to unit economics, is in the LLM FinOps guide.
Running the plan with INFRO
INFRO sits in front of the provider accounts you already hold, and its figures are estimated provider cost — what your providers will bill you — kept apart from INFRO's own subscription. Budgets are hard caps per organization, project, member and key, with alerts at your own thresholds, so the lines in the plan become enforced limits. Spend findings include a budget forecast to be exceeded, cost estimates drifting from the provider's own figures and unpriced traffic, routed to email, Slack, Teams, PagerDuty or webhooks depending on plan. The Summary shows this budget cycle's spend against budget with its projection, and is emailed weekly with a monthly report on the 2nd.
For the baseline and the contract terms: negotiated rates can be entered per model so estimates use your contract before list rates (from the Team plan); reconciliation compares estimated spend daily with OpenAI's and Anthropic's own cost APIs; and committed-spend agreements can be tracked against reported cost with a forecast to the end of the term (both on the Business plan). Usage exports as CSV or a FOCUS dataset for your FinOps platform.
