• No results found

Determining Staffing Levels and Shifts for a Multi-Skill Contact Center

N/A
N/A
Protected

Academic year: 2021

Share "Determining Staffing Levels and Shifts for a Multi-Skill Contact Center"

Copied!
55
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Multi-Skill Contact Center

Master’s Thesis Operations Research

(2)

Abstract

In this thesis a model is presented to determine staffing levels and corresponding shifts for a contact center. A contact center is an extension of the well-known call center, and han-dles service via e-mail, fax, phone, etc. These different skills have different service-level requirements, where the service level is defined as the fraction of customers served within a certain time limit. The model we present solves the scheduling problem, in which the objective is to find the minimum number of agents per shift such that all service-level re-quirements are satisfied. A two-step procedure is followed to solve this problem. First, a simulation model is developed to determine minimum staffing levels per period of the day. Second, these time-varying staffing levels are input to an integer programming problem, where the decision variables are the number of agents per shift. The model is applied to the Customer Service Unit of KLM Cargo. This is a small contact center which handles all daily contacts with customers of KLM Cargo. Customers mainly use phone or e-mail to contact KLM Cargo. A third workflow at the contact center is generated by ’Q-messages’, which are internal messages arriving from other KLM departments. The results presented in this thesis are minimum staffing levels and shifts for the Customer Service Unit of KLM Cargo.

(3)

Preface

This thesis is the final project of my study in Econometrics, Operations Research and Ac-tuarial studies, which I started at the University of Groningen in September 2005. From September 2011 to April 2012 I did an internship at KLM Cargo, located at Schiphol, Am-sterdam. KLM provided me the opportunity to combine the writing of this thesis with an interesting case study at the Customer Service Unit of KLM Cargo. I would like to thank Vera van Hacken (Customer Service Manager Netherlands) and Marc Paelinck (Consultant Decision Support) for their excellent support during my period at KLM. Moreover, I would like to thank the supervisors and all employees of the Customer Service Unit, for always be-ing helpful and providbe-ing me with useful insights for my thesis. I would like to thank prof. dr. K.J. Roodbergen for being the supervisor and guiding me through the process of writing a thesis. His comments and feedback have been very helpful. Besides, I would like to thank the Co-Assesor dr. N.D. van Foreest. Finally, I would like to thank my family, friends and girlfriend for supporting me during the writing of this thesis.

Nick Jetten

April 24, 2012, Amsterdam.

(4)

Contents

1 Introduction and Problem Description 1

1.1 Introduction . . . 1

1.2 Context of the Research . . . 2

1.3 Research Objective . . . 4

1.4 Scope and Level of Detail . . . 4

1.5 Approach . . . 5

1.6 Structure of the Remainder . . . 5

2 Insights and Models from Current Literature 6 2.1 Scheduling Problem . . . 6

2.2 Queuing Theory and the Erlang-C model . . . 8

2.3 Simulation for call centers . . . 10

3 Data Analysis 12 3.1 Data gathering . . . 12 3.2 Arrival Patterns . . . 13 3.3 Processing Times . . . 16 3.4 Patience Time . . . 18 3.5 Shrinkage . . . 19

4 Model for a Multi-Skill contact center 21 4.1 Scheduling Problem . . . 21

4.2 A Simulation Model to Determine Staffing Levels . . . 23

4.3 Sensitivity Analysis . . . 27

4.4 Optimization Algorithm . . . 28

5 Results 30 5.1 Staffing Levels for the Front Office . . . 30

5.2 Shifts for the Front Office . . . 32

5.3 Staffing Levels for the Back Office . . . 34

5.4 Shifts for the Back Office . . . 35

6 Conclusion and Recommendations 36 6.1 Conclusion . . . 36

6.2 Recommendations . . . 38

(5)

Bibliography 40

Appendices 43

A Goodness of fit for Processing Times Distributions 43

B Deriving the Patience Time Distribution 45

C Welch Procedure 47

D Simulation Results 48

E Dashboard 50

(6)

Chapter 1

Introduction and Problem Description

1.1

Introduction

Nowadays contact centers play an important role in many businesses. Contact centers are extensions of the well-known call center and handle more than the traditional phone call; they also deliver service via fax, e-mail and even live web chat. A contact center is usually the only department of a company that communicates with its customers. For this reason, the customers’ perception of the company highly depends on the service such a center of-fers. Poor service offered to customers, might severely damage a firms reputation. In 2011 for example, customers complained online about the call center service of the telecommuni-cations company T-Mobile in the Netherlands, leading to an estimated reputation damage ofe 100,0001.

The T-Mobile case illustrates the growth of the influence of contact centers during recent decades. In the Netherlands almost 2.5% of the labor force is employed in the contact cen-ter industry nowadays2. This growth in contact centers together with the awareness of the

important role they play in our service-based economies gave rise to growing interest in con-tact center design, in the literature as well as in companies. The majority of the performed studies is related to the trade off between offered service and workforce costs.

For inbound contact centers service can be measured in two aspects: quantitative and qual-itative. Qualitative aspects are hard to measure, sometimes a short survey at the end of a phone conversation provides input for this matter. In this thesis we will merely focus on quantitative aspects. For a customer, quantitative aspects are, among others, the waiting time before an agent picks up and the response time for an e-mail. To measure these as-pects, contact centers often work with service level targets. A well-known service level cor-responding to phone calls is the 80/20 standard: 80% of the calls should be answered within 20 seconds. The abandonment rate is another important performance measure, representing the part of customers who abandon before they get served due to impatience. Clearly,

(7)

ing more agents will increase the service level and decrease abandons. Agents utilization’s levels will drop however, and salary costs will increase. The common approach is to min-imize the number of agents (and hence costs) given a pre-specified service target. Within this approach models from queuing theory are used to translate arrivals and service times to staffing levels. When these models become analytically intractable, simulation provides a reasonable alternative.

In this thesis we will determine the required number of agents per shift for the Customer Service Unit (CU) of KLM Cargo. This is a relatively small inbound contact center located at Schiphol, which employs 23 agents. They deal with the day-to-day contacts with the cus-tomers of KLM Cargo.

In the remainder of this chapter the problem context, objective, scope and approach are discussed. First the problem context is described, i.e. a brief introduction of KLM Cargo, the Air Cargo Industry and the Customer Service department is presented.

1.2

Context of the Research

This thesis is devoted to the Customer Service Unit of KLM Cargo. KLM Cargo is part of The Royal Dutch Airlines KLM (Koninklijke Luchtvaart Maatschappij), which were founded in 1919 and merged with Air-France in 2004, creating Air France - KLM (AF-KLM). Although AF-KLM is famous for its passenger division, the merger also created one of the world’s biggest Cargo operators, AF-KLM Cargo. Within AF-KLM Cargo, KLM Cargo handles all freight on the KLM aircrafts.

Some typical examples of air cargo products are cars, motorparts, vegetables, envirotainers (cooling containers), paintings and animals. These are all shipped via a similar supply chain (Figure 1.1), which is illustrated with a simple example. Suppose a son (the shipper), liv-ing in L.A., wants to transfer an expensive paintliv-ing to his dad, who lives in Hong Kong. He contacts a local transport firm, which is known as the forwarder. This firm delivers the package at the hub of KLM in L.A. and KLM carries it to Hong Kong. In Hong Kong another forwarder trucks the package to the dad, the consignee and here the supply chain of the air cargo industry comes to an end. An important aspect is the fact that the final customers (son and dad) do not contact KLM. The forwarders serve as an intermediate between the final customers and the airline. To be able to serve the final customers, KLM is constantly com-municating with these forwarding firms. For this reason, AF-KLM Cargo is present at about 170 airfields with a Customer Service Unit. These units handle the day-to-day contacts with the forwarders.

In the Netherlands there are four customer service offices of KLM Cargo: Aalsmeer, Eind-hoven, Rotterdam and Amsterdam. The largest office is the Customer Service Unit (CU) at Schiphol Airport, Amsterdam. This research is completely devoted to the Amsterdam office, which we will refer to as CU from now on. In total there are 23 employees at CU running

(8)

Figure 1.1: A typical example of an air cargo supply chain

different shifts, resulting in about 14 employees at the office on a regular workday. They handle the contacts with agents who represent large forwarders like UPS, DB Schenker and Kuehne-Nagel. To avoid confusion with the agents (employees) of CU, we will refer to these firms as customers. Customers contact CU regularly to make a cargo booking or to get a status update on a current shipment. The majority of the communication with customers is via phone or e-mail. CU is therefore categorized as a contact center rather than a call center, but throughout this thesis the terms call centers and contact center are used interchangeable. Besides transport firms, other departments within KLM also regularly contact CU. These de-partments might be other units of KLM Cargo at Schiphol or customer service units of KLM Cargo at other airports. To inform each other about flights, prices and bookings a worldwide IT tool called Cargoal is used. This tool has a message function to inform other departments directly if needed. When for example a shipment is offloaded due to a capacity reduction, another KLM Cargo department sends a ’Q-message’ to CU. An employee at CU reads this and informs the customer. Besides incoming e-mail and phone requests, these Q’s generate an important workflow.

(9)

Now some context is provided, the research objective is discussed in the next section.

1.3

Research Objective

Lately, customers are complaining about long waiting times for both e-mail and phone. Al-though the front/back division improved the service level, it is still far from the service level target. The management of CU aims for an 80% service level, which is defined as the per-centage of callers served within 20 seconds. In 2011, the average service level was only 30%. Moreover, employees at the back office can not complete all tasks during the day, resulting in complaints about high working pressure. Quantitative decission support is therefore needed for workforce decisions, which are currently based on gut feelings rather than offered work-loads. The objective of this thesis will therefore be to:

Gain insights into the workload at the Customer Service of KLM Cargo and construct a mathematical model to determine the minimum number of required agents per shift, such that all service level requirements are satisfied.

In the next section the scope and level of detail is determined. Hereafter, the approach to tackle the objective is discussed.

1.4

Scope and Level of Detail

To determine required staffing levels, a clear distinction is made between the three main tasks and all other tasks. The majority of the workload at CU is caused by the handling of phone, e-mails and Q-messages. Only these three tasks are included in our analysis. Other small tasks performed by CU agents are outside the scope of this research. With respect to the level of detail, distinctions are made between the three tasks and separated handling times and arrival patterns are estimated. Per task however, data is aggregated and not fur-ther segmented by product, request type or any ofur-ther category.

The goal is to get general insights in the workloads of these three tasks and to determine staffing levels and corresponding shifts such that targeted service levels are reached. Rather than determining a shift today for tomorrow, results are shifts per working day, which on average meet the service constraints. Forecasting is therefore out of our scope and the focus will be on a descriptive rather than a predictive analysis.

Once the number of agents per shifts is determined, a final problem is to actually assign agents to shifts. This is a rostering problem and this problem involves short term person-nel preferences, contracts and organizational requirements. In this thesis the focus is more towards the general scheduling problem rather than on the actual rostering of agents. This final step is therefore outside the scope of the research.

(10)

1.5

Approach

To finally determine the required number of agents per shift such that all service constraints are satisfied, three steps are included in this research:

• Estimating Arrival and Service Time Distributions • Staffing

• Scheduling

First of all, workloads are examined per task based on historical data. A further data analysis examines the distributions of arrivals and handling times. These distributions are input for the second step of our three-step approach. This second step yields the application of queu-ing models, which determine staffqueu-ing levels given a pre-specified service constraint. There are known analytical queuing models with exact formulas, but these are too limited in our situation in terms of input distributions. Therefore, a simulation model is developed which takes staffing levels as input and estimates the service level. An optimization algorithm is developed around this simulation model to determine minimum staffing levels such that the service level constraints are satisfied. For the front office, single period problems are solved separately. For the back office the same simulation model is used, but in a multiple-period setting, since e-mails and Q-messages are handled and queued over multiple periods. Once staffing levels are determined, the third step is to transfer these staff requirements to shifts. This is known as a scheduling problem, in which a set of admissible work schedules is first specified, and the decision variables are the number of agents of each skill group in each work schedule. Different scenarios are analyzed using this approach. Final results involve, among others, staffing levels and corresponding shifts per day of the week.

1.6

Structure of the Remainder

(11)

Chapter 2

Insights and Models from Current

Literature

To be able to eventually provide the minimum number of agents per shift given arrivals, service times and a service level target, the three step method as presented in Section 1.5 is applied. The first step yields the selection of distributions for the service times and ar-rivals. These distributions are input for the second and third step, staffing and scheduling. A general framework including these last two steps was provided by Cezik and L’Ecuyer (2008). They presented a nonlinear integer programming formulation of a scheduling prob-lem with service-level constraints. Within this framework, models from queuing theory and simulation are needed to determine staffing requirements for a single period. In this chapter we first introduce the general framework of Cezik and L’Ecuyer (2008). Hereafter, the stan-dard call center models from queuing theory will be introduced and insights of dealing with extensions of these standard models will be discussed. Finally, simulation models for call centers are discussed.

2.1

Scheduling Problem

To be able to present the nonlinear integer programming formulation defined by Cezik and L’Ecuyer (2008), let us first define the required variables. A contact center wants to minimize costs in such a way that the service constraints for all K job types are satisfied during the P periods of a working day. Agents can work in Q different shift types and belong to I different skill groups. Shifts are defined by a start, break and end time. We introduce a cost vector c = (c1,1, . . . , c1,Q, . . . , cI,1, . . . , cI,Q)twhere ci,qcorresponds to the costs of an agent of type i

hav-ing shift q. The vector of decision variables is defined as x = (x1,1, . . . , x1,Q, . . . , xI,1, xI,Q)t,

where xi,qis the number of agents of type i having shift q. The objective is to minimize total

costs, ctx, while service level constraints must be satisfied. To model these constraints, we introduce the auxiliary variables y = (y1,1, . . . , y1,P, . . . , yI,1, yI,P)twhere yi,p is the number

(12)

The scheduling problem now yields:

min ctx (2.1)

s.t. Ax = y

gk,p(y) ≥ lk,p for all k ∈ K, p ∈ P

gk(y) ≥ lk for all k ∈ K

x ≥ 0 and integer

The functions g(·) are the service levels per job type and can be specified either per period (gk,p(·)) or overall (gk(·)). They should at least equal the pre-specified target l. For example,

when considering the job type k in period p, for instance calls, the function gk,p(·)is defined

as the fraction of jobs k served within sk,pseconds:

gk,p(y) =

E(num. of calls answered within sk,pseconds in period p)

E(num. of calls in period p)

The functions gk(y)and gk,p(y)are generally unknown and too complicated to be evaluated

exactly. They are written as a function of y since the service level clearly depends on the number of agents. Values of the function g for different agent levels y can be approximated via queuing models or estimated via simulation models. Under the assumption that any staffing is admissible, the problem in (2.1) reduces to a staffing problem, which is a relax-ation of the above scheduling problem. In a staffing problem one determines the number of required agents per period.

min cty (2.2)

gk,p(y) ≥ lk,p for all k, p

gk(y) ≥ lk for all k

y ≥ 0 and integer

The vector y∗, which satisfies the service level constraints at minimum costs, is used to find an admissible work schedule, via a second step:

min ctx (2.3)

s.t. Ax = y∗

(13)

Note that the problem (2.2) is equivalent to p independent single-period problems when we only work with a single-period service level constraint. Furthermore, if we assume that ev-ery agent can only handle one skill, the single-period problem reduces to:

min cty (2.4)

gk(y) ≥ lk

y ≥ 0 and integer

The advantage of considering single periods problems, for instance hourly periods, is that we can assume that arrival rates are near-constant in such a short interval. During a whole day, the assumption of constant arrival rates would certainly not hold, since arrivals to call centers are typically time-varying. This results in a non-stationary arrival process, meaning that the underlying distribution changes when shifted in time. A rather intuitive concept which deals with these non-stationary arrival rates is known as the Pointwise Stationary Approximation (Green and Kolesar, 1991). This concept divides the day in a number of hourly or half-hourly periods and distributions are estimated per single period. After service times and arrival distributions are estimated based on available data, queuing models are used to solve the single-period problems (2.2) and determine required manpower y.

2.2

Queuing Theory and the Erlang-C model

Queuing models are theoretical models which mathematically define relationships among building blocks such as arrivals and services. In a queuing model for a call center, customers are callers, agents are servers and queues consist of callers that wait for service. In Figure 2.1 we see that callers are routed to a pool of identical agents when they are available for ser-vice. When all agents are busy, customers enter an invisible FIFO queue. The word ’invisible’ means that customers do not observe the actual length of the queue. This assumption is vio-lated when a voice message informs the customer about the length. Customers can abandon the queue when they are impatient and some of them give retrials and hence new arrivals later on. For an excellent introductory paper on queuing models in call center theory, we refer to Koole and Mandelbaum (2001).

The Erlang-C model is the most-widely used call center model and is denoted as M |M |n|∞ in Kendall notation. Kendall (1953) provided this shorthand notation to classify the input parameters of a queuing model. The first M stands for Poisson arrivals or, equivalently, exponentially distributed inter-arrival times. The inter-arrival time is the time between two consecutive arrivals and when inter-arrival times are exponentially distributed they are ’memoryless’. This entails that the time until the next arrival is independent of the waiting time that already elapsed. This kind of memorylessness is known as the Markov property,

(14)

Figure 2.1: Operational scheme of a call center

and hence the M . The second M refers to exponentially distributed service times and the small n denotes the number of available servers. Finally, customers are assumed to have infinite patience, which implies that no abandons occur. The popularity of the Erlang-C model is related to the availability of closed form expressions for the most-widely used per-formance measures. Even though actual data might counteract some of the assumptions in this model, it provides a fast benchmark. Computations are relatively easy and simple spreadsheet programs such as Microsoft Excel are sufficient to program and calculate the performance measures of the Erlang-C model for different inputs.

An important extension to Erlang-C is the Erlang-A model, in which abandonment is in-cluded, resulting in the M |M |n+M queue. An excellent overview of this model is presented by Mandelbaum and Zeltyn (2005). In the Erlang-A model an exponentially distributed pa-tience time is assigned to each arriving customer. The papa-tience time of a customer is the time he or she is willing to wait and abandonment occurs whenever the actual waiting time exceeds the patience time. For Erlang-A exact formulas for performance measures are also known, although they are sometimes too complicated and therefore, insightful approxima-tions are used.

(15)

Rather than closed form solutions, approximations for performance metrics under general service times have been provided by among others Hokstad (1993) and Tijms et al. (1981). Approximations are often based on simpler models such as the Erlang-C or a M |G|1 system. An even more general model relaxes on the assumption of Poisson arrivals, resulting in the G|G|nqueue. Whitt (1993) is one of the authors providing approximations for these mod-els. Similar to the choice for exponential service times, the standard assumption of Poisson arrivals is popular for its practical advantages. Moreover, the Poisson distribution expresses the probability of a given number of events in a certain time-interval. Intuitively, this is a perfect match with the arrival of calls or e-mails to call centers. A drawback of the Poisson distribution is its lack of flexibility. Empirical studies show that the variance in call center arrivals often exceeds the mean, a phenomenon known as overdispersion. The Poisson dis-tribution is not able to capture this since it assumes that both the variance and mean equal the distributions only parameter; λ. Avramidis et al. (2004) show that the negative binomial distribution better captures the overdispersion characteristic if present in arrival data. There are thus some analytical solutions and approximations for extensions of the Erlang-C model, but these are all focused towards simpler performance measures, single server queues or only include one relaxation at the time. When one wants to relax multiple assump-tions of the Erlang-C model in a multiple server setting, queuing models become analytically intractable and simulation provides an insightful alternative. In this thesis simulation is used to determine staffing levels since some assumptions of the Erlang-C are violated. Therefore the following section addresses simulation modeling for call centers.

2.3

Simulation for call centers

Simulation is a computerized tool to evaluate a model numerically, and data are gathered in order to estimate true characteristics and outputs of the model. The relevance of simu-lation studies for call centers is acknowledged in many papers. Koole and Pot (2005) state that when dealing with multiple skill agents, simulation is almost unavoidable. Aghari and Balcioglu (2009) draw similar conclusions with respect to incorporating priority customers and abandonment. Apart from being the only alternative, simulation can answer insightful ”What-If” questions and it can be used to analyze staffing levels found by queuing models (Koole and Pot, 2005). Especially discrete event simulation (for example Zapf (2004)) is an attractive alternative to perform such studies. Discrete-event simulation concerns the mod-eling of a system, as it evolves over time, by a representation in which the variables change at separate points in time (Law, 2007). In this thesis discrete-event simulation is used. An excellent overview of the requirements of simulation modeling and analysis is provided in the book of Law (2007), some important aspects addressed in this book are discussed in the remainder of this section.

First of all, to increase the confidence in a simulation model and its results, verification and validation procedures should be taken into account. Verification is the process of debug-ging the computer program of the simulation, ensuring that its implementation is correct.

(16)

Validation is the process of determining whether the simulation model is an accurate rep-resentation of the system. To verify a simulation model, a comparison with other (valid) models can be useful. To validate a simulation model, a comparison with data of the actual system should be carried out if possible.

After verifying and validating the model, it can be used to estimate output parameters, such as the service level when dealing with a call center simulation model. The method to es-timate these output parameters depends on the type of simulation model. In the case of a terminating system, meaning that the start and end of a simulation run are naturally de-fined, a number of runs is carried out. The estimate for the service level is the sample average of all these runs and confidence intervals around this mean provide information about the accuracy of the model. In a non terminating system, the focus is to estimate steady-state output parameters and a single long run is used for this purpose. The beginning of such a run however, will not be fully realistic since calls that arrive at the beginning of a run are probably not queued. To deal with this problem, the model should run for a warm-up pe-riod until it reaches steady-state and data from this pepe-riod should be deleted. The simplest and most general technique for determining the length of the warm-up period is a graphical procedure introduced by Welch (1983). This technique involves plotting a moving average for different time windows w until a reasonably smooth plot appears. In this final plot, the warm up length l can be determined graphically. It is the moment in the graph after which the performance measure stabilizes.

When the warm-up period is determined the method of batch means can be used to obtain a confidence interval. A single long run is carried out and the data of the transient period is excluded. The resulting observations are grouped into n batches of length k. A confidence interval around the actual service level can now be constructed using the per batch sam-ple average. In both terminating and non terminating simulation modeling, the maximum confidence half width is determined beforehand. The number of runs or the run length is sufficiently accurate when the half widths of the obtained confidence intervals are within the pre-speficied boundary.

(17)

Chapter 3

Data Analysis

In this chapter the available data at CU is discussed and underlying distributions are ana-lyzed. These distributions are used as input for the simulation model which is presented in Chapter 4. First, the process of data gathering and issues corresponding to available data are discussed in Section 3.1. In Section 3.2 the arrival patterns are discussed and Section 3.3 provides an overview of the processing times per task. In both sections, distributions are fitted to the data. The distribution of the patience time is discussed in 3.4 and finally the occupancy of agents is discussed in Section 3.5.

3.1

Data gathering

(18)

For e-mail and Q-messages no data was available at the start of the research. Together with a support department at KLM Cargo, we started creating hourly reports containing the num-ber of Q-message arrivals. For e-mail, a log system was implemented at CU in Octonum-ber 2011 to be able to count the number of e-mail arrivals. The data containing e-mail and Q-Message arrivals ranges from September to December 2011, resulting in about 15 observations per interval.

Similar to the number of arriving e-mails and Q-messages, the processing times correspond-ing to the messages were unknown. To be able to calculate processcorrespond-ing times for e-mail, an extension of the log system was implemented that enabled us to not only count, but also track e-mail messages. This extended log system was fully functional in December, and all e-mail actions for this month were logged and stored in one database. Unfortunately, de-termining e-mail handling times based on this database is far from trivial. The processing time of an e-mail normally equals the time between the first open event and the reply to the customer, but there are a number of issues which causing a bias in this workload. Some ex-amples are multiple employees opening the same e-mail, e-mails shipped between different e-mail folders before they are actually handled, e-mails which do not need a reply, etc. The sample of e-mails is filtered to rule out these issues, resulting in 429 e-mail processing times. The log database also enabled us to monitor e-mail performance in terms of the answer time for the customer, unlike phone calls, the service level target of 90% was reached for most days in the final months of 2011.

With respect to the handling time of messages a distinction is made between long Q-messages and short Q-Q-messages. The majority of Q-Q-messages (66%) contain only short sta-tus updates or are forwarded to other departments. The IT-tool which is used for the Q-messages does not allow the implementation of a log system similar to the log system for e-mails. Actual handling times are therefore obtained by a simple stopwatch, created in Mi-crosoft Excel 2007. Different agents at the back office used this stopwatch during different shifts. This stopwatch was only used for long Q-messages, since short Q-messages would cause agents to click every five or ten seconds. For the short Q-messages an average han-dling time of ten seconds is assumed. The results of the stopwatch measurements for long Q-messages are discussed in Section 3.3. Data regarding the answer times of Q-messages was unfortunately not available.

Before discussing the processing times of the different tasks, arrival patterns are examined in the following section.

3.2

Arrival Patterns

(19)

distributions are fitted to these counting processes. These distributions will be used as input for the simulation model presented in the next chapter.

The ACD reports mentioned in the previous section provide phone data over the year 2011 3.1. The workload shows a seasonal pattern, with peaks in February, June and December. The December peak occurs every year and is known as the busiest moment of the year at CU. The quietest period of 2011 was during the national summer holidays around the beginning of August.

Figure 3.1: Number of incoming calls per week in 2011

Since eventually staffing levels and shifts are determined based on historical data, the pres-ence of a trend in this data might influpres-ence the relevance of our results. A clear upward or downward sloping trend would provide shifts suitable for 2011, but would lead to over- or under staffing when these schedules are introduced for future periods. In Figure 3.1 such a trend seems absent and this is formally supported by a simple linear regression, which models the relationship between the dependent variable (number of calls per week) and ex-planatory variable (week of the year). The null hypothesis is no correlation between these two variables and the p-value denotes the probability of obtaining a test statistic at least as extreme as the one observed. It equals 0, 9081 for this regression and fails to reject the null hypothesis of no correlation. For e-mail and Q-messages, estimating long-term trends is not possible due to the limited dataset of three months. Let us continue the analysis by investi-gating weekly and daily patterns.

Examining the arrival patterns each day of the week (Figure 3.2, right), both similarities as well as differences between the three requests appear. For all job types it holds true that Friday is the busiest day and the weekend is quiet compared to weekdays. The weekend drop in arrivals is more severe however for e-mail and phone requests than for Q-requests. This is caused by different initiators of the requests. Unlike, e-mail and phone, other KLM departments rather than customers are the initiators in the process of Q-Messages. One level lower, each hour of the day, a clear nine to five pattern is found for phone and e-mail (Figure 3.2, left) requests. Note that the spread of e-mails and phone over the day is remarkably

(20)

Figure 3.2: Percentage spread of arrivals per task (left) and average number of incoming requests per type per

day (right).

ilar and that CU starts with a backlog every morning caused by overnight Q-messages. This spread during the day is also analyzed per work day, but no noticeable differences appear. The variation during the week and day suggests that a Pointwise Stationary Approach (Green and Kolesar, 1991) is suitable to model the arrivals, i.e. the day is divided in half-hourly periods and arrival distributions are estimated per single period. The Poisson distri-bution is used in the majority of empirical call center studies to model arrivals (See section 2.2). For all periods, the MLE (Maximum likelihood estimation) technique is used to find the λM LE which specifies the Poisson distribution. The description of this technique can

be found in most introductory statistical books, such as Rice (1994), and this method will be used to specify parameters for most distributions in this thesis. In the case of a Poisson distribution the maximum likelihood estimator equals the sample average and is therefore easily obtained from sample data.

Due to small (< 50) sample size, tests comparing observed and expected counts such as the Chi-Squared do not provide accurate results. Instead of statistical tests for the num-ber of arrivals, an alternative is to test whether the exponentially distributed inter-arrival times property of the Poisson distribution holds. This property states that when arrivals in an interval of length t are Poisson distributed with rate λ, the time between two successive events is exponentially distributed with parameter λ/t and vice versa. Unfortunately, the aggregation of the phone and Q data makes inter-arrival times invisible. The hypothesis of exponentially distributed inter-arrival times is therefore only tested for e-mails. For five dif-ferent intervals the sample of inter-arrival times is compared to an Exponential distribution, where λM LEequals the reciprocal of the sample mean. Table 3.1 provides the p-values for the

Kolmogorov-Smirnov goodness of fit test. In all cases the p-value is above a 5% significance level which implies that there is no reason to reject the null hypothesis of an underlying Exponential distribution. Therefore, from now on, we assume that e-mail arrivals follow a time-varying Poisson distribion.

(21)

Interval P-Value Monday, 9.00-9.30 0.3502 Tuesday, 13.00-13.30 0.6399 Wednesday, 16.30-17.00 0.3964 Thursday, 15.00-15.30 0.4236 Friday, 10.00-10.30 0.7841

Table 3.1: Kolmogorov-Smirnov p-values for e-mail inter arrival times. For five different intervals, the null

hypothesis of exponentially distributed inter-arrival times is not rejected at a significance level α = 0.05.

the mean. Since the Poisson distribution assumes an equal mean and variance, literature suggests the Negative Binomial counting model as an alternative way of modeling arrivals to call centers. In Table 3.2 the mean and variance for different intervals are presented. In-deed, the variance exceeds the mean in all cases, suggesting a Negative Binomial distribution would give a better fit for the phone data.

Interval Variance Mean

7:00-7:30 7.9 3.0

12:00-12:30 47.9 30.1

16:00-16:30 70.1 31.8

21:00-21:30 4.9 2.2

Table 3.2: The variance and mean for four monday phone intervals. Overdispersion is observed in all cases.

To summarize, statistical tests for counting data can not be used due to small data sets. For e-mails, strong evidence was found for exponentially distributed inter-arrival times, result-ing in Poisson arrivals. The overdispersion in the phone data suggests Negative Binomial arrivals rather than Poisson. The standard assumption of Poisson arrivals is used in this thesis. The simulation model presented in Chapter 4 will be used to test the influence of overdispersion by changing the arrival distribution to the Negative Binomial. Besides the arrival distributions, distributions for processing times are required by the simulation model as well. These distributions are discussed in the following section.

3.3

Processing Times

In Section 3.1 some issues regarding the data of processing times were discussed. For phone calls, processing time equals the time the conversation lasts plus possible after call work. These processing times are obtained from agent specific reports. For e-mails, processing times are derived using an e-mail log system and for Q-messages stopwatch measurements are used. Table 3.3 provides averages and standard deviations for the three tasks. Note that e-mails are the most labor intensive. E-mails often contain multiple bookings or questions which results in longer processing times.

An analysis of the average call processing time during the week and year provided no re-markable patterns. Although some variations are found in the average call processing time during the day, probably due to agents being less effective at the end of a working day, in

(22)

Task Average Processing Time Standard Deviation

Phone 2:40 2:21

E-Mail 4:01 5:10

Q-Message 2:29 2:22

Table 3.3: Average and standard deviation of processing times per task.

the remainder of this thesis it is assumed that the processing time distribution is stationary, i.e. it does not vary over time. Remember call by call processing times are gathered from different intervals in which agents only handle one call. This sample is too limited to esti-mate distributions for different intervals. In the remainder of this section, distributions are fitted to the sample of call processing times. Similar procedures were followed to determine distributions for e-mail and Q-message processing times. Results for these tasks are stated at the end of this section.

In call center literature, call processing times are often assumed to be exponential. This as-sumption simplifies the modeling process, enabling the use of analytical models. Figure 3.3 provides a fit of an Exponential distribution to our data. The histogram shows that the Expo-nential distribution places a higher probability on short service times. Note that the choice of interval width is important in this matter. Larger intervals might lead to a peak at the far left of the graph, suggesting the Exponential distribution provides a good fit. The comparison of the empirical and exponential cdf shows once more that the Exponential distribution is not able to capture the full character of the service time data. A test also rejects the null hypoth-esis that our sample has an underlying Exponential distribution with a p-value < 0.00001.

(a) Histogram with fitted exponential density (b) Empirical (dotted) and Exponential CDF

Figure 3.3: Exponential fit for λM LE = 1/160.

(23)

ex-ponential, but closer to lognormal. Using the statistical software package Easyfit (Math-wave (2004)) the sample is compared to different distributions, the lognormal distribution is ranked number one with a Kolmogorov-Smirnov p-value of 0.8579. Graphical inspection supports this finding (A.1 in Appendix A).

For e-mail and Q-messages similar procedures are carried out to determine the underly-ing processunderly-ing time distribution. The histogram containunderly-ing e-mail processunderly-ing times show a pattern quite similar to phone processing and the lognormal distribution provided a reason-able fit. This is formally confirmed by the 0.4931 p-value of the Kolmogorov-Smirnov test. Regarding the Q-messages, a shifted Exponential distribution captured the characteristics of the processing times. Messages that are forwarded have a very short handling time, but they are not included in the stopwatch measurements. This exclusion of short handling times results in a shifted distribution, with a Kolmogorov-Smirnov p-value of 0.4612. Appendix A contains graphs of the distribution fits for the processing times of e-mails and Q-messages. Thus, the lognormal distribution captures the characteristics of the processing times for e-mails and phone. For Q-messages a shifted Exponential distribution is found. These dis-tributions are selected as input disdis-tributions for the simulation model presented in the next chapter. A sensitivity analysis is provided here as well to examine the influence of these choices. Two more inputs are required for the simulation model: the patience time distri-bution and the average availability of the agents. These are discussed in the following two sections.

3.4

Patience Time

Every customer has a certain time he or she is willing to wait before abandoning the system, known as the patience time. Clearly, there is a difference between a customers patience time and the time he or she actually needs to wait. In the case of abandonment, the actual wait equals the patience time of a customer. For served customers, the actual wait is a minimum for their true patience. They waited until the moment of service but it is unknown how long they were actually willing to wait. This problem is known as right censored data; a data point is above a certain value but it is unknown by how much. To estimate the true distri-bution of censored data the Kaplan-Meier estimate is used. This method from survival anal-ysis provides an estimate of the survival curve, which is the complement of the cumulative distribution function. For a detailed discussion on survival analysis and the Kaplan-Meier estimate, we refer to the book of Klein and Moeschberger (2002). The data available at CU to estimate the true cdf of the patience time is very limited and is stated in Table 3.4.

Within ’x’ seconds

< 5 < 15 < 30 < 60 < 600

Served 13% 39% 54% 67% 100%

Abandon 7% 16% 28% 42% 100%

Table 3.4: Cumulative percentages of actual wait for served and abandoning customers.

(24)

Note that customers are relatively patient. Overall, 13.5% of the customers abandoned the ACD in 2011, resulting in only a fraction of 13.5 · 0.42 = 5.7% of customers who abandoned the queue within one minut. If we want to fit a distribution to the true patience time, all waiting times of served customers should be treated as censored data. The Kaplan-Meier estimate is calculated for the five available data points, Appendix B contains the details of the calculations. The major problem is that the Kaplan-Meier can only provide an esti-mate for the five available data points. The behavior of customers within the intervals is unknown. To obtain a theoretical distribution function based solely on these five points, additional assumptions are needed. The assumption of exponentially distributed patience is in accordance with literature and moreover it enables us to fully specify the distribution. The Exponential distribution is therefore selected and this enables us to determine the only parameter (λ) using a least squares estimator, i.e. we are finding the exponential cdf line which best fits the five points found by the Kaplan-Meier. Solving this least squares problem results in a λls= 0.0037. For details we refer once more to Appendix B. The average patience

equals 1/λls= 267.4seconds or equivalently 2:27 minutes.

To summarize, in 2011 13.5% of the customers abandoned the queue. Incorporating aban-donments in our simulation model is therefore important. Under the assumption of expo-nentially distributed patience times, the λ of the exponential cdf was estimated. In Chapter 4 a sensitivity analysis on the patience time distribution will be provided to examine the influence of this choice. Note that a patience time for Q-messages and e-mails is not needed, unlike phone calls these can not abandon the queue.

The final data requirement that needs to be discussed is the average availability of the agents. It is unfair to assume that agents are available 100% of their time. The determination of the average availibility is presented in the next section.

3.5

Shrinkage

(25)

Figure 3.4: Working hour for a front office agent

For agents at the back office it is not possible to derive shrinkage and occupancy percent-ages from the data. Under the reasonable assumption that they devote a similar amount of their time to small breaks, coffee etc, a similar shrinkage factor is assumed for agents at the back office. The simulation model presented in the next chapter will therefore incorporate a shrinkage factor of 20%.

Now, all inputs for the simulation model are discussed. The actual model is presented in the next chapter. Results corresponding to the execution of the simulation are described in Chapter 5.

(26)

Chapter 4

Model for a Multi-Skill contact center

In Chapter 3 arrival, service time and patience distributions have been discussed. In this chapter a model is presented to translate these inputs to staffing levels and eventually to actual shifts. First, the general framework of Cezik and L’Ecuyer (2008) as presented in Section 2.1 is adapted to the situation of CU in Section 4.1. The data analysis of Chapter 3 showed that analytical models such as the Erlang-C are too limited in our case, since we are dealing with non exponential service times and abandonments. Simulation is therefore used as an alternative and in Section 4.2 the simulation model is presented which can estimate the service level functions for given inputs. A sensitivity analysis for the different distribution choices is discussed in Section 4.3. Hereafter, an iterative algorithm is presented in Section 4.4 that determines staffing levels for the front and back office, using the simulation model. Eventually, these outputs will be transferred to shifts using the second step of Cezik and L’Ecuyer (2008).

4.1

Scheduling Problem

Since the smallest level of detail of the majority of our data is 30 minutes, 32 half-hourly periods (7:00-23:00) are used in the scheduling problem for CU. For Q-messages the data is aggregated per hour, but it is assumed that the load is equally spread over the hour. The load therefore equals half the corresponding hour load. We define K = 2 different job types at CU; Phone Requests(1) and Other Requests(2). Other requests are e-mails, short-Q and long-Q messages. Agents are divided in I = 2 groups; Front(F) and Back(B). Front agents only handle phone, while back agents handle all other requests. The service level constraints differ per job type and can be either per day or per period. For calls (k = 1), we work with a constraint per period p on the number of calls answered within 20 seconds. For the back office the target is to handle 90% of the requests within two hours, irrespective of the particular task (e-mail or Q).

g1,p(y) =

(27)

g2(y) =

E(num. of requests handled within 2 hours) E(total num. of requests)

The target at CU is an 80% service level for phone and a 90% service level for all other jobs. Front or back shifts are equally expensive and differences in costs due to irregular hours are ignored. Therefore, total costs cty equals total required manpower, since a unit cost vector

applies to CU. If we use the two-step procedure introduced in Section 2.1 again, the first step (2.2) model which determines the required manpower per hour can be presented as follows:

min ct(yf, yb) (4.1)

s.t. g1,p(yf, yb) ≥ 0, 8 for all p

g2(yf, yb) ≥ 0, 9

(yf, yb) ≥ 0 and integer

If we assume that front agents do not handle back tasks and vice versa, there is a strict front/back separation. This results in two independent models (4.2), since the service level g1(·)can be written as a function of yf only, and the service level g2(·)only depends on yb.

min X p ctyf s.t. g1,p(yf) ≥ 0, 8 for all p yf ≥ 0 and integer minX p ctyb (4.2) s.t. g2(yb) ≥0, 9 yb ≥ 0 and integer

Note that the problem for the front office (4.2, left) only includes a single-period constraint and hence the solution y∗f can be estimated by solving 32 single-period models separately. Since we are dealing with lognormal service times and abandonments, the Erlang-C assump-tions are violated and a simulation model is required to determine staffing levels per period. For the back office, only daily constraints are included, but the number of agents is allowed to vary during the day. This model is therefore solved in a multi-period setting. Since we are dealing with multiple tasks, multiple periods and different distributions, analytical models are again not useful and a simulation model is needed. This simulation model is presented in the next section and provides us with staffing levels yf∗ and yb∗. To translate these staffing level vectors to shifts, the second step, model (2.3), is adapted to the front office. For the back office the same model is used, with xf and yf∗ replaced by xb and yb∗.

(28)

min ctxf (4.3)

s.t. Axf ≥ yf∗

xf ≥ 0 and integer.

4.2

A Simulation Model to Determine Staffing Levels

The discrete event simulation package EM-Plant is used to build both the simulation model for the front office as well as the model for the back office. For the front office, a source gen-erates calls according to a Poisson arrival distribution and every single task follows the flow schematically depicted in Figure 4.1. To be more precise, as previously mentioned, Poisson arrivals are equivalent to exponentially distributed inter-arrival times. The simulation model generates arrivals according to intervals drawn randomly from an Exponential distribution. Upon arrival a service and patience time is assigned to the call. These are randomly drawn by the simulation program. The call waits in queue in a FIFO manner until an agent is idle. Before the call is actually routed to the agent, the model checks whether the patience time exceeds the time the customer has spend in queue. If this is the case, the call is routed to an agent and the call processing starts, otherwise the call abandons the model. When multiple agents are available for service, the call is routed to the agent idle for the longest time, which is in accordance with the call routing at CU. Before the customer is served or abandons the queue, all call statistics are gathered in a spreadsheet.

Figure 4.1: Flow chart of the simulation model

(29)

are the number of agents, target answer time (20 seconds), shrinkage level, inter-arrival distribution, patience distribution and service time distribution. An overview of all input distributions for the front and back office is presented in Table 4.1. Two differences between the front and back office should be mentioned. First of all, e-mails and Q-messages do not abandon the queue and hence a patience time equal to ∞ is assumed for all these requests. Second, the front office only includes a single task and hence a single arrival and service time distribution is sufficient. For the back office, the source generates tasks (e-mail/short Q-Messages/long Q-messages) according to different inter-arrival distributions and assigns service times depending on the type of request.

Front Office Back Office

Short-Q ∼ Constant (10)

Processing Time Phone ∼ Lognorm (µ = 160, σ = 141) Long-Q ∼ Shifted Exp (λ = 1/130, s = 20) E-mail ∼ Lognorm (µ = 237, σ = 323) Inter-Arrival Times Exp (λk,p= 1800/¯xk,p) Exp (λk,p= 1800/¯xk,p)

Patience Time Exp(λ = 1/267) Constant (∞)

Table 4.1: Inputs of the simulation models for the front and back office. The inter-arrival times are time

varying, and depend on the sample average arrival rate in period p for type k.

For both the front and back office, shrinkage is incorporated corresponding to the shrinkage factor of 20%, as derived in Section 3.5. The source in the simulation model therefore not only creates tasks but also unavailability periods of six minutes (20% of 30 minutes). These periods arrive with exponential inter arrival times, with a rate equal to the number of agents divided by 1800. Hence, if we have only one agent, the source creates an average of one unavailibility period per 30 minutes. If we have two agents, two unavailibility periods are created, etc. Similar to regular tasks, they follow the flow of Figure 4.1.

The major adjustment needed to switch from the front to back office is caused by the multi-period problem of the back office (4.2, right). Tasks are queued or handled over multiple periods and the number of agents available varies during these periods. Although the basic model concept is relevant for both the back and front office, a distinction needs to be made regarding the termination of the system. The simulation model runs in a non terminating way when modeling the arrival of phone calls, i.e. the situation of a single 30 minute period is simulated using a single long run. For the back office, multiple runs are executed in a terminating way, defined by a natural start and end, which are the open and closing time of CU. This multi-period setting causes some additional programming. An increase in the number of agents is easy to model, but when the number of agents decreases some addi-tional checks are required. This is to assure that agents do not work overtime. To clarify this, let us provide a simple example. Suppose an agents availability ends at 16:00 hour. If an agent starts with an e-mail at 15:50 which has a handling time of 40 minutes, allowing the agent to finish the task would result in an overtime of 30 minutes which is not accounted for. To solve this issue, some additional checks are carried out before the agent number is ad-justed (Figure 4.2). If both the number of agents in the current period and the number of occupied agents exceed the number of agents in the next period, all tasks currently assigned

(30)

to agents are moved back to the queue and the number of agents can be adjusted. Note that the queue works in a FIFO manner, based on the original moment of arrival. The tasks that are moved back to the queue originally arrived earlier than the tasks currently present in the queue. Therefore, these tasks are processed first. They are re-assigned to an agent for their remaining service time.

Figure 4.2: Schematic overview of the method which reschedules the agents in the simulation model

Before we can design experiments to run the simulation model, some technical aspects afore-mentioned in Section 2.3 need to be examined. First, the warm-up period and run length are determined. Second, the simulation model will be verified and validated.

Warm-up Period and Run Length

The key goal of our simulation is to estimate steady-state output parameters such as the ser-vice level. Welch procedure (Section 2.3) is used to determine the warm-up period, based on the average wait in queue. Since the warm-up might depend on the input parameters, different configurations of the simulation system are tested. Irrespective of the system con-figuration, the moving average of the wait in queue stabilizes after l = 40 and therefore, the first forty hours are excluded from the estimates for performance measures (details in Appendix C). The question that remains open is the length of the run after the warm-up pe-riod. The method of batch means (Section 2.3) is used to determine the run-length. Batches of eight hours are used, such that consecutive periods are independent. A single long run with a run length of 60 days (or equivalently 1440 hours) is sufficient in our case to assure a maximum confidence width of 2.5%. Confidences intervals are obtained as described in Law (2007) and are based on the Student’s t-distribution.

(31)

Model Verification and Validation

Verification is the process of debugging the simulation and assuring that the transfer from flowchart to computer program is correct. In our case, remember that the valid Erlang-C model can be used to calculate steady state performance measures under the assumption of exponential service times, zero abandons and 100% available agents. Clearly, our simulation model should provide results in accordance with Erlang-C when similar inputs are inserted. Using a simple spreadsheet program such as Microsoft Excel 2007, the steady state outputs of the Erlang-C are calculated and compared to our simulation model. The differences in service levels based on Erlang-C and our simulation model are small and in all cases the Erlang-C service level is included in the confidence interval (Table 4.2). The comparison with the Erlang-C therefore verifies the simulation model.

Settings Erlang-C SL Sim SL C.I.

3 Agents, Rate=20 70.4 70.1 [69.0 , 71.2]

5 Agents, Rate=30 87.9 87.1 [85.8 , 88.2]

7 Agents, Rate=40 94.7 94.4 [93.6 , 95.1]

Table 4.2: Confidence intervals for SL

Validating a model is often harder than the verification, since a comparison with the actual system is needed. Call by call durations are unknown and therefore we are unable to sim-ulate a day with precise data. On average however, given arrival rates, service times and average staffing levels of 2011, our model should predict a service level close to the actual service level found in the 2011 ACD reports. Rather than the service level an analysis of the fractions of served customers is examined, since this number was available in all 2011 ACD reports. For every half hourly period of a Monday, the 2011 staffing levels and arrival rates are input for our simulation model. The time-varying % of served customers found with our model is compared to the actual fraction of served customers in 2011 (Figure 4.3). Note that the patterns are reasonably similar. Differences might be caused by some aspects that are hard to model. For instance, sometimes the phone of an agent rings, but he/she does not answer and the call is sent back to queue. This might cause an abandon. Our model assumes agents always answer calls directly when they are idle.

To conclude, the model is verified using a comparison with the Erlang-C model. Validation procedures are considered as well. The model is a reasonable resemblance of the actual sys-tem, although there are some differences. The lack of actual call by call data disables us to further validate our model, which is a limitation of this research

(32)

Figure 4.3: A comparison of the fraction of served customers. The blue line represents the model predicted

fraction and the red line the fraction found in the 2011 ACD data.

4.3

Sensitivity Analysis

Wrong choices of input parameters can lead to under or over staffing. It is therefore im-portant to examine the influence of the different distribution choices to the outputs of the simulation model. This is called a sensitivity analysis and it is performed for the following inputs:

• Arrival distribution: Negative Binomial (Poisson-Gamma mixture) instead of Poisson, • Service time distribution: Exponential instead of Lognormal,

• Patience time distribution: Uniform instead of Exponential,

• Shrinkage: four small exponentially distributed unavailable periods instead of one fixed six minute period.

Section 3.2 described that the arrivals showed over dispersion, the variance exceeded the mean for different intervals. Until now we assumed Poisson arrivals but the influence of a change to the Negative Binomial distribution should be examined. To obtain inter-arrival times for a Negative Binomial counting model, a Poisson-Gamma mixture is used which is equivalent to Negative Binomial arrivals (see for instance Avramidis et al. (2004)). The λof the Poisson distribution is itself a random Gamma variable, where the parameters for the Gamma distribution are specified based on the sample of counting data. A random draw from this Gamma distribution provides the input parameter of the Poisson and con-sequently, λ/t is the parameter which specifies the exponentially distributed inter-arrival times.

(33)

situation and the influence of this change is examined as well. Four shrinkage periods are created per agent, with an exponentially distributed handling time of 1:30 minutes.

Although all these changes effect the service level, the final question is whether these effects are large enough to influence the sample average optimal outputs y∗f. The results of the sen-sitivity analysis are presented in Figure 4.4 and we can conclude that the effects do not lead to a change in the optimal number of agents, which equals six in all cases. With respect to our decision variable yf the model is therefore robust enough. Therefore, we continue under

the original assumptions.

Figure 4.4: Sensitivity analysis. The influence of distribution choices on the service level for different agent

numbers. The incoming call rate is equal to 30.

Note that this sensitivity analysis focusses on the front office. For the back office, patience times are irrelevant. The influence of the distribution choices for other inputs are similar or even less, as there is no need to directly answer the request.

4.4

Optimization Algorithm

The number of agents is an input parameter for the simulation model and it is the decision variable in the model (4.2). In this section we present an iterative algorithm that alternates between the scheduling problem, which takes service level estimates as inputs and deter-mines cost-minimizing staffing levels over the planning horizon; and the simulation model of the situation at CU, which takes as input the staffing levels determined by the schedul-ing problem and returns estimates of the service level functions g. A genetic algorithm is available for this matter in the software EM-Plant. We refer to the manual of EM-Plant for a detailed description of this algorithm (Technomatrix (2008)). Genetic algorithms are based on the principle of evolution. From a given set of solutions, the most successful ones are selected based on a fitness value. In our case the fitness value for the front office is defined as:

(34)

Fitness = 

1000 if g(yf) < 0.8

yf if g(yf) ≥ 0.8

Penalty costs are assigned in case the service constraint is not satisfied, if it is satisfied the fitness value equals the number of agents. For the back office a similar algorithm is used, but remember that the target here is 0.9 rather than 0.8.

(35)

Chapter 5

Results

In this chapter the final staffing levels and shifts are provided for the different days of the week. First, staffing levels and scheduling for the front office is discussed in Sections 5.1 and 5.2. Hereafter we discuss the results regarding staffing levels and scheduling for the back office in Sections 5.3 and 5.4.

5.1

Staffing Levels for the Front Office

The average rate of incoming calls per half hour at CU is time-varying and ranges from zero to a maximum of 40. For all these rates the required number of agents to reach an 80% ser-vice level is determined. In Figure 5.1(a) these results are presented. Figure 5.1(b) presents the actual service and occupancy levels, given the minimum number of agents required per rate. Note that there are sudden drops in occupancy level, together with sudden increases in service level. These are caused by an increase in the optimal staffing level due to the higher call rates.

Table D.2 in the Appendix provides the details of our results, some of them are mentioned here. The maximum number of agents needed at the front office equals seven. For a call rate of 40, a service level of 81.6% is reached with an occupancy of 68.6%. When the average call rate is below 14, the occupancy level drops below 50%. If CU wants to target the service level per period, assigning additional tasks to back agents might be interesting, increasing their low occupancy. The level of abandonment is around 5% in all cases.

(36)

(a) Required number of agents for different call rates

(b) Service and occupancy level for different call rates and corresponding optimal staffing levels

Figure 5.1: Optimal staffing levels based on simulation model.

(37)

Figure 5.2: Required staffing levels per half hour of the day for an 80% service level.

5.2

Shifts for the Front Office

The adapted second step of the framework of Cezik and L’Ecuyer as presented in model (4.3) is used to translate the staffing levels yf∗ into the minimum number of agents per shift, xf. The integer programming formulation is programmed in Microsoft Excel and the Solver

add-in is used to obtain the solution. For the weekend, the solution is easy. There is only one shift (9:00-17:00) and the maximum staffing level equals three for Saturday and Sunday. Therefore, three agents should be scheduled in the weekend. Per working day, the solution xfwith corresponding objective value, i.e. manpower, is presented in Table 5.1. The

schedul-ing of shifts results in severe over staffschedul-ing. This is caused, among others, by the lunch break of all shifts and the diner break of the 14:30-23:00 shift. Only two shifts cover the 17:00-18:00 period (the 14:30-23:00 shift and the 9:30-18:00 shift) and since agents on the evening shift (14:30-23:00) have diner between 17:00 hours and 18:00 hours, five or six agents are required for the 9:30-18:00 shift. The overcapacity level ranges from a minimum of 26 on Thursday to a maximum of 34.5 man hours on Friday. Apparently, the arrival patterns on Friday are hard to cover with suitable shifts.

The shifts are scheduled in such a way that even in periods with lunch or diner breaks, the minimum staffing level is reached. Clearly, this causes over staffing in periods without a break. Especially from 9:30 to 11:00 and from 14:00 to 15:30 over staffing is severe, for most days, eleven or twelve agents are planned during these periods where only six are needed. If the long breaks of agents are better spread over the day, the drop in overcapacity will be significant. For a Monday the influence of the breaks to the scheduling problem is investi-gated. If the shifts defined in Table 5.1 are used and we assume no breaks at all, a solution is obtained with only 9.5 hours overcapacity, compared to 31 in scheduling with breaks. Over-capacity is now concentrated from 14:30 to 15:30. Lunch breaks should then be scheduled within these periods. Logically, social aspects such as reasonable lunch times are important for the personnel at CU and therefore this solution might not be realistic, but it does show the enormous effect of breaks for the scheduling problem.

(38)

Shift Break Monday Tuesday Wednesday Thursday Friday 7:00-15:30 11:00-12:00 3 2 2 2 3 8:00-14:30 10:30-11:30 0 1 2 1 2 8:00-16:00 11:00-12:00 0 0 0 0 0 8:30-16:30 11:30-12:30 0 1 1 2 0 8:30-17:00 12:00-13:00 1 0 0 0 0 9:00-14:30 11:00-12:00 2 2 1 1 1 9:00-17:00 12:30-13:30 0 0 0 0 0 9:00-18:00 13:00-14:00 0 0 0 0 0 9:30-18:00 13:00-14:00 5 5 5 5 6 14:30-23:00 17:00-18:00 3 3 3 3 3 Total Hours 99 96.5 97.5 99 105.5 Needed Hours 68 68.5 68.5 73 71 Overcapacity 31 28 29 26 34.5 # Shifts 14 14 14 14 15 # Different Shifts 5 6 6 6 5

Table 5.1: Required number of agents per shift. The overcapacity equals the total manpower used minus the

actual needed manpower.

To reduce the overcapacity, new shifts should be defined that have a break within the overca-pacity periods 9:30 to 11:00 or 14:00 to 15:30. Let us define two shifts that return some inter-esting results. The first one is a 11:00-19:00 shift, with a break from 14:30 to 15:30. The second one is a 13:00-21:00 shift, with a break time from 15:30 to 16:30. Solving the scheduling prob-lem using these shifts provides the results stated in Table 5.2. Note that the 11:00-19:00 shift is used for all days, the 13:00-21:00 shift is only used on Friday. The average reduction in overcapacity due to the introduction of these shifts is enormous and equals 46.8%.

Shift Break Monday Tuesday Wednesday Thursday Friday

11:00-19:00 11:00-12:00 3 2 3 3 3

13:00-21:00 10:30-11:30 0 0 0 0 1

Overcapacity 14 11.5 18 13 22.5

Table 5.2: Usage of two new shifts. The overcapacity equals the total manpower used minus the actual needed

manpower.

To summarize, translating staffing levels for the front office to schedules, results in severe overcapacity. This is mainly caused by the scheduled breaks of agents. An increase of flexi-bility in terms of lunches more spread out over the day results in significant improvements. Moreover, shifts that have a break scheduled in periods of over staffing are an interesting option for CU, reducing over capacity by 46.8%.

(39)

5.3

Staffing Levels for the Back Office

In this section staffing level results for the back office are discussed. To explain the results, the situation of a Friday is investigated. Remember that hourly periods are used for the back office to reduce the number of possible solutions. If we assume that any staffing is admis-sible, the best solution found by the genetic algorithm for a Friday contains 46 man hours and the staffing vector is the blue line in Figure 5.3. Note that in this solution zero agents are staffed from 20:00 to 21:00. Apparently, the agent staffed from 21:00 to 23:00 is able to solve the majority of the requests coming in after 20:00. The solution presented here is not unique. Manually adjusting the solution, for instance by setting yb,20−21 = 0and yb,21−22 = 1leads to

a similar objective value and still satisfies the service level constraint.

Figure 5.3: Staffing levels for the back office for a Friday. The blue line is the solution of the genetic algorithm

without constraints on the number of agents per period. The red line uses a maximum number of four agents per period. The green line is staffing needed if the idle time of front agents is assigned to e-mails and Q-messages in the evening.

With respect to scheduling purposes, the fluctuations in the staffing vector y∗b during the day might cause over staffing. To obtain a smoother staffing vector ybthe algorithm is executed

again with an additional constraint; 1 ≤ yb,p ≤ 4 for all p, which results in the red line of

Figure 5.3. Important to note here is that the objective value still equals 46. The constraint therefore does not increase the required amount of manpower while the staffing levels dur-ing the day are more constant now. Note that in the final three periods only one agent is sufficient to solve most requests at the back office.

Remember that the occupancy of front agents was poor in the evening, with an average of 32.1%after 18:00. An interesting question is therefore whether the idle time of the front agents in the evening of the schedule x∗f is sufficient to take over the back tasks from the current scheduled agents in y∗b. For all days, three front agents are scheduled from 15:30 to 23:00 with a break from 17:00 to 18:00. The influences of front agents working on back tasks are investigated for the Friday data. To model this, we run the simulation for the back

Referenties

GERELATEERDE DOCUMENTEN

The results show that for a period up to three years ahead the forecast errors of the policy enriched forecasts are smaller than those of alternative basic time series models,

In electrical power sys- tems such distributed generation units influence the operation of existing protection and voltage regulation systems, power quality, stability and safety..

Tevens kunnen schuldgevoelens een trigger zijn om een mantelzorger te worden, bijvoorbeeld omdat de mantelzorger denkt dat het van hem/haar verwacht wordt, of omdat er niemand

Figure 4. Protein expression levels of SOD2, Calreticulin, PRX1, Fascin, TrpRS, CTSS, PA28beta and Stat5a. Immature DCs were submitted to 4 different maturation protocols for

1) The general manager finds it difficult to define the performance of the physical distribution and reverse logistics at Brenntag. This makes it impossible to ensure that

It turns out that in the short term (up to four years ahead) our forecasts have smaller or similar forecasts errors as the forecasts produced by simple time series models.. In

Nou, ik denk dat het CIT een onderdeel is van de organisatie die we heel erg nodig hebben om live te gaan, maar die zich daar eigenlijk vanaf het begin af aan niet gekend heeft

Next to the SLAs, relevant input parameters for the model to determine the required manpower of the Service Desk RFLP are: the arrival pattern of phone requests and e-mails -