# Queues and Insights

- [Basic Ideas in Queueing Theory: Arrivals, Servers, and Utilization](01_basic_ideas.py)
- [Queue Formation: Randomness Creates Waiting Even with Spare Capacity](02_queue_formation.py)
- [Little's Law: The Universal Conservation Law of Queues](03_littles_law.py)
- [Sojourn Time: How Long Does a Customer Actually Spend in the System?](04_sojourn_time.py)
- [M/M/1 Queue Nonlinearity: The 90% Utilization Trap](05_mm1_nonlinearity.py)
- [Pooled vs. Separate Queues: Why Banks Switched to Single Lines](06_pooled_vs_separate.py)
- [Late Merge: Courtesy Reduces Throughput](07_late_merge.py)
- [The Inspector's Paradox: Why the Bus Is Always Late](08_inspectors_paradox.py)
- [The Convoy Effect: One Slow Job Ruins Everyone's Day](09_convoy_effect.py)
- [Priority Starvation: When High-Priority Traffic Crowds Out Low-Priority Jobs](10_priority_starvation.py)
- [Tandem Queue Blocking: Variability Travels Downstream](11_tandem_queue.py)
- [Rush Hour Displacement: If Everyone Avoids the Rush, It Shifts](12_rush_hour.py)
- [Braess's Paradox: Adding a Road Makes Traffic Worse](13_braess_paradox.py)
