You are on page 1of 6

A Novel Agent Scheduling Approach for Multi-skill

Call Center
Wei Yang, Fei Zhao, Qiang Su
School of Economics and Management
Tongji University
Shanghai, P. R. China
yangvmail@163.com

Abstract—To now, agent scheduling for a multi-skill call useful in real practices.
center is still a unsolved problem. The deployment of multi-skill
agents and the evaluation of service level are the most critical and In this paper, a novel multi-skill agent scheduling approach
difficult issues. Some related studies try to solve the problem is proposed. It consists of a scheduling algorithm and the
utilizing heuristic algorithm supported by simulation analysis. evaluation function. The evaluation function describes the
However, since the simulation analysis is required for each round relationship between the service performance and the key
of heuristic calculation, the computing efficiency is too low to be parameters (e.g. arrival rate and service rate). It is derived
useful in real practices. In this paper, a novel agent scheduling utilizing simulation analysis. According to the function, the
framework is proposed which consists of two interactive scheduling algorithm can work independently to search out the
modules: (1) simulation module is used to derive the evaluation optimal solution. This approach does not need the interaction
function that describes the relationship between the service between simulation and heuristic searching. As a result, the
performance and the key parameters, e.g. arrival rate and service computing efficiency can be improved significantly.
rate. (2) A scheduling algorithm module is used to search out the
optimal solution accordingly. This approach does not need the The rest of the paper is organized as follows. Section 2
interaction between simulation and heuristic searching. As a presents the new optimization framework for agent scheduling.
result, the computing efficiency can be improved significantly. In Section 3 and Section 4, the scheduling algorithm is
elaborated. The scheduling model is developed and the
Keywords—call center; multi-skill; agent scheduling; optimization algorithm is constructed and validated with a case
performance evaluation study. In Section 5 and Section 6, the evaluation function
module is proposed. Some evaluation indicators are set forth
I. INTRODUCTION and the evaluation function is derived based on a series of
simulation experiments. Finally section 7 concludes the paper.
The call center is the preferred and prevalent way for many
companies to communicate with their customers [1]. It has
made a rapid development in recent 20 years. Nowadays, call II. NOVEL AGENT SCHEDULING FRAMEWORK
center managers are increasingly expected to deliver both low In the traditional scheduling optimization framework,
operating costs and high service level. To meet these simulation model is used to mimic the deployment of multi-
potentially conflicting objectives, they are challenged with the skill agents and the service processes. The scheduling solutions
agent scheduling problem. They should deploy the right generated by a scheduling algorithm will feed into the models
number of agents with the right skills to the right schedules in as a set of inputs. The model then evaluate the system
order to meet an uncertain, time-varying demand for service performance though experimental runs. With the information
[2]. provided by the simulation model, the scheduling algorithm
For a multi-skill call center, the agent scheduling problem will modify to search better solutions, which again are
is very complicated since the skills of different skill groups evaluated via simulation. The system iterates in such cycles as
could overlap [3]. Since multi-skill agents can serve more than solutions continue to improve until either optimization goal is
one type of calls, it is hard to determine how many of multi- achieved or some stopping rule satisfied (shown in Fig.1). In
skill agents should be allocated in each period of time. It also this process, since simulation analysis is required for each
makes the evaluation of the service level a difficult issue [4]. In round of heuristic calculation, the computing efficiency is too
some recent studies, simulation model is embedded in the low to be useful in real practices.
heuristic searching to solve the multi-skill agent scheduling Scheduling Scheduling
problem [5, 6]. Simulation is an effective technique to mimic algorithm algorithm
the deployment of the multi-skill agents and to evaluate the Output
service level. However, due to the complexity of the models
and the tedious interaction between the simulation and the Simulation Simulation
heuristic searching, the computing efficiency is too low to be models models

Fig. 1. Traditional scheduling optimization framework


This research is funded by the Natural Science Foundation of China
(NSFC) (Grant ID: 71090404 and 71072026).

978-1-4799-3134-7/14/$31.00 ©2014 IEEE


In this paper, we attempt to develop a scheduling approach Nps—the demand of agents with skill s in time period p,
that can not only maintain the advantage of simulation but also p ∈ {1, 2,..., P} , s ∈ {1, 2,..., S }
have a higher computing efficiency. Since the inputs fed into
simulation model will result in some outputs, we assume that Nw — the number of agents in work team w,
there may be a relationship between some key system
w ∈ {1, 2,..., W }
parameters (inputs) and the service performance (outputs). We
call it scheduling evaluation function. If the function can be Tw — the number of working periods of work team w,
derived, the scheduling algorithm can calculate the service
performance directly with the given parameters. In other w ∈ {1, 2,..., W }
words, the optimization does not need the interaction between
simulation and heuristic searching. As a result, the computing Ywg—Ywg= {0, 1}, if the work team w has the skill g, Ywg =
efficiency will be improved. To this end, a new optimization 1, if not, Ywg = 0
framework for agent scheduling is developed (shown in Fig.2). Ygs—Ygs= {0, 1}, if the skill group g has skill s, Ygs = 1, if
There are two important modules in this framework. (1) not, Ygs = 0
Simulation and statistical analysis are used to derive the Ywp—Ywp = {0, 1}, if the work team w works in the time
evaluation functions. (2) A robust search algorithm is
period p, Ywp = 1, if not, Ywp = 0
developed to search out the optimal solution accordingly. In the
following sections, we will respectively introduce a “dynamic Spgs—the number of agents that the skill group g allocated
set covering algorithm” we designed for scheduling and the to serve s type calls in time period p
construction of the simulation based evaluation functions. In a
further research, we will try to integrate them according to the Npg—the total number of the agents within skill group g
framework to validate the improvement of the computing which worked in time period p
efficiency.
Sps — the total number of agents that the skill groups
allocated to serve s type calls in time period p
III. DYNAMIC SET COVERING MODEL
Xw — decision variables, the work start time of the work
In this section, we formulate the agent scheduling model
team w
which will be used in the algorithm. The objective is to
minimize the weighted sum of the overstaffing and Zp—the weighted sum of the overstaffing and understaffing
understaffing. Overstaffing and understaffing are important in time period p
evaluation measures for the multi-skill call centers. Although it
is not accurate enough to reflect the real operation of the call Mp—the overstaffing in time period p
centers, the results are helpful for this study. In the one hand, as
Lp—the understaffing in time period p
a tentative research, it can help us to validate the effectiveness
of the scheduling algorithm. In the other hand, in the further The scheduling models for one time period p are shown as
research, the results will also be considered besides the service follows:
level and staff utilization.
min Z p = w1 M p + w2 L p (1)
A dynamic set covering method is used in this model to
deploy the multi-skill agents. We assume that the arrival calls Subject to:
are served firstly by the single skill work groups, if there exist S
demand unsatisfied, the multi-skill groups will deploy agents to M p = ∑ M ps , ∀p ∈ P (2)
“cover” these demand. s =1

We first define the following notation: S


L p = ∑ L ps , ∀p ∈ P (3)
N—the total number of the agents in the call center s =1

S—the total number of call types M ps = S ps − N ps , ∀p ∈ P, ∀s ∈ S , S ps ≥ N ps (4)


G—the number of possible skill groups, G=2 -1 S
L ps = N ps − S ps , ∀p ∈ P, ∀s ∈ S , S ps < N ps (5)
W—the number of work teams; the agents in one work S
team have the same skills N pg = ∑ S pgs , ∀p ∈ P, ∀g ∈ G , ∀Ygs = 1 (6)
s =1
P—the number of time periods in one day
G
S ps = ∑ S pgs , ∀p ∈ P, ∀s ∈ S , ∀Ygs = 1 (7)
Scheduling Output
g =1
Simulation based
algorithm
evaluation functions w1 and w2 are the weight coefficients. Mps and Lps
respectively represent the overstaffing and understaffing for the
Fig. 2. New scheduling optimization framework
s type calls. For an overall scheduling in one day, the models A. Erlang-A Model
are shown as follows: Erlang-A model is used to forecast the demand of the
P workforce. “A” means abandonment. It is the theoretically
Z = min ∑ Z p (8) simplest and practically most feasible way to account for
p =1 customers’ impatience. It supposes that each arriving caller is
equipped with an exponentially distributed patience time.
Subject to:
Customers abandon when their required waiting exceeds their
min Z p = w1 M p + w2 L p (9) patience.
W
B. Algorithm Design
S pg = ∑ Ywg × N w × Ywp , ∀g ∈ G , ∀p ∈ P (10)
w =1 A genetic algorithm is designed in this paper. Considering a
64 time periods scheduling problem (7:30~23:30, 15 minutes
G
each period), a chromosome consists of 64 genes. Each gene
∑Y
g =1
wg = 1, ∀w ∈ W (11)
represents one work team, and the gene orders represent the
time periods. The population size we set is 200. A roulette
P selection is used to select chromosomes; then a uniform
∑Y
p =1
wp = Tw , ∀w ∈ W (12) crossover with probability 0.9 is used to perform crossover
operation, and a random gene reverse rule with probability 0.1
Ywp = 1, ∀w ∈ W , ∀p ∈ { X w , X w + 1,..., X w + Tw − 1} (13) is used to perform mutation [7]. The fitness function is f = 1/Z.
The termination conditions of the algorithm are (1) the gap
X w + Tw − 1 ≤ P, ∀w ∈ W (14) between the average fitness value and the fitness value of the
global best individual is less than 0.3%, or (2) the population
Equation (10) defines the total number of agents that the has not changed for 1500 iterations.
skill group g allocated to work in time period p. Constraints
(11) represent that the agents in one work team have the same C. Experimental Results
kind of skills. Constraints (12) represent the number of In this paper, we used the data of a call center to validate
working periods of work team w. (13) shows that work team w the scheduling algorithm proposed. There are 29 work teams in
will work in time period p. (14) is the constraint of work start the call center; the number of the agents in each team is
time. different (Due to the limit of this paper, we didn’t show the
details). Two types of calls need be served, the service hours
IV. ALGORITHM DESIGN AND EXPERIMENTS are from 7:30 to 23:30. There are 64 time periods in one day,
Fig. 3 displayed the procedures of scheduling algorithm. each period lasts for 15 minutes.
Erlang-A model is used to forecast the workforce demand. After running the algorithm for 10000 iterations, we
Genetic algorithm is used to optimize the agent scheduling concluded with a set of optimal solutions. Fig.4 shows the
decisions. results we obtained with GA. Compared with the original plan
(the plan made by the planner of the call center with personal
experience). It is found that the optimal solution is much closer
to the demand, and the weighted sum of the overstaffing and
understaffing of the optimal solution is 921 agents less than
that of the original plan (we initially set w1 = w2 =1).

Fig. 4. Experimental results

Fig. 3. Procedures of scheduling


V. EVALUATION INDICATOR FOR SCHEDULING their agents is known, then the actual service rate (Si) of the i
In Section 3 and Section 4, we designed the module of type calls can be calculated.
scheduling algorithm. In this section, we will discuss the other Si = niμi + nijRijμij (20)
module of the framework: construction of the evaluation
function. The function describes the relationship between the μij is the service rate of the multi-skill group with skill i. In
service performance and the key parameters. It can not only be this paper, we assume that μi = μij.
used in the scheduling algorithm to calculate the service With the knowledge of Si, the performance evaluation for
performance directly, but also provide references for the the multi-skill call center is possible. The function Ki = f (Si)
research in this field. First, the evaluation indicator of service will be derived though the simulation experiments. The
performance was designed. following section presents the details of simulation modeling
Considering the service level and the cost factors, a new and the experimental results we obtained.
performance measure is proposed. Because the staff cost
accounts for over 70% of the operation cost of the call center VI. SIMULATION MODELING AND EXPERIMENTS
[8], here we use the staff utilization as a cost factor. Initially,
we assume the performance measure Ki is a liner function of A. Simulation Modeling
the service level and staff utilization. Discrete-event simulation is employed in this paper to
Ki = SLi - kiUi (15) model the process flow, capture the system’s stochastic and
dynamic characteristics, and evaluate the system’s performance
Ui = (niui+∑nijuijRij)/(ni+∑nijRij) (16) such as waiting time, staff utilization, total number of calls,
total number of served calls and allocation of the multi-skill
SLi represents the service level of the call center for the i-
agents. In the model, we assumed that (1) the service efficiency
type calls. In this paper, the 20:80 rule (no more than 80% of
of the agents are equal; (2) the customers are patient, they
the callers are delayed over 20 seconds) is used [9]. It can be
won’t leave the queue until they are served; (3) the capacity of
obtained from a simulation output. Ui is the total utilization of
the system is infinite, no customers will be rejected; (4) one
the agents with skill i. ki is a weight coefficient. It represents
call only be served by one agent.
the importance of the cost factor. We initially set ki = 1. ui and
uij respectively represent the utilization of the single kill group In the simulation model, the calls are regarded as entities
and the multi-skill group. They can also be obtained from a which will be processed in different logic module. For
simulation output. ni denotes the number of single skill group example, “calls arrive” is to create entity according to some
with skill i. nij denotes the number of the multi-skill group with arrival distribution (a random variable). “Assign attributes”
skill i. Rij represents the proportion of agents that multi-skill means the entity obtains its attributes such as call type and
group j deployed to serve the calls of type i. service time (also a random variable). Then if all the agents
(single and multi-skill agents) with skill i are busy, the “call”
In this function, Rij should be determined. In other words,
we should find out how the multi-skill groups deploy their will wait in the queue. If not, the call will be allocated to single
agents to serve different types of calls. We assume that the or multi skill agent according to the routing rules. In this paper,
deployment rule is associated with the arrival rate, service rate the call will be served by the single skill agents preferentially,
of the single skill group and the routing policy. if all the single skill agents are busy, the call will served by the
multi skill agents. The simulation model also will record the
Rij = f (λi, μi, Rp) (17) idle time of the agents. When a call can be served by more than
one agent, it will select the one which has a longer idle time.
λi is the arrival rate of i type calls, μi is the single skill Due to the limit of this paper, we omit the details of simulation
agent’s service rate for i type calls. Rp represents the routing modeling. The simulation model is finally implemented by
rule. ExtendSim, a general-purpose simulation platform widely used
More specifically, in this paper, an overflow routing policy in academic as well as practice. The model we developed is
without priority is considered. The i type calls will first be shown in Fig.5.
allocated to the agents with single skill i, if all the single skill
agents are busy, and then allocated to the multi-skill agents
with skill i. It is clear that Rij is related to the quantity of i type
calls that cannot be served by all the agents with single skill i.
That is
RQi = λi - niμi. (18)
Take a case with two types (A and B) of calls as an
example, RA is further related to the gap between RQA and RQB.
RA = f (RQA-RQB) (19)
The relationship can be obtained using simulation and
statistical analysis. The rule for the multi-skill groups to deploy Fig. 5. Simulation model
The simulation model is validated using the cases shown in From the experiments, it is found that when μA is higher
the reference [10], it is found that the model is effective to than μB, RQA-RQB will be lower, the capacity proportion that
mimic the operational process of the call center. group AB allocated to serve the calls of type A will decrease
and vice versa. The relationship between RA and (RQA-RQB)
B. Experimental Design and Results was fitted by (21):
There are two goals of simulation experiments in this paper.
One is to derive the deployment rule for the multi skill agents. RA=1/(1+exp(-b(RQA-RQB))). (21)
Based on this rule, the service rate of each type of calls can be
calculated. Then the other goal is to derive the evaluation b is a coefficient, it is found that b=2.29 is more appropriate
function Ki = f (Si). for this case (we validated it by variance analysis of the fitting
A simple case is considered. Two types (A and B) of calls values and the simulation results). The fitting curve is shown in
will arrive, and the arrival rate follows the Poisson distribution. Fig. 6.
There are three skill groups in the call center, respectively are Based on the analysis of RA, the actual service rates of the
group with skill A, group with skill B and group with skill A A-type calls and B-type calls can be determined. They are
and B. The service rate follows the exponential distribution. represented by SA and SB. The service performances of each
The parameter setting of the simulation model is shown in type of calls (KA and KB) can be obtained via simulation.
Table 1. There are 100 replications in each simulation run
(under 95% confidence, the percent of half-width to average Based on the analysis of the experiments results, it is found
value of confidential interval is less than 5%, which is regarded that when the actual service rate SA decreased to 0, the service
as “precise enough”). performance is close to 1, because the staff utilization is close
to 100%. When SA increased to a high value, the service
To find out the rule of RA (the proportion of agents that performance is also close to 1, because the staff utilization is
group AB allocated to serve the calls of type A), 30 experiments close to 0%. The relationship between SA and KA was fitted by
were designed with the different values of μA and μB (μA = {0.2, (22):
0.4, 0.6, ..., 2}, μB = {0.5, 1, 1.5}, there are 10*3= 30
experiments). To determine the relationship between the
⎛ α 1 S αA −1e ⎞
−x
service performance and the service rate Si, 21 experiments β

were designed with the different value of μA and μB as shown in K A = k ⎜ e β Γ (α ) − 1⎟ + 1 (22)


⎜ ⎟
Table 2. ⎝ ⎠
With
TABLE I. PARAMETER SETTING IN SIMULATION MODEL

Para. Description Value Γ (α ) = ∫ t α −1e − t dt . (23)
0
T Simulation duration 300 min
k, α and β are coefficients, after some experiments, it is
N Number of runs 100
found that k = 2.29, α = 3.3 and β = 0.85 are more appropriate
λA Arrival rate of type A POIS (1)/min for this case. The fitting curve is shown in Fig. 7.
λB Arrival rate of type B POIS (1)/min
QA Number of the agents in group A 1

QB Number of the agents in group B 1

QAB Number of the agents in group AB 1

TABLE II. EXPERIMENTAL DESIGN FOR KA


EXP. EXP. EXP.
μA μB μA μB μA μB
Num. Num. Num.
1 1 1 8 1.6 1 15 5 1

2 0.8 1 9 1.8 1 16 10 1

3 0.6 1 10 2 1 17 0.001 1
Fig. 6. The fitting curve of RA
4 0.4 1 11 2.5 1 18 0.005 1

5 0.2 1 12 3 1 19 0.01 1

6 1.2 1 13 3.5 1 20 0.05 1

7 1.4 1 14 4 1 21 0.1 1
This research was supported by NSFC projects (71090404,
71072026).

REFERENCES

[1] G. Koole, A. Pot, An overview of routing and staffing algorithms in


multi-skill customer contact centers, Department of Mathematics, Vrije
Universiteit Amsterdam, Netherlands, 2006.
[2] Z. Aksin, M. Armony, V. Mehrotra, “The modern call center: a multi-
disciplinary perspective on operations management research”,
Production and operations management, Vol. 16, pp. 665-688, 2007.
Fig. 7. The fitting curve of KA [3] G. Koole, A. Mandelbaum, “Queueing models of call centers: an
introduction”, Annals of Operations Research, Vol. 113, pp. 41-59,
2002.
VII. CONCLUSION [4] A. Avramidis, W. Chan, P. L’ Ecuyer, “staffing multi-skill call centers
via search methods and a performance approximation,” IIE
This paper proposed a new optimization framework for Transactions, Vol. 41, pp. 483-497, 2009.
agent scheduling. It consists of two interactive modules: a [5] A. Sencer, B. Ozel, “A simulation-based decision support system for
robust search algorithm for scheduling and the evaluation workforce management in call centers”, Simulation, Vol. 89, pp. 481-
function. It can help us to solve the difficulties of the agent 497, 2013.
scheduling problem (i.e. the deployment of the multi-skill [6] M. Cezik, P. L’Ecuyer, “staffing multiskill call centers via linear
agents and evaluation of the service level). Furthermore, the programming and simulation,” Management Science, Vol. 54, pp.310-
novel approach does not need the interaction between 323, 2008.
simulation and heuristic searching. As a result, the computing [7] M. Gen, W. Cheng, Genetic algorithm and engineering optimization,
Hoboken: John Wiley & Sons, 2000.
efficiency can be improved significantly.
[8] Z. Aksin, M. Armony, V. Mehrotra, “ The modern call center: a multi-
Although only a simple case with two types of calls is disciplinary perspective on operations management research,”
considered in this paper, the developed framework can be Production and Operations Management, Vol. 16, pp. 665-688, 2007.
applied to more complex situations. In addition, the evaluation [9] S. Borst, A. Mandelbaum, M. Reiman, “Dimensioning large call
centers,” Operations Research, Vol. 52, pp. 17-34, 2004.
function derived by simulation analysis is also useful for other
studies on call centers to evaluate the service performance. [10] J. Franx, G. Koole, S. Pot, “Approximating multi-skill blocking systems
by hyperexponential decomposition,” Performance Evaluation, Vol. 63,
pp. 799-824, 2006.
ACKNOWLEDGMENT

You might also like