thinkhard.SI

What a support chatbot really costs at 10,000 conversations a day.

Per-token prices look tiny and chatbot bills do not. The gap is conversation history, which most estimates leave out. Here is the arithmetic for one hypothetical support bot on six models, what caching and batch processing save, and the number that matters more than the model bill.

Cost, an 8-minute read, updated All posts

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.

Where the money goes on GPT-6.1 Sol, per month
  • Input
  • Cached input
  • Output
  1. Without caching$16,500
  2. With the fixed block cached$7,380
ItemInputCached inputOutput
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

List prices from the thinkhard.si model catalog, checked October 20, 2026. Standard tier. Hypothetical bot: 22,500 input and 1,000 output tokens per conversation, 10,000 conversations a day, 30 days. “Cached” reads the 4,000-token fixed block from cache on every call.
ModelInput / output / cached, per 1MPer conversationPer monthPer 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
The same bot on six models, with the fixed block cached
  1. Claude Opus 5.5$14,760
  2. GPT-6.1 Sol$7,380
  3. Gemini 3.8 Flash$2,948
  4. Gemini 3.5 Flash-Lite$1,479
  5. Claude Haiku 5.5$393
  6. GPT-6 Luna$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.

Monthly bill on GPT-6.1 Sol by conversation length
  • Without caching
  • With the fixed block cached
Without caching1: $3,8102: $7,8303: $12,0604: $16,5005: $21,1506: $26,0107: $31,0808: $36,360
With the fixed block cached1: $1,5302: $3,2703: $5,2204: $7,3805: $9,7506: $12,3307: $15,1208: $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.