Small Group Tutorials

Here to help students catch up, keep up, and move ahead. Book a consultation here.

How Bank Branches Use Queueing Algorithms to Staff Service: Arrival Rates, Erlang C, Abandonment, Forecasting and Workforce Scheduling

Quick answer: a bank branch can model customer service as a queueing system. Customers arrive at changing rates, request services with different handling times, wait for an eligible teller or adviser, receive service, or sometimes leave before service begins. Queueing models translate those flows into expected waiting time, queue length, server utilisation and probability of delay. Staffing algorithms then combine forecast demand, employee skills, breaks and schedules to choose how much service capacity should be available in each time interval. The central mathematical trade-off is simple but nonlinear: too little capacity creates rapidly increasing delay; too much capacity creates expensive idle time.

A branch does not become congested because the average customer is slow. Congestion appears when arrival demand and service capacity meet in the wrong distribution at the wrong time.

Page role: service-capacity mathematics, not general branch strategy

Bukit Timah Tutor already covers ATM cash forecasting, payment-system queues and operational resilience. This article owns a narrower physical-service problem: how to translate branch demand into waiting-time and staffing decisions using queueing and workforce-scheduling mathematics.

1. Begin with arrivals and service completions

Let:

  • λ = average customer arrival rate per unit time;
  • μ = average service rate per server;
  • c = number of active servers.

If one teller completes an average of 8 customers per hour, then μ=8/hour. With five identical tellers, nominal service capacity is cμ=40/hour.

A first feasibility condition is:

λ < cμ.

If customers arrive faster than the system can serve them for a sustained period, the queue grows without bound in a steady-state model. But even when λ is below capacity, waiting time can become large as utilisation approaches 100%.

2. Utilisation is necessary but not sufficient

For an M/M/c queue, server utilisation is:

ρ = λ/(cμ).

Suppose λ=30 customers/hour, μ=8/hour and c=4. Capacity is 32/hour and ρ=30/32=93.75%.

The system is technically stable because ρ<1. Operationally, it can still produce long waits because there is almost no spare capacity to absorb random clusters of arrivals or unusually long service transactions.

This is a key nonlinear lesson: moving utilisation from 70% to 80% does not necessarily increase delay by the same amount as moving from 90% to 100%. Near full utilisation, waiting can rise explosively.

3. The M/M/c baseline

The classic M/M/c model assumes:

  • Poisson arrivals;
  • independent exponential service times;
  • c identical parallel servers;
  • first-come, first-served service;
  • an unlimited waiting room;
  • customers who wait indefinitely;
  • steady-state rates.

These assumptions are intentionally simple. They make the model analytically transparent and provide a useful baseline, not a claim that real bank branches obey exponential laws all day.

Recent banking studies continue to use M/M/c as a first staffing model and then test alternative teller counts. A 2026 study in The Scientific World Journal combined customer-flow forecasting with M/M/c staffing analysis for bank branches. See Optimizing Staffing Level and Waiting Time Using Queuing Model in Bank Service.

4. Erlang C gives the probability an arrival must wait

Let a=λ/μ be offered load. For an M/M/c queue, define:

P₀ = [Σn=0c−1 aⁿ/n! + aᶜ/(c!(1−ρ))]−1.

Then the Erlang C probability that an arriving customer must wait is:

P(wait) = [aᶜ/(c!(1−ρ))]P₀.

Expected queue waiting time is:

Wq = P(wait)/(cμ−λ).

Expected total time in the system is:

W = Wq + 1/μ.

The formulas transform staffing from “we feel busy” into testable assumptions about arrivals, service and delay.

5. Little’s Law connects people, throughput and time

For a stable system under broad conditions, Little’s Law states:

L = λW.

Here L is the average number of customers in the system, λ the throughput/arrival rate under steady conditions, and W the average time each customer spends in the system.

If a branch serves 20 customers per hour and customers spend an average of 0.25 hours—15 minutes—from entry to completion, the average number present is:

L=20×0.25=5 customers.

Little’s Law is a powerful diagnostic because it does not require exponential service times. If measured throughput, average time and average population do not approximately reconcile over a sensible observation window, the data definitions may be inconsistent.

6. A worked teller-staffing example

Suppose a branch expects 30 walk-in teller customers per hour during a lunchtime peak. Mean service time is 7.5 minutes, so μ=8/hour.

Tellers cCapacity cμUtilisation ρInterpretation
324/hour125%Unstable under sustained peak
432/hour93.75%Stable but highly congestion-sensitive
540/hour75%More spare capacity
648/hour62.5%Shorter waits but more idle capacity

The correct staffing decision cannot be read from utilisation alone. The branch needs a service objective—perhaps a maximum expected wait or a percentage served within a time target—and a cost for adding staff capacity.

This turns staffing into constrained optimisation:

Minimise staffing cost + expected waiting/service cost

subject to skill, labour, break, service-level and operational constraints.

7. Average arrivals hide the lunchtime problem

A branch can average 15 arrivals per hour across the day while receiving 35 per hour from 12:00 to 13:00. A steady-state model using λ=15 can therefore recommend too few staff during the peak and too many during quiet periods.

Real workforce planning should use time buckets:

λ(t) = forecast arrival rate for interval t.

Intervals might be 15, 30 or 60 minutes depending on data quality and how quickly staffing can change. Forecasting then becomes as important as queueing.

8. Forecast demand before solving the queue

Useful branch-demand features can include:

  • weekday;
  • salary and pension dates;
  • month-end;
  • public holidays;
  • local events;
  • branch or ATM outages nearby;
  • appointment schedule;
  • marketing or product campaigns;
  • historical transaction mix;
  • digital-service outages that shift customers into branches.

The forecasting model should be judged on the operational quantity it feeds. A small average forecast error can be costly if it repeatedly underestimates short high-demand peaks.

9. Service times are mixtures, not one exponential clock

A cash withdrawal, account-opening review, business deposit, identity problem and mortgage discussion do not share the same service-time distribution.

If all transactions are pooled into one mean μ, the model can understate tail service times. A better design may segment service classes:

  • simple teller transaction;
  • complex teller transaction;
  • customer-service issue;
  • appointment-based advisory service;
  • specialist business-banking service.

The queue then becomes a multi-class, multi-skill system rather than M/M/c.

10. Skill-based routing makes servers non-identical

Suppose five employees are present, but only two are authorised or trained for a particular service. For that customer class, c is effectively 2—not 5.

Represent skill eligibility as a matrix:

Eij=1 if employee i can serve customer/service class j, otherwise 0.

Routing then asks which eligible server should take which waiting customer. The objective can combine waiting time, priority, skill conservation and fairness.

Using a specialist for every simple transaction may reduce the current queue while leaving no specialist available when a complex customer arrives. The locally fastest assignment can be globally poor.

11. Customers abandon: Erlang C’s infinite patience is unrealistic

Some customers leave if the wait becomes too long, postpone their visit, switch to digital service or join another branch. Queueing theory calls this abandonment or reneging.

An Erlang A / M/M/c+M model adds a patience hazard θ. Waiting customers leave at a rate related to how many are waiting and their patience distribution.

This changes the interpretation of apparently short queues. A branch can report modest average queue length because impatient customers leave—not because service capacity is adequate.

Operational dashboards should therefore track both completed service and abandonment where measurement is possible.

12. Balking happens before the queue starts

Balking occurs when a customer sees the queue or expected wait and chooses not to join. That demand may disappear from ticketing-system data entirely.

This creates an observation problem similar to selection bias in credit models: the system sees only people who entered the queue. If congestion causes some potential customers to walk away before taking a number, recorded arrival rate understates latent demand.

Footfall sensors, appointment no-shows, door counts or other privacy-respecting operational data can help distinguish true low demand from suppressed queue entry.

13. Appointments create a second arrival process

Walk-ins are uncertain. Appointments are scheduled but subject to early arrival, lateness and no-shows. A branch with both channels needs to reserve enough capacity for appointments without leaving walk-in capacity unnecessarily idle.

A simple time-slot model can forecast:

Expected appointment workload = booked appointments × show probability × expected service time.

That workload combines with stochastic walk-in demand. Overbooking can reduce idle time from no-shows but increases queue risk when everyone arrives. Underbooking protects service but wastes capacity.

14. Virtual queues change waiting location, not service capacity

A virtual queue can let customers wait outside the branch and receive an estimated service time. This can improve perceived experience and reduce physical crowding, but it does not automatically increase μ or c.

If the service bottleneck remains five advisers processing ten long cases per hour, moving the waiting customers to their phones changes the queue interface, not underlying throughput.

The distinction is useful throughout operations research: changing the representation of waiting is not the same as changing the capacity constraint.

15. Workforce scheduling converts required capacity into employee shifts

Queueing calculations can estimate required servers ct in each time interval. Employees, however, work shifts with break, skill and labour constraints.

Let xs be the number of employees assigned to shift pattern s, and Ats=1 if shift s provides coverage in interval t.

A simplified integer programme is:

Minimise Σ costsxs

subject to:

Σ Atsxs ≥ required stafft for each interval t, plus break, skill, contract and other operational constraints.

This is where queueing theory and operations research meet: queue models estimate capacity need; scheduling decides whether real people can provide that capacity.

16. A single objective can create bad service policy

If the optimiser minimises staff cost only, it will drive utilisation toward the boundary where waiting explodes. If it minimises wait only, it can recommend excessive idle staffing.

A better objective recognises several costs or constraints:

  • staff cost;
  • customer wait;
  • abandonment;
  • overtime;
  • service-level breaches;
  • specialist scarcity;
  • employee workload and break requirements;
  • operational resilience during absences or outages.

Not every value should be collapsed into one dollar penalty. Some requirements are better represented as hard constraints.

17. Discrete-event simulation handles the assumptions Erlang C cannot

When arrivals vary by minute, service-time distributions are non-exponential, employees have different skills, customers abandon, and appointments interact with walk-ins, closed-form formulas become less realistic.

A discrete-event simulation can represent each arrival, queue entry, assignment, service completion, abandonment and break. Repeating many simulated days produces a distribution of:

  • average wait;
  • 95th-percentile wait;
  • abandonment;
  • employee utilisation;
  • queue length;
  • service-level breaches.

Simulation is more flexible but easier to mis-specify. Every extra rule creates another assumption that needs evidence and validation.

18. Stress scenarios matter because branch demand can jump

Normal staffing forecasts can fail when:

  • digital banking is unavailable;
  • a nearby branch closes unexpectedly;
  • ATM functionality is disrupted;
  • customers seek help during a fraud or account-access incident;
  • cash demand rises during an emergency;
  • staff absence removes several trained servers at once.

Operational-resilience testing should therefore ask how queues behave when arrival rate rises and service capacity falls simultaneously.

A branch can be perfectly staffed for the mean and fragile to the first correlated shock.

19. The branch queueing and staffing pipeline

  1. Define service classes and completion events.
  2. Measure arrivals by time interval.
  3. Measure service-time distributions by service class.
  4. Estimate abandonment and no-show behaviour.
  5. Build a simple M/M/c or Erlang C baseline.
  6. Test whether steady-state and exponential assumptions are credible.
  7. Forecast λ(t) across the day/week.
  8. Map employee skills to service classes.
  9. Estimate required capacity for target service levels.
  10. Solve the workforce schedule under shift and break constraints.
  11. Simulate complex routing, appointments and abandonment.
  12. Stress outages, staff absence and demand surges.
  13. Compare predicted waits with realised waits.
  14. Update forecasts and service-time distributions when behaviour changes.

20. Failure modes

  • Average-day staffing. A daily mean hides short congestion peaks.
  • ρ<1 complacency. The queue is mathematically stable but operationally unacceptable near full utilisation.
  • Identical-server assumption. Headcount is counted without checking skills.
  • Exponential-service assumption by habit. Long complex cases create heavier tails than the baseline model allows.
  • Abandonment invisibility. Short observed queues result from customers leaving.
  • Balking invisibility. Potential customers never enter the recorded queue.
  • Virtual-queue illusion. Waiting location improves while throughput remains unchanged.
  • Forecast/queue mismatch. An accurate daily forecast is fed into a model that needs 15-minute demand.
  • Cost-only scheduling. Staffing is minimised until service failure becomes normal.

21. Counterexamples and alternatives

A common claim says, “Add one teller and waiting time falls by one fifth.” Queueing theory provides a counterexample: the marginal effect depends on utilisation. Adding one server to an overloaded or near-saturated system can reduce wait dramatically; adding the same server to a lightly loaded system may mainly increase idle time.

Another claim says, “M/M/c fits because the average wait looks right.” A counterexample is a model that matches the mean but misses the 95th-percentile wait and abandonment rate. Operational quality often lives in the tail.

Alternatives include Erlang A for abandonment, multi-class queueing networks, discrete-event simulation and direct data-driven wait-time prediction. The best model is the simplest one that answers the decision reliably and remains correctable by observed branch behaviour.

22. Diagnostics and falsifiers

  • Does Little’s Law reconcile measured flow, time and average customers present?
  • What 15-minute interval has the highest λ/(cμ)?
  • Does the Poisson assumption understate clustered arrivals?
  • Which service class creates the longest tail of service time?
  • How many nominal staff are actually eligible for each service?
  • What fraction of customers abandon or balk?
  • Does adding one server reduce waiting enough to justify cost?
  • What happens when arrival demand rises 50% while one specialist is absent?

Suppose someone claims, “Four tellers are enough because their combined average capacity exceeds average arrivals.” A falsifier is a time-varying analysis showing that the noon arrival rate approaches or exceeds four-teller capacity and produces unacceptable peak waiting even though the all-day average appears safe. Capacity must be compared with demand on the timescale of the queue.

23. Verification and update triggers

  • compare predicted and realised waiting-time distributions;
  • re-estimate λ(t) after branch, digital-channel or local-demographic changes;
  • measure service-time distributions instead of relying only on means;
  • audit skill matrices and shift coverage;
  • track abandonment and no-shows separately;
  • keep M/M/c as a transparent challenger to complex simulations;
  • re-run stress scenarios after changes to digital/ATM dependencies;
  • review service-level objectives rather than allowing historical staffing to define what “acceptable” means.

Connections across the finance-and-banking algorithms lane

Research anchors

The deeper lesson

Bank-branch queueing is the mathematics of spare capacity under uncertainty. Arrival rates fluctuate. Service times vary. Skills constrain which server can help which customer. Patience changes observed demand. Appointments and walk-ins compete for the same people. Erlang C gives a transparent baseline; richer models add abandonment, multiple service classes and time-varying demand. The strongest staffing system therefore does not optimise an average queue. It identifies when the branch approaches the nonlinear congestion boundary, which assumption creates the predicted wait, and what observed behaviour would prove the staffing model wrong.

Educational note: This article explains public queueing and operations-research concepts. It is not employment advice, branch-security guidance, customer-prioritisation policy or an operational staffing plan for any specific bank.

Discover more from Bukit Timah Tutor

Subscribe now to keep reading and get access to the full archive.

Continue reading