Case 12 / Operations research
Queueing Calculator.
An interactive decision-support system that translates queueing models into estimates of waiting, congestion, server use, and customer loss as capacity or arrival rates change.
- M/M/1
- M/M/1/N
- M/M/c
- M/M/c/N
- M/M/∞
- Kendall Notation
- Streamlit
- Plotly
- 01 / DESCRIBESet arrival flowChoose how customers reach the system
- 02 / CONFIGURESet capacityService rates, servers, and optional system limits
- 03 / CALCULATEEstimate behaviorQueue length, wait, utilization, and losses
- 04 / COMPAREExplore choicesSee the effects of changing service capacity
- Supported models
- 5analytical queue configurations
- Verification groups
- 8/8reported passing checks
- Interface
- Streamlitinteractive parameter exploration
How much service capacity is enough?
A service system can appear healthy at low demand and deteriorate sharply as arrivals approach its capacity. The tool helps a decision-maker explore that relationship before committing to a staffing or capacity choice.
Instead of returning one opaque score, it separates the outcomes that matter: how long customers wait, how many are in the system, how heavily servers are used, and whether arrivals are turned away when capacity is finite.
Five ways to describe the queue.
The application supports M/M/1, M/M/1/N, M/M/c, M/M/c/N, and M/M/∞. Together these cover one or many servers, finite or unlimited capacity, and an infinite-server reference case.
| Model family | Decision it helps examine |
|---|---|
| Single server | How arrival pressure changes waiting and utilization |
| Finite capacity | How a system limit creates blocked or lost arrivals |
| Multiple servers | How adding service capacity affects congestion |
| Infinite server | A no-wait reference for occupancy and demand |
Measures that answer different questions.
The interface reports the probability of an empty system and selected state probabilities, expected number of customers in the queue and system, expected waiting and time in system, busy servers, and effective and lost arrival rates where relevant.
Comparing these values makes it possible to see tradeoffs: adding servers can shorten waits but lower utilization; restricting capacity can control crowding while losing customers.
Checked against analytical cases.
The repository reports 8 of 8 verification groups passing. One M/M/1 example with arrival rate 2 and service rate 3 gives an expected 2 customers in the system and 1.3333 in the queue. An M/M/∞ example with arrival rate 3 and service rate 2 gives an expected 1.5 customers in the system and an empty-system probability of about 0.22313.
These checks support the implemented formulas for the tested cases; they are not empirical validation of a particular real-world service operation.
The model is only as useful as its fit.
The M/M family assumes Poisson arrivals, exponential service times, and stationary rates. Real systems may have appointment schedules, time-varying demand, priorities, or service times that violate these assumptions. The results should therefore be interpreted as analytical estimates, not guaranteed operating outcomes.