Guides / input token creep

Input token creep, the increase no single release explains

Input token creep is a small monthly rise in average input tokens per call across your whole workload, with no single change large enough to notice. Four percent a month compounds to about 60% in a year. Culpa, a local-first LLM cost, margin, and forecast ledger, tracks tokens per call as a series, so drift reads as a trend rather than as a surprise.

Why this happens

This differs from creep in a single prompt, which one release causes and one diff explains. Portfolio creep is the sum of many features each growing a little for good reasons: a new field here, a longer history window there, one more retrieved chunk somewhere else. No individual change survives scrutiny as a problem, and no monthly review flags four percent. The compounding does the damage, and compounding is invisible to anyone comparing this month against last month.

What this usually looks like

  • Model spend grew steadily over a year with flat traffic and no incident to point at.
  • Every individual feature owner can justify their own increase, and all of them are right.
  • Budget forecasts built from a recent month keep coming in low.
  • Nobody holds a tokens-per-call series longer than the retention window of the observability tool.

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
Reviewing cost month against month.A 4% move sits inside normal noise, so twelve consecutive real increases each read as nothing.Review against the same month a year earlier, and plot the whole series rather than the last two points.
Holding token metrics only as long as your observability retention.Creep is measured in quarters, so a 30-day window structurally can't show it.Keep an aggregated tokens-per-call series indefinitely. It's small, and it's the only record that shows drift.
Forecasting next year from last month's unit cost.The unit cost itself is drifting, so a volume-only forecast under-reads by the compounding rate.Forecast tokens per call and volume separately, and put a drift rate on the first.

Run this check tonight

  1. Find your average input tokens per call this month and the same figure twelve months ago.
  2. Compute the implied monthly growth rate. Anything above 2% compounds to a real number.
  3. Check how long your token metrics are retained. If it's 30 days, you can't answer this question yet.
  4. List the three features with the largest input growth and confirm each change was deliberate.
  5. Rebuild your annual forecast with a drift rate on tokens per call, then compare it against the flat one.

Four percent a month, twelve times over

Illustrative example

A workload on Claude Haiku 4.5 at a real rate of $0.001 per 1k input, holding 2 million calls a month steady throughout. Average input starts at 5,000 tokens per call. The 4% monthly drift is modelled.

Month 0: 2,000,000 calls x 5.0k tokens = 10,000,000k, so 10,000,000 x $0.001 = $10,000
Month 6: 5,000 x 1.04^6 = 6,327 tokens, so 12,654,000k x $0.001 = $12,654
Month 12: 5,000 x 1.04^12 = 8,005 tokens, so 16,010,000k x $0.001 = $16,010
Input spend rose 60% with call volume completely flat
The largest single month-on-month increase in that year was 4%

No review would have escalated a 4% month and no month was worse than that. The year still cost 60% more, entirely from changes each of which was reasonable on its own.

Every number, with its confidence and source

FigureWhat it meansConfidenceSource
$10,000 to $16,010modelled monthly input spend at the start and end of a year of 4% drift, at flat call volumeestimatedBoth endpoints at the real Claude Haiku 4.5 input rate of $0.001 per 1k from the price book, effective 2026-07-02. A range because the drift rate and volumes are modelled.
60%annual input cost increase produced by 4% monthly drift with no traffic growthcalculated1.04 to the power of 12 equals 1.601, from the teardown arithmetic.

What a generic answer can’t know

A provider bills each month against nothing. It holds no memory of what your prompts used to cost and no link between a token count and the release that produced it. A drift rate needs your own long series, kept past any observability retention window. Culpa keeps it on your infrastructure, where your prompts and responses stay, and counts the calls to run your plan.

Questions founders ask next

How is input token creep different from context creep?

Context creep is one prompt growing across releases, which a diff can explain. Input token creep is the whole workload drifting upward from many small changes at once, so no single diff explains it and only a long series shows it.

What drift rate should worry me?

Anything sustained above about 2% a month, because it compounds to more than a quarter of your input spend within a year. The rate matters more than any single month, which is exactly why month-on-month review misses it.

How far back do I need to keep token metrics?

At least two years, in aggregate form. The series is tiny compared with the logs around it, and it's the only record that can distinguish drift from a step change when somebody finally asks where the money went.

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.

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: Anthropic pricing. Last reviewed 2026-08-01. Plain text version.