Recipe

Capacity planning calculator narrative

A step-by-step recipe for building a capacity planning calculator that tells a clear story about your infrastructure limits.

Ingredients

  • Historical throughput data (requests/sec, 30-day window)
  • Per-node capacity ceiling (measured via load test)
  • Growth rate assumption (weekly or monthly)
  • Headroom target percentage (default 30%)
  • Lead time for provisioning new nodes (days)

Step 1 — Baseline

Pull your peak daily throughput from the last 30 days. Use the 95th percentile, not the absolute max, to filter out one-off spikes. Call this P95_rps.

Step 2 — Node capacity

Run a controlled load test against a single production-spec node. Record the throughput where p99 latency crosses your SLO. That number is node_cap.

Step 3 — Current footprint

Divide baseline by per-node capacity and round up:

nodes_now = ceil(P95_rps / node_cap)

Step 4 — Forecast

Project forward by your provisioning lead time plus one week. Apply your growth rate compound:

future_rps = P95_rps * (1 + growth_rate)^(lead_time_weeks + 1)
nodes_future = ceil(future_rps / node_cap)

Step 5 — Headroom check

Compare future node count against current. If the gap is less than your headroom target, trigger a provisioning ticket:

headroom_pct = (nodes_future - nodes_now) / nodes_now * 100
if headroom_pct < target_headroom: alert

Narrative output

The calculator should produce a single sentence summary: “At current growth, you will exhaust headroom in X weeks. Provision Y additional nodes by YYYY-MM-DD to maintain >30% buffer.” This turns raw numbers into an actionable story for on-call and leadership.

Edge cases

  • Zero growth: still revalidate headroom monthly.
  • Negative growth: clamp to zero, do not de-provision automatically.
  • Missing data: fall back to last known good baseline with a stale-data warning.