Performance Analysis and Optimization in Customer Contact Centers

4

Click here to load reader

Transcript of Performance Analysis and Optimization in Customer Contact Centers

Page 1: Performance Analysis and Optimization in Customer Contact Centers

Performance analysis and optimization in customer contact centers

Ger KooleVrije Universiteit, Department of Mathematics

De Boelelaan 1081a, 1081 HV AmsterdamThe [email protected]

Abstract

We discuss performance models for telephone call cen-ter, or more generally, customer contact centers. These per-formance models are used for workforce planning. We dis-cuss current practice, and discuss its weak points. Finallywe discuss ways to plan better and put this also in the con-text of contact centers with multiple skills and communica-tion channels.

1. Introduction

A call centeris a collection of resources (typically agentsand ICT equipment) capable of handling customer contactsby telephone. If the call center handles not only telephonecontacts but also contacts by fax, email, and so forth, thenit is usually called acustomer contact center.

The objective of a call center is usually to obtain at leasta certain minimal service level (SL) for minimal costs. TheSL will in general consists of multiple criteria, some ofwhich are related to the quality of the actual service thatis delivered; some are related to the time before acustomerservice representativeor agentis reached: the waiting time.We will concentrate on SL metrics that have to do with wait-ing times, although there is a relation between the effec-tiveness of the service delivered and the waiting time (e.g.,when the wrong answer is given, the customer calls backlater, thereby increasing traffic). The most usual way to de-fine service level is by taking a percentageα and a numberafor which must hold:α% of the customers must have a wait-ing time shorter thana seconds. Often we see values suchasα = 80 anda = 20 (the ‘industry standard’, for whatit’s worth). Whether this service level must hold for everytime interval, or on average over the whole day, is not al-ways clear.

Another way to define service times is by the number ofabandoned calls. Customers abandon because they do not

have the patience to wait for a agent to be available. Cus-tomer patience typically averages one minute. Of course thefraction of abandoned calls is strongly related to the wait-ing time; often call center managers will choose the ser-vice level parametersα anda such that abandonments oc-cur rarely. Percentages up to 3 or 5% are often consideredacceptable.

Let us now consider the costs. Highest are personnelcosts, they usually account for 60 to 70% of the total costs.Other important types of costs are the costs of ICT equip-ment and telephone costs; the latter depends strongly onwho pays for the incoming calls.

In the next sections we discuss quantitative methods use-ful to call center management. We start with performancemodels. Then we move on to a question that is very rele-vant to call center managers: how to schedule agents suchthat SL and cost constraints are satisfied? In the final sec-tion we discuss the shortcomings of the scheduling methodand show in which directions solutions have to be sought.

Let us say a word on the available literature before mov-ing to performance measures. Call centers already exist formany decades, but recently the number of call centers andtheir size increased dramatically. The number of papers oncall centers in the scientific literature reflects this situation:although there always have been publications in OperationsResearch journals on this subject, this number has increasedsignificantly over the last few years. In Gans et al. [4] a re-cent overview of the call center literature can be found.

2. Performance models

The basic model for a call center is the Erlang C orM |M |s model. Consider a certain interval with on aver-ageλ arriving calls per time unit, an average call holdingtime of β, ands agents. Ifλβ < s, then there is a proba-bility (usually denoted byC) that an arbitrary arriving callgets blocked. And if a call gets blocked, then the waitingtime has an exponential distribution with parametersµ− λ(with µ = β−1). Using this the service level can be approx-

Page 2: Performance Analysis and Optimization in Customer Contact Centers

imated. There is no need for the users to implement the for-mulas themselves: there are many so-calledcall center cal-culatorsfreely available on the internet.

There are a number of reasons why the Erlang C formulamight give bad approximations for the actual SL: the arrivalrates and the number of agents varies, the service times arenon-exponential, the number of lines is finite, and waitingcalls abandon. We discuss them one by one.

Stationarity Arrivals in call center occur according to aPoisson process with a varying rate, and also the numberof scheduled agents varies over time. The Erlang formula isvalid under stationarity which assumes non-varying param-eters, in contradiction with the above. The standard solu-tion is to assume that the parameters are all piece-wise con-stant, and to apply the Erlang formula to each interval usingthe parameter values belonging to that interval. Often 15-minute intervals are taken. Thus we do not find a station-ary situation; however, experience shows that this type ofstochastic processes converges fast to its equilibrium state,meaning that in general we can take the stationary situationas approximation.

Service timesIn reality service times are not exponential.However, in all commercial software tools service times areassumed to be exponentially distributed, and practice showsthat this is in general a good approximation.

Number of linesThere is a limited maximal number of con-nections between the call center and the public network. Ev-ery customer that is connected to the call center is using aconnection, even while waiting. It can be the case that thenumber of lines is chosen such that even during peak traf-fic blocking rarely occurs; in that case an infinite numberof lines (as in the Erlang C) is a very good approximation.In other situations the number of lines might have a signifi-cant influence on performance.

AbandonmentsAs callers wait they tend to abandon; an av-erage patience of 1 minute is no exception. Modeling aban-donments is crucial, unless the service level is so highthat abandonments rarely occur. Modeling abandon-ments also makes the model more robust: even in overloadsituations (i.e.,λβ > s) the SL is well defined. Usu-ally the patience is assumed to be exponential, the result-ing model is sometimes called the Erlang A model. Thereexist a number of proprietary implementations of the Er-lang A (including the possibility of having a finite numberof lines, known under the names of Merlang or Hills-B). Atool in which this model is implemented can also be foundon http://www.math.vu.nl/ ∼koole/ccmath .Whitt [5] recently showed that the patience distribu-tion can have a considerable impact on the performance.The phenomenon ofredials remains until now almost un-explored.

3. Optimization

The Erlang formula, or one of its generalizations, is thestarting point of the management of the workforce. Manag-ing this workforce in such a way that service level targetsare met and that costs are minimized is the subject of thissection. This operational task consists mainly of schedul-ing agents such that there are enough agents at each timeinterval to meet the desired service levels. Decision Sup-port Systems exist to support this task. We discuss the typi-cal operation of this type of tool.

The first step of workforce management (WFM) is pre-dicting the load of the system. Predicting call volume onthe basis of historical data is quite difficult due to the di-versity of events that have to be taken into account, rangingfrom special holidays to the introduction of new productsthat influence the number of calls. The forecasting step re-sults in predictions of the arrival rate for each interval thatthe call center is operational.

Based on these predictions the minimum number ofagents needed to reach the service level for each intervalcan be calculated, using (a generalization of) the Erlang for-mula. From this daily schedules can be made using a setof standard shifts. This is done using some optimizationmethod. There can be numerous different shifts, dependingon starting times, lengths and the moments of the breaks.

After the minimum occupancy levels have been trans-lated into shifts, these shifts have to be assigned to agents.Often there are different groups of agents with for exampledifferent shift lengths. By assigning upper and lower boundsto certain categories of shifts this can be accounted for. Of-ten agents can choose from the shifts based on their per-sonal preferences.

By now we have a complete picture of the standard ap-proach in which the problem is decomposed into four steps:call volume estimation, calculation of minimum number ofagents, determining shifts, assigning agents to shifts. Wefind this approach in many software packages that are es-pecially designed for this task.

4. Planning in practice

Planning does not stop when all shifts are assigned toagents. Sometimes updates are made, and during the exe-cution the SL is monitored and measures are taken if nec-essary. This occurs rather frequently, because often the of-fered load deviates considerably from the forecast, or be-cause the number of agents is lower than planned, due forexample to illness. Of course the latter is accounted for inthe planning: the number of agents needed according to theErlang formula is raised by a percentage called theshrink-age. However, this is a fixed number, and the actual absencebecause of illness and other reasons varies from day to day.

Page 3: Performance Analysis and Optimization in Customer Contact Centers

Because the actual absence cannot be predicted at the mo-ment the schedule is made the average is taken. The fluc-tuations make ad hoc decisions at the latest moment neces-sary.

Similar arguments apply to the offered load. The load isinfluenced by external factors that cannot be predicted inadvance. Sometimes a higher offered load can only be pre-dicted from the load in the previous intervals: the differencebetween actual and average load shows a positive correla-tion between successive intervals (Avramidis et al. [1]). Aworst case approach at the time the schedule is made leadsto structural overstaffing and thus to high costs.

The way to deal with these, at the time the schedule ismade, unpredictable fluctuations is adding enough flexibil-ity to the whole process such that changes can be made tothe schedule as soon as better load and agent availability es-timates are available. We discuss a number of ways to addflexibility to the process.

Flexibility in agent contractsWith flexibility in agent con-tracts we mean that for certain agents we can decide on avery short notice (e.g., at the beginning of the day) whetherwe require them to work or not (overtime is discussed later).Of course they get paid for being available, and often theyare guaranteed a minimum number of working hours perweek. This is an excellent solution to deal with variabil-ity in arrival rate and absence, but it is also costly: flexi-ble agents are more expensive than agents with a fixed con-tract. It is therefore necessary to quantify the need for flex-ible agents. This can be done by giving bounds to the ar-rival rate and the absenteeism and to determine the mini-mal and maximal required workforce from this. The differ-ence between the two should be filled in using the flexibilityin contracts, or by other means that are discussed below.

Flexibility in task assignmentIntroducing flexible contractsgives us the possibility to handle days with a higher thanusual traffic load. If the peaks are shorter, in the order ofan hour, then we cannot require agents to come just for thisshort period of time. Sometimes it is possible to mobilizeextra workforce by having personnel from outside to workin the call center. Although this seems a simple solution foremergency cases, one should realize that the extra agentsshould be trained and that the telephony and IT equipmentshould be in place to accommodate all agents. Again, thecosts are considerable.

Another way of introducing flexibility in tasks assign-ment is as follows. Nowadays customers use increasinglyinternet-based communicationchannelssuch as email andweb forms. The SL requirements for these contacts are dif-ferent from telephone contacts: they usually have to be an-swered within one day. This means that agents who arescheduled to deal with contacts with less tight SL require-ments are shifted to inbound traffic if the load requires this.If this is done dynamically and on a per-call basis then this

is called (call)blending. This gives theoretically the bestperformance, but the efficiency of agents is reduced and itdemands adaptations in the software that manages the callcenter. For these reasons a change in task assignment is usu-ally planned for several intervals at once.

Note that in case of a shift in task assignment to inboundcalls the “low” SL channels should be planned later, to avoidanswering late and to avoid additional traffic from customerwaiting for an answer to their email. This can typically bedone in overtime. Note that the above is a good reason tostimulate customers to use email instead of the telephonefor their contacts. This can be done by refering to the web-site in the welcome message, by charging for telephone con-tacts, and so forth.

Multiple skills When the number of contacts grow in a callcenter the moment occurs that certain agents specialize incertain skills. This increases the effictiveness and efficiencyof agents, and reduces training costs. On the other hand, thecall center is split up into smaller call centers, each withtheir own skill. Thus there are less economies of scale andthere is less flexibility, as each agent can only handle a sub-set of the customer contacts. For this reason certain agentsare cross-trained. These cross-trained agents can be sched-uled in two ways, similarly to the way multi-channel agentsare scheduled: they receive dynamically calls requiring dif-ferent skills, or they are scheduled during one or more in-terval for the same skill. Again, dynamically assigning callsrequiring different skills is best from a theoretical point ofview. However, this decreases the efficiency and agents of-ten have a preferred skill. Thus there is a trade-off betweeneconomies of scale and single-skill efficiency. (And whenthe economies of scale play a big role, then perhaps out-sourcing is cheaper as the outsourcer probably can achieveeconomies of scale.) Note that finding optimal dynamic as-signment rules is a challenging high-dimensional optimiza-tion problem, for which the current methods are not suit-able. Only for restricted classes of routing policies approx-imations exist (Chevalier & Tabordon [3]). In practice it isoften best to give an agent always a single type of calls, butto vary this type over the day depending on load and occu-pancy. Having cross-trained agents also gives the possibil-ity to react to changes in load on one of the skills. Accord-ing to Chevalier et al. [2] 20% cross-trained agents sufficesin standard situations.

References

[1] A. Avramidis, A. Deslauriers, and P. l’Ecuyer. Modeling dailyarrivals to a telephone call center.Management Science, 2004.To appear.

[2] P. Chevalier, R. Shumsky, and N. Tabordon. Routing andstaffing in large call centers with specialized and fully flexi-ble servers. Submitted, 2004.

Page 4: Performance Analysis and Optimization in Customer Contact Centers

[3] P. Chevalier and N. Tabordon. Overflow analysis and cross-trained servers. International Journal of Production Eco-nomics, 85:47–60, 2004.

[4] N. Gans, G. Koole, and A. Mandelbaum. Telephone call cen-ters: Tutorial, review, and research prospects.Manufacturing& Service Operations Management, 5:79–141, 2003.

[5] W. Whitt. Engineering solution of a basic call-center model.Management Science, 2004. To appear.