Chatbot cost formula
Per conversation = (system_tokens + avg_turns × (user_tokens + assistant_tokens)) × model_rate. The calculator multiplies by monthly active users and average sessions per user.
Reference workload
10,000 MAU × 4 sessions × 6 turns × 250 tokens = ~60M tokens/month. On GPT-4o ≈ $360. On Haiku ≈ $30. On Gemini Flash ≈ $9.
Hidden costs to model
System prompt is re-billed every turn unless caching is enabled. Tool calls add 100-300 tokens each. Streaming has no cost effect but matters for latency budgets.
Cost drivers ranked
Average turns per conversation ranks first because it multiplies both input and output tokens on every session. System prompt length ranks second when it is re-sent each turn rather than cached. Monthly active users and sessions per user rank third and fourth — they scale the bill linearly but don't change the per-conversation economics the way turn count and prompt design do.
Choosing a model for a chatbot
Blended at 70/30: Claude 3.5 Haiku = 0.7x$0.80 + 0.3x$4 = $1.76/1M. GPT-4o mini = 0.7x$0.15 + 0.3x$0.60 = $0.285/1M. DeepSeek V3 = 0.7x$0.27 + 0.3x$1.10 = $0.519/1M. For high-volume, low-complexity turns (greetings, FAQ), the cheaper models model to a fraction of GPT-4o's $4.75/1M blended rate; reserve the pricier model for turns that need it.
What is not captured by a single blended rate
A blended cost-per-conversation figure assumes every turn looks like the average, but real conversations front-load short turns and back-load longer ones as the exchange gets more specific. Model a short scenario and a long scenario separately rather than relying on one average — the average can understate cost on the subset of conversations that actually run long.
Translating the estimate into cost per user
Once the monthly total is modelled, divide by monthly active users to get a per-user figure comparable to your subscription price: at $360/month on GPT-4o for 10,000 MAU, that's $0.036/user — trivial against a $10+ seat price, but the same division at 1M MAU turns $360 into $36,000, which changes the conversation about which model tier is affordable at scale.
Assumptions checklist before trusting the number
— Average turns per session and average tokens per turn, not just total monthly tokens — Whether the system prompt is cached or re-billed every turn — Whether tool calls or retrieved context are included in the turn token count — Sessions per user per month, since this compounds with turns and MAU multiplicatively
Re-running the model as usage grows
MAU, sessions/user and turns/conversation each scale the bill independently, so a re-forecast after launch should update all three from observed data rather than assuming the pre-launch estimate still holds. A chatbot that launches at 6 turns/session commonly drifts longer as users get comfortable with it — re-run the calculator quarterly with the current average, not the launch-day assumption.
Frequently asked questions
- Does it support RAG chatbots?
- Yes — retrieved context tokens are a separate input field.
- Can I compare 3 models at once?
- Yes — the chatbot calculator outputs a side-by-side cost matrix.
- Does it include embedding costs?
- Optional — toggle 'include embeddings' to add ingest + query embedding spend.

TokenAtlas