Guides / cost per user

What is cost per user?

Cost per user is model spend attributed to individual users, read as a distribution rather than an average. On AI products the top decile routinely costs many times the median. Culpa, a local-first LLM cost, margin, and forecast ledger, tags each call to a user and reports the spread, so your pricing floor comes from the heavy tail rather than the mean.

Why this happens

Cost per user gets computed as total spend divided by active users, and that single number is the least useful summary of a long-tailed distribution available. Usage on AI products follows a steep curve where a small group generates most of the tokens. The mean sits well above the median and well below the heavy users, so it describes almost nobody. Price a plan from the mean and your heaviest users will lose you money every month.

What this usually looks like

  • Your average cost per user looks sustainable while specific users cost more than the plan they're on.
  • A small number of accounts generate a disproportionate share of total tokens, and nobody has quantified it.
  • Usage limits were set from the average, so they bind almost nobody and protect against nothing.
  • Cost per user rises steadily without any pricing change, because power users are getting heavier.

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
Reporting the mean cost per user.On a long-tailed distribution the mean describes no real user, and it sits far below the users who set your risk.Report median, 90th percentile, and maximum together. Three numbers, and the shape becomes obvious.
Setting a plan price from average cost.Roughly half your users cost more than the average, and the heaviest can cost multiples of the price you set.Price from the 90th percentile, then use a usage cap to bound whatever sits beyond it.
Counting registered users rather than active ones.Dormant accounts dilute the figure toward zero and make the economics look far healthier than reality.Divide by users who actually made a call in the period, and state which definition you used.

Run this check tonight

  1. Compute spend per user for last month and sort the list descending. Read the top ten by hand.
  2. Find your median user's cost and your 90th percentile. The ratio between them is the shape of your problem.
  3. Check what your heaviest user cost against what they pay. That comparison is the one that changes pricing.
  4. Recompute using active users only, then registered users, and note how different the two figures look.
  5. Check whether any usage cap you have would have bound your heaviest user last month. Often it wouldn't have.

A $2.40 average that describes nobody

Illustrative example

1,000 active users on Gemini 2.5 Flash at real rates of $0.0003 per 1k input and $0.0025 per 1k output. The usage distribution below is modelled on a typical long tail.

900 light users at 200k input, 30k output each = (200 x $0.0003) + (30 x $0.0025) = $0.06 + $0.075 = $0.135 each
90 medium users at 2M input, 300k output each = (2,000 x $0.0003) + (300 x $0.0025) = $0.60 + $0.75 = $1.35 each
10 heavy users at 40M input, 6M output each = (40,000 x $0.0003) + (6,000 x $0.0025) = $12 + $15 = $27 each
Total = (900 x $0.135) + (90 x $1.35) + (10 x $27) = $121.50 + $121.50 + $270 = $513
Mean = $0.51, median = $0.135, and the top ten users alone are 53% of all spend

The mean is nearly four times the median, and ten users out of a thousand carry more than half the bill. A plan priced on the mean loses money on every one of those ten.

Every number, with its confidence and source

FigureWhat it meansConfidenceSource
$0.51 mean, $0.135 medianmodelled cost per active user across a long-tailed distribution of 1,000 userscalculatedTotals computed at real Gemini 2.5 Flash rates per 1k tokens from the price book, effective 2026-07-02. The user distribution is modelled, arithmetic shown in the teardown.
53%share of modelled total spend generated by the heaviest 1% of userscalculated$270 from ten heavy users divided by the $513 modelled total, from the teardown arithmetic.

What a generic answer can’t know

A provider bills you once for everyone. Splitting that into a per-user distribution needs a user identifier on every call, and that identifier only exists inside your application. Culpa captures it on your infrastructure, keeps your prompts and responses there, and counts the calls to run your plan.

Questions founders ask next

Should I price from average cost per user?

No. Price from the 90th percentile and cap what sits beyond it. Pricing from the average means roughly half your users cost more than you assumed, and the heaviest can cost many times the plan price.

How do I attribute model spend to individual users?

Attach a user identifier to every outbound call at request time. Without it you can only ever produce an average, because there's no way to split the provider's single bill afterwards.

What if a few users cost more than they pay?

That's normal and usually fine, as long as you can name them and the total stays bounded. It stops being fine when nobody has measured it, because then the exposure grows with adoption and nobody notices.

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