The M/G/1 Queue and the Pollaczek-Khinchine Formula
The formula for average waiting time in a single-server queue when service times can follow any distribution, not just the tidy exponential — showing that it's not just the average service time but its variability that drives how long customers wait.
Prerequisites: The Poisson Process, The M/M/1 Queue and Waiting-Time Distributions
An operations desk staffs a single specialist to manually review flagged trades, arriving randomly (well-modeled as Poisson), but review time per trade varies enormously — most reviews take a couple of minutes, but a small fraction of genuinely complex cases take an hour. The standard M/M/1 queue formula assumes exponential (memoryless) service times, which badly understates how much this heavy-tailed variability actually hurts waiting customers. The M/G/1 queue generalizes to any service-time distribution ("G" for general), and the Pollaczek-Khinchine formula is the exact result for average waiting time there — revealing something the M/M/1 case hides: variance in service time, not just its average, is a first-order driver of how long people wait.
An analogy: a single supermarket checkout with mixed basket sizes
Picture one checkout lane where most customers have a handful of items (fast to scan) but occasionally someone shows up with a completely full cart (very slow). Even if the average items-per-customer stays exactly the same, a lane serving a mix of mostly-fast and occasionally-very-slow customers backs up far worse than one serving customers who are all moderately, consistently average. The occasional very-slow customer creates a long-lasting backlog that a series of consistently-average customers never would, at the identical average service rate. That's the intuitive core of Pollaczek-Khinchine: it's not just how long service takes on average, it's how unevenly those times are spread out.
The formula, one piece at a time
Let be the arrival rate, and let service times have mean and variance . Define utilization (must be below 1 for stability). The Pollaczek-Khinchine formula for the average waiting time in queue (not counting service itself) is
more commonly written using the squared coefficient of variation (a scale-free measure of service-time spread) as
In plain English: average wait time grows with utilization exactly the way the simpler M/M/1 formula predicts (the term, blowing up as the server saturates), but it's also scaled by — a factor purely about the shape of the service-time distribution. For exponential service times, (a defining property of the exponential), giving factor 1 and recovering the ordinary M/M/1 formula exactly. For a perfectly constant (zero-variance) service time, , and the factor drops to — a deterministic-service queue has half the average wait of an exponential-service queue with the identical mean service time and arrival rate, purely because there's no variability to create pileups.
Drag the rate above to see the exponential's characteristic mix of many short values and a long tail of rare large ones — that shape is exactly what gives exponential service times , the baseline the deterministic () and heavy-tailed () cases below are measured against.
Worked example 1: exponential vs. deterministic review time
Suppose flagged trades arrive at per hour, and average review time is minutes hours, so . With exponential review times (): hours, or 48 minutes average wait. With perfectly consistent, deterministic 12-minute review times (): hours, or 24 minutes — exactly half the wait, for the identical arrival rate and average service time, purely because deterministic service eliminates the pileup risk from occasional slow reviews.
Worked example 2: the heavy-tailed real-world case
Now model the real situation: 90% of reviews take 5 minutes, 10% take 60 minutes. Mean service time: minutes hours, giving . Variance: (minutes²), so , and . Plugging in: hours, or about 42.5 minutes — despite a lower mean service time (10.5 vs. 12 minutes) and lower utilization (0.7 vs. 0.8) than worked example 1's exponential case, the heavy-tailed mix still produces a comparably long wait, entirely because is far above 1, showing how much the occasional very-slow review distorts the queue.
What this means in practice
The Pollaczek-Khinchine formula is the reason "reduce the variance of processing time," not just "reduce the average," is a real operational lever: standardizing a review process, splitting a rare-but-slow task category into its own dedicated queue, or batching similar-complexity trades together all reduce and cut average wait, without touching mean service time or staffing. It also explains why systems with occasional slow outliers feel disproportionately congested relative to what average processing time alone would suggest.
The Pollaczek-Khinchine formula for M/G/1 average wait, , shows that queue delay depends on both utilization and the squared coefficient of variation of service time — more consistent service times ( closer to 0) cut waiting even with no change in mean service time or arrival rate.
The classic mistake is estimating queue capacity or expected wait using only the average service time, silently assuming exponential (or worse, ignoring variability entirely), when real service times — manual reviews, order fills, support tickets — are often far more variable than exponential, sometimes heavy-tailed. As worked example 2 shows, a heavy-tailed service distribution can produce wait times comparable to a much higher-utilization exponential queue; always estimate from real data before trusting an M/M/1-style wait-time estimate.
Related concepts
Practice in interviews
Further reading
- Gross et al., Fundamentals of Queueing Theory, ch. 5
- Kleinrock, Queueing Systems, vol. 1, ch. 5