Guides / selling ai credits margin

What a credit costs you when the customer decides what it buys

Selling AI credits sets a fixed price against a variable cost, because the customer decides how much work each credit does. Margin per credit is a range, not a number, and only per-call pricing reveals its shape. Culpa, a local-first LLM cost, margin, and forecast ledger, prices each redemption and attributes it to the customer who spent it.

Why this happens

Credits are attractive because they turn a metered cost into a clean unit a customer understands, and they hide the thing that matters. A credit is a promise to do some work at a price you fixed in advance, while the cost of that work is decided later by the person spending it. Two customers holding identical credits can impose wildly different costs on you, because one sends a short prompt and the other pastes a document, and your pricing page can't tell them apart. So the average margin on credits is close to useless: it averages over a distribution nobody looked at, and the customers at the expensive end are usually your most engaged ones, which is to say the ones you least want to price out and most need to price correctly. A balance-sheet edge sits behind this too. Unredeemed credits are revenue you have taken for work you still owe, and they sit as a liability until someone spends them, possibly at next year's rates.

What this usually looks like

  • You price a credit from an average call and have never looked at the spread.
  • Your best customers are your least profitable and nobody has proved it either way.
  • Credits never expire and nobody has sized the outstanding balance.
  • One customer's redemptions cost more than several others' combined.
  • A model price rise would change your unit economics and no one has modelled it.

Free, no card, no account

Run the free Cost Leak Scan

It shows your most expensive conversation before you install anything.

Run the free Cost Leak ScanStart 14-day trial

Mistakes that cost the most

MistakeWhy it hurtsDo instead
Pricing a credit from the average call.The average sits inside a distribution, and the expensive tail is where your margin goes.Price from the distribution, and know what the top decile of redemptions costs you.
Treating every credit as equal cost.The customer decides what a credit buys, so equal price doesn't mean equal cost.Record cost per redemption and look at margin per customer, not margin per credit.
Selling credits that never expire.They're a liability redeemable at future rates, which may be higher than today's.Set an expiry or price the tail risk deliberately, and size the outstanding balance.
Ignoring what a dated price rise does to the pack you already sold.The revenue is fixed and the cost isn't, so a rate change cuts straight into margin.Re-run credit margin against every dated rate change before it lands.

Run this check tonight

  1. Work out the cost of your cheapest and most expensive redemption last month.
  2. Divide your credit price by each of those and look at the two margins.
  3. Add up credits sold and not yet redeemed, and price them at today's rates.
  4. Check what your margin becomes if your main model's rate rises 50%.

The same 10-cent credit, twice

Illustrative example

A modelled credit sold at $0.10, redeemable for one call, priced on Claude Haiku 4.5 at real rates of $1.00 and $5.00 per million from the price book effective 2026-07-02. A light user's call runs 3,000 input and 500 output tokens. A heavy user's runs 30,000 and 5,000, because they paste a document. The credit price and both token shapes are modelled.

light redemption: 3,000 x $1.00/M + 500 x $5.00/M = $0.0030 + $0.0025 = $0.0055
heavy redemption: 30,000 x $1.00/M + 5,000 x $5.00/M = $0.0300 + $0.0250 = $0.0550
margin on the light one: ($0.10 - $0.0055) / $0.10 = 94.5%
margin on the heavy one: ($0.10 - $0.0550) / $0.10 = 45.0%
same price, ten times the cost

Neither number is wrong and the average of them describes nobody. If your credit pricing was set from a light redemption you have a business that stops working as customers get more engaged, and the point where it stops is a number you can compute rather than discover.

Every number, with its confidence and source

FigureWhat it meansConfidenceSource
94.5% against 45.0%modelled margin on the same $0.10 credit, redeemed lightly and heavilycalculatedA light redemption of 3,000 input and 500 output tokens on Claude Haiku 4.5 at real rates of $1.00 and $5.00 per million from the price book effective 2026-07-02 costs $0.0030 + $0.0025 = $0.0055, giving ($0.10 - $0.0055) / $0.10 = 94.5%. A heavy redemption of 30,000 and 5,000 costs $0.0300 + $0.0250 = $0.0550, giving 45.0%. The credit price, both token shapes and the redemption behaviour are modelled.

What a generic answer can’t know

The credit is yours. No provider has heard of it, no invoice mentions it, and the mapping between one credit and the calls it paid for exists only in your application. That makes cost per redemption an application-level join, recorded at call time or not available at all. Culpa prices every call from a versioned price book in exact decimal, attributes it to the customer and the redemption that caused it, and takes your revenue alongside, so margin per credit and margin per customer are queries rather than spreadsheet exercises. Because the price book is versioned by effective date, the same ledger answers the question that actually keeps founders up, which is what a pack sold today is worth against rates that change next quarter.

Questions founders ask next

How should I price an AI credit?

From the distribution of redemption costs rather than the average one. In the modelled example the same $0.10 credit carries 94.5% margin on a light call and 45.0% on a heavy one, a tenfold cost spread at one price. An average across those describes no actual customer.

Are unredeemed credits good for margin?

They're cash now and an obligation later. Until someone spends them you have taken revenue for work you still owe, and the work gets done at whatever rates apply then. Worth sizing the outstanding balance and pricing it at current rates, rather than counting it as profit.

Should credits expire?

Commercially that's your call, and the cost argument is that an unexpiring credit is redeemable at future rates you don't control. If you keep them open, model what happens to margin if your main model's rate rises, because the revenue is already fixed and the cost isn't.

Why does margin per customer beat margin per credit?

Because customers aren't average and credits are sold as if they were. One customer redeeming heavily can cost more than several light ones combined, and only a per-customer view shows that. It's also the view that tells you whether your most engaged users are your most profitable or your least.

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.

Keep reading


Sources: Anthropic pricing. Last reviewed 2026-08-05, rates effective 2026-07-02. Plain text version.