Queue Wait Time Little's Law Estimator
Estimate queue wait times using Little's Law. Calculate average wait time, queue length, and arrival rates for any service system. Free operations tool.
Formula
L = λ × W (Little's Law); ρ = λ / (c × μ); W_queue = ρ / (μ × (1 - ρ)) for M/M/1
Little's Law (L = λ × W) states average items in system equals arrival rate times average time in system. Utilization ρ = λ / (c × μ) is the fraction of capacity used. For M/M/1 queues, wait time is W = ρ / (μ × (1 - ρ)), showing exponential growth as utilization approaches 1. For M/M/c (multiple servers), Erlang C formulas apply. These relationships enable capacity planning: given arrival rate and target wait time, calculate servers needed.
Worked Examples
Example 1: Call Center Staffing
Problem:Call center receives 100 calls/hour. Average call lasts 3 minutes. Currently 2 agents. Target: <30 second wait. How many agents needed?
Solution:Current State: - Arrival rate (λ): 100/hour = 1.67/min - Service rate (μ): 1 call / 3 min = 0.33/min - Servers (c): 2 - Utilization: 1.67 / (2 × 0.33) = 2.5 → OVERLOADED! Problem: Arrival rate exceeds capacity Capacity: 2 agents × 20 calls/hour = 40 calls/hour Demand: 100 calls/hour Shortfall: 60 calls/hour Servers Needed: 100 calls/hour ÷ 20 calls/hour/agent = 5 agents minimum With 5 agents: - Capacity: 100 calls/hour - Utilization: 100% - Wait time: STILL INFINITE (at capacity) With 6 agents: - Capacity: 120 calls/hour - Utilization: 83% - Wait time: ~45 seconds (still high) With 7 agents: - Capacity: 140 calls/hour - Utilization: 71% - Wait time: ~15 seconds ✓ (meets target) Recommendation: 7 agents to meet 30s target
Result:Need 7 agents | Currently 2 (overloaded) | Target wait: 30s → Actual: 15s
Example 2: API Server Capacity
Problem:API receives 50 requests/second. Each request takes 100ms to process. Currently 10 servers. Is this sufficient? What's average wait?
Solution:Queue Analysis: - Arrival rate: 50 req/s - Service time: 0.1s per request - Service rate per server: 10 req/s - Servers: 10 - Total capacity: 100 req/s Utilization: ρ = 50 / 100 = 50% M/M/10 Wait Time Calculation: Using Erlang C formula: - Probability of waiting: ~2% - Average wait (for those who wait): ~0.05s - Average wait (overall): ~0.001s System Time: - Wait: 0.001s - Service: 0.1s - Total: 0.101s Little's Law Verification: L = λ × W = 50 × 0.101 = 5.05 requests in system Conclusion: - 10 servers is sufficient - Low utilization (50%) provides headroom - Wait time negligible (<1ms average) - Could handle 2× traffic spike Recommendation: Current capacity adequate; monitor for growth
Result:50% utilization | ~1ms wait | Sufficient capacity | Can handle 2× spike
Example 3: Support Ticket Queue Optimization
Problem:Support receives 200 tickets/day. Agents resolve 25 tickets/day each. Currently 10 agents. Average resolution time 2 days. How to reduce to 1 day?
Solution:Current State (using Little's Law): - Arrival rate: 200 tickets/day - Current agents: 10 - Capacity: 10 × 25 = 250 tickets/day - Utilization: 200/250 = 80% - Observed time in system: 2 days Little's Law: L = λ × W 400 tickets = 200/day × 2 days ✓ Target: - Reduce W from 2 days to 1 day - Keep λ = 200/day - New L target: 200 × 1 = 200 tickets Options: 1. Add Agents: To achieve 1-day resolution: - Need lower utilization (~60%) - Capacity needed: 200 / 0.6 = 333 tickets/day - Agents: 333 / 25 = 14 agents - Add 4 agents 2. Improve Agent Productivity: - Current: 25 tickets/day - Target: 30 tickets/day - New capacity: 10 × 30 = 300 - New utilization: 67% - Would achieve ~1.2 day resolution 3. Hybrid: - 12 agents at 27 tickets/day - Capacity: 324 - Uti
Result:Current: 2 days, 10 agents | Target: 1 day | Need: 14 agents OR +20% productivity
Frequently Asked Questions
What is Little's Law?
Little's Law states: L = λ × W, where L is the average number of items in a system, λ is the arrival rate, and W is the average time in the system. It applies to any stable system: queues, inventory, work-in-progress. Example: if 10 customers arrive per hour and each spends 0.5 hours, there are 5 customers in the system on average.
What is system utilization and why does it matter?
Utilization is the percentage of time servers are busy. Formula: ρ = λ / (c × μ), where λ is arrival rate, c is number of servers, μ is service rate. At 100% utilization, queues grow infinitely. Above 80%, wait times increase exponentially. Keep utilization under 70-80% for responsive systems.
What is an M/M/1 vs M/M/c queue?
M/M/1 is a single-server queue with random (Poisson) arrivals and exponential service times. M/M/c has c servers. M/M/1 is simple to analyze but limited. M/M/c models real systems better: multiple cashiers, multiple support agents, multiple API servers. As c increases, wait times decrease but with diminishing returns.
How much does adding a server help?
Impact depends on current utilization. At 95% utilization, adding one server can cut wait times by 50-70%. At 50% utilization, the improvement is marginal. Use Queue Wait Time Little's Law Estimator to model the impact before adding capacity. Diminishing returns: going from 1 to 2 servers helps more than 10 to 11.
What is the Erlang C formula?
Erlang C calculates the probability a customer waits in queue (vs being served immediately) in M/M/c systems. It's used in call center staffing, support ticketing, and server capacity planning. Unlike Erlang B (blocking), Erlang C assumes customers wait in queue rather than being rejected.
Why do wait times explode near 100% utilization?
Queuing theory shows wait time = service time / (1 - utilization). At 50% util, multiplier is 2×. At 80%, it's 5×. At 90%, it's 10×. At 99%, it's 100×. Small increases in load cause exponential wait time growth. This is why systems must operate below capacity.
How do I apply Little's Law to software systems?
Examples: (1) API requests: if 100 req/sec arrive and average response is 0.5s, 50 concurrent requests. (2) Support tickets: if 50 tickets/day arrive and avg resolution is 2 days, 100 open tickets. (3) Manufacturing: if 1000 units/day and 5-day cycle time, 5000 WIP units. Little's Law applies universally.
What assumptions does Little's Law require?
Little's Law assumes: (1) system is stable (arrival rate < service rate), (2) average arrival rate exists, (3) average time in system exists. It does NOT require: specific arrival distribution, service time distribution, or queue discipline (FIFO, LIFO, priority). It's remarkably general and robust.
How do priority queues affect wait time?
Priority queues serve high-priority items first. High-priority wait times decrease; low-priority wait times increase. Overall system metrics (average) remain similar per Little's Law, but distribution changes. Use priority queues when some items are more time-sensitive. Model each priority class separately.
What is the difference between wait time and system time?
Wait time is time spent in queue before service starts. System time is wait time + service time (total time in system). Little's Law uses system time: L = λ × W_system. For performance, optimize both: reduce wait time (add servers) and service time (optimize processing).