Erlang Calculator Formula

Erlang C Calculator: Optimize Call Center Staffing with Precision

Calculate the exact number of agents needed to handle your call volume while maintaining target service levels. This advanced Erlang C calculator uses industry-standard traffic modeling to optimize staffing efficiency.

Typical shrinkage accounts for breaks, training, and absences (20-40%)

Module A: Introduction & Importance of Erlang C Formula

The Erlang C formula is the gold standard for call center workforce management, developed by Danish mathematician Agner Krarup Erlang in the early 20th century. This probabilistic model calculates the exact number of agents required to handle incoming calls while maintaining specific service level targets.

Historical telephone switchboard showing early call center operations where Erlang formulas were first applied

Why Erlang C Matters in Modern Contact Centers

  1. Precision Staffing: Eliminates guesswork in agent scheduling, reducing both overstaffing (wasted costs) and understaffing (poor customer experience)
  2. Service Level Optimization: Balances cost efficiency with customer satisfaction by hitting exact service level targets (e.g., “80% of calls answered in 20 seconds”)
  3. Data-Driven Decisions: Provides mathematical justification for staffing budgets and resource allocation
  4. Scalability: Works for contact centers of all sizes, from 10-agent teams to enterprise operations with thousands of representatives
  5. Multi-Channel Application: While originally designed for phone calls, adapted versions work for chat, email, and social media queues

According to research from NIST, organizations using Erlang-based modeling achieve 15-25% higher efficiency compared to those using rule-of-thumb staffing methods. The formula accounts for the random nature of call arrivals (Poisson distribution) and variable handling times (exponential distribution).

Key Insight:

Erlang C assumes calls are answered in the order they arrive (FIFO) and that callers who abandon are not counted in the service level calculation. This makes it particularly accurate for inbound customer service environments.

Module B: How to Use This Erlang C Calculator

Follow these step-by-step instructions to get accurate staffing recommendations for your contact center:

  1. Total Calls per Hour: Enter your expected call volume. For seasonal variations, run separate calculations for peak and off-peak hours.
    Pro Tip:

    Use your ACD system’s historical reports to get precise call volume data. Most systems can export hourly call counts by day of week.

  2. Average Handle Time (AHT): Input your average call duration in seconds, including talk time, hold time, and after-call work.
    Calculation Method:

    Total Handle Time = (Talk Time + Hold Time + After-Call Work) × (1 + Transfer Rate)

  3. Target Answer Percentage: Set your desired service level (e.g., 80% of calls answered within your target time).
    Industry Benchmarks:
    • Customer Service: 80% in 20 seconds
    • Technical Support: 75% in 30 seconds
    • Sales/Retention: 90% in 15 seconds
    • Emergency Services: 95% in 10 seconds
  4. Target Answer Time: Specify how quickly you want calls answered (in seconds). This is the “within X seconds” part of your service level.
  5. Shrinkage Factor: Account for non-productive time (default 30%). Adjust based on your center’s specific shrinkage data.
    Shrinkage Components:

    Shrinkage = 1 – (Productive Time / Total Paid Time)

    Includes: Breaks, Training, Meetings, Absenteeism, System Downtime

Interpreting Your Results

The calculator provides five critical metrics:

  1. Required Agents (Raw): The exact number of agents needed to handle calls based purely on the Erlang C calculation
  2. Required Agents (With Shrinkage): The raw number adjusted for real-world shrinkage factors
  3. Predicted Service Level: The actual service level you’ll achieve with the recommended staffing
  4. Average Speed of Answer (ASA): The average time callers will wait in queue
  5. Probability of Waiting: The percentage of callers who will experience any wait time
Advanced Tip:

For multi-skill environments, run separate calculations for each skill group, then use the MIT Queueing Theory blending algorithms to combine results.

Module C: Erlang C Formula & Methodology

The Erlang C formula calculates the probability that a call must wait for service, given:

  • A = Total traffic intensity in erlangs (calls × AHT/3600)
  • N = Number of agents
  • T = Target answer time (in same units as AHT)
P(W > 0) = AN / (AN + N! × (1 – A/N) × Σk=0N-1 (Ak/k!))

Where:

  • P(W > 0) = Probability that a call must wait
  • A = λ × h (λ = arrival rate, h = average handle time)
  • N = Number of agents
  • ! = Factorial function

The Complete Calculation Process

  1. Calculate Traffic Intensity (A):
    A = (Total Calls × AHT) / 3600

    Example: 300 calls/hour × 300 seconds AHT = 90,000 seconds of work per hour = 25 erlangs

  2. Determine Minimum Agents:
    Minimum Agents = ⌈A⌉ + 1

    This ensures the system is stable (arrival rate < service rate)

  3. Calculate Probability of Waiting:

    Using the Erlang C formula above, compute P(W > 0) for different agent counts

  4. Calculate Probability of Waiting Longer Than Target:
    P(W > T) = P(W > 0) × e-(N-A)×T/AHT
  5. Find Optimal Agent Count:

    Iteratively test agent counts until P(W > T) ≤ (1 – Target Service Level)

  6. Apply Shrinkage Factor:
    Total Agents = Raw Agents / (1 – Shrinkage)

Mathematical Properties and Assumptions

Property Description Real-World Impact
Poisson Arrival Process Calls arrive randomly and independently Accurate for most inbound centers, but may need adjustment for scheduled callbacks
Exponential Service Times Call durations follow negative exponential distribution Works well for variable-length calls; less accurate for highly standardized scripts
Infinite Calling Population Assumes callers don’t influence each other’s behavior Valid for most business applications; may need adjustment for very small caller pools
FIFO Queue Discipline First-in, first-out call handling Matches most ACD system configurations
No Call Abandonment Assumes all callers wait until answered May underestimate staffing needs for centers with high abandon rates
Academic Validation:

The Erlang C formula was first published in 1917 and has been extensively validated by queueing theory research. Modern adaptations include the Stanford University Extended Erlang C model which accounts for call abandonments.

Module D: Real-World Erlang C Case Studies

Case Study 1: E-Commerce Customer Service Center

Scenario: Online retailer experiencing 400 calls/hour during holiday peak with 240-second AHT

Target: 85% of calls answered in 30 seconds

Shrinkage: 28% (high due to seasonal temp workers)

Initial Staffing: 50 agents (based on previous year’s rule-of-thumb)

Erlang C Recommendation: 68 agents (raw) → 94 agents with shrinkage

Result: Service level improved from 62% to 87%, with ASA dropping from 45s to 22s. The additional 44 agents were justified by a 19% increase in first-contact resolution due to reduced pressure on agents.

Case Study 2: Healthcare Appointment Scheduling

Scenario: Medical practice with 120 calls/hour and 180-second AHT

Target: 90% of calls answered in 20 seconds (critical for patient satisfaction)

Shrinkage: 22% (stable full-time staff)

Initial Staffing: 20 agents (based on “3 calls per agent per hour” heuristic)

Erlang C Recommendation: 24 agents (raw) → 31 agents with shrinkage

Result: Achieved 92% service level with 18s ASA. The practice reduced patient complaints about phone accessibility by 63% and increased appointment bookings by 12% through better phone availability.

Modern call center dashboard showing real-time Erlang C calculations and agent performance metrics

Case Study 3: Technical Support for SaaS Company

Scenario: Cloud software provider with 150 calls/hour and 420-second AHT (complex troubleshooting)

Target: 75% of calls answered in 45 seconds (technical issues tolerate longer waits)

Shrinkage: 35% (high due to extensive training requirements)

Initial Staffing: 30 agents (based on “5 calls per agent per hour”)

Erlang C Recommendation: 40 agents (raw) → 62 agents with shrinkage

Result: While the staffing increase appeared substantial, the company realized a 28% improvement in issue resolution time due to reduced agent stress. Customer satisfaction scores (CSAT) increased by 15 points, and the cost per resolved issue decreased by 8% due to fewer escalations.

Key Lessons from Real Implementations

  1. Shrinkage Matters More Than You Think: All three cases showed that shrinkage added 25-50% to raw staffing requirements
  2. Service Level Targets Are Context-Dependent: Healthcare required higher service levels than technical support
  3. Agent Productivity Improves with Proper Staffing: All cases showed 10-30% productivity gains when agents weren’t rushed
  4. Erlang C Justifies Staffing Budgets: The mathematical model provided CFOs with data to approve additional hires
  5. Continuous Monitoring is Essential: All organizations implemented real-time dashboards to adjust for intra-day variations

Module E: Erlang C Data & Statistics

Staffing Requirements by Service Level Target

This table shows how agent requirements change dramatically with service level targets for a center with 300 calls/hour and 300-second AHT:

Service Level Target Answer Time (sec) Raw Agents Needed With 30% Shrinkage Predicted ASA Probability of Waiting
70% 20 28 40 18s 42%
75% 20 30 43 15s 38%
80% 20 33 47 12s 33%
85% 20 37 53 8s 27%
90% 20 42 60 5s 20%
80% 10 38 54 8s 33%
80% 30 29 41 18s 33%
Critical Observation:

Notice how:

  • Moving from 80% to 90% service level requires 27% more agents
  • Tightening answer time from 30s to 10s (with same service level) requires 31% more agents
  • Shrinkage adds 40-50% to raw staffing requirements

Impact of Average Handle Time on Staffing

For a center with 200 calls/hour targeting 80% in 20 seconds:

AHT (seconds) Traffic Intensity (erlangs) Raw Agents Needed With 25% Shrinkage Cost Impact (at $25/hr)
120 6.67 12 16 $400/hour
180 10.00 17 23 $575/hour
240 13.33 22 29 $725/hour
300 16.67 27 36 $900/hour
360 20.00 32 43 $1,075/hour
AHT Reduction Strategy:

Reducing AHT from 300s to 240s (20% improvement) would:

  • Reduce raw agents needed from 27 to 22 (19% reduction)
  • Save $175/hour in staffing costs
  • Improve service level from 80% to 85% with same staff

A CDC study on call center ergonomics found that centers using Erlang-based staffing had 23% lower agent turnover rates due to reduced stress from consistent, predictable workloads.

Module F: Expert Tips for Erlang C Implementation

Data Collection Best Practices

  1. Segment Your Data:
    • By time of day (peak vs off-peak)
    • By day of week
    • By call type (sales vs support)
    • By customer segment (VIP vs standard)
  2. Use Rolling Averages:

    Calculate AHT and call volume using 4-6 weeks of data to smooth out anomalies

  3. Account for Seasonality:

    Maintain separate Erlang models for:

    • Holiday periods
    • Product launch weeks
    • End-of-month billing cycles
    • Weather-related patterns
  4. Measure Shrinkage Accurately:

    Track all non-productive time categories separately:

    Category Typical % Tracking Method
    Scheduled Breaks 8-12% WFM system scheduling
    Unscheduled Breaks 3-5% ACD not-ready codes
    Training 4-8% LMS records
    Meetings 2-4% Calendar analysis
    Absenteeism 3-7% HR attendance records
    System Downtime 1-3% IT incident logs

Advanced Modeling Techniques

  • Blended Erlang Models:

    For multi-skill agents, use:

    Total Agents = Σ (Skill Group Requirements × Blending Percentage)
  • Abandonment Adjustments:

    For centers with >5% abandon rate, use the Stanford Extended Erlang C formula:

    Aadjusted = A × (1 + (Abandon Rate × AHT / (Abandon Time + AHT)))
  • Non-Stationary Arrival Rates:

    For highly variable arrival patterns, implement:

    • Time-varying Erlang models (recalculate every 15-30 minutes)
    • Machine learning forecasting for intra-day patterns
    • Real-time queue monitoring with automatic agent reallocation
  • Quality-Staffing Tradeoff Analysis:

    Model the relationship between:

    Staffing Level Service Level ASA Agent Stress Quality Metrics
    90th Percentile 95% 5s Low High (FCR 92%)
    75th Percentile 85% 15s Moderate Good (FCR 88%)
    50th Percentile 70% 30s High Poor (FCR 79%)

Implementation Checklist

  1. ✅ Audit current staffing methodology and identify gaps
  2. ✅ Collect 6-8 weeks of historical call volume and AHT data
  3. ✅ Measure current shrinkage by category (not just total)
  4. ✅ Define service level targets by call type and customer segment
  5. ✅ Run initial Erlang calculations for each time segment
  6. ✅ Validate results with real-world testing (A/B test staffing levels)
  7. ✅ Implement real-time dashboard with Erlang calculations
  8. ✅ Train supervisors on interpreting Erlang outputs
  9. ✅ Establish monthly review process to update models
  10. ✅ Integrate with WFM system for automated scheduling
From the MIT Sloan School of Management:

“Companies that implement rigorous queueing theory models like Erlang C see 20-40% improvements in service-quality-cost tradeoffs compared to those using heuristic methods.” (Source)

Module G: Interactive Erlang C FAQ

Why does Erlang C sometimes recommend fractional agents? How should I handle this?

Erlang C is a continuous mathematical model, so it naturally produces fractional results. In practice:

  1. Round Up: Always round up to the next whole number (e.g., 27.3 → 28 agents). The formula assumes continuous agent availability, but you can’t have a fraction of an agent.
  2. Consider the Fraction: The decimal portion indicates how close you are to needing another agent. A result of 27.9 suggests you’re much closer to needing 28 agents than 27.7 would be.
  3. Use for Sensitivity Analysis: Run calculations with both the floor and ceiling values to see the service level impact. For example:
    • 27.3 agents → Test 27 and 28 agents
    • Compare the predicted service levels
    • Make a cost-benefit decision based on your service goals
  4. Blended Staffing: For very large centers, you can implement fractional staffing by having some agents work partial shifts (e.g., 27.3 agents = 27 full-time + 1 part-time for 3 hours).

Pro Tip: Many WFM systems will show the “agent efficiency” metric (how close you are to the ideal fractional staffing), which helps identify optimization opportunities.

How does call abandonment affect Erlang C calculations? Should I adjust my inputs?

Standard Erlang C assumes all callers wait until answered, which can lead to overstaffing in centers with significant abandonment. Here’s how to adjust:

Option 1: Use the Stanford Extended Erlang C Formula

This modification accounts for abandonments by adjusting the traffic intensity:

Aadjusted = A × (1 + (α × h / (t + h)))

Where:

  • α = Abandonment rate (0-1)
  • h = Average handle time
  • t = Average time to abandon

Option 2: Filter Abandoned Calls from Inputs

  1. Use only answered calls in your call volume input
  2. Adjust your AHT to include the time callers spent waiting (since they didn’t abandon)
  3. This effectively models the “patient” caller population

Option 3: Segment Your Modeling

Create separate Erlang models for:

  • High-priority callers (low abandonment, use standard Erlang C)
  • Standard callers (moderate abandonment, use adjusted formula)
  • Low-priority callers (high abandonment, may not need full modeling)
Abandonment Impact Example:

For a center with:

  • 300 calls/hour (20% abandon)
  • 300s AHT
  • Average abandon time = 45s

The adjusted traffic intensity would be:

Aadjusted = (300 × 0.8) × (300/3600) × (1 + (0.2 × 300/(45 + 300))) = 18.2 erlangs

Versus the unadjusted: A = 300 × (300/3600) = 25 erlangs

This 27% reduction in traffic intensity would significantly reduce staffing requirements.

What’s the difference between Erlang B and Erlang C? When should I use each?

Erlang B and Erlang C are both queueing theory formulas, but they model fundamentally different scenarios:

Feature Erlang B Erlang C
Queue Behavior No queue – blocked calls are lost Infinite queue – calls wait until answered
Primary Metric Blocking probability (Pblock) Probability of waiting (Pwait) and average speed of answer
Typical Applications
  • Telephony trunk sizing
  • Call center outbound dialing
  • Network circuit design
  • Emergency services (911)
  • Inbound call centers
  • Customer service queues
  • Technical support lines
  • Live chat operations
Key Formula Difference B(N,A) = AN/N! / Σk=0N(Ak/k!) C(N,A) = AN/[AN + N!(1-A/N)×Σk=0N-1(Ak/k!)]
When to Use
  • When calls cannot queue (get busy signal)
  • For outbound campaigns where abandoned calls don’t return
  • When calculating trunk line requirements
  • When calls queue until answered
  • For inbound customer service operations
  • When service level targets are critical

Hybrid Approach

Some modern contact centers use a combination:

  1. Use Erlang B to size the initial contact channels (trunks, IVR ports)
  2. Use Erlang C to staff the agent queue
  3. For blended environments, some WFM systems offer Erlang X formulas that combine elements of both
Practical Example:

An emergency dispatch center might:

  • Use Erlang B to ensure enough phone lines (blocked calls = lost lives)
  • Use Erlang C to staff the dispatchers (queued calls get prioritized)
  • Implement a callback system for non-emergency calls to convert some Erlang C scenarios to Erlang B
How often should I recalculate my Erlang C staffing requirements?

The frequency of recalculation depends on your call center’s volatility. Here’s a recommended schedule:

Minimum Recalculation Schedule

Time Frame Frequency What to Update Tools to Use
Intra-day Every 15-30 minutes
  • Real-time call volume
  • Current AHT
  • Agent adherence
  • Real-time dashboard
  • WFM intraday tool
  • ACD real-time reports
Daily End of each day
  • Actual vs forecasted volume
  • AHT by interval
  • Service level achievement
  • Shrinkage by category
  • WFM system
  • QA reports
  • HR attendance data
Weekly Every Monday
  • Trends in call volume
  • AHT by call type
  • New hiring/training
  • Marketing campaign impacts
  • Historical reports
  • Marketing calendar
  • HR onboarding data
Monthly First week of month
  • Seasonal patterns
  • Agent attrition/turnover
  • Process changes
  • Technology updates
  • Annual patterns analysis
  • Agent survey results
  • Process improvement logs
Quarterly Beginning of quarter
  • Business strategy changes
  • New product launches
  • Organizational restructuring
  • Technology roadmap
  • Executive strategy documents
  • Product roadmap
  • IT project plans

Triggers for Immediate Recalculation

Regardless of the schedule, recalculate immediately when:

  • Call volume spikes/sags by >15% from forecast
  • AHT changes by >10% (up or down)
  • Service level drops below target for 2+ consecutive intervals
  • Agent attrition >5% in a week
  • New system implementation (CRM, dialer, etc.)
  • Major process change (new scripts, tools)
  • External events (weather, outages, PR crises)

Automation Recommendations

  1. Real-time Dashboards: Display current vs required staffing with color-coded alerts (green/yellow/red)
  2. Automated Alerts: Set up notifications when actual metrics deviate from Erlang predictions by configured thresholds
  3. Integrated WFM: Connect your Erlang calculator to your workforce management system for automatic schedule generation
  4. Predictive Modeling: Use machine learning to forecast when recalculations will be needed based on historical patterns
Pro Tip:

Create “what-if” scenarios in advance for common situations (e.g., “What if call volume increases by 20%?” or “What if 10% of agents call in sick?”). This allows for faster decision-making during events.

Can Erlang C be used for chat or email queues, or is it only for phone calls?

While originally designed for telephone systems, Erlang C can be adapted for other digital channels with some modifications:

Channel-Specific Adaptations

Channel Key Differences from Voice Erlang C Adaptations Typical Handle Times
Live Chat
  • Agents handle multiple simultaneous chats
  • Response time expectations differ
  • No “talk time” – only “typing time”
  • Adjust AHT to “Active Handling Time” (time agent is actively working on chat)
  • Use concurrency factor (e.g., if agents handle 3 chats simultaneously, divide required agents by 3)
  • Set service level targets for “first response time” rather than answer time
3-8 minutes per chat (but 3-5 concurrent)
Email
  • Asynchronous communication
  • Longer, more complex interactions
  • Response time SLAs in hours, not seconds
  • Convert hourly call volume to daily email volume
  • Use AHT in minutes/hours instead of seconds
  • Set service level as “% responded to within X hours”
  • Account for after-hours work (emails don’t queue like calls)
10-30 minutes per email
Social Media
  • Public-facing interactions
  • Mix of simple and complex issues
  • Response time expectations vary by platform
  • Segment by platform (Twitter vs Facebook vs Instagram)
  • Use weighted AHT based on issue complexity
  • Set different SLAs for public vs private messages
  • Account for content moderation time
5-20 minutes per interaction
SMS/Text
  • Short, quick interactions
  • Often handled in batches
  • May require immediate responses
  • Use very short AHT (often <2 minutes)
  • Model for both immediate and delayed responses
  • Account for character limits in messages
1-5 minutes per conversation
Video Chat
  • Higher emotional intensity
  • Technical requirements
  • Longer average sessions
  • Use standard Erlang C with longer AHT
  • Add buffer for technical setup time
  • Account for higher agent fatigue
10-45 minutes per session

Omnichannel Staffing Approach

For centers handling multiple channels:

  1. Create Separate Erlang Models: Develop individual models for each channel based on its unique characteristics
  2. Use Blending Factors: For agents handling multiple channels, apply blending percentages:
    Total Agents = (Voice Agents × Blending%) + (Chat Agents × Blending%) + …
  3. Implement Skills-Based Routing: Use your ACD/WFM system to route interactions to agents based on:
    • Channel expertise
    • Current workload
    • Service level priorities
  4. Dynamic Staffing: Use real-time analytics to:
    • Shift agents between channels based on current demand
    • Adjust service level targets dynamically
    • Implement surge staffing for unexpected volume
Case Study:

A financial services company implemented omnichannel Erlang modeling and:

  • Reduced total agents by 18% through optimal blending
  • Improved email response time from 8 hours to 4 hours
  • Maintained 85% phone service level while adding chat
  • Achieved 92% customer satisfaction across all channels

The key was treating each channel’s Erlang requirements separately before combining them with blending factors.

Leave a Reply

Your email address will not be published. Required fields are marked *