Queuing (queueing) theory is a branch of applied mathematics and operations research that analyzes how “lines” form and behave — where a line can be people, vehicles, data packets, orders, etc. It models the arrival process, the service mechanism, the number of servers, the waiting discipline, and the departure process to quantify performance (wait times, queue lengths, utilization) and to design more efficient systems.
Key takeaways
– Queuing theory helps balance customer service speed and system cost by quantifying trade-offs between capacity (more servers) and waiting.
– Classic models use simple stochastic assumptions (Poisson arrivals, exponential service times) to produce closed‑form results (e.g., M/M/1, M/M/c).
– Real systems often violate model assumptions (time‑varying demand, non‑exponential service, balking/reneging), so practitioners combine analytic models with simulation and measurement.
– Origin: Agner K. Erlang’s early 1900s work on telephone exchanges; many modern formulas (Erlang A, B, C) trace back to him.
How queuing theory works (basic concepts and notation)
– Arrival rate (λ): average number of arrivals per unit time.
– Service rate (μ): average number of customers a single server can serve per unit time.
– Number of servers (c): how many parallel servers are available.
– Utilization (ρ): fraction of system capacity used. For single server ρ = λ/μ; for c servers often ρ = λ/(cμ).
– Queue discipline: order in which waiting entities are served (FIFO, LIFO, priority).
– Population: infinite or finite customer pool; affects formulas.
– Common model notation: A/B/c where A = arrival distribution, B = service-time distribution, c = number of servers. Example: M/M/1 = Poisson arrivals, exponential service times, 1 server.
Simple M/M/1 formulas (for reference)
– ρ = λ/μ (must be t, abandonment rate, capacity utilization)
2. Collect and analyze data
• Measure arrival patterns (rates, burstiness, time‑of‑day variation).
• Measure service times and their distribution.
• Track abandonment, balking, retrials, priorities.
• Use transactional logs, timestamps, sensors, or sampling.
3. Choose an appropriate model
• If arrivals are roughly Poisson and service roughly exponential and demand stationary, start with M/M/1 or M/M/c.
• If service distributions are general or arrival/process patterns complex, consider M/G/1, G/G/1 approximations, or simulation.
• For call centers use Erlang C (waiting), Erlang B (blocking), Erlang A (with abandonment) as appropriate.
4. Estimate parameters and compute metrics
• Estimate λ and μ (or empirical distributions).
• Compute utilization ρ and key performance metrics (L, Lq, W, Wq).
• For multi‑server systems, compute probability of waiting and expected wait (Erlang C formula or software).
5. Validate and refine
• Compare model outputs with observed KPIs.
• If discrepancies exist, examine assumptions (time‑varying arrivals, non‑exponential services, priorities) and adjust model class.
6. When analytic models are insufficient, simulate
• Build a discrete‑event simulation to capture complex, time‑dependent behavior, balking, reneging, and service variability.
• Use simulation to test staffing scenarios, scheduling rules, layout changes.
7. Implement changes and monitor
• Pilot process or staffing changes, measure real outcomes.
• Use continuous monitoring (dashboards) to feed updated parameter estimates and trigger staffing or routing changes.
8. Consider human and behavioral fixes
• Make perceived wait better: provide information (queue position), estimated wait times, distractions (music), or callback options.
• Adopt appointment systems or segmented queues (priority lines, express lanes).
Practical tools and resources
– Spreadsheets: useful for simple M/M/1 and M/M/c calculations.
– Queueing calculators and libraries: many online calculators, Python libraries (SimPy for simulation), R packages (queueing).
– Simulation software: Arena, Simul8, AnyLogic for larger systems.
– Standard references and formulas: Erlang formulas, Jackson networks, Kendall’s notation.
Who invented queuing theory?
Agner Krarup Erlang (1878–1929), a Danish engineer and mathematician, developed the first systematic queuing models while studying telephone traffic and exchanges in the early 20th century. His 1909 work laid the foundation for telephone traffic engineering and many modern queueing formulas (Erlang B, C, etc.).
Basic elements of a queuing model (six parameters)
1. Arrival process (pattern and rate)
2. Service mechanism (service time distribution and capacity)
3. Number of servers
4. System capacity (maximum queue length or infinite)
5. Population size (finite or infinite source population)
6. Queue discipline (FIFO, priority, etc.)
Special considerations: customer psychology and perception
– People’s tolerance for waiting, information about progress, and perceived fairness change behavior and satisfaction.
– Operational solutions such as numbering systems, expected wait displays, advance reservations, and callbacks can improve perceived and actual performance.
The bottom line
Queuing theory is a powerful framework for understanding and improving systems where demand competes for limited service capacity. Simple analytic models provide quick insight, while simulation and empirical measurement are essential for complex, time‑varying, or behaviorally rich systems. Properly applied, queuing analysis helps improve service levels, reduce wasteful overcapacity, and inform cost‑effective operational decisions.
Sources and further reading
– Investopedia. “Queuing Theory.”
– Erlang, A. K. “The Theory of Probabilities and Telephone Conversations.” Nyt Tidsskrift for Matematik B, vol. 20, 1909.
– University of Houston. “Erlang.”
– Wein, L. M., D. Craft, and E. et al. (Stanford GSB work referenced for emergency‑response application). (See academic literature on queuing applications in emergency planning.)
Editor’s note: The following topics are reserved for upcoming updates and will be expanded with detailed examples and datasets.