Queueing Theory Calculator
Estimate steady-state utilization, waiting time, queue length, and state probabilities for M/M/1 and M/M/s systems.
Queue parameters
Choose exponential interarrival and service times with either one server or several identical parallel servers.
Required. Average arrivals per chosen time unit, using a period as the decimal separator.
Required. Average completions by one server per the same time unit used for arrivals.
Required for M/M/s. Enter an integer from 2 to 100 identical parallel servers.
Required. A whole number from 0 to 200 for the requested steady-state probability pₙ.
Live results
Average time in queue (Wq)
0.1071 time units
Waiting before service begins; the time unit is the reciprocal of the rate unit.
Traffic intensity (ρ)
75.00%
Average number in system (L)
3.4286
Average time in system (W)
0.1905 time units
Average number waiting (Lq)
1.9286
Probability system is empty (p₀)
14.29%
Probability of n customers (pₙ)
12.05%
Probability an arrival waits
64.29%
Mean service time
0.0833 time units
Steady-state probability distribution
The bars compare the probability of observing each customer count in the system over the displayed range.
Probability detail
Each row uses the same canonical state probabilities as the chart and Excel workbook.
| Customers in system (n) | Probability (pₙ) | Cumulative probability |
|---|---|---|
| 0 | 14.29% | 14.29% |
| 1 | 21.43% | 35.71% |
| 2 | 16.07% | 51.79% |
| 3 | 12.05% | 63.84% |
| 4 | 9.04% | 72.88% |
| 5 | 6.78% | 79.66% |
| 6 | 5.09% | 84.75% |
| 7 | 3.81% | 88.56% |
| 8 | 2.86% | 91.42% |
How to use this queueing theory calculator
What this calculator does
This calculator estimates steady-state performance for two classic Markovian waiting-line models: M/M/1, with one server, and M/M/s, with several identical servers working in parallel. It converts an average arrival rate and an average per-server service rate into utilization, expected customer counts, expected waiting times, and state probabilities. The model assumes Poisson arrivals, exponentially distributed service times, a single shared queue, unlimited waiting room, an effectively unlimited customer population, and a stable long-run operating regime. It does not predict a particular customer's exact wait, model scheduled surges, account for customers who abandon the line, or replace simulation when arrivals and service durations are strongly non-exponential.
When to use it
Use the calculator to test staffing for a checkout or help desk, estimate congestion in a request-processing service, compare one-server and multi-server configurations, or check hand calculations for an operations-research course. It is especially useful for “what changes if...” questions: for example, what happens to waiting time if arrivals rise, one server becomes faster, or an extra server is added.
How to calculate
- The calculator opens with a complete demonstration: an M/M/2 queue receiving 18 customers per time unit, two servers each completing 12, and a probability query for n = 3. The startup results and a validated example Excel workbook are immediately available.
- Select Type of queue. Choose M/M/1 for one server or M/M/s for two or more parallel servers.
- Replace Arrival rate (λ) and Service rate per server (μ) with averages expressed on the same time base, such as customers per hour. For M/M/s, also enter Number of servers (s).
- Set Customers in system (n) to the nonnegative whole-number state whose probability you want. Read the live KPIs, distribution chart, and probability table, then select Download Excel to export the current validated model.
- Reset clears the demonstration and all calculated content. Excel export is then disabled until a complete stable input set is entered again.
The underlying relationships follow standard queueing notation and Little's law. Columbia University's notes on Little's law explain why an average number in a system equals arrival rate multiplied by average time in that system.
Input guide
Type of queue is required and determines the formula family. M/M/1 fixes the server count at one; M/M/s exposes the multi-server calculation. Arrival rate (λ) is a required nonnegative decimal, such as 18 customers per hour. Higher arrivals increase utilization and normally increase both queue length and waiting time. Do not mix hourly arrivals with a service rate measured per minute. Service rate per server (μ) is a required positive decimal, such as 12 customers per hour per agent. A larger service rate reduces congestion. Enter a rate, not a service duration: a 5-minute mean service duration corresponds to 12 services per hour.
Number of servers (s) is required only for M/M/s and accepts an integer from 2 to 100; the startup example uses 2. It represents identical servers drawing from one shared line. Do not enter total service capacity in this field – the calculator already multiplies s by μ. Customers in system (n) is a required integer from 0 to 200; the startup value is 3. It selects the exact state probability pₙ and also extends the displayed distribution when needed. It counts customers waiting plus customers currently in service, not just those physically standing in line.
Output guide
Average time in queue (Wq) is the primary estimate of time before service begins. Average time in system (W) adds mean service time. Both are expressed in the reciprocal of the rate unit: rates per hour produce times in hours. Traffic intensity (ρ) is the fraction of aggregate service capacity used; values approaching 100% imply rapidly growing waits, while ρ at or above 100% is unstable and has no finite steady-state result. Average number in system (L) includes waiting and in-service customers, while Average number waiting (Lq) excludes customers already being served.
Probability system is empty (p₀) measures the long-run chance that no customer is present. Probability of n customers (pₙ) is the exact probability for the requested state. Probability an arrival waits is the Erlang C delay probability for M/M/s and equals utilization for M/M/1. Mean service time is the exact reciprocal 1/μ. The header pills repeat the current model, utilization, stability, and server count. The chart's State probability pₙ, Displayed probability mass, and Peak summarize the same rows shown in the table. Table columns report n, pₙ, and cumulative probability; Probability above the displayed range is the remaining infinite-tail mass.
Worked example
For the startup M/M/2 example, λ = 18, μ = 12, and s = 2. Offered load is a = λ/μ = 1.5, and utilization is ρ = λ/(sμ) = 18/24 = 0.75, or 75.00%. The Erlang C calculation gives a 64.29% chance that an arrival must wait. Average queue length is Lq = 1.9286, so Little's law gives Wq = Lq/λ = 1.9286/18 = 0.1071 time units. Adding the mean service time 1/12 = 0.0833 produces W = 0.1905 time units. For n = 3, the model reports p₃ = 12.05%, matching the first-open KPI, table row, chart data, and workbook checkpoint.
Model assumptions and interpretation
The “M/M” portion of Kendall notation means that interarrival times and service times are memoryless exponential random variables. The final symbol is the number of servers. MIT OpenCourseWare's queueing systems lecture provides a concise overview of this notation, birth-and-death models, and the M/M/1 system. Tufts University's queueing theory notes show the geometric M/M/1 state probabilities and the Erlang C extension for multiple servers.
Core relationships: ρ = λ/(sμ), L = λW, Lq = λWq, and W = Wq + 1/μ. For M/M/1, L = λ/(μ – λ) and W = 1/(μ – λ). For M/M/s, the calculator first derives p₀ and Erlang C, then computes Lq, Wq, W, and L.
Why utilization near 100% is dangerous
Utilization is not a linear waiting-time dial. A system at 90% utilization generally has much more than twice the delay of the same system at 45%, because random arrival clusters must be absorbed by spare capacity. This is why the stability test is strict: average demand must remain below aggregate average service capacity. Even a mathematically stable queue may be operationally unacceptable when utilization is very high.
Common mistakes
- Using average service time where the model requires service rate. Convert duration to rate before entering it.
- Combining rates with different time units. Convert both to the same base first.
- Treating the result as a guarantee. These are long-run expectations under specific stochastic assumptions.
- Using M/M/s for separate independent lines. This calculator assumes one shared queue feeding all servers.
- Ignoring time-of-day variation, abandonment, priorities, finite capacity, breaks, or non-identical servers when those features materially affect the real system.