A Staffing Algorithm for Call Centers with Skill-Based Routing



Similar documents
A STAFFING ALGORITHM FOR CALL CENTERS WITH SKILL-BASED ROUTING

RESOURCE POOLING AND STAFFING IN CALL CENTERS WITH SKILL-BASED ROUTING

Call centers usually handle several types of calls, butitis usually notpossible or costeffective to have every

Optimal Cross Training in Call Centers with Uncertain Arrivals and Global Service Level Agreements

A REVIEW OF WORKFORCE CROSS-TRAINING IN CALL CENTERS FROM AN OPERATIONS MANAGEMENT PERSPECTIVE. O. Zeynep Akşin. Fikri Karaesmen.

TRAFFIC ENGINEERING OF DISTRIBUTED CALL CENTERS: NOT AS STRAIGHT FORWARD AS IT MAY SEEM. M. J. Fischer D. A. Garbin A. Gharakhanian D. M.

PARTIAL CROSS TRAINING IN CALL CENTERS WITH UNCERTAIN ARRIVALS AND GLOBAL SERVICE LEVEL AGREEMENTS. D. J. Medeiros

Conclusions and Suggestions for Future Research

Load Balancing with Migration Penalties

Proceedings of the 2010 Winter Simulation Conference B. Johansson, S. Jain, J. Montoya-Torres, J. Hugan, and E. Yücesan, eds.

STOCHASTIC MODELS FOR THE DESIGN AND MANAGEMENT OF CUSTOMER CONTACT CENTERS: SOME RESEARCH DIRECTIONS

Dynamic Assignment of Dedicated and Flexible Servers in Tandem Lines

Mathematical Models for Hospital Inpatient Flow Management

Addressing Arrival Rate Uncertainty in Call Center Workforce Management

Improving Emergency Medical Dispatching with Emphasis on Mass-Casualty Incidents

Chapter 1. Introduction

Distributionally robust workforce scheduling in call centers with uncertain arrival rates

Call Centers with Skills-Based-Routing: Simulation-Based State-Inference and Dynamic-Staffing. M.Sc. Research Proposal

Capacity Management in Call Centers

D1.1 Service Discovery system: Load balancing mechanisms

Call-Routing Schemes for Call-Center Outsourcing

Overflow Networks: Approximations and Implications to Call Center Outsourcing

Structure Preserving Model Reduction for Logistic Networks

Proceedings of the 2008 Winter Simulation Conference S. J. Mason, R. R. Hill, L. Mönch, O. Rose, T. Jefferson, J. W. Fowler eds.

Performance Analysis of a Telephone System with both Patient and Impatient Customers

Web Hosting Service Level Agreements

Appendix: Simple Methods for Shift Scheduling in Multi-Skill Call Centers

Call Center Staffing Models

CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT

Supplement to Call Centers with Delay Information: Models and Insights

1. Implementation of a testbed for testing Energy Efficiency by server consolidation using Vmware

LPV model identification for power management of Web service systems Mara Tanelli, Danilo Ardagna, Marco Lovera

SLA-based Admission Control for a Software-as-a-Service Provider in Cloud Computing Environments

QNAT. A Graphical Queuing Network Analysis Tool for General Open and Closed Queuing Networks. Sanjay K. Bose

Load Balancing with Memory

CALL CENTER PERFORMANCE EVALUATION USING QUEUEING NETWORK AND SIMULATION

Threshold Routing to Trade-off Waiting and Call Resolution in Call Centers

Simulation of Call Center With.

How To Balance In A Distributed System

Pull versus Push Mechanism in Large Distributed Networks: Closed Form Results

Implementing an Approximate Probabilistic Algorithm for Error Recovery in Concurrent Processing Systems

RESEARCH PAPER International Journal of Recent Trends in Engineering, Vol 1, No. 1, May 2009

Geographical load balancing

CHAPTER 3 CALL CENTER QUEUING MODEL WITH LOGNORMAL SERVICE TIME DISTRIBUTION

Periodic Capacity Management under a Lead Time Performance Constraint

STATISTICAL ANALYSIS OF CALL-CENTER OPERATIONAL DATA: FORECASTING CALL ARRIVALS, AND ANALYZING CUSTOMER PATIENCE AND AGENT SERVICE

FIXED CHARGE UNBALANCED TRANSPORTATION PROBLEM IN INVENTORY POOLING WITH MULTIPLE RETAILERS

Managing gsupply Chain Risks

Creating operational shift schedules for third-level IT support: challenges, models and case study

Exponential Approximation of Multi-Skill Call Centers Architecture

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Contact Centers with a Call-Back Option and Real-Time Delay Information

IST 301. Class Exercise: Simulating Business Processes

AS-D1 SIMULATION: A KEY TO CALL CENTER MANAGEMENT. Rupesh Chokshi Project Manager

Real Time Scheduling Basic Concepts. Radek Pelánek

Managing End-to-end Network performance via. Optimized Monitoring Strategies

Dynamic Call Center Routing Policies Using Call Waiting and Agent Idle Times

We review queueing-theory methods for setting staffing requirements in service systems where

OPTIMUM TOUR SCHEDULING OF IT HELP DESK AGENTS

On customer contact centers with a call-back option: Customer decisions, routing rules, and system design 1

Optimal patient and personnel scheduling policies for care-at-home service facilities

Load Balancing. Load Balancing 1 / 24

1 st year / / Principles of Industrial Eng. Chapter -3 -/ Dr. May G. Kassir. Chapter Three

Scheduling Allowance Adaptability in Load Balancing technique for Distributed Systems

How To Model A Multi Skill Call Centre

Path Selection Methods for Localized Quality of Service Routing

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Optimal Dynamic Resource Allocation in Multi-Class Queueing Networks

A Markovian model of the RED mechanism solved with a cluster of computers

LECTURE 16. Readings: Section 5.1. Lecture outline. Random processes Definition of the Bernoulli process Basic properties of the Bernoulli process

A Logarithmic Safety Staffing Rule for Contact Centers with Call Blending

INTEGRATED OPTIMIZATION OF SAFETY STOCK

ABSTRACT WITH TIME-VARYING ARRIVALS. Ahmad Ridley, Doctor of Philosophy, 2004

Call Center staffing Alternatives

Factors to Describe Job Shop Scheduling Problem

Specialty Answering Service. All rights reserved.

In-Network Coding for Resilient Sensor Data Storage and Efficient Data Mule Collection

ICS Principles of Operating Systems

Queuing Theory. Long Term Averages. Assumptions. Interesting Values. Queuing Model

Flexibility structure design with human resource considerations

Determining Optimal Staffing Levels in Multiple Skill Inbound Call Centers - a Literature Survey

Modeling and Performance Evaluation of Computer Systems Security Operation 1

Optimal Hiring of Cloud Servers A. Stephen McGough, Isi Mitrani. EPEW 2014, Florence

Network Tomography Based on to-end Measurements

Identifying Good Nursing Levels: A Queuing Approach

CHAPTER 8 CONCLUSION AND FUTURE ENHANCEMENTS

Load Balancing in Periodic Wireless Sensor Networks for Lifetime Maximisation

Flexible Distributed Capacity Allocation and Load Redirect Algorithms for Cloud Systems

Robust and data-driven approaches to call centers

ENGINEERING SOLUTION OF A BASIC CALL-CENTER MODEL

Staffing Call-Centers With Uncertain Demand Forecasts: A Chance-Constrained Optimization Approach

Towards Optimal Firewall Rule Ordering Utilizing Directed Acyclical Graphs

NOVEL PRIORITISED EGPRS MEDIUM ACCESS REGIME FOR REDUCED FILE TRANSFER DELAY DURING CONGESTED PERIODS

Optimizing Daily Agent Scheduling in a Multiskill Call Center

AN EFFICIENT DISTRIBUTED CONTROL LAW FOR LOAD BALANCING IN CONTENT DELIVERY NETWORKS

Predicting Waiting Times in Telephone Service Systems

Simulation of a Claims Call Center: A Success and a Failure

COPING WITH TIME-VARYING DEMAND WHEN SETTING STAFFING REQUIREMENTS FOR A SERVICE SYSTEM

Modeling Load and Overwork Effects in Queueing Systems with Adaptive Service Rates

PART III. OPS-based wide area networks

Transcription:

A Staffing Algorithm for Call Centers with Skill-Based Routing Ward Whitt IEOR Department, Columbia University http://www.columbia.edu/ ww2040

Joint work with: Rodney B. Wallace IBM and George Washington University Thesis: Performance Modelling and Design of Call Centers with Skill-Based Routing Advisors: William A. Massey (Princeton), Thomas A. Mazzuchi (GW) and Ward Whitt (Columbia)

Multiple Types of Calls and Agents 3

Multiple Types of Calls and Agents Special case: The service-time distribution does not depend on the call type or the agent. 4

First Contribution: Routing and Provisioning Algorithm Minimize the Required Staff and Telephone Lines While Meeting the Service level Agreement (SLA) P(Delay 30 seconds) 0.80 P(Blocking) 0.005 (service level may depend on call type) 5

Second Contribution: Demonstrate Resource-Pooling Phenomenon A small amount of cross training (multiple skills) produces almost the same performance as if all agents had all skills (as in the single-type case). Simulation Experiments 6

Precedents A little bit of flexibility goes a long way. Joining One of Many Queues Azar, Broder, Karlin and Upfal (1994) Vvedenskaya, Dobrushin and Karpelovich (1996) Turner (1996, 1998) Mitzenmacher (1996) and Mitzenmacher and Vöcking (1999) Flexible Manufacturing: Chaining Jordan and Graves (1995) Aksin and Karaesman (2002) Hopp and Van Oyen (2003) Jordan, Inman and Blumenfeld (2003) Gurumurthi and Benjaafar (2004) 7

Outline 1. SBR Call-Center Model 2. Resource-Pooling Experiment 3. Provisioning Algorithm 4. Simulation to Show Performance 8

M n /M n /C/K/NP rp r SBR Call Center 1. C agents, C + K telephone trunklines, and n call types. 2. Non-preemptive Priorities (NPrPr) - Calls are processed in priority order. Calls are worked to completion once they are handed to an agent. 3. Longest-Idle-Agent Routing (LIAR) Policy - Calls are forwarded to the agent who has been waiting the longest since his last job completion and has the highest skill to handle the request. 9

Agent-Skill Matrix - C n 4. Agent-Skill Profile - Predefined in an agent-skill matrix A (a ij ) as a ij = k when agent i supports call type k at priority level j (primary, secondary, etc), 0 otherwise. where i = 1,..., C, 1 k n, and 1 j n. Examples: A 5 1 = 1 1 1 1 1, A(1) 3 2 = 1 0 2 0 2 0, A4 2 = 1 0 1 0 2 1 2 1, A 6 4 = 3 4 1 0 1 4 0 0 2 3 0 0 2 0 0 0 3 1 2 4 1 0 4 0 10

$ #!! % &$' $ $! " 11

!!" #" $%& 12

Resource-Pooling Experiment 13

Model Assumptions 1. Arrival Process - n types of calls arrive at the call center according to n mutually independent Poisson processes with rate λ i, 1 i n. [n = 6, λ i = 1.40 for all i] 2. Service Time Process - Call holding (service) times are mutually independent exponential random variables with mean 1/µ i which are independent of the arrival process, 1 i n. [1/µ i = 1/µ = 10 minutes for all i] 3. Offered Loads - α i = λ i /µ i [α i = 14 for all i, so the total offered load is α = 84] 4. Agents and Telephone Lines [C = 90 and K = 30 (C + K = 120)] 14

Agents are given k skills, 1 k 6 Three Loads: Normal (84), Light (77.4), Heavy (90) 15

4 1. Normal Load 0.8 2. Light Load 8 3. Heavy Load Blocking Prob (%) 3 2 1 Blocking Prob (%) 0.6 0.4 0.2 Blocking Prob (%) 6 4 2 0 3 1 2 3 4 5 6 Skills per Agent 0 2 1 2 3 4 5 6 Skills per Agent 0 4 1 2 3 4 5 6 Skills per Agent Avg Delay (min) 2 1 Avg Delay (min) 1.5 1 0.5 Avg Delay (min) 3 2 1 Prob Delay > 0.5 (%) 0 60 40 20 0 1 2 3 4 5 6 Skills per Agent 1 2 3 4 5 6 Skills per Agent Prob Delay > 0.5 (%) 0 40 30 20 10 0 1 2 3 4 5 6 Skills per Agent 1 2 3 4 5 6 Skills per Agent Prob Delay > 0.5 (%) 0 60 40 20 0 1 2 3 4 5 6 Skills per Agent 1 2 3 4 5 6 Skills per Agent 16

Provisioning Algorithm Find C, K and A So that each agent has at most 2 skills and all performance constraints are met. 17

How do we know it works? The optimal values of C and K are almost the same as for M/M/C/K which occurs with a single call type. 18

Balanced Example M/M/C/K: C = 90 and K= 19 SBR: C = 91 and K= 20 19

SBR Balanced Provisioning Example Call volume is λ 1 = λ 2 = λ 3 = λ 4 = λ 5 = λ 6 = 1.375, Service times are 1/µ 1 =... = 1/µ 6 = 10 mins Agents Skill Profile: Agents have 2 skills each. Service level targets 1. Blocking service level target is 0.5%. 2. 80% of the calls are answered within τ = 0.5 minute. Square-root safety method for distributing agents into work groups is used. It is known that the total number of agents required is between 90 (best-case) and 106 (worse-case). Similarly, the the telephone trunkline capacity is between 111 and 156. 20

Unbalanced Example M/M/C/K: C = 90 and K= 19 SBR: C = 91 and K= 21 21

SBR Unbalanced Provisioning Example Call volume is λ 1 = λ 2 = 0.425, λ 3 = 1.05, λ 4 = 1.375, λ 5 = 1.925, and λ 6 = 3.05 calls/min. Service times are 1/µ 1 =... = 1/µ 6 = 10 mins Agents Skill Profile: Agents have 2 skills each. Service level targets 1. Blocking service level target is 0.5%. 2. 80% of the calls are answered within τ = 0.5 minute. Square-root safety method for distributing agents into work groups is used. It is known that the total number of agents required is between 90 (best-case) and 106 (worse-case). Similarly, the the telephone trunkline capacity is between 111 and 156. 22

Unbalanced SBR Provisioning Example Summary Best Actual Worst Case Perf. Case (C, C + K) (90, 109) (91, 111) (106, 156) Workgroup 1 C 1 7 7 Workgroup 2 C 2 7 7 Workgroup 3 C 3 13 14 Workgroup 4 C 4 15 18 Workgroup 5 C 5 21 24 Workgroup 6 C 6 28 36 23

SBR Provisioning Solves the problem of determining the minimum number of agents C and the minimum number of telephone trunklines C + K needed to meet service level targets. Exploits resource pooling results. Exploits M/M/C/K results to determine initial estimate for (C, K). Uses fair agent skill assignment scheme to construct agent skill matrix satisfying general agent skill profile. Simulation runs are performed to make improvements on the initial assignment using a heuristic search algorithm. 24

Determining Primary Skills C k = α k + x α k x = (C α) n i=1 αi and round 25

Determining Secondary Skills C i,k = C ic k C C i and round 26

STOP 27

Initial SBR Provisioning Algorithm Number of Iterations (Agents) Performance 1 2 3 4 Measure (90) (91) (92) (93) 1. Blocking (%) 0.53 0.42 0.36 0.30 4. P(Delay 0.5 entry) 81.3 83.9 86.5 88.8 5. P(Delay 1 0.5 entry) 68.3 75.5 78.4 80.5 5. P(Delay 2 0.5 entry) 65.2 74.9 77.8 80.3 5. P(Delay 3 0.5 entry) 79.7 81.8 84.7 88.0 5. P(Delay 4 0.5 entry) 82.0 83.6 86.5 88.8 5. P(Delay 5 0.5 entry) 83.4 86.2 87.8 89.8 5. P(Delay 6 0.5 entry) 84.4 85.8 88.7 90.9 28

Refined SBR Provisioning Algorithm Number of Iterations (Agents) Performance 4 5 6 7 8 9 Measure (93) (92) (92) (91) (91) (90) 1. Blocking (%) 0.30 0.35 0.36 0.43 0.44 0.54 4. P(Delay 0.5 entry) 88.8 86.5 86.2 83.4 82.9 79.8 5. P(Delay 1 0.5 entry) 80.5 78.0 81.6 78.6 82.6 80.0 5. PDelay 2 0.5 entry) 80.3 77.6 81.4 78.6 81.9 79.7 5. PDelay 3 0.5 entry) 88.0 86.1 85.8 83.6 83.4 78.6 5. PDelay 4 0.5 entry) 88.8 87.2 87.0 83.2 82.6 80.5 5. PDelay 5 0.5 entry) 89.8 87.7 86.7 84.6 83.1 79.4 5. PDelay 6 0.5 entry) 90.9 88.0 86.9 84.1 82.9 80.3 29