A support chatbot handling 10,000 conversations a day costs somewhere between about $400 and $33,000 a month in model fees, depending on the model you pick and whether you cache the fixed part of the prompt. The arithmetic below shows where that range comes from. The biggest driver is conversation history: every turn resends everything that came before it, so input grows faster than the conversation does.
The shape of a conversation
Every number in this section is an assumption for a hypothetical bot. Swap in yours; the method stays the same.
- Fixed instructions, policies and tool definitions at the top of every call: 4,000 tokens.
- Help-center passages retrieved for each customer message: 1,000 tokens, dropped once the reply is sent.
- Each customer message: 100 tokens. Each reply: 250 tokens.
- Four customer messages per conversation, so four model calls.
- 10,000 conversations a day, 30 days a month: 1.2 million calls a month.
Why history dominates
A model remembers nothing between calls. To answer the fourth message, the bot sends the instructions, the retrieved passages and the whole conversation so far. So each call is bigger than the one before:
Call 1 4,000 fixed + 1,000 retrieved + 100 message = 5,100 Call 2 4,000 + 1,000 + 100 + 350 history (message and reply) = 5,450 Call 3 4,000 + 1,000 + 100 + 700 history = 5,800 Call 4 4,000 + 1,000 + 100 + 1,050 history = 6,150 Input per conversation 22,500 tokens Output per conversation 1,000 tokens (4 replies × 250)
The customer typed 400 tokens and read 1,000. The bot sent 22,500. Of those, 16,000 are the same 4,000-token block sent four times, which is exactly what prompt caching is for: when a call starts with text the provider processed moments ago, that part is billed at a fraction of the input price.
One model, step by step
GPT-6.1 Sol lists at $2 per million input tokens, $10 per million output tokens and $0.10 per million cached input tokens on OpenAI’s pricing page. At 40,000 calls a day, about 28 a minute on average, the cached block is reused long before it can expire, so assume it is read from cache on every call.
Without caching
22,500 input × $2 = 45,000
1,000 output × $10 = 10,000
55,000 ÷ 1,000,000 = $0.055 per conversation
× 10,000 a day = $550 a day, $16,500 a month
With the 4,000-token block read from cache on every call
16,000 cached × $0.10 = 1,600
6,500 uncached × $2 = 13,000
1,000 output × $10 = 10,000
24,600 ÷ 1,000,000 = $0.0246 per conversation
× 10,000 a day = $246 a day, $7,380 a month
Caching cuts the bill by 55%. The price is discipline about order. Anything that changes per customer (their name, their plan, today’s date) has to come after the fixed text, or every call starts differently and nothing is cached. A timestamp in the first line of a system prompt is enough to turn caching off for every call.
- Input
- Cached input
- Output
| Item | Input | Cached input | Output |
|---|---|---|---|
| Without caching | $13,500 | $0 | $3,000 |
| With the fixed block cached | $3,900 | $480 | $3,000 |
10,000 four-message conversations a day for 30 days, from the arithmetic above. Source: thinkhard.si model catalog, list prices checked October 20, 2026.
Two small costs are left out. Anthropic bills the first write to its cache at 1.25 times the input price for a five-minute cache (Anthropic pricing), and Google charges for storage on explicit caches (Gemini pricing). At this volume both are minor next to the savings.
Six models, one workload
| Model | Input / output / cached, per 1M | Per conversation | Per month | Per month, cached |
|---|---|---|---|---|
| Claude Opus 5.5 | $4 / $20 / $0.20 | $0.110 | $33,000 | $14,760 |
| GPT-6.1 Sol | $2 / $10 / $0.10 | $0.055 | $16,500 | $7,380 |
| Gemini 3.8 Flash | $0.75 / $3.75 / $0.075 | $0.0206 | $6,187.50 | $2,947.50 |
| Gemini 3.5 Flash-Lite | $0.30 / $2.50 / $0.03 | $0.0093 | $2,775 | $1,479 |
| Claude Haiku 5.5 | $0.10 / $0.50 / $0.01 | $0.00275 | $825 | $393 |
| GPT-6 Luna | $0.10 / $0.50 / $0.01 | $0.00275 | $825 | $393 |
Four calls per conversation, 10,000 conversations a day. Monthly cost of 1,200,000 calls with about 5,625 tokens in and 250 out each, 71% of the input read from cache. List prices checked October 20, 2026; your bill may differ.
From the most expensive cell to the cheapest is a factor of 84. Two warnings before you sort by the last column. First, the cheap rows only count if those models pass your tests on real conversations; a bot that gives wrong answers costs far more than its token bill (more on that in the cheapest model that passes). Second, Gemini 3.8 Flash doubles in price on January 1, 2027, which would take its cached row to $5,895 a month.
When conversations run long
Averages hide the expensive conversations. Run the same arithmetic for eight customer messages instead of four, and input per conversation climbs from 22,500 to 50,600 tokens: 2.25 times as much for twice the messages, because every call carries a longer history. On GPT-6.1 Sol with caching, a month of eight-message conversations costs $18,120 instead of $7,380.
- Without caching
- With the fixed block cached
| Without caching | 1: $3,810 | 2: $7,830 | 3: $12,060 | 4: $16,500 | 5: $21,150 | 6: $26,010 | 7: $31,080 | 8: $36,360 |
|---|---|---|---|---|---|---|---|---|
| With the fixed block cached | 1: $1,530 | 2: $3,270 | 3: $5,220 | 4: $7,380 | 5: $9,750 | 6: $12,330 | 7: $15,120 | 8: $18,120 |
10,000 conversations a day, with the post’s assumptions: 4,000 fixed tokens, 1,000 retrieved, 100 per message and 250 per reply. The curve bends upward because every call resends the history. Source: thinkhard.si model catalog, list prices checked October 20, 2026.
Long conversations are usually the ones going badly, with a customer asking the same question for the third time. So a turn limit is kinder and cheaper at once: after the fifth message without a resolution, offer a person, and hand over a summary so the customer does not have to start again. If you do need long conversations, summarize the older turns instead of resending them word for word.
Move back-office work to batch
Support bots create back-office work: a summary for the ticket, tags for reporting, a quality score for coaching. None of it needs an answer within two seconds, so do not run it through the live path at live prices.
Anthropic, OpenAI and Google all list batch prices at half their standard rates, in exchange for waiting. Anthropic, for example, says most batches finish within an hour and all results arrive within 24 hours (batch processing docs). Suppose each finished conversation gets one call that returns a summary and tags: 2,400 input tokens (the transcript plus instructions) and 300 output tokens.
GPT-6.1 Sol, standard (2,400 × $2 + 300 × $10) ÷ 1,000,000 = $0.0078
× 10,000 a day × 30 = $2,340 a month
GPT-6.1 Sol, batch half price = $1,170 a month
Claude Haiku 5.5, batch (2,400 × $0.05 + 300 × $0.25) ÷ 1,000,000 = $0.000195
× 300,000 = $58.50 a month
Summaries and tags are also where a small model is most likely to pass, because the job is narrow and the output is easy to check. Anthropic notes that its caching and batch discounts stack, with cache hits inside a batch on a best-effort basis.
Cost per resolved conversation
The model bill is the small number. The one that decides whether the bot was worth building is cost per resolved conversation, and that depends on how many conversations the bot actually closes.
If the bot fully resolves 40% of conversations (a made-up figure; measure your own), each resolved conversation carries the cost of 2.5 conversations: $0.0246 × 2.5 = $0.0615 on GPT-6.1 Sol with caching. The other 60% still reach your team, now with a transcript attached. Compare that with what a ticket handled by a person costs you, a figure only you know. And watch the trade: a cheaper model that resolves fewer conversations can lose its savings in handoffs.
Run your own numbers
Paste your real system prompt into the token and cost calculator. It counts tokens for each model family and prices a call, 1,000 calls and a month on every major model, with a slider for how much of the system prompt is read from cache. For a chatbot, put a typical message plus its retrieved text and history in the user message box, set output to your average reply, and set calls per day to conversations times messages. Nothing you paste leaves the page, and it needs no API key.
Key takeaways
- A chatbot resends its instructions and the whole conversation on every turn, so input grows faster than the number of messages.
- For the hypothetical bot here, 10,000 conversations a day costs from about $400 to $33,000 a month in model fees at list prices.
- Caching the fixed part of the prompt cut the GPT-6.1 Sol bill by 55%. Keep fixed text first and changing text last.
- Cap long conversations with a handoff to a person, and summarize old turns instead of resending them.
- Run summaries, tags and quality scores through batch at half price, ideally on a small model.
- Judge the bot by cost per resolved conversation, not cost per token.