Queue & Process Flow Simulator
Build and simulate waiting lines, service systems, and production flows. Drag-and-drop interface to model banks, call centers, factories, hospitals, and more. Real-time statistics and entity animation.
Loading simulation...
Loading simulation, please waitQueue & Process Flow Simulator: Build and Analyze Service Systems
Introduction to Queue Simulation
Here is a fact that surprises most managers: adding a fourth teller to a three-teller bank often cuts average wait times by less than 5%—while increasing labor costs by 33% [1]. The bottleneck is not where you think it is. When you model this as a queue, the math reveals that wait times explode nonlinearly as utilization approaches 100%, but adding capacity beyond 75-80% utilization yields sharply diminishing returns. Experienced operations engineers know this pattern intimately—the variability introduces behaviors that pure capacity planning misses entirely.
This interactive Queue & Process Flow Simulator allows you to build, visualize, and analyze any service system—from simple single-server queues to complex multi-stage processes. The data shows what intuition cannot: why your ER wait times spike at 2 PM, why that fast-food kitchen becomes a chokepoint despite plenty of counter staff, and why optimizing the wrong stage actually makes the whole system worse.
Why Simulation Beats Spreadsheet Calculations
Operations analysts have learned the hard way that static formulas fail in systems with variability. The variability introduces queue behavior that deterministic models cannot capture:
- Build custom systems using drag-and-drop components and watch the bottleneck shift as you change parameters
- Observe entities flowing through your system in real-time—seeing where they bunch up reveals the constraint
- Collect live statistics on wait times, utilization, and throughput that expose hidden dependencies
- Test "what-if" scenarios before spending capital: the data shows whether adding servers or reducing variability delivers better ROI
- Learn from industry presets where we have pre-configured real-world systems with typical arrival and service patterns
Understanding Queue Theory Fundamentals
Key Terminology
Before building your first simulation, let's understand the essential concepts:
| Term | Simple Explanation | Technical Definition |
|---|---|---|
| Arrival Rate (λ) | How fast customers arrive | Mean arrivals per time unit |
| Service Rate (μ) | How fast you can serve them | Mean services per time unit |
| Utilization (ρ) | How busy your servers are | ρ = λ / (c × μ) where c = servers |
| Queue Length (Lq) | People waiting in line | Expected number in queue |
| Wait Time (Wq) | Time spent waiting | Expected time in queue |
| System Time (W) | Total time (wait + service) | Expected time in system |
Little's Law: The Universal Queue Formula
The most important relationship in queueing theory is Little's Law:
Where:
- L = Average number in system
- λ = Arrival rate
- W = Average time in system
This law holds for any stable queue, regardless of arrival patterns or service distributions!
Kendall Notation: Describing Queue Types
Queueing systems are classified using Kendall notation: A/B/c/K/N/D
| Symbol | Meaning | Common Values |
|---|---|---|
| A | Arrival distribution | M (Markov/Exponential), D (Deterministic), G (General) |
| B | Service distribution | M, D, G |
| c | Number of servers | 1, 2, 3, ... |
| K | System capacity | ∞ (default), finite number |
| N | Population size | ∞ (default), finite number |
| D | Queue discipline | FIFO, LIFO, Priority |
Example: M/M/3 = Exponential arrivals, Exponential service, 3 servers
Simulation Components Explained
Source (Arrival Generator)
The Source component generates entities (customers, products, calls) according to a specified arrival pattern.
Parameters:
- Arrival Rate: Average arrivals per hour
- Distribution: Exponential (random) or Deterministic (fixed intervals)
Real-world examples:
- Customers arriving at a store
- Calls coming into a call center
- Raw materials arriving at a factory
Queue (Waiting Line)
The Queue holds entities waiting for service. Different queue disciplines affect who gets served next.
Queue Disciplines:
| Discipline | Description | Best For |
|---|---|---|
| FIFO | First In, First Out | Fair, general use |
| LIFO | Last In, First Out | Stack-like systems |
| Priority | Highest priority first | Emergency rooms, VIP service |
Server (Service Point)
The Server processes entities, taking time to complete each service.
Parameters:
- Service Rate: Average services per hour
- Number of Servers: Parallel servers (1 to 20)
- Distribution: Exponential or Deterministic
Multi-Server Systems (M/M/c): Adding more servers reduces wait times but increases costs. The utilization formula becomes:
Router (Flow Splitter)
The Router directs entities to different paths based on rules:
| Mode | Description | Use Case |
|---|---|---|
| Probabilistic | Random with probabilities | Customer type distribution |
| Round-Robin | Alternating evenly | Load balancing |
| Shortest Queue | To least busy queue | Efficient distribution |
Sink (Exit Point)
The Sink collects completed entities and records final statistics.
Building Your First Simulation
Step 1: Start with a Simple M/M/1 Queue
- Drag a Source onto the canvas
- Add a Queue to the right
- Add a Server next
- Finish with a Sink
- Shift+Click and drag to connect components
Step 2: Configure Parameters
Click each component to adjust:
- Source: 10 arrivals/hour
- Server: 12 services/hour (utilization = 10/12 = 83%)
Step 3: Run and Observe
Press Play and watch:
- Yellow dots (entities) flowing through
- Queue length building and shrinking
- Real-time statistics updating
Step 4: Experiment
- What happens if you increase arrivals to 11/hour? (ρ = 92%)
- What if arrivals equal service rate? (unstable!)
- Add a second server - how does wait time change?
Industry Preset Examples
Bank Branch (3 Tellers)
This preset models a typical bank with:
- 20 customers/hour arriving
- Single queue feeding 3 teller windows
- Service time ~5 minutes each
Key insights:
- Watch how the queue balances across tellers
- Try removing one teller - what happens to wait times?
Fast Food Restaurant
A multi-stage process:
- Order Counter (fast)
- Kitchen (slower, multiple cooks)
- Pickup Window
Key insights:
- Identify the bottleneck - the slowest stage
- Kitchen is often the constraint in food service
Hospital Emergency Room
Complex routing with triage prioritization:
- Critical patients → Trauma (immediate)
- Moderate → Treatment rooms
- Minor → Fast-track
Key insights:
- Priority queuing ensures critical cases don't wait
- Trade-off: Minor injuries may wait longer
Manufacturing Production Line
Sequential processing with quality control:
- Cutting → Assembly → QC → (Pass/Rework)
Key insights:
- 10% rework rate creates feedback loop
- Buffer queues prevent bottleneck starvation
Performance Metrics and Analysis
Wait Time Analysis
| Metric | Formula | Interpretation |
|---|---|---|
| Avg Wait (Wq) | Lq / λ | Time in queue only |
| Max Wait | Simulation tracked | Worst-case experience |
| 90th Percentile | From distribution | 90% wait less than this |
Server Utilization
Guidelines:
- < 70%: Underutilized (wasteful)
- 70-85%: Healthy range
-
85%: Risk of long queues
-
95%: System unstable
Throughput
Maximum throughput is limited by the bottleneck - the component with lowest capacity.
Optimization Strategies
The Cardinal Rule: Fix the Bottleneck First
Optimizing this locally actually hurts you globally. Operations engineers encounter this paradox constantly: speeding up a non-bottleneck stage just builds inventory faster in front of the constraint, consuming capital without increasing throughput. The data shows that every hour of downtime at the bottleneck is an hour lost for the entire system—but downtime at non-bottlenecks often costs nothing.
Before touching anything, identify where the bottleneck is at:
- Highest utilization (> 90%)—this stage cannot keep up with demand
- Longest queue accumulation—work piles up waiting for this resource
- Where entities cluster visually in the simulation
Reducing Wait Times (In Priority Order)
- Exploit the bottleneck: Ensure zero idle time, no quality defects, no wasted capacity at the constraint
- Subordinate everything else: Non-bottlenecks should run only fast enough to feed the bottleneck
- Reduce variability: Experienced analysts know that consistent service times cut wait times more than adding capacity—a CV reduction from 1.0 to 0.5 can halve queue lengths
- Balance load intelligently: Shortest-queue routing sounds smart but can increase variability; round-robin sometimes performs better
- Add capacity last: Only after exploiting the current constraint should you invest in new servers—and only at the bottleneck
Common Optimization Mistakes
| What Managers Do | Why It Fails | What the Data Shows |
|---|---|---|
| Speed up the fastest stage | Creates more WIP at the bottleneck | Throughput unchanged, inventory up |
| Add servers everywhere | 2/3 of the investment is wasted | Only bottleneck capacity matters |
| Chase 100% utilization | Queue times explode above 85% | Optimal utilization is 70-80% |
| Ignore variability | Assume average = actual | High CV doubles effective queue length |
Mathematical Formulas Reference
M/M/1 Queue Formulas
| Metric | Formula |
|---|---|
| Utilization | ρ = λ/μ |
| Avg in System | L = ρ/(1-ρ) |
| Avg in Queue | Lq = ρ²/(1-ρ) |
| Avg Time in System | W = 1/(μ-λ) |
| Avg Time in Queue | Wq = ρ/(μ-λ) |
| P(n in system) | P(n) = (1-ρ)ρⁿ |
M/M/c Queue (Multiple Servers)
For c servers, calculations are more complex. Use the Erlang C formula:
Where P₀ requires summing a series. This is why simulation is so valuable - it handles complexity automatically!
Real-World Applications
Retail & Service
- Checkout lane optimization
- Appointment scheduling
- Drive-through design
Healthcare
- ER wait time management
- Operating room scheduling
- Patient flow optimization
Manufacturing
- Production line balancing
- Inventory buffer sizing
- Bottleneck identification
Call Centers
- Agent staffing levels
- Hold time prediction
- Skill-based routing
Transportation
- Traffic signal timing
- Airport security lanes
- Package sorting facilities
Exploration Activities
Activity 1: Stability Threshold
- Create a simple Source → Queue → Server → Sink system
- Set arrival rate = 10/hour
- Start with service rate = 15/hour
- Gradually reduce service rate toward 10
- Question: At what point does the queue explode?
Activity 2: Pooled vs. Dedicated Queues
- Create two separate systems: each with 5 arrivals/hour and 1 server at 6/hour
- Create one pooled system: 10 arrivals/hour feeding 2 servers at 6/hour each
- Compare: Which has shorter average wait times?
Activity 3: Priority Impact
- Use the Hospital ER preset
- Run simulation for 30 minutes
- Note average wait times by priority level
- Question: How much longer do minor injuries wait compared to critical?
Activity 4: Bottleneck Discovery
- Load the Factory preset
- Run simulation and identify which station has highest utilization
- Double that station's capacity
- Observe: Does throughput increase? Is there a new bottleneck?
Challenge Questions
-
Basic: If λ = 20/hr and μ = 25/hr, what is server utilization?
-
Intermediate: A bank has 4 tellers serving 100 customers/hour. If each service takes 2 minutes on average, what is the utilization?
-
Advanced: Using Little's Law, if 15 customers are in a system on average and the arrival rate is 30/hour, what is the average time in system?
-
Application: A call center receives 120 calls/hour. Average call is 4 minutes. How many agents are needed to keep utilization under 80%?
-
Design: You're designing a hospital ER. Critical patients (10/hr) need 30 min treatment. Moderate (20/hr) need 15 min. Minor (30/hr) need 10 min. Design a system with acceptable wait times.
Common Mistakes to Avoid
| Mistake | Why It's Wrong | Correct Approach |
|---|---|---|
| Setting ρ ≥ 100% | Queue grows infinitely | Keep utilization < 90% |
| Ignoring variability | Real arrivals aren't uniform | Use exponential distributions |
| Adding servers without analysis | May not be bottleneck | Find bottleneck first |
| Measuring only average | Ignores worst cases | Track max and percentiles |
| Too short simulation | Results not stable | Run until statistics stabilize |
Summary
Queue simulation bridges the gap between theory and reality. While formulas give quick answers for simple systems, simulation lets you:
- Visualize dynamic behavior
- Handle complexity that formulas can't
- Experiment without real-world risk
- Communicate findings to non-technical stakeholders
Whether you call it a waiting line simulator, service system modeler, or discrete event simulation - the goal is the same: understand how things flow, find the bottlenecks, and make systems work better.
Start with the presets, experiment with parameters, and build your own systems. The best way to learn queueing theory is to see it in action!
Further Reading
- Queueing Theory: Kendall notation, Erlang formulas, Little's Law
- Operations Research: Linear programming, optimization
- Lean Manufacturing: Bottleneck theory, Theory of Constraints
- Service Operations: Call center management, healthcare operations
Related Simulations

Risk Management Simulator
Monte Carlo risk analysis for projects, retirement, business, and real estate investments. Model schedule uncertainty, portfolio growth, NPV/ROI analysis, or property IRR and cash-on-cash returns.
View Simulation