{"id":8090,"date":"2026-10-28T09:00:00","date_gmt":"2026-10-28T13:00:00","guid":{"rendered":"https:\/\/aventurecloud.net\/?p=8090"},"modified":"2026-11-06T13:36:21","modified_gmt":"2026-11-06T18:36:21","slug":"same-traffic-32x-the-bill-why-ai-capacity-planning-has-to-count-tokens","status":"publish","type":"post","link":"https:\/\/aventurecloud.net\/?p=8090","title":{"rendered":"Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens"},"content":{"rendered":"<p>Most teams size an AI assistant the way they size a website: how many requests per second will it get? It feels sensible. It&#8217;s also how a perfectly healthy launch can turn into a budget crisis a month later, without a single new user showing up.<\/p>\n<p>We wanted to see that failure up close, so we built a reference build that reproduces it: LLM capacity planning: count tokens, not requests. It runs entirely offline on a laptop, with simulated models, simulated GPUs, illustrative prices and fictional tenants. The dollar figures aren&#8217;t a quote for anyone&#8217;s cloud bill. The ratios are the point.<\/p>\n<h2>What the project set out to test<\/h2>\n<p>The scenario is a fictional software company&#8217;s support chatbot. At launch, people ask short questions. A month later, the same users at the same 100 requests per second start pasting whole contracts into the chat. Nothing in the request-rate dashboard changes. The project asks three questions: what happens to cost and latency, how early can you see it coming, and which fixes actually help?<\/p>\n<h2>What we observed<\/h2>\n<p><strong>1. The request rate stayed flat, but nothing else did.<\/strong> In the simulation, 12% of traffic switching to whole contracts pushed average input size up 164.9x. On the same three servers, the monthly bill went from $16,198 to $519,079 (32.0x), and p99 latency, the experience of the slowest 1% of users, went from 2.499 seconds to 613.014 seconds. That&#8217;s a queue that keeps growing for as long as the traffic mix stays shifted.<\/p>\n<p><strong>2. No single fix was enough, but two together were.<\/strong> Fair-share admission on its own, where one heavy user can&#8217;t starve everyone else, brought chat p99 down to about 90 seconds but left the bill untouched. Capping input size and using retrieval instead of whole documents cut the bill to $77,567, but chat p99 still sat near 53 seconds. Combining the two on the same three servers brought chat p99 back to 3.7 seconds at that lower $77,567 bill. The alternative, buying your way out, meant growing the fleet from 3 to 47 replicas while the bill stayed at $519,079.<\/p>\n<p><strong>3. Early warning is cheap if you watch the right number.<\/strong> Over a simulated month where contract traffic ramps up slowly, a monitor that tracks average tokens per request fired on day 2. Per-tenant budgets hard-stopped the heaviest tenant on day 3. Left alone, the month would have cost $398,601, which is 24.8x the original estimate.<\/p>\n<p><strong>4. Input and output tokens are different problems.<\/strong> For short chat questions, output was 91.6% of the cost. For contract Q&amp;A it was only 22.5%. A single &#8220;average cost per request&#8221; hides which lever you should actually pull.<\/p>\n<h2>Why this matters for a business<\/h2>\n<p>AI cost and AI latency both follow tokens, not clicks. If your finance team budgets per request and your platform team scales per request, both will be surprised by the same change in user behavior. And because the dashboard you&#8217;re watching stays green, the surprise arrives as an invoice, not an alert.<\/p>\n<p>The good news is that the fixes are ordinary engineering: limits, retrieval, fair scheduling and budgets. They just need to be designed in from day one and tuned against your real traffic.<\/p>\n<h2>Takeaways<\/h2>\n<ul>\n<li>Plan capacity in tokens per second, and treat input and output tokens separately.<\/li>\n<li>Watch percentiles (p95, p99), not averages. The tail is where users leave.<\/li>\n<li>Input caps with retrieval cut cost; fair-share admission protects latency. You usually need both.<\/li>\n<li>Track average tokens per request as a drift signal, and give every tenant a budget with alerts.<\/li>\n<li>Scaling hardware is a fix too, but in this simulation it cost far more than shaping the traffic.<\/li>\n<\/ul>\n<h2>Explore the reference build<\/h2>\n<p>The full build, with its simulator, cost model, capacity planner, 132 passing tests and documentation, is public as a reference build on synthetic data: AventureCloud LLM capacity planning. Its own limitations doc is worth reading too. The simulator hasn&#8217;t yet been calibrated against a real serving engine.<\/p>\n<h2>Let&#8217;s talk<\/h2>\n<p>Want your engineers to plan AI capacity and cost this way before the first surprise invoice? Reach us at trainings@aventurecloud.net for hands-on training, or partnerships@aventurecloud.net to bring trained AI engineers into your team.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A reference build shows how an AI assistant can keep the same request rate yet see its bill and latency explode, and which fixes actually bring it back.<\/p>\n","protected":false},"author":19,"featured_media":8126,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-8090","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens - Infinite Possibilities<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/aventurecloud.net\/?p=8090\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens - Infinite Possibilities\" \/>\n<meta property=\"og:description\" content=\"A reference build shows how an AI assistant can keep the same request rate yet see its bill and latency explode, and which fixes actually bring it back.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/aventurecloud.net\/?p=8090\" \/>\n<meta property=\"og:site_name\" content=\"Infinite Possibilities\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-28T13:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-06T18:36:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/aventurecloud.net\/wp-content\/uploads\/2026\/11\/8090_capacity-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1400\" \/>\n\t<meta property=\"og:image:height\" content=\"786\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Aventure Blog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aventure Blog\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090\"},\"author\":{\"name\":\"Aventure Blog\",\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/#\\\/schema\\\/person\\\/5bb333ca4287c7b8bcd6b4f668d02dba\"},\"headline\":\"Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens\",\"datePublished\":\"2026-10-28T13:00:00+00:00\",\"dateModified\":\"2026-11-06T18:36:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090\"},\"wordCount\":697,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aventurecloud.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/8090_capacity-1.jpg\",\"articleSection\":[\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/aventurecloud.net\\\/?p=8090#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090\",\"url\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090\",\"name\":\"Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens - Infinite Possibilities\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aventurecloud.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/8090_capacity-1.jpg\",\"datePublished\":\"2026-10-28T13:00:00+00:00\",\"dateModified\":\"2026-11-06T18:36:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/aventurecloud.net\\\/?p=8090\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090#primaryimage\",\"url\":\"https:\\\/\\\/aventurecloud.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/8090_capacity-1.jpg\",\"contentUrl\":\"https:\\\/\\\/aventurecloud.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/8090_capacity-1.jpg\",\"width\":1400,\"height\":786,\"caption\":\"Server room racks representing AI capacity and token planning\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/?p=8090#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/aventurecloud.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/#website\",\"url\":\"https:\\\/\\\/aventurecloud.net\\\/\",\"name\":\"Infinite Possibilities\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/aventurecloud.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/#organization\",\"name\":\"Infinite Possibilities\",\"url\":\"https:\\\/\\\/aventurecloud.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/aventurecloud.net\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/cropped-Logo2-1-3.png\",\"contentUrl\":\"https:\\\/\\\/aventurecloud.net\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/cropped-Logo2-1-3.png\",\"width\":1560,\"height\":758,\"caption\":\"Infinite Possibilities\"},\"image\":{\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/aventurecloud.net\\\/#\\\/schema\\\/person\\\/5bb333ca4287c7b8bcd6b4f668d02dba\",\"name\":\"Aventure Blog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/825128403eec8be7b8ab517bdc5bcf08e15a5294c816412cf445094e2ad734a9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/825128403eec8be7b8ab517bdc5bcf08e15a5294c816412cf445094e2ad734a9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/825128403eec8be7b8ab517bdc5bcf08e15a5294c816412cf445094e2ad734a9?s=96&d=mm&r=g\",\"caption\":\"Aventure Blog\"},\"url\":\"https:\\\/\\\/aventurecloud.net\\\/?author=19\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens - Infinite Possibilities","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/aventurecloud.net\/?p=8090","og_locale":"en_US","og_type":"article","og_title":"Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens - Infinite Possibilities","og_description":"A reference build shows how an AI assistant can keep the same request rate yet see its bill and latency explode, and which fixes actually bring it back.","og_url":"https:\/\/aventurecloud.net\/?p=8090","og_site_name":"Infinite Possibilities","article_published_time":"2026-10-28T13:00:00+00:00","article_modified_time":"2026-11-06T18:36:21+00:00","og_image":[{"width":1400,"height":786,"url":"https:\/\/aventurecloud.net\/wp-content\/uploads\/2026\/11\/8090_capacity-1.jpg","type":"image\/jpeg"}],"author":"Aventure Blog","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Aventure Blog","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/aventurecloud.net\/?p=8090#article","isPartOf":{"@id":"https:\/\/aventurecloud.net\/?p=8090"},"author":{"name":"Aventure Blog","@id":"https:\/\/aventurecloud.net\/#\/schema\/person\/5bb333ca4287c7b8bcd6b4f668d02dba"},"headline":"Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens","datePublished":"2026-10-28T13:00:00+00:00","dateModified":"2026-11-06T18:36:21+00:00","mainEntityOfPage":{"@id":"https:\/\/aventurecloud.net\/?p=8090"},"wordCount":697,"commentCount":0,"publisher":{"@id":"https:\/\/aventurecloud.net\/#organization"},"image":{"@id":"https:\/\/aventurecloud.net\/?p=8090#primaryimage"},"thumbnailUrl":"https:\/\/aventurecloud.net\/wp-content\/uploads\/2026\/11\/8090_capacity-1.jpg","articleSection":["Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/aventurecloud.net\/?p=8090#respond"]}]},{"@type":"WebPage","@id":"https:\/\/aventurecloud.net\/?p=8090","url":"https:\/\/aventurecloud.net\/?p=8090","name":"Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens - Infinite Possibilities","isPartOf":{"@id":"https:\/\/aventurecloud.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/aventurecloud.net\/?p=8090#primaryimage"},"image":{"@id":"https:\/\/aventurecloud.net\/?p=8090#primaryimage"},"thumbnailUrl":"https:\/\/aventurecloud.net\/wp-content\/uploads\/2026\/11\/8090_capacity-1.jpg","datePublished":"2026-10-28T13:00:00+00:00","dateModified":"2026-11-06T18:36:21+00:00","breadcrumb":{"@id":"https:\/\/aventurecloud.net\/?p=8090#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/aventurecloud.net\/?p=8090"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/aventurecloud.net\/?p=8090#primaryimage","url":"https:\/\/aventurecloud.net\/wp-content\/uploads\/2026\/11\/8090_capacity-1.jpg","contentUrl":"https:\/\/aventurecloud.net\/wp-content\/uploads\/2026\/11\/8090_capacity-1.jpg","width":1400,"height":786,"caption":"Server room racks representing AI capacity and token planning"},{"@type":"BreadcrumbList","@id":"https:\/\/aventurecloud.net\/?p=8090#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/aventurecloud.net\/"},{"@type":"ListItem","position":2,"name":"Same Traffic, 32x the Bill: Why AI Capacity Planning Has to Count Tokens"}]},{"@type":"WebSite","@id":"https:\/\/aventurecloud.net\/#website","url":"https:\/\/aventurecloud.net\/","name":"Infinite Possibilities","description":"","publisher":{"@id":"https:\/\/aventurecloud.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/aventurecloud.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/aventurecloud.net\/#organization","name":"Infinite Possibilities","url":"https:\/\/aventurecloud.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/aventurecloud.net\/#\/schema\/logo\/image\/","url":"https:\/\/aventurecloud.net\/wp-content\/uploads\/2024\/06\/cropped-Logo2-1-3.png","contentUrl":"https:\/\/aventurecloud.net\/wp-content\/uploads\/2024\/06\/cropped-Logo2-1-3.png","width":1560,"height":758,"caption":"Infinite Possibilities"},"image":{"@id":"https:\/\/aventurecloud.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/aventurecloud.net\/#\/schema\/person\/5bb333ca4287c7b8bcd6b4f668d02dba","name":"Aventure Blog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/825128403eec8be7b8ab517bdc5bcf08e15a5294c816412cf445094e2ad734a9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/825128403eec8be7b8ab517bdc5bcf08e15a5294c816412cf445094e2ad734a9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/825128403eec8be7b8ab517bdc5bcf08e15a5294c816412cf445094e2ad734a9?s=96&d=mm&r=g","caption":"Aventure Blog"},"url":"https:\/\/aventurecloud.net\/?author=19"}]}},"_links":{"self":[{"href":"https:\/\/aventurecloud.net\/index.php?rest_route=\/wp\/v2\/posts\/8090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aventurecloud.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aventurecloud.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aventurecloud.net\/index.php?rest_route=\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/aventurecloud.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8090"}],"version-history":[{"count":0,"href":"https:\/\/aventurecloud.net\/index.php?rest_route=\/wp\/v2\/posts\/8090\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aventurecloud.net\/index.php?rest_route=\/wp\/v2\/media\/8126"}],"wp:attachment":[{"href":"https:\/\/aventurecloud.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aventurecloud.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8090"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aventurecloud.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}