Guides / prompt version cost increase
Tracing a cost increase back to the prompt version that caused it
A prompt version cost increase shows up as a step change in cost per call on one specific date, with call volume unchanged. Finding the edit behind it needs a prompt version recorded on each call, because an invoice can't be bisected after the fact. Culpa, a local-first LLM cost, margin, and forecast ledger, names the prompt version behind every call, so the step resolves to a diff.
Why this happens
Two cost patterns look similar on a monthly chart and need completely different investigations. Gradual growth points at drift across many features. A step change on one day points at a deploy, and that's much easier to solve if the data supports it. Daily granularity finds the date. Cost per call isolates unit cost from volume. A prompt version on the call turns the remaining question into reading a diff, and without it the only remaining tool is rolling changes back in production one at a time.
What this usually looks like
- Spend stepped up on a specific day rather than ramping across a week.
- Call volume through the step is flat, so the change is in unit cost.
- Several things shipped that day and nobody can say which one moved the number.
- The proposed investigation involves reverting changes in production to see what happens.
Free, no card, no account
Run the free Cost Leak Scan
It shows your most expensive conversation before you install anything.
Mistakes that cost the most
| Mistake | Why it hurts | Do instead |
|---|---|---|
| Investigating a step change with monthly totals. | A month hides the date, and the date is most of the answer. | Chart daily spend and daily cost per call. The step will name its own day. |
| Looking at total spend rather than cost per call. | Volume and unit cost move together in a total, so you can't tell which one changed. | Divide by calls first. A flat call count with rising cost per call is a prompt or model change, full stop. |
| Bisecting by reverting changes in production. | It's slow, it's risky, and it only works while the traffic pattern stays comparable. | Record a prompt version on every call so the bisect happens in the data rather than in production. |
Run this check tonight
- Chart daily spend for the last 60 days and mark the exact day the step happened.
- Divide by daily call count. Confirm cost per call moved and volume didn't.
- Convert the per-call delta into tokens using your input and output rates. That number is what got added.
- List everything deployed on that date and compare each candidate against the token delta.
- Check whether calls carry a prompt version. If they don't, add it now so the next step change takes minutes.
Turning a daily step change into a token count
Illustrative example
A feature on GPT-5.4 at real rates of $0.0025 per 1k input and $0.015 output. Daily spend and call volume below are modelled, and output length was confirmed unchanged.
The step converts cleanly into 818 added input tokens, which the diff for that day shows as three new instructions and two examples. The investigation took arithmetic rather than a production rollback.
Every number, with its confidence and source
| Figure | What it means | Confidence | Source |
|---|---|---|---|
| $0.0038182 to $0.0058636 | modelled cost per call either side of a single-day step change on GPT-5.4 | estimated | Daily spend divided by daily calls, at real GPT-5.4 rates per 1k tokens from the price book, effective 2026-07-02. A range because the daily figures are modelled. |
| 818 tokens | input tokens added per call, derived from the observed per-call cost delta | calculated | $0.0020455 divided by the $0.0025 per 1k input rate, with output length held constant. |
What a generic answer can’t know
A provider has no idea you deployed anything. Connecting a spend step to a specific prompt revision needs the revision recorded on the call as it happens, alongside the token counts, in your own system. Culpa keeps both on your infrastructure, where your prompts and responses stay, and counts the calls to run your plan.
Questions founders ask next
How do I find which prompt caused a cost increase?
Chart daily cost per call to find the date, convert the per-call delta into tokens using your rates, then compare that token count against everything deployed that day. With a prompt version on each call the comparison is a query rather than a search.
What if several prompts changed on the same day?
Then only per-call version data separates them. Without it you're left reverting changes in production one at a time, which is slow and only works while traffic stays comparable across the test.
Is a gradual rise ever a prompt change?
Sometimes, when a change rolls out progressively behind a flag. The ramp shape then follows the rollout percentage rather than a step, which is another reason to record the version rather than infer the cause from the curve.
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.
Change one base URL.
Or drop in the Python or TypeScript library.
Find your most expensive conversation.
In the first session, not the first week.
Cost your next feature before you ship it.
Why the bill went up
Example dashboardCalls 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
Most expensive users
Next week forecast
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.
Keep reading
Sources: OpenAI API pricing. Last reviewed 2026-08-01. Plain text version.