Planning

Bandwidth Capacity Planning: Predicting Future Network Needs

Don't wait for congestion to strike. Learn how to analyze traffic trends, forecast growth, and plan upgrades before performance suffers.

Why Capacity Planning Matters

Network upgrades take time and budget. Without proper planning, you're either wasting money on over-provisioned links or scrambling to fix congestion when it's already impacting users. Good capacity planning gives you lead time to upgrade infrastructure before problems occur.

The Planning Cycle

Measure current utilization → Analyze trends over time → Forecast future needs → Plan upgrades → Repeat

Collecting Baseline Data

Accurate planning requires historical data. Key metrics to track:

Metric What It Tells You Collection Method
Interface utilizationHow full your links areSNMP polling (ifInOctets/ifOutOctets)
Peak vs averageBurst patterns and headroom5-minute samples, calculate 95th percentile
Traffic by applicationWhat's consuming bandwidthNetFlow/sFlow analysis
Error ratesEarly warning of capacity issuesSNMP interface counters

Tip: Collect at least 12 months of data before making predictions. Shorter periods miss seasonal patterns like year-end traffic spikes or summer slowdowns.

Understanding Utilization Metrics

Raw bandwidth numbers need context. Consider these utilization views:

Average Utilization

Useful for billing and overall trends, but can hide peaks. A link averaging 30% might hit 100% during busy hours.

95th Percentile

The industry standard. Shows the level exceeded only 5% of the time. Better represents typical peak usage while ignoring brief spikes.

Peak Utilization

Maximum observed value. Important for identifying if you're ever hitting the ceiling, even briefly.

# Calculate 95th percentile from samples
samples = [45, 52, 48, 73, 82, 51, 49, 95, 47, 50, ...]
sorted_samples = sort(samples)
index = len(samples) * 0.95
percentile_95 = sorted_samples[index]

# If 95th percentile > 70% of capacity, plan upgrade

Forecasting Growth

Several approaches to predicting future bandwidth needs:

Linear Projection

Simple trend line based on historical growth. Works for stable environments with consistent growth patterns. Calculate average monthly increase and extrapolate.

Compound Growth Model

Better for rapidly growing traffic. If bandwidth grows 5% monthly, it doubles in 14 months, not 20. Applies exponential math.

Business-Driven Planning

Factor in known events: new office locations, application rollouts, workforce growth. Historical trends don't capture planned changes.

Current Usage Growth Rate Time to 80%
50% utilized5%/month~10 months
50% utilized10%/month~5 months
70% utilized5%/month~3 months

Utilization Thresholds

When should you upgrade? Common industry guidelines:

Utilization StatusAction
<50%HealthyContinue monitoring
50-70%Planning zoneBegin upgrade planning
70-85%Action requiredExecute upgrade or optimize
>85%CriticalEmergency upgrade, expect degradation

These thresholds vary by link type. Core network links need more headroom than edge connections because they aggregate traffic from multiple sources.

Creating a Capacity Report

A good capacity planning report includes:

  • -Current state: Utilization of all critical links, both average and 95th percentile
  • -Historical trends: Month-over-month and year-over-year growth rates
  • -Forecast: Projected utilization at 6, 12, and 24 months
  • -Risk assessment: Links likely to hit thresholds and when
  • -Recommendations: Specific upgrade proposals with cost estimates

Beyond Bandwidth: Other Capacity Factors

Bandwidth isn't the only bottleneck. Consider these capacity dimensions:

Device Throughput

Routers and firewalls have maximum forwarding rates. A switch might have 100Gbps of backplane capacity but can't route at that speed.

Session/Connection Limits

Firewalls and load balancers have maximum concurrent session counts. IoT deployments often hit these before bandwidth limits.

CPU and Memory

Complex policies, encryption, and logging consume device resources. High CPU can cause packet drops even with available bandwidth.