The Real Cost of Getting Capacity Planning Wrong
You’ve probably faced this in your business: either you’re paying for computing power that sits idle, or your systems grind to a halt when demand spikes. Both feel bad. One empties your bank account. The other empties your customer’s goodwill.
Over-provisioning happens because it feels safer. You buy more capacity than you need, then it sits unused most of the time. A 30-person accounting firm spinning up expensive AI servers at full capacity to handle a few hours of peak month-end work is paying maybe $3,000 a month to save a handful of people from 15 minutes of waiting. Under-staffing happens for the opposite reason: you’re cutting costs until something breaks. Your chatbot goes down during your busiest sales season. Your report generation system gets overwhelmed on deadline day. Now you’re paying not in money, but in reputation.
The answer isn’t guessing better. It’s measuring what you actually need, then building systems that scale precisely to that demand. This is capacity planning, and when you add AI into your workflow, it becomes critical to get right.
Map Your Actual Demand Patterns
Before you buy anything, stop and observe. Spend at least two weeks (ideally a month) gathering real usage data from your current systems. What times of day do people use your services most? What days of the week? Are there seasonal spikes?

For example, say you run a 40-person accounting firm. Your staff works standard hours: 8am to 6pm. But your clients upload documents and ask questions at all hours. Pull actual server logs, API call counts, and user activity metrics from whatever systems you have. Most cloud platforms (AWS, Google Cloud, Azure) give you this data in their dashboards. If you’re using a CRM or legacy software, export what you can.
Document three numbers: your baseline (the load during a normal hour), your peak (the highest load you’ve ever hit), and your valley (the slowest hour of the day). These three numbers are the skeleton of your capacity plan.
What can go wrong: People often confuse average usage with peak usage. If your busiest hour is 10x your slowest hour, and you size capacity to the average, you’ll have problems half the time. Look at percentiles, not just the mean.
Calculate AI Workload Addition
Now figure out what AI is actually going to do in your workflow. This isn’t theoretical. Be specific about the tasks and the frequency.
Say you want to use AI to auto-respond to the most common customer questions. First, count how many questions come in per day. Let’s say 120. Next, measure how much compute time it takes to generate one response. Running a reasonable large language model response typically takes a few hundred milliseconds. So 120 questions at 0.5 seconds each is 60 seconds of compute time per day. That’s almost nothing.
But if you implement AI document processing (parsing forms, extracting data, categorizing uploads), the workload changes entirely. Processing one document might take 2-3 seconds. If you’re processing 500 documents a day, that’s 1,500 seconds or 25 minutes of compute time daily. During your peak month when you get 2,000 documents? 100 minutes per day. Now you’re adding real load.
The critical step here is measuring in actual seconds of compute, not just “requests.” Different AI tasks have wildly different resource footprints. A text-generation task has different demands than image analysis or video processing. Measure what you’ll actually do.
What can go wrong: Confusing API call counts with resource usage. You might make 1,000 API calls that each take 10ms, or 100 calls that each take 100ms. The total resource load is the same, but the profile is different.
Add a Safety Buffer, Not Infinite Headroom
Now that you have your baseline demand plus AI workload, the instinct is to buy 3x what you need “just to be safe.” This is where most over-provisioning happens.
Instead, use this logic: add a 30% buffer to your peak load. Not 200%, not 100%. Just 30%. This covers traffic spikes, unoptimized queries, and the occasional runaway process without wasting money.
So if your peak load is 100 requests per second, and your AI workload adds another 20 requests per second during peak times, you need capacity for 132 requests per second. Not 300.
The reason 30% works is because most systems have a threshold where they degrade gracefully. If you hit 100% capacity, you get errors and timeouts. If you hit 85-90%, you get slower response times but everything still works. The 30% buffer keeps you in that safe zone without paying for idle hardware.
If you’re using cloud infrastructure with auto-scaling (which you should be), you’re not paying for that unused capacity anyway. You only pay for what you actually use. This changes the equation entirely. With auto-scaling, under-provisioning is the real risk. You want to size your minimum (always-on) capacity small, and let your maximum (burst) capacity scale up as needed.
Choose Infrastructure That Matches Your Pattern
Once you know your demand, the infrastructure choice becomes obvious. But most people pick infrastructure first, then complain when it doesn’t fit.

There are three patterns:
Steady baseline with sharp peaks. You have a consistent amount of work most of the time, plus occasional spikes. Example: an HR team processing resumes, which arrives in batches after job postings. Use a minimum of auto-scaled servers to handle your baseline, then set a scaling rule to add more when demand hits a threshold. Shut them down when demand drops. You’re paying only for what you use.
Mostly idle with scheduled bursts. Your system sits quiet, then gets hammered for predictable windows. Example: a marketing team generating reports every Monday, or a payroll system processing at the end of the month. Here, you can use scheduled scaling or even off-the-shelf batch processing. Spin up capacity 10 minutes before the batch, run it, tear it down. AWS Lambda or similar serverless options shine here because you’re not paying for idle time at all.
Unpredictable or continuous high demand. Your load is either constantly high or unpredictable when it will spike. Example: a software company with thousands of concurrent users, or a support team that gets slammed at random times. This one needs either reserved capacity (you commit to a baseline and buy it at a discount) or aggressive auto-scaling rules. There’s no free lunch here; you’re buying some idle capacity to guarantee you don’t drop requests during unpredictable spikes.
What can go wrong: Picking serverless for something that needs steady capacity (you pay premium rates for constant execution) or building a reserved server farm when your workload varies by 10x throughout the day (you’re paying for ghosts).
Set Monitoring and Alerts Before You Need Them
The moment you go live with your AI implementation, something will go sideways that you didn’t anticipate. A query is slower than expected. A new feature gets more popular than you thought. An upstream service starts failing intermittently. If you’re not watching, you won’t know until your customers complain.

Set up three alerts: one for CPU/memory usage hitting 80%, one for response time exceeding your SLA, and one for error rates going above baseline. Most cloud platforms have built-in alerting. Use it.
Also log the resource usage of each major AI task. When you process a document, log how long it took and how much memory it used. When you generate a response, log the token count and inference time. Over time, you’ll see patterns. You might discover that one particular feature is a resource hog and needs optimization. Or you’ll spot a regression when you deploy a new model version.
What can go wrong: Alerts that cry wolf. If you set your thresholds too tight, you’ll get notifications constantly and stop paying attention to them. Set them at levels that actually matter.
Optimize the Real Bottlenecks, Not the Hypothetical Ones
Once you have a month or two of real-world data, you’ll see where your capacity is actually strained. Don’t optimize based on theory. Optimize based on what the logs show you.
Say you expected document processing to be your biggest cost, but it turns out response generation is. Maybe your model is overkill for the task. Maybe you’re generating more tokens than necessary. Maybe you can cache responses and serve the same answer without re-running the model. Attack the actual bottleneck, not the one you guessed.
This is where having good logging pays off. You need to know not just “we used 200 GB of memory today” but “document processing used 150 GB, response generation used 40 GB, and everything else used 10 GB.” Once you can see that breakdown, optimization becomes surgical instead of guesswork.
The other win here is that your first version is never your final version. As you learn what works, you’ll want to adjust. Maybe you implement batch processing instead of real-time. Maybe you migrate from one model provider to another. The capacity model needs to evolve with your implementation.
What To Do After This Checklist
You now have the framework to make a data-driven capacity decision instead of guessing.
This week, pull your server logs and baseline data. Calculate what percentage of your current load is used during peak versus valley. This number tells you how much money you’re potentially wasting or risking.
Next week, prototype your AI workload on a small scale and measure actual resource consumption. Don’t build in production; spin up a test environment, run your AI tasks, and log the results.
The week after, make your infrastructure choice. By then, you’ll have real numbers instead of estimates. Your capacity plan will be grounded in facts instead of fear.
If you’re implementing something complex (multiple AI models, high concurrency, mixed workloads), this process gets more involved. That’s where having experienced eyes on your architecture pays off. We’ve done this enough times to spot where most SMBs under-provision response capacity or over-provision storage. A quick capacity review with someone who’s seen dozens of implementations often saves more money in the first year than the review costs.
Book a free AI audit to get a custom capacity assessment for your business. We’ll look at your current infrastructure, your planned AI workload, and flag where you’re likely to waste money or create bottlenecks.
Get Jake's Mistakes
What I got wrong in AI last week, and what it cost. Written for owners and operators, not engineers.