Queueing M/M/s Calculator
Use our free Queueing M/M/s Calculator to plan your operations & inventory strategy. Get detailed breakdowns, charts, and actionable insights.
Queueing M/M/s Calculator
Calculator
Adjust values & calculateEnter your values below. Every result is computed in your browser โ no data is sent to any server.
Formula: rho = lambda/(s*mu); Lq = (P0 * r^s * rho) / (s! * (1-rho)^2); Wq = Lq / lambda
Worked example โ 6 agents needed. Wait time: 1.33 min | Utilization: 66.7%
Formula
rho = lambda/(s*mu); Lq = (P0 * r^s * rho) / (s! * (1-rho)^2); Wq = Lq / lambda
Traffic intensity rho equals arrival rate divided by total service capacity. P0 is the probability of an empty system. Lq is the average queue length derived from P0, offered load, server count, and utilization. Wait time Wq follows from Little Law.
Worked Examples
Example 1: Call Center Staffing
Problem:A call center receives 20 calls per hour. Each agent handles calls at an average rate of 5 calls per hour. How many agents are needed to keep average wait under 2 minutes?
Solution:Lambda = 20 calls/hr, Mu = 5 calls/hr Offered load r = 20/5 = 4 Erlangs Minimum servers = 5 (rho must be < 1) With s=5: rho = 20/(5x5) = 0.80, Wq = 0.1333 hr = 8 min (too high) With s=6: rho = 20/(6x5) = 0.667, Wq = 0.0222 hr = 1.33 min (meets target) With s=7: rho = 0.571, Wq = 0.0063 hr = 0.38 min
Result:6 agents needed. Wait time: 1.33 min | Utilization: 66.7%
Example 2: Hospital Emergency Room
Problem:An ER receives 12 patients per hour. Each doctor serves at a rate of 3 patients per hour. With 5 doctors, what are the performance metrics?
Solution:Lambda = 12, Mu = 3, s = 5 Offered load r = 12/3 = 4 Erlangs Utilization rho = 12/(5x3) = 0.80 P0 = 1.32% Lq = 2.216 patients waiting Wq = 0.1847 hr = 11.1 minutes Ws = 0.5180 hr = 31.1 minutes Pw = 65.2% chance of waiting
Result:Avg Wait: 11.1 min | Queue Length: 2.2 | Utilization: 80%
Frequently Asked Questions
What is the M/M/s queueing model and when is it used?
The M/M/s queueing model is a fundamental mathematical framework used in operations research to analyze waiting lines with multiple parallel servers. The first M stands for Markovian (memoryless) arrival process, meaning customers arrive according to a Poisson process with rate lambda. The second M indicates Markovian service times, meaning service durations follow an exponential distribution with rate mu. The lowercase s represents the number of identical parallel servers. This model is widely used in call centers to determine staffing levels, in hospitals to plan bed capacity, in banks to decide how many tellers to open, in computer networks to allocate processing resources, and in manufacturing to design workstation configurations. The model assumes infinite queue capacity and first-come-first-served discipline.
What is traffic intensity and why must it be less than one?
Traffic intensity, denoted by rho, is the ratio of the arrival rate to the total service capacity, calculated as lambda divided by s times mu. It represents the average fraction of time each server is busy. When rho equals 0.75, each server is busy 75 percent of the time on average. Traffic intensity must be strictly less than 1 for the system to reach a stable steady state. If rho equals or exceeds 1, it means customers are arriving faster than the system can serve them, causing the queue to grow without bound over time. In practice, systems operating above 85 percent utilization often experience rapidly increasing wait times, so capacity planners typically target utilization between 70 and 85 percent to balance efficiency with acceptable customer wait times.
What is the Erlang C formula and how does it relate to M/M/s?
The Erlang C formula calculates the probability that an arriving customer has to wait before being served in an M/M/s queue. Named after Danish mathematician Agner Krarup Erlang, who pioneered queueing theory for telephone networks in the early 1900s, this formula is fundamental to call center workforce management. The formula uses the arrival rate, service rate, and number of servers to compute the waiting probability. If Erlang C gives a value of 0.30, it means 30 percent of arriving customers will need to wait in the queue before a server becomes available. Call centers use this to calculate the number of agents needed to achieve service level targets like answering 80 percent of calls within 20 seconds. The formula accounts for the statistical pooling benefit of having multiple servers.
How do I interpret the average queue length and wait time results?
The average queue length Lq represents the expected number of customers waiting in line at any point in time, not including those currently being served. The average number in the system Ls includes both waiting and being-served customers, calculated as Lq plus the offered load. Average wait time in queue Wq is the expected time a customer spends waiting before service begins, measured in the same time unit as your rates. Average time in system Ws includes both waiting and service time. These metrics are connected by Little Law, which states L equals lambda times W. For practical planning, if Wq is 5 minutes and your service level agreement requires less than 3 minutes of waiting, you need to add more servers until Wq drops below your target.
What is the difference between an M/M/1 and an M/M/s queue?
M/M/1 has a single server, so utilisation rho equals lambda divided by mu and the queue length simplifies to rho squared over one minus rho. M/M/s has s identical servers feeding from one shared line, so rho equals lambda divided by s times mu and the Erlang C expression is needed. The practical difference is pooling: one line serving s servers is far more efficient than s separate M/M/1 queues at the same load, because an idle server can always take the next arrival instead of sitting idle while another line backs up. That is why supermarkets moved to single serpentine queues and why consolidating small service desks lowers average wait without adding headcount.
How do the Erlang B and Erlang C formulas differ?
Both start from the same offered load r in Erlangs and the same number of servers, but they model different overflow behaviour. Erlang B describes a loss system, written M/M/s/s, where an arrival that finds all servers busy is blocked and leaves immediately with no waiting room; it returns a blocking probability and is used to size telephone trunk groups and circuit pools. Erlang C, used here, assumes blocked arrivals wait in an unlimited queue until a server frees up, so it returns a probability of waiting. For the same load and server count Erlang C is always the larger of the two, because the queue feeds work back into the system that Erlang B discards.
What does the probability of an empty system P0 actually tell you?
P0 is the steady-state chance that no customer is present at all, meaning every one of the s servers is idle. It is the normalising constant of the birth-death balance equations, so every other state probability Pn is computed from it, and Erlang C and the queue length Lq both depend on it directly. Operationally, a small P0 signals a heavily loaded system with almost no slack, while a large P0 means capacity is often idle. Because Pn for n below s uses r to the n over n factorial, P0 also lets you read off how often a specific number of servers is occupied.
What happens to the results when service times are not exponential?
The exponential assumption gives service a coefficient of variation of exactly 1. Real work is often less variable, such as scripted transactions or automated steps, and sometimes far more variable, such as troubleshooting calls. For a single server the Pollaczek-Khinchine relationship shows waiting time scales roughly with one plus the squared coefficient of variation, all over two, relative to the exponential case. So deterministic service of the same mean roughly halves the wait, while highly variable service inflates it. Treat M/M/s output as a middle-of-the-road estimate and simulate when your service-time variability is measurably far from 1.
When should abandonment be modelled instead of plain Erlang C?
Erlang C assumes infinite patience: every caller waits as long as it takes. When a meaningful share of arrivals hang up or walk out, that assumption overstates queue length and wait time, because abandoning customers remove their own work from the system. The Erlang A extension adds an impatience rate alongside lambda and mu and returns abandonment rate as well as delay. Use it whenever measured abandonment is not negligible, when the queue is visibly long relative to typical patience, or when your service target is expressed as a percentage answered rather than an average wait.
How does Kendall notation describe this and related models?
Kendall notation, introduced in 1953, writes a queue as A/B/c and optionally A/B/c/K/N/D. A is the interarrival distribution, B the service distribution, c the number of servers, K the system capacity including those in service, N the size of the calling population and D the queue discipline. M means memoryless or Markovian, D deterministic, G general, and Ek an Erlang-k distribution. So M/M/s is Poisson arrivals, exponential service, s servers, with the unstated defaults of infinite capacity, infinite population and first-come first-served. M/M/s/s is the loss system behind Erlang B, and M/G/1 relaxes the service distribution for one server.
References
Background & Theory
History
Reviewed for accuracy by Sahil, Senior Finance & Tax Editor ยท Editorial policy
Related Calculators
๐งฎInflation Cpiadjustment Calculator
Calculate inflation cpiadjustment with inputs, formulas, and instant results.
๐งฎPurchasing Power Parity (PPP) Converter
Calculate pppconverter with inputs, formulas, and instant results.
๐งฎPrice Elasticity Calculator
Calculate price elasticity with inputs, formulas, and instant results.
๐งฎEOQ Calculator
Calculate eoqcalculator with inputs, formulas, and instant results.
๐งฎReorder Point Calculator
Calculate reorder point with inputs, formulas, and instant results.
๐งฎSafety Stock Calculator
Calculate safety stock with inputs, formulas, and instant results.
๐งฎBreakeven Point Calculator
Calculate breakeven point with inputs, formulas, and instant results.
๐งฎContribution Margin Calculator
Calculate contribution margin with inputs, formulas, and instant results.