The classical OR answer to 'how many agents are enough': interval staffing via Erlang-C queueing, then shift scheduling. Customer abandonment and skill-based routing matter.
In plain words
Sound familiar?
- We target service level 80/20 (80% of calls answered in 20 seconds) but never hit it.
- Morning 09:00-11:00 the queue locks up; afternoons agents sit idle โ we don't know how to balance the roster.
- We do 'daily 1000 calls / 50 calls per agent = 20 agents' in a spreadsheet; reality needs 28-30.
- Abandonment is 8-15%; management wants under 5% but we don't know how many extra agents.
- Shift planning is manual; hours each week, labor-law rules constantly violated.
- We're omnichannel (phone + chat + email + messaging); a single agent handles channels concurrently but we plan each channel separately.
- Skill-based routing exists but some skills are bottleneck while others are idle โ capacity is misallocated.
Why it matters
How it's solved
Technical depth
How it's solved
Technical depthOne-liner: First compute how many agents you need per 15-30 minute interval (queueing math); then lay shift templates over those requirements. Starting from a daily average is wrong โ the 9am peak isn’t cancelled by the afternoon dip; they are two separate decisions.
This sits at the intersection of operations research (a discipline that uses math and computing to solve business-decision problems; here the queueing + integer programming branches) and workforce management. Two sub-problems: Interval Staffing (how many agents per 15-30 min interval โ Erlang-C/A: queue formulas that convert arrival rate, average handle time and service-level target into an agent count), Shift Scheduling (assign shift templates and breaks to agents to cover interval requirements โ MIP or column generation). Three stages:
1. Modeling. Historical ACD (Automatic Call Distributor) log: arrival rate ฮป(t) per interval, average handle time (AHT) distribution (exponential? log-normal?), abandonment dynamics (patience distribution). Skill-call-type matrix. Shift templates (8h, 6h, part-time). Labor-law constraints (breaks, night shift, weekly cap). For omnichannel, concurrency factor per channel.
2. Solver-driven decision. First, Erlang-C gives the minimum agents per interval for the target service level. Erlang-A (with abandonment) is more realistic but less commonly implemented. Then a shift scheduling MIP: variables for shift start/end and headcount assigned; constraints for coverage at each interval, labor law, agent preference. For multi-skill, mixed-integer or stochastic. Industry tools: open-source workforce planning libraries, commercial WFM software, the WFM module inside enterprise contact-center platforms.
3. Field integration. Output: shift schedules + interval capacity forecast. ACD/contact-center-platform integration for adherence tracking (planned vs actual agents, planned vs actual call volume). Intra-day re-forecasting โ if volume diverges, call in extras or offer early-out. Monthly reports on service level, abandonment, staff cost.
Alternatives
Manual spreadsheet Erlang-C calculation
FreeZero licence; in-house effort 2-4 weeks
Who it fits: Small call center (<30 seats), single channel, single skill
- + No licence
- + Erlang-C formula is one spreadsheet cell
- + Shift planning achievable in a spreadsheet
- โ Erlang-A (with abandonment) hard
- โ Multi-skill manually impossible
- โ Adherence tracking manual
- โ Shift MIP not optimal
Local WFM software
Enterprise60,000-250,000 TRY licence + 12,000-40,000 TRY/year maintenance (TR market observation)
Who it fits: Mid-size call center (30-200 seats)
- + Local-language support, labor-law-aligned shift rules
- + ACD integration modules ready
- + Erlang-C standard; some software has Erlang-A
- โ Shift scheduling heuristic, not MIP
- โ Weak multi-skill support
- โ Stochastic forecasting usually absent
International enterprise WFM
Enterprise80,000-500,000 EUR licence + 18,000-80,000 EUR/year
Who it fits: Large call center (200+ seats), omnichannel, multi-skill
- + Erlang-A + skill-based routing standard
- + MIP or column generation shift scheduling
- + Omnichannel forecasting
- โ Expensive
- โ Implementation 4-9 months
- โ Local labor-law customization required
Open-source solvers + queueing simulation libraries
Open SourceFree licence; in-house build 10-18 weeks or 250K-700K TRY consultancy
Who it fits: SMB with tech team, very custom constraints
- + No licence
- + Mature open-source Erlang-C/A computation libraries
- + MIP solvers sufficient; simulation for validation
- โ Internal OR/operations expert required
- โ ACD integration is a separate project
- โ Continuous maintenance
Recommendation
Ask in the meeting
- Do you use Erlang-C or Erlang-A (with abandonment) for staffing?
- What is your forecasting interval granularity โ 15 min, 30 min, hourly?
- Is shift scheduling MIP or heuristic? How are breaks/meals/labor-law represented?
- Can you co-optimize multi-skill (skill-based routing) and multi-channel (phone+chat+email+messaging)?
- Is intra-day re-forecasting and re-scheduling automatic or manual?
- Adherence (planned vs actual) tracking โ real-time or end-of-day report?
- In a 6-8 week pilot using real ACD data, how do we measure service level, abandonment, and staff cost?
- If we leave you, in what format can we export historical call data, forecast models, and shift history?
Technical details
Editor’s note
In everyday language this is “agent count”, “shift roster”, “service level”. In academic literature it appears as Call Center Staffing, Erlang-C Optimization, Shift Scheduling, Workforce Management. Without these terms you can’t tell apart ‘call reporting’ (past statistics) from ‘call-center staffing optimization’ (future shift decisions) when buying WFM software. The first only measures; the second decides.
Most-skipped point in the industry: the Erlang-C formula assumes no abandonment. The customer is infinitely patient. In reality 5-15% of callers hang up within 30 seconds. Erlang-A (Erlang with Abandonment, Garnett et al. 2002) embeds a patience distribution. If your WFM vendor only uses Erlang-C, expect over-staffing in calm hours and under-staffing in spikes. Ask the vendor: Erlang-A or Erlang-C?
Second most-skipped: interval granularity. 30-min intervals smooth arrival noise; 5-min are too noisy. 15-min is standard. Hourly is too coarse โ peak minutes dissolve into the hourly average.
Step-by-step path โ for SMBs
Stage 1 โ Measure first, plan second. At least 8-12 weeks of ACD log data at 15-min granularity: arrival rate ฮป(t), AHT distribution, abandonment, current service level. Break down by call type (customer service, tech support, sales, billing).
Stage 2 โ Extract the knowledge capital. Skill matrix (each agent’s call types). Shift templates (8h fixed, 6h flexible, part-time, evening, night, weekend). Labor-law constraints (break, meal, consecutive shifts). Target service level (80/20 industry standard), target abandonment (<5%).
Stage 3 โ Pilot. 6-8 weeks. Start with one call type or one shift band (e.g. 09:00-17:00 customer service). Erlang-A for interval staffing, simple MIP for shifts. Success criteria set up-front: service level +3 points, abandonment -2%, staff cost flat or lower.
Stage 4 โ Rollout. Over 3-5 months extend to all call types, all shift bands, multi-skill. Omnichannel (phone + chat + email + messaging) added. Intra-day re-forecasting automated. ACD adherence tracked live. Monthly operations report (service level, abandonment, staff utilization, attrition).
Risks โ what can go wrong
- Erlang assumption violations. Erlang-C/A assume Poisson arrivals and exponential service. Reality has bursty arrivals (campaigns, outages, press) and log-normal AHT. If violated, the Erlang output can deviate 10-20% from true need. Simulation validation is essential.
- Ignoring multi-skill. Skill-based routing wrongly staffed with single-skill Erlang. One skill over, another under. Multi-class queueing or simulation needed.
- Channel concurrency. One agent runs 2-3 chats concurrently but only one call. The same ‘agent-hour’ is not equivalent capacity across channels. Per-channel concurrency parameter required.
- Forecast deviation and adherence. Forecast error is 10-25%; a 5-10% buffer is recommended. Without intra-day re-forecasting the error compounds. If agent adherence is below 85% the plan is meaningless.
Technical view of the solution
| Approach | Typical scale | Solve time | Guaranteed optimum? |
|---|---|---|---|
| Spreadsheet Erlang-C | Small (<30 seats) | instant | Approximate (no abandonment) |
| Erlang-A + manual shifts | Mid (30-100 seats) | minutes | Approximate (shifts not optimal) |
| Erlang-A + MIP shift scheduling | Mid-large (100-500 seats) | minutes-hours | Yes (given interval requirements) |
| Multi-class queueing + simulation + MIP | Large multi-skill | hours-days | No, 95-98% |
| Stochastic / robust shift scheduling | High uncertainty | hours | No, robust |
Objective function choices:
- Goal 1 โ Minimize total staff cost subject to service-level and abandonment constraints.
- Goal 2 โ Maximize service level under a fixed budget.
- Goal 3 โ Minimize abandonment under a fixed budget; sectors driven by revenue loss.
- Goal 4 โ Balanced score: weighted (staff cost + service-level penalty + abandonment penalty + adherence bonus).
Multi-objective via weighted sum or hierarchical. Different objectives by call type (e.g. abandonment-critical for sales, AHT-critical for tech support).
Academic sources
Listed in the page’s sources frontmatter field.
Sources
- Erlang, A. K. (1909). The theory of probabilities and telephone conversations. Nyt Tidsskrift for Matematik B, 20, 33โ39. Foundational queueing-theory and telephone-traffic formulas.
- Mandelbaum, A. and Zeltyn, S. (2007). Service engineering in action: The Palm/Erlang-A queue. Service Engineering. Erlang-A (with abandonment) call-center reference.
- Aksin, Z., Armony, M. and Mehrotra, V. (2007). The modern call center: A multi-disciplinary perspective on operations management research. Production and Operations Management, 16(6), 665โ688. Call-center OR research review.
- Gans, N., Koole, G. and Mandelbaum, A. (2003). Telephone call centers: Tutorial, review, and research prospects. Manufacturing & Service Operations Management, 5(2), 79โ141. Foundational OR review for call centers.
- YรK Thesis Center โ keyword: ‘รงaฤrฤฑ merkezi’ or ‘kuyruk teorisi’ โ 50+ theses from TR academia. tez.yok.gov.tr
Glossary
- Queueing Theory
- Mathematical discipline analyzing waiting lines where arrivals and service times are random.
- Erlang-C
- Formula giving the probability that an arriving customer must wait in an M/M/c queue; the call-center staffing standard.