Guides / llm burn forecast

What is an LLM burn forecast?

An LLM burn forecast projects your model spend forward from your own measured usage rather than from a rate card. A credible one carries a range and states its assumptions. Culpa, a local-first LLM cost, margin, and forecast ledger, forecasts deterministically from your ledger and stores every projection so its accuracy can be scored later.

Why this happens

Most LLM forecasts fail for the same three reasons. They extrapolate a total instead of the drivers underneath it, so a routing change invalidates them silently. They use the list rate instead of the effective rate, so they start about a quarter low. And they produce a single number instead of a range, which invites a false sense of precision that the underlying variance can't support. A forecast nobody scores afterwards never gets better either.

What this usually looks like

  • Your forecast is consistently under, and the miss is roughly the same percentage every month.
  • A launch or a routing change breaks the projection completely, because it was fitted to a total rather than to drivers.
  • Nobody records what last month's forecast said, so nobody can tell whether the method is improving.
  • The forecast is a single figure, so it can't express that a launch week has far wider variance than a quiet one.

Free, no card, no account

Run the free Cost Leak Scan

It shows your most expensive conversation before you install anything.

Run a free scan

Mistakes that cost the most

MistakeWhy it hurtsDo instead
Extrapolating last month's bill by a growth percentage.It bakes in the current model mix and cache behaviour as constants, and both change without warning.Forecast the drivers separately, calls per user, tokens per call, and the mix, then price them at your effective rate.
Forecasting at the list rate.Retries and discarded output are real spend the rate card never mentions, so the projection starts low and stays low.Use your measured effective rate, which already includes whatever waste your system produces.
Publishing a single number.It's read as a commitment, and the first miss destroys trust in every forecast that follows.Publish a range with its assumptions written down, and widen it deliberately around launches.

Run this check tonight

  1. Write down what you think next month costs before you compute it. The gap against the computed figure is worth knowing.
  2. Check whether your forecast uses the list rate or your own effective rate. If it's the list rate, expect to run low.
  3. Confirm the forecast decomposes into drivers you could change, rather than a single extrapolated total.
  4. Find last month's forecast and compare it to the actual. If you can't find it, that's the first thing to fix.
  5. Widen the range for any month containing a launch, and say by how much and why.

Forecasting a launch month from drivers, not from last month

Illustrative example

A product at 2,000 active users adding a launch expected to triple traffic for one week. Costs priced at GPT-5.4 real rates, $0.0025 per 1k input and $0.015 per 1k output. Usage per user is modelled from a steady-state month.

Steady state per user per month: 40k input, 8k output = (40 x $0.0025) + (8 x $0.015) = $0.10 + $0.12 = $0.22
Baseline month at 2,000 users = 2,000 x $0.22 = $440
Launch week triples traffic for 7 of 30 days = $440 x (23/30) + $440 x (7/30) x 3 = $337 + $308 = $645
Applying a measured effective rate 24% above list = $645 x 1.24 = $800
Range for the launch month = $700 to $950, widened because launch-week traffic is the least predictable input

$800 as the central figure, published as a $700 to $950 range. Forecasting the total from last month's $440 would have said about $530 and missed by a third.

Every number, with its confidence and source

FigureWhat it meansConfidenceSource
$700 to $950modelled forecast range for a launch month at 2,000 active usersestimatedCentral figure $800, from driver-level arithmetic at real GPT-5.4 rates (price book, effective 2026-07-02) with a 24% effective-rate uplift. Shown as a range because launch-week traffic is the dominant uncertainty.
$0.22modelled steady-state model cost per active user per monthcalculated(40 x $0.0025) + (8 x $0.015), GPT-5.4 rates per 1k tokens from the price book. Per-user token volumes are modelled.

What a generic answer can’t know

A forecast needs your usage curve per feature and per user, your real effective rate, and knowledge of what you're about to ship. None of that lives in a provider's billing data. It lives in your own request stream. Culpa reads it on your infrastructure, keeps your prompts and responses there, and counts the calls to run your plan.

Questions founders ask next

How far ahead can an LLM burn forecast be trusted?

One month is reasonable if your drivers are stable, and a quarter is a planning aid rather than a number to commit to. Anything further out is dominated by product decisions you haven't made yet, so widen the range accordingly.

Should a forecast be a single number or a range?

A range, always, with the assumptions stated. A single number gets read as a commitment and the first miss costs you credibility on every forecast afterwards.

How do I know whether my forecasting is getting better?

Store every forecast when you make it, then score it against the actual when the period closes. A forecast nobody scores can't improve, because nobody knows in which direction it's wrong.

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.

Free, no card, no account

Run the free Cost Leak Scan

It shows your most expensive conversation before you install anything.

Run a free scan

Keep reading


Sources: OpenAI API pricing. Last reviewed 2026-08-01. Plain text version.