LLM Cost Per User Per Month Calculator

This calculator turns per-token API pricing into the number that decides whether an AI feature can be priced profitably: what one active user costs you in tokens each month, and what gross margin is left after you subtract that cost from what the user pays. Enter how often a user comes back, how many turns a session runs, how many tokens a turn consumes and your blended price per million tokens. You get cost per user, gross margin, the price a target margin would require, and the total monthly bill at any user count.

Calculator

This calculator runs in your browser. Enable JavaScript for live results — the inputs, formula and worked example below remain fully readable without it.

Inputs this calculator takes, with typical values
InputWhat to enterExample
Sessions per user per monthHow many separate times a typical active user opens the AI feature in a month.20
Messages per sessionTurns in a typical session. Count one turn as one request you send to the model.6
Tokens per message (input + output)All tokens billed for one turn: system prompt, retrieved context, conversation history and the reply.1500 tok
Blended price per 1M tokensOne rate covering input and output, weighted by how many of each you send. See the blending note below.3 $
Revenue per user per monthWhat one active user pays you each month. Use net revenue after payment processing if you want a tighter figure.20 $
Target gross marginThe token-only gross margin you want to hold; the calculator returns the price that delivers it.70 %
Active usersHow many users are active in the month, for the total-bill figures.5000

It returns

  • Token cost per user per month — Model tokens only. Retrieval, embeddings, storage and support are extra.
  • Tokens per user per month
  • Gross margin on token cost
  • Price needed for target margin
  • Monthly token bill at this user count
  • Annualised token bill

The formula

Cu=smtR1000000
GM=PCuP
Pt=Cu1g

In plain text: Cost per user = sessions × messages × tokens per message × rate ÷ 1,000,000

  • C_uToken cost per active user per month ($)
  • sSessions one active user starts per month (sessions)
  • mMessages (billed requests) per session (requests)
  • tTokens billed per message, input plus output (tokens)
  • RBlended price per million tokens ($ / 1M tok)

Providers quote per million tokens, so the product of usage is divided by 1,000,000 before multiplying by the rate.

Updated Category LLM Inference Cost & Serving Verified against published test cases Reading time 13 min

What cost per user per month actually measures

Cost per user per month is the token bill one active user generates in a billing period. It is the bridge between two numbers that otherwise never meet: the per-million-token rate on your provider's pricing page, and the per-seat or per-month price on yours. A provider rate tells you nothing about whether a $20 subscription works. Multiply that rate by how much a real user actually consumes and it tells you almost everything.

The chain is short. A user starts some number of sessions in a month. Each session runs some number of turns. Each turn bills a number of tokens — and that number is much larger than the words the user typed, because it includes the system prompt, any retrieved documents, the tools schema, the whole conversation so far, and the model's reply. Multiply the three together and you have tokens per user per month. Multiply by the rate and divide by a million and you have money.

The reason this matters more for AI features than for ordinary software is that the marginal cost is not close to zero. A conventional web feature costs a fraction of a cent per request and the finance team can round it away. A long-context model call costs real money every single time, and it scales linearly with engagement — the users who love your product most are the users who cost you most. Any pricing decision made without this number is a guess.

Use the result as a floor, not as your cost of goods sold. Tokens are the largest and most volatile line, but retrieval, embeddings, vector storage, evaluation runs, logging, egress and human support all sit on top. If you want the full picture, size the retrieval side with the embedding cost calculator and the vector database storage calculator and add them to this figure.

The formula, variable by variable

Cost per user is a plain product with one unit conversion in it:

C = s × m × t × R ÷ 1,000,000

s, sessions per month. Take this from your analytics, not from your hopes. Count only users who are active in the period, because that is the denominator you will divide the bill by later. If you have a distribution rather than an average, run the calculator twice — once at the median and once at the 90th percentile — because the two answers are usually far apart.

m, messages per session. One message means one billed request to the model. A single user action can be several requests: a router call, a retrieval-grading call, a generation call and a summarisation call are four, not one. Agentic features are where this number quietly triples.

t, tokens per message. The one people underestimate. A 40-word question is around 50 tokens; the request carrying it might be 6,000 because it drags a 2,000-token system prompt, three 1,000-token retrieved chunks and the prior turns of the conversation along with it. If the conversation history is resent each turn, tokens per message grows through the session rather than staying flat, so use the session average rather than the first turn.

R, the blended rate. Providers price input and output separately, and output is usually the dearer of the two. Blending collapses them into one number weighted by the mix you actually send:

R = (input tokens × input rate + output tokens × output rate) ÷ total tokens

For a turn with 1,200 input tokens at $3.00 per million and 300 output tokens at $15.00 per million, that is (1,200 × 3 + 300 × 15) ÷ 1,500 = (3,600 + 4,500) ÷ 1,500 = $5.40 per million blended. Note what the blend does: output is 20% of the tokens and 56% of the cost. If you shorten replies you move the blend, not just the volume. For a request-level breakdown of input and output separately, use the LLM API token cost calculator.

The division by 1,000,000 exists only because vendors quote per million tokens. Everything else is multiplication, which is why the answer is so sensitive to each factor: doubling any one of the four doubles the cost.

Worked example: a $20 assistant at 20 sessions a month

You sell an AI assistant at $20 per user per month. Analytics say an active user starts 20 sessions a month and sends 6 messages per session, and instrumentation on the API client says the average request bills 1,500 tokens including the reply. Your blended rate is $3.00 per million. You have 5,000 active users.

  1. Requests per user. 20 sessions × 6 messages = 120 requests per user per month.
  2. Tokens per user. 120 × 1,500 = 180,000 tokens per user per month.
  3. Cost per user. 180,000 ÷ 1,000,000 = 0.18 million tokens; 0.18 × $3.00 = $0.54.
  4. Gross margin. ($20.00 − $0.54) ÷ $20.00 = 19.46 ÷ 20 = 0.973 = 97.3%.
  5. Price for a 70% margin. $0.54 ÷ (1 − 0.70) = 0.54 ÷ 0.30 = $1.80. Any price above that clears the target on tokens alone.
  6. Bill at scale. $0.54 × 5,000 = $2,700 per month, or $32,400 a year.

That looks comfortable, and at the average it is. Now run the same arithmetic for a power user who starts 100 sessions, sends 10 messages each, and pushes 4,000 tokens per message because the feature retrieves documents: 100 × 10 = 1,000 requests, × 4,000 = 4,000,000 tokens, ÷ 1,000,000 × $3.00 = $12.00. Margin on the same $20 price is (20 − 12) ÷ 20 = 40%. The product did not change. The user did.

The gap between $0.54 and $12.00 for the same subscription is the whole reason this calculation is worth doing before you publish a price rather than after.

How to read the result

Read three things off the output, in this order.

First, the ratio of cost to price, not the cost. Fifty-four cents sounds trivial and twelve dollars sounds alarming, but neither means anything until it is divided by the price. The calculator gives you both the percentage of price consumed and the margin left. Because this margin counts tokens only, treat it as a ceiling: every other cost of serving the feature comes out of what remains.

Second, the shape of the distribution, not its average. Usage of a chat feature is heavily skewed — a small share of users generate a large share of the requests. That has a specific consequence for a flat-price plan: the average tells you the bill, and the tail tells you the risk. Compute the figure at your 90th-percentile user and ask whether that user is still profitable. If they are not, you need a cap, a metered tier, or a cheaper model on the heavy path.

Third, which lever moves the number. All four inputs multiply, so a 30% reduction in any one of them cuts cost by the same 30%. That makes tokens per message the usual first target, because it is the factor engineering controls directly and users never see: trimming a system prompt, truncating history, retrieving three chunks instead of eight, or capping reply length all reduce t without touching s or m. Cutting sessions or messages, by contrast, means reducing engagement, which is rarely what you want.

If the margin is thin, the ordered menu of fixes is: shrink the context, cache the unchanging prefix, route easy turns to a cheaper model, then change the price. Caching in particular is nearly free to implement on a long static system prompt — size it with the prompt caching savings calculator before you consider anything more invasive. If your volume is very large and steady, the self-hosted versus API break-even calculator tells you whether owning the inference changes the picture at all.

Token cost per user per month at common usage and rates

Cost per active user per month, computed as tokens ÷ 1,000,000 × rate. Find your monthly token consumption per user on the left and your blended rate across the top.
Tokens per user per month$0.50 / 1M$3.00 / 1M$15.00 / 1M
50,000$0.025$0.15$0.75
200,000$0.10$0.60$3.00
500,000$0.25$1.50$7.50
2,000,000$1.00$6.00$30.00
10,000,000$5.00$30.00$150.00

Every cell is tokens ÷ 1,000,000 × rate. Compare the row you land on with your monthly price: at 2,000,000 tokens a month, a $15 blended rate costs $30 and a $20 subscription is already under water.

Mistakes that make this number wrong

  • Counting user messages instead of API requests. Routers, retrieval graders, tool-call round trips and summarisation passes are billed requests too. A feature that looks like one call per turn is often three or four.
  • Using the first turn's token count for the whole session. If you resend the conversation each turn, tokens per request grow as the session goes on. Take the session average from your own logs.
  • Blending input and output with the wrong weights. Output usually costs several times input, so a blend that assumes an even split understates cost whenever replies are long.
  • Dividing the bill by registered users rather than active users. That produces a flattering cost per user and a margin you cannot defend. Use the same active-user definition on both sides.
  • Treating the average user as the whole population. A flat price with a skewed usage distribution is a bet that the tail stays small. Size the tail explicitly.
  • Forgetting free tiers and trials. Trial users consume tokens and pay nothing, so their cost belongs in customer acquisition cost, not in gross margin — but it does belong somewhere.
  • Ignoring retries and failures. A request that times out after generating 400 tokens is still billed. Add your observed retry rate to the message count.

Gross margin here is a ceiling, not a cost of goods sold

The margin this calculator reports subtracts model tokens and nothing else. A complete cost of goods sold for an AI feature also carries embedding generation, vector store hosting, object storage for documents, evaluation and regression runs against the model, observability, and the support burden of a feature that occasionally gets things wrong. Each of those is small next to tokens at low volume and stops being small at high volume. Quote the number in this calculator as token gross margin and keep it distinct from the margin your accountant reports.

Where this sits among the other AI cost questions

This calculator answers the pricing question. Three neighbouring questions need different tools, and confusing them is common.

"What does one request cost?" is a request-level question and belongs in the token cost calculator, which keeps input and output separate instead of blending them. Use it while you are optimising a prompt; use this one while you are setting a price.

"Should we run our own GPUs?" is a volume question. Self-hosting replaces a variable per-token cost with a fixed hourly one, so it wins only above a break-even volume that depends on how well you keep the hardware busy. That threshold, and the utilisation assumption behind it, is what the break-even calculator exists to expose.

"Should we fine-tune?" is a question about trading a one-off training cost against a permanently shorter prompt. The fine-tuning versus long-prompt calculator finds the request count at which the trade pays back.

One structural point ties all of them together. Token-metered costs are variable, and variable costs scale with success. That is the opposite of the classic software shape, where the marginal user is nearly free, and it changes what a good business model looks like: usage caps, credit systems, tiered model routing and per-seat limits are not hostile pricing tactics in an AI product, they are the mechanism that keeps the marginal user profitable. Decide which of them you need while the number in this calculator is still small.

Key terms

Blended rate
A single price per million tokens that weights the input and output rates by the proportion of each you actually send. It lets you multiply one rate by total tokens instead of tracking two streams.
Token gross margin
Revenue minus model token cost, divided by revenue. An upper bound on true gross margin, because it excludes every other cost of serving the feature.
Active user
A user who used the feature at least once in the billing period. The denominator must match the population whose usage you measured, or cost per user is meaningless.
Context
Everything sent to the model on a request: system prompt, tool definitions, retrieved documents, conversation history and the user's message. It is billed as input tokens on every single turn.

Frequently asked questions

How do I find my blended price per million tokens?

Take a representative sample of real requests and compute (input tokens × input rate + output tokens × output rate) ÷ total tokens. If a typical request has 1,200 input tokens at $3.00 per million and 300 output tokens at $15.00 per million, the blend is (3,600 + 4,500) ÷ 1,500 = $5.40 per million. Recompute it whenever you change the prompt, the retrieval depth or the reply length limit, because all three move the input-to-output ratio.

Should I use average or 90th-percentile usage?

Use both, for different decisions. The average drives your total bill and your reported gross margin. The 90th percentile drives your risk on a flat-price plan, because that user pays the same as everyone else while consuming several times the tokens. If the 90th-percentile user is unprofitable at your price, the plan needs a usage cap or a metered tier regardless of what the average says.

Does this include the cost of retrieval and embeddings?

No. It counts model tokens only. Retrieved chunks are counted where they belong — inside the tokens-per-message figure, because you pay input rates on them every time you send them — but generating the embeddings, hosting the vector index and storing the source documents are separate costs. Size them with the embedding cost and vector database storage calculators and add the result to this one.

What gross margin should an AI feature target?

There is no universal number, and any figure quoted without a source is worth ignoring. What you can say structurally is this: the margin here excludes every non-token cost, so the true figure is always lower, and a token margin that already looks tight will not survive the additions. Rather than aiming at a benchmark, aim at a margin that still holds when you recompute it at your heaviest decile of users.

Why is my measured bill higher than this calculator says?

The usual causes, in order of how often they turn out to be responsible: hidden requests you did not count (routing, grading, summarising, tool round trips), retries after timeouts or refusals, conversation history growing through a session so later turns bill far more than the first, and trial or free-tier users who consume tokens without appearing in your paid-user denominator. Instrument at the API client, not at the user interface, and the gap usually closes.

How do I model a free tier alongside a paid plan?

Run the calculator twice. First for paid users with their real usage and price, which gives you gross margin. Then for free users with revenue set to zero and their own, usually lower, usage — the resulting monthly bill is an acquisition cost, not a cost of goods sold. Adding the two populations into one average hides both numbers and makes the paid margin look worse than it is.

What is the fastest way to cut cost per user?

Reduce tokens per message first, because it is the only factor you can cut without reducing engagement. Trim the system prompt, cap conversation history, retrieve fewer and shorter chunks, and limit reply length. All four inputs multiply, so a 30% cut in tokens per message is a 30% cut in cost. After that, cache the static prefix, then route simple turns to a cheaper model, and only then revisit the price.

Does the price-for-target-margin output account for anything besides tokens?

No, and that is deliberate. It answers the narrow question of what price makes the token line alone hit your target, using price = cost ÷ (1 − target). At $0.54 of tokens and a 70% target that is $1.80. Treat it as a hard floor: any price below it cannot reach the target no matter how efficient the rest of your stack is, and any price above it still has to cover everything else.

References