routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/tz_wp13.pdfkey words:...

65
Routing and stang in customer service chat systems with impatient customers Tolga Tezcan* University of Rochester, Simon Graduate School of Business [email protected] Jiheng Zhang The Hong Kong University of Science and Technology [email protected] We consider customer service chat (CSC) systems where customers can receive real time service from agents using an instant messaging (IM) application over the Internet. A unique feature of these systems is that agents can serve multiple customers simultaneously. The number of customers that an agent is serving, referred to as the level of that agent, determines the rate at which each customer assigned to that agent receives service. We consider the stang problem in CSC systems with impatient customers where the objective is to minimize the number of agents while providing a certain service level. The service level is measured in terms of the proportion of customers who abandons the system in the long run. First we propose eective routing policies based on a static planning LP, both for the cases when the arrival rate is observable and for when the rate is unobservable. We show that these routing policies minimize the proportion of abandoning customers in the long run asymptotically for large systems. We also prove that the stang solution obtained from a stang LP, when used with the proposed routing policies, is asymptotically optimal. We illustrate the eectiveness of our solution procedure in systems with small to large sizes via numerical and simulation experiments. Key words : Call Center Management, Queuing Theory and Stochastic Methods History : 1. Introduction Customer service chat (CSC) is a service provided by companies to allow users to communicate in real time with a customer service agent using the Internet. It is based on an instant messaging (IM) application that is usually accessible from a company’s web site. IM applications are text-based one-on-one interaction tools, which allow individuals to communicate with each other while they perform other computer-based tasks. The CSC service is usually a part of a company’s customer contact center that also includes telephone and email customer service. In terms of responsiveness, Research supported by NSF Grants CMMI-0954126 and CMMI-1130346. Research supported by Hong Kong RGC grant GRF-622411. 1

Upload: others

Post on 15-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

Routing and sta�ng in customer service chat systemswith impatient customers

Tolga Tezcan*University of Rochester, Simon Graduate School of Business

[email protected]

Jiheng Zhang †

The Hong Kong University of Science and Technology

[email protected]

We consider customer service chat (CSC) systems where customers can receive real time service from agents

using an instant messaging (IM) application over the Internet. A unique feature of these systems is that agents

can serve multiple customers simultaneously. The number of customers that an agent is serving, referred

to as the level of that agent, determines the rate at which each customer assigned to that agent receives

service. We consider the sta�ng problem in CSC systems with impatient customers where the objective is

to minimize the number of agents while providing a certain service level. The service level is measured in

terms of the proportion of customers who abandons the system in the long run. First we propose e↵ective

routing policies based on a static planning LP, both for the cases when the arrival rate is observable and for

when the rate is unobservable. We show that these routing policies minimize the proportion of abandoning

customers in the long run asymptotically for large systems. We also prove that the sta�ng solution obtained

from a sta�ng LP, when used with the proposed routing policies, is asymptotically optimal. We illustrate

the e↵ectiveness of our solution procedure in systems with small to large sizes via numerical and simulation

experiments.

Key words : Call Center Management, Queuing Theory and Stochastic Methods

History :

1. Introduction

Customer service chat (CSC) is a service provided by companies to allow users to communicate in

real time with a customer service agent using the Internet. It is based on an instant messaging (IM)

application that is usually accessible from a company’s web site. IM applications are text-based

one-on-one interaction tools, which allow individuals to communicate with each other while they

perform other computer-based tasks. The CSC service is usually a part of a company’s customer

contact center that also includes telephone and email customer service. In terms of responsiveness,

⇤ Research supported by NSF Grants CMMI-0954126 and CMMI-1130346.

† Research supported by Hong Kong RGC grant GRF-622411.

1

Page 2: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

2

CSC service can be placed between telephone and email customer service. Unlike traditional email

service (which lacks immediacy and interactivity), it is real time. However, it is somewhat slower

compared to the telephone service since a user still has to wait for the agent to read each message

and type the response, see Koyama (1998) and Broughton (2001).

CSC systems have been shown to be operationally less costly than telephone customer service

support and about the same as email support, see Bannan (2000). Moreover, Shae et al. (2007)

demonstrates that a CSC system can perform better than a telephone service across di↵erent key

performance measures including first call resolution and end user satisfaction. Due to their unique

features, such as their ability to allow collaborative browsing or screen sharing, the CSC systems

are considered to be an especially important way to interact with customers for computer and

software companies, web based companies (such as retail e-commerce), and for libraries to provide

reference service, among others, see Francoeur (2001), Bannan (2000), and International (2011). In

addition, customers can carry out other tasks in their computers while the agent is trying to figure

out a solution for their problem. CSC systems also have some certain disadvantages such as the

technical proficiency required from customers, the lack of a natural conversation setting in a chat

environment, and the interaction being slowed down by the typing of messages, which leads to users

losing patience and sometimes abruptly terminating their chat sessions, see Koyama (1998) and

Oder (2001). However, there is a growing industry of companies providing software applications

for CSC systems, making them more accessible for customers and easier to manage for service

providers, see for example International (2011). Due to its popularity among the computer savvy

younger generation, see International (2011), its prevalence in customer service is only expected to

increase in the future.

As in other customer service systems, the quality of service is an important determinant of the

success of CSC systems, and better service quality helps overcome some of the aforementioned

obstacles in providing e↵ective chat service. In this paper we consider the sta�ng and routing

problems in CSC systems with impatient customers to provide good quality of service. The fact

that agents can serve multiple customers provides a unique challenge for the management of these

systems. The current literature on management of service systems mainly focus on systems in

which an agent only helps one customer at a time, see Gans et al. (2003). There is a vast literature

on processor sharing queues (where an agent can serve multiple customers simultaneously), which

can be found mainly in communications literature, see Zhang et al. (2009) and the references

therein. However, the CSC systems have di↵erent features that are not covered by this literature.

Specifically, the main assumption in this literature is that there is a single server (or a pool of

Page 3: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

3

servers that work jointly) serving all or a subset of customers in the system. In a CSC system,

there is a pool of agents with limited parallel processing capability and each customer interacts

with the same agent until that customer leaves the system. Therefore, we will build new analytical

tools to analyze these systems.

Impact of multitasking on service systems and the routing problem: Before we study how to

manage CSC systems, it is important to highlight the e↵ect of multitasking on the productivity

of agents. Intuitively, chatting with more customers should increase the productivity of the agent

and it should also increase the time to complete service, but it is not clear to what extent. To the

best of our knowledge there is no comprehensive empirical study on the e↵ect of multitasking in

chat service systems. Shae et al. (2007) demonstrates that agents can handle three simultaneous

chat sessions without performance degradation (they recommend experimenting with more chat

sessions until there is performance degradation but they stop at three). Based on data from a

company that is operating a large IM-based service center, Luo and Zhang (2012) observe that the

total service rate of an agent is not even monotone in the number of customers the agent is helping.

They observe that the average total service rate becomes lower when an agent helps 4 customers

instead of 3 but it becomes higher than the service rate with 3 customers when the agent helps

5 agents (see Figure 1 there). Given that agents have di↵erent service rates at di↵erent levels of

multitasking, how to route the arriving customer to available agents can significantly a↵ect the

system performance. Thus, routing is quite an important decision to meet a certain service level

as well as minimizing the sta�ng level.

In general, the main advantage of mutitasking in a service system is that a multitasking agent

can switch between tasks whenever the current task the agent is doing is not available or when

some feedback is needed from the customer or another resource, eg. an agent waiting for a response

from a customer while providing chat service, a physician waiting for the result of lab tests in

an ER. However, the e↵ects of multitasking on the speed of carrying out a task can be di↵erent

in di↵erent contexts. Because of cognitive switching costs, it has been observed in experiments

that multitasking may lower productivity and quality in completing certain tasks (see Gladstones

et al. (1989) and Pashler et al. (1994)). Similar e↵ects have also been observed in service systems,

referred to as slow-down in Batt and Terwiesch (2013). Surprisingly, increased multitasking or

load may also increase the speeds of carrying out certain tasks, referred to as rushing, due to,

for example, increased pressure to complete the tasks. There are several papers which provides

empirical evidence that rushing exists in service systems; specifically Hasija et al. (2010) observes

rushing behavior of agents providing email service, Kc and Terwiesch (2009) of hospital employees

Page 4: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

4

responsible for transporting patients, Tan and Netessine (2012) of servers in a restaurant chain,

and Staats and Gino (2012) of workers in a production simulation game.

In summary, there seems to be no universal trend in agent e�ciency while multitasking (and

so in service rates in chat-service systems). Due to slow-down the service rates tend to decrease

but due to rushing and reduced waiting for the customer responses the service rate may increase

with increased multitasking. In addition, if the quality of service and its e↵ect on service times are

taken into account (for example customers are unlikely to end a chat session until their problems

are resolved successfully) it is less likely that a universal trend is ubiquitous in all applications.

Therefore we analyze chat systems when increased multitasking may have a↵ects of varying degrees

on service times.

Our contribution: To incorporate the e↵ect of multitasking in our model we assume that the

service rate of an agent is determined by the number of customers, referred to as the agent’s level,

that agent is serving. Our main goal is to find the minimum sta�ng level in a CSC system to meet

a service level requirement given the arrival rate and service speeds. The service level is measured

in terms of the abandonment probability of a customer. En route to achieve this goal we first

identify conditions that determines what level of multitasking is e�cient (or ine�cient). These

conditions are based on the optimal solution of a static planning problem, which we refer to as the

routing LP. Given a fixed arrival rate and a sta�ng level, the routing LP determines how many

customers each agent should help on average in the long-run. We prove using the dual of this LP

that ine�cient levels should never be used, providing guidance on how to take advantage of the

multitasking capability of agents.

Although the routing LP provides a solution for the long-run allocation of agents into di↵er-

ent levels, it is not clear how CSC systems can be managed in real time (by allocating arriving

customers to available agents) to achieve such long-run performance. This becomes especially chal-

lenging when the arrival rate is not observable. We next focus on the routing problem to determine

which agent an arriving customer should be routed to. We propose two policies; one that assumes

the basic levels (levels that the routing LP allocates agents to) are known, and a second one that

is somewhat similar but estimates the basic levels seamlessly and automatically based on a virtual

system. The virtual system is similar to the CSC model but allows a certain type of preemption

which is not possible (or desirable) in actual CSC systems. We prove that the proposed policies

are asymptotically optimal in minimizing the probability of abandonment in steady state asymp-

totically for large systems when service and abandonment times are exponential. In addition, we

provide conditions for a simple static priority policy, referred to as lightest-load-first, that routes a

Page 5: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

5

customer to the least busy agent to be asymptotically optimal. Finally, we propose a solution for

the sta�ng problem using another LP and prove that the sta�ng levels found by the sta�ng LP

combined with the proposed policies are asymptotically optimal.

Our solution approach is based on a “fluid limit” analysis similar to Atar et al. (2010, 2011),

Behzad and Tezcan (2012) and also to Bassamboo and Randhawa (2010), Bassamboo et al. (2010).

We consider a sequence of systems where the arrival rate and the number of servers get large

but the service time distribution and service level requirement remain fixed. We then analyze the

steady state of this system and characterize the abandonment probability. A critical part of our

analysis is proving that the fluid limits of CSC system under the proposed policies achieve the

desired steady state. We prove this result using carefully constructed Lyapunov functions.

We illustrate via numerical examples that the proposed routing algorithms and the sta�ng

solutions perform remarkably well in systems with sizes ranging from small to large. Even in systems

with optimal number of agents less than 10, our sta�ng LP misestimates the optimal solution by

at most 1 agent. In general, we show that the solutions found by the sta�ng LP are very close to

the best solutions found by a simulation search procedure, with a di↵erence less than 2 agents (or

less than 4%) across systems with di↵erent sizes. It is also interesting to note that the optimality

gap between these two solutions does not seem to grow with system size, reminiscent of the results

in Bassamboo et al. (2010), Bassamboo and Randhawa (2010). In Bassamboo et al. (2010) and

Bassamboo and Randhawa (2010) the fluid limit analysis has been shown to provide very accurate

sta�ng solutions for systems where agents can only serve a single customer at a time when the

arrival rate is random.

This paper is a part of authors’ continuing research e↵ort on analyzing CSC systems. In Luo and

Zhang (2012), CSC systems without abandonment are analyzed under the lightest-load-first policy.

They consider a cost function that depends on the level of customers in service and the number

of customers in queue. The decision variables are the sta�ng level and the maximum number of

customers an agent can serve. In this paper we extend their analysis in two important directions.

First we consider systems with impatient customers and second we identify asymptotically optimal

routing policies. We are also able to focus on steady state quantities. By considering more general

policies, not only are we able to identify e�cient and ine�cient levels but also to show when the

lightest-load-first is asymptotically optimal. In a follow up paper Tezcan and Zhang (2013), we

consider CSC systems with general service and abandonment times. We extend our analysis to

determine ine�cient and e�cient levels in that more general setting and identify the maximum

number of customers a server should serve when customers are impatient by extensively relying

Page 6: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

6

on the results in this paper. Then we o↵er approximations for the system performance using fluid

limits.

The rest of this paper is organized as follows. In §2, we present the CSC queueing model and we

formulate the routing and the sta�ng problems and the asymptotic regime we consider. We present

the routing LP in §3 along with its optimal solution. In §4, we propose routing policies first for the

case when the basic levels are known and then when they are not known. We also prove that they

are asymptotically optimal in minimizing the probability of abandonment from the system for a

given sta�ng level. We turn our attention to the sta�ng problem in §5. We present the results of

our numerical experiments in §6 and conclude in §7.

2. Customer service chat model

This section consists of three parts. First we explain and motivate the analytical model we use

to analyze the CSC systems in §2.1. Then, we introduce the details of the routing and sta�ng

problems we consider in §2.2. Finally, we introduce the asymptotic regime we use in our analysis

in §2.3.

2.1. Model

Chat service systems: In a CSC system, a customer interacts with an agent by sending and

receiving written messages on an IM application in (almost) real time. An agent, on the other

hand, usually handles multiple customers simultaneously and sends replies to customers’ messages

in a certain order. The actual dynamics of this process are quite complex. Service of each customer

consists of a (random) number of back and forth sessions with the agent. Each such session consists

of the customer typing a message and then the agent typing a reply. Also each customer takes a

random amount of time to type a message and the length of the message may depend on other

factors, such as how long the chat service has been going on, how long the previous messages were,

and etc. How an agent prioritizes customer messages is not standard as well. It may depend on

the content of a message, the agent’s preference, or the customer’s assigned priority, among other

factors. Also customers leave when their service is completed and new customers join the chat

system changing each agent’s work load intermittently. As a result, modeling every detail of a chat

service session is quite complex and it is unlikely to lead to analytical insights. Instead we use a

processor sharing model as we explain next. Processor sharing models have been used extensively to

establish the performance of round-robin type polling policies (see for example Kleinrock (1976)).

Page 7: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

7

Processor sharing model: In a processor sharing model, the customers being served by an agent

share the agent’s service capacity simultaneously. Therefore, the agent’s capacity is assumed to

be infinitely divisible. Although this is not exactly the case in service chat systems, due to the

complexity of the actual system and the similarity of these systems to a processor sharing model

(since agents serve customers in a manner similar to round robin), a processor sharing model seems

appropriate for customer chat service models. We explain the details of the processor sharing model

we use next.

We refer to the number of customers an agent is serving as that agent’s level. We assume that

each agent can serve up to I customers at the same time. If all the agents are serving I customers

at the time a customer arrives, the arriving customer joins the queue. An agent serving less than I

customers is said to be available. When a customer arrives to the system, that customer is assigned

to one of the available agents (as explained below) if there are any. Customers waiting in the

queue are served according to the first-come-first-serve policy. We assume that agents work in a

non-idling fashion: if they finish serving a customer and the queue is nonempty at that instant,

they start serving the next customer in queue. Also, once a customer is assigned to an agent, that

customer receives service only from that agent until the customer leaves the system (due to service

completion or abandonment). Similarly, an agent serves only those customers that are assigned

to him and preemptions or hand-o↵s are now allowed. Let µi

denote the rate a customer receives

service when an agent at level i is serving that customer. The total rate an agent at level i is

providing service, denoted by d

i

, is therefore equal to iµ

i

.

Each arriving customer requires a random amount of service. When the total amount of service a

customer receives reaches the customer’s service requirement, that customer leaves the system. We

assume that each customer’s service amount is exponentially distributed with mean 1, without loss

of generality since the time unit can be rescaled. Customers are assumed to arrive to the system

according to a renewal process with rate �, which is assumed to be time-independent.

We consider CSC systems where customers have limited patience. To model this behavior we

assume that associated with customer k there is a pair of independent exponential random variables

(⌫q

k

,⌫

k

). Random variable ⌫q

k

denotes the kth customer’s patience time while waiting in queue, that

is, if the kth customer’s waiting time in queue exceeds ⌫

q

k

, that customer abandons the system

immediately without receiving service. Random variable ⌫

k

denotes the kth customer’s patience

time while being served, that is, if the time in service for the kth customer exceeds ⌫k

, the customer

abandons the system immediately without finishing service. (We again emphasize the fact that the

time in service for a customer depends on the level of the agent serving that customer.) We assume

Page 8: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

8

that {(⌫q

k

,⌫

k

)} is an i.i.d. sequence. We also assume that the sequences of patience, service and

interarrival times are mutually independent. Also ⌫

q

i

and ⌫

i

are assumed to be exponential with

rates � and ⌫, respectively.

Next we describe our assumptions on system parameters. First we define

d

i

= i(µi

+ ⌫), (1)

the total rate customers leave a level i agent and

P

Ab

i

= ⌫/(µi

+ ⌫) (2)

denotes the probability that a customer abandons the system if the customer is served at rate µ

i

.

When an additional customer is assigned to an agent, it’s likely that agent will not be able to

spend as much time with each customer as before since his e↵ort must be divided among more

customers now. Therefore, it is expected that µi

is decreasing in i. Hence we assume that

µ

i

i+1, for i= 1,2, . . . , I � 1. (3)

However, we expect that di

should be increasing in i until a certain level. This is due to the fact that

when there are more customers assigned to an agent, the agent will have to wait less for a customer

to send a new message. We observed in practice that the average time an agent spends to answer

each customer message increases as that agent handles more customers. This can be attributed to

the fact that the agent has to handle more tasks when there are more customers. After a certain

number of customers, it is not possible for an agent to handle all customers simultaneously in an

e↵ective way. Therefore, we assume that each agent can handle at most I customers.

Ine�cient levels: Next we present a classification of levels into two di↵erent classes which plays

a fundamental role in our analysis. A level i is said to be ine�cient if

d

i

< d

i

0 for some 1 i

0< i, (4)

or if there exists 1 i1 < i i2 I such that

d

i

i1 � i

i2 � i1d

i2 +i2 � i

i2 � i1d

i1 . (5)

Other levels are referred to as e�cient levels. It is easy to check that d’s can be replaced with d’s

in (5). Loosely speaking, (5) implies that instead of having an agent spend one unit of time at an

ine�cient level i, we can have the agent work a certain fraction of that time at level i1 and the

rest at level i2 to achieve a higher throughput without increasing the abandonment rate.

Page 9: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

9

We let F = {i1, i2, . . . , iJ} denote the e�cient levels and F

c the ine�cient levels. We assume that

I 2F and that

1�P

Ab

I

d

I

= d

I

1�P

Ab

i

d

i

= d

i

, (6)

for all i I. It can be shown that if (6) does not hold it is optimal not to have agents in level I, a

detailed analysis is presented in Tezcan and Zhang (2013). Also, by definition 12F .

Let N denote the set of levels whose service rate is less than a lower level. That is

N =n

i : di

0> d

i

, for some i

0< i

o

.

Recall that by our assumption (6), I /2N . We also define

N

0 = {i : i+12N} .

2.2. Routing and sta�ng problems

An arriving customer may find multiple available agents at the time of arrival. We refer to the

manner in which customers are routed to available agents as the routing policy. One of our objec-

tives in this paper is to identify policies that minimize the probability of abandonment in steady

state and to establish approximations for the performance of such policies. Given a routing policy

⇡ let Ab

�,N

(t) denote the total number of abandonments from the system (queue and service) by

time t when the arrival rate is � and the number of agents is N . Given the arrival rate � and the

sta�ng level N we define P

Ab,⇡(�,N) by

P

Ab,⇡(�,N) = limT!1

E

Ab

�,N

(T )

T�

. (7)

The limit may not exist in general (or may depend on the initial state), but we will show below

that it exists and it is unique for non-idling policies. The quantity P

Ab,⇡(�,N) can be viewed as

the probability of abandonment of a customer who arrives at the chat system in steady state. For

the rest of the paper we restrict our attention to non-idling policies that are admissible, specifically

we only consider policies that are Markovian.

Another related operational objective is to determine how many agents to sta↵ the system with

to achieve a certain service level. The service level is measured in terms of the abandonment

probability from the system in the long-run. Formally, the sta�ng problem can be formulated as

follows: given � and p

Ab

> 0

min⇡,N

N s.t. PAb,⇡(�,N) p

Ab

. (8)

Page 10: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

10

In this formulation the decision variables are the routing policy ⇡ and the sta�ng level N . The

sta�ng problem is closely connected to the routing decisions since the performance of a system

depends on how these decisions are made. The main focus of this paper is on the routing problem,

but we return our attention to the sta�ng problem in §5 once we present our solution for the

routing problem.

2.3. Asymptotic framework

Due to the complexity of the CSC systems it is not possible to carry out an exact analysis in

general. Even for relatively less complex call center systems, when available, exact solutions do

not provide much insight as to how to manage these systems. On the other hand, the asymptotic

analysis has been successfully used in complex systems to study scheduling and sta�ng problems

(see Gans et al. (2003) and Aksin et al. (2007)). The asymptotic analysis is also useful in finding

solutions that are easy to implement. In service systems, the many-server asymptotic analysis is

especially applicable since in most systems there is a pool of agents providing similar services to

customers (see Gans et al. (2003)). Hence, we use a many-server asymptotic analysis to provide

solutions for the routing problem when the system size is large. To identify asymptotically optimal

routing policies we consider a sequence of systems indexed by the arrival rate � and assume that

N

� =N�+ o(�). (9)

In applications, the size of the system is unlikely to a↵ect the characteristics of arriving customers

and the service rates. Therefore, we assume that the service and patience time distributions as well

as the service rates at each level are not dependent on �. A slightly di↵erent asymptotic regime is

introduced in §5 for the sta�ng problem.

3. Static planning problem

Static planning problems play a fundamental role in the analysis of queueing systems, see Harrison

(2000) and Williams (1998) among others. They provide insights into what the expected state of

a queueing system should be under an e↵ective control policy in the long run. In this section we

formulate a static planning problem for the optimal allocation of agents among all levels, referred to

as the routing LP. The objective of this LP is to minimize the probability of abandonment in a CSC

system with a fixed arrival rate and sta�ng level. Also, the definition of the e�ciency/ine�ciency

concept is based on the routing LP (or its dual). We show below that there should not be any

agents at ine�cient levels in the optimal solution of the routing LP. We also show at the end of

this section that the routing LP provides a lower bound for the asymptotic performance of any

routing policy. A closely related sta�ng LP will be presented in §5.

Page 11: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

11

For fixed � and N consider

min{�i,i=1,...,I,I+1}

P

Ab (10)

st. �

I+1 +I

X

i=1

i

P

Ab

i

= �P

Ab

, (11)

I

X

i=1

i

d

i

N, (12)

I+1X

i=1

i

� �, (13)

i

� 0.

The objective of the routing LP is to minimize the probability of abandonment. The decision

variables �i

’s can be viewed as the average rate the customers are served by agents at level i, for

1 1 I and �

I+1 can be viewed as the rate customers abandon the queue. Constraint (11) is

an approximation for the probability of abandonment, based on (2). (In the following sections we

show that this approximation is asymptotically valid.) Constraint (12) states that �

i

’s must be

selected so as not to violate the capacity constraint, based on Little’s law (the asymptotic validity

of this claim will be established below). Constraint (13) implies that all arriving customers must

depart from the system. We use P

Ab (�,N) to denote the optimal objective function value.

Now we obtain a closed-form solution for the routing LP. (We will show that the solution of

the LP can be used to approximate the steady state of the proposed policies in the next section.)

Let F = {i1, i2, . . . , iJ} denote the ordered list of the indices of e�cient levels and i

⇤j+1 denote the

lowest indexed e�cient level such that

d

i

⇤j+1

� �/N. (14)

Lemma 1. If � d1, an optimal solution �

⇤ = (�⇤i

, i= 1, . . . , I) of the routing LP (10) is given

by

⇤1 = �, and �

⇤i

= 0, for i 6= 1. (15)

If dI

N > �> d1 an optimal solution of (10) is given by

⇤i

⇤j=

d

i

⇤j

d

i

⇤j+1

� d

i

⇤j

Nd

i

⇤j+1

��

, �

⇤i

⇤j+1

= ���

i

⇤j=

d

i

⇤j+1

d

i

⇤j+1

� d

i

⇤j

��Nd

i

⇤j

, (16)

and �

⇤i

= 0 for i 6= i

⇤j

, i

⇤j+1. If �� d

I

N , an optimal solution of (10) is given by

⇤I

= d

I

N, �

⇤I+1 = �� d

I

N and �

⇤i

= 0, for i 6= I, I +1. (17)

Page 12: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

12

The proof is presented in Appendix A. Because di

⇤j+1

> d

i

⇤jby (4), the solution given by (16) is well-

defined. Denote the optimal solution described in Lemma 1 by �

⇤ (�,N) = (�⇤i

(�,N) ; i= 1, . . . , I).

In general there may be alternative optimal solutions of the routing LP (10), but from here on we

only consider the optimal solution �

⇤ (�,N). We define

z

⇤i

(�,N) = �

⇤i

(�,N)/di

, i= 1, . . . , I (18)

and z

⇤0 (�,N) =N �

P

I

i=1 z⇤i

(�,N). Also, we set z

⇤ (�,N) = (z⇤i

(�,N) , i= 0,1, . . . , I) and refer to

levels in the set i⇤(�,N), {i : z⇤i

(�,N)> 0} as basic levels.

We highlight the fact that there can be at most two basic levels by Lemma 1. In addition, an

ine�cient level can never be basic. This motivates the our classification of states into two classes;

e�cient and ine�cient. The intuition behind this result can best be explained by considering

the case d

I

N > � > d1. In words, this result implies that in the optimal solution, the agents are

distributed between two e�cient levels i⇤j

and i

⇤j+1 with lowest indexes such that the total service

rate can be made equal to the arrival rate. Because the abandonment probability is increasing in

the index for e�cient levels, the feasible solution with the lowest indexed e�cient levels is optimal.

We next show that the optimal solution of the LP provides an asymptotic lower bound for the

abandonment probability under any policy.

Theorem 1. Consider a sequence of chat service systems that satisfies (9). Then for any

sequence of admissible policies {⇡

} we have

lim inf�!1

P

Ab,⇡

�(�,N�)� P

Ab(1,N), (19)

where P

Ab(1,N) is the optimal value for the routing LP (10).

The proof is placed in Appendix C.

4. Routing policies

In §3 we proposed a static planning problem approach to obtain a solution for the routing problem

in order to minimize the probability of abandonment. In CSC systems, arriving customers are

assigned to one of the available agents at the time of their arrivals and it is not clear how one can

dynamically manage such a system to have the long run behavior given by the solution of (10).

In this section we propose routing policies to achieve the long-run proportions suggested by the

solution of Lemma 1 for fixed arrival rate and number of servers. In §4.1 we consider the case when

the basic levels are known and we present some special cases when the proposed control policies

can be simplified in §4.2. We treat the case when the basic levels are not known in §4.3.

Page 13: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

13

4.1. When basic levels are known

In this section we consider the case when the basic levels ij1 and i

j2 of the optimal solution z

⇤(1,N)

are known, with the possibility that i

j1 = i

j2 . (We drop ⇤ from the notation for simplicity.) Let

U

ij= {i

j

+ 1, . . . , ij+1 � 1} if i

j

+ 1 < i

j+1 and ; otherwise, denoting the set of ine�cient levels

between e�cient levels ij

and i

j+1, if there are any. Consider the following policy; at the time of a

customer arrival, let i denote the lowest nonempty level,

• if i < i

j1 , route the arriving customer to an agent serving i customers.

• if ij1 i < i

j2 , route the customer to an agent in the highest nonempty level in U

ij1. If all the

levels in U

ij1are empty or if U

ij1is empty, route the customer to an agent in level i

j1 .

• if ij2 i < I route the customer to an agent in the lowest nonempty level i0 /2N

0\{I}. If there

is no such agent, route the customer to an agent in the highest nonempty level in N

0.

A customer cannot be routed to an agent at level I. If all the agents are at level I, then the

customer joins the queue. We denote this policy by ⇡

�,⇤ (We drop � from the notation when � is

obvious from the context.) When there is only one basic level, ij1 , we follow the same policy but

there is no need for the second step, we only consider the first case, i < i

j1 , and the third case,

i� i

j1 . We emphasize the fact that in order to implement ⇡�,⇤, ij1 and i

j2 must be specified.

Example: We note that for fixed i

j1 and i

j2 , the proposed policy is a fixed priority policy. To

illustrate the application of this policy, consider a system with I = 8. Let ij1 = 1 and i

j2 = 3, hence

U

ij1= {2}. Also assume that N = {5,7} and so N

0 = {4,6}. Then, the priorities of the levels under

the proposed policy are given in the following order; 0,2,1,3,5,7,6,4.

Before we explain the intuition behind the proposed policy of ⇡�,⇤ we focus on its asymptotic

performance. Clearly, the set i

⇤(�,N�) of basic levels depends on �. Consequently, so does the

proposed policy. We now show that the proposed policy is asymptotically optimal and that it is

possible to obtain closed-form approximations for the performance of this policy using the optimal

solution of the routing LP. We use z

� = (z�1 , z�

2 , . . . , z�

I

) to denote the number of agents at level i

in steady state under the proposed policy ⇡

�,⇤ and define z

� = z

/�.

Theorem 2. Consider a sequence of chat service systems that satisfies (9). Then for the

sequence of proposed policies {⇡

�,⇤} we have

lim�!1

P

Ab,⇡

�,⇤(�,N�) = P

Ab(1,N), (20)

in addition

z

) z

⇤(1,N), as �!1. (21)

It follows from this result and Theorem 1 that the sequence of policies {⇡�,⇤} is an asymptotically

optimal routing policy, see Appendix D for a proof.

Page 14: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

14

Discussion on the proposed policy: The proposed policy aims to have all agents in two e�cient

levels ij1 and i

j2 as suggested by Lemma 1. By giving priority to levels below i

j1 , it aims to have

all the agents in level ij1 and above. However, if the lowest non-empty level is greater than or equal

to i

j1 giving priority to the lowest level may force the system to end up in a non-optimal steady

state. By setting the priority of levels in U

ij1increasing in their index, the policy aims to “empty”

the ine�cient levels starting from the one with the highest index in U

ij1. (It is easy to come up

with examples that if the priorities are in decreasing in index, the steady state will be suboptimal.)

The reason the priorities of levels in N and N

0 are set that way is similar. But now the issue is

that because levels in N may have a lower total service rate than levels with lower index it may

not be possible to have agents to go to lower levels if the priorities are not altered. By giving lower

priorities to levels in N

0, the policy manages to empty levels in N first. Then, the levels in N

0

becomes empty after a certain time.

One might question the necessity of switching the priorities of levels in the manner described or

the advantage of using the proposed policies over the simpler policies, such as the more intuitive

lightest-load-first policy. It is not very di�cult to come up with examples when not switching the

priorities in U

ij1and/or N and N

0 would result in suboptimal performance. However, in certain

situations simpler policies may yield asymptotically optimal performance. We discuss two such

cases in the following section. To what extent using a complex policy rather than a simple policy

improves the performance depends on the system parameters. In §6 we illustrate the di↵erence in

the performances of ⇡�,⇤ and the lightest-load-first policy in a set of numerical experiments. In

general, simpler policies fail to avoid having agents in ine�cient levels, hence the improvement in

performance by using ⇡

�,⇤ over such policies depend on how ine�cient the levels that need to be

avoided are.

4.2. Special Cases

In this section we discuss two special cases when the proposed policy can be simplified significantly.

First, if all the levels are e�cient, i.e., i2F for all i= 1, . . . , I, the solution to the routing problem

simplifies significantly. (It can easily be checked that if di

is concave as a function of i, then all

levels are e�cient.) If i2F for all i= 1, . . . , I, then i

j1 +1= i

j2 (if there are two basic levels), and

N = ;. Hence, the policy ⇡

⇤ becomes a static priority policy that gives priority to the lowest level

(we denote it by ⇡). Also, there is no need to estimate the basic levels i

j1 and i

j2 in this case.

Actually the lightest-load-first policy is asymptotically optimal if N and U

ijare both empty.

More insight can be gained about the lightest-load-first policy by considering another parsimo-

nious policy. Consider the following policy suggested by an anonymous referee; assign the incoming

Page 15: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

15

customer to an agent to maximize the total service rate in the system, i.e., assign the customer to

level i that maximizes di+1�d

i

. When all the levels are e�cient and level “0” has priority over all

the other levels, this is the same policy as the lightest-load-first. To see this it is enough to show

that

d

i+1 � d

i

� d

i

� d

i�1, i= 1, . . . , I � 1 (22)

if all levels are e�cient. If (22) does not hold for some i then

2di

d

i+1 + d

i�1.

hence i cannot be e�cient by (5). Therefore, the lightest-load-first policy can be viewed as a

greedy policy which tries to maximize the instantaneous total service rate at all times (when all

the levels are e�cient). When ine�cient levels are present, lightest-load-first policy will obviously

not maximize the total service rate.

The second special case we consider is when

d1 < d2 < . . . < d

I

. (23)

If (23) holds, it is again possible to use a simpler policy (without needing to estimate the basic

levels). Note that in this case N = ;. Specifically, we propose the following policy. At the time of

a customer arrival, let i denote the lowest nonempty level and i

j

denote the e�cient level with

the highest index below i or set i

j

= i if i is e�cient. Then, route the customer to an agent in

the highest nonempty level in U

ij. If all the levels in U

ijare empty or if U

ijis empty, route the

customer to an agent in level ij

. If all the agents are at level I, then the customer joins the queue.

We denote this policy by ⇡

0.

One of the di↵erences between ⇡

�,⇤ and ⇡

0 is that in implementing ⇡

0 one does not need to know

the basic levels ij1 and i

j2 . Instead, the priorities of all ine�cient levels are changed. As an example,

again consider a CSC system with I = 8 and assume that levels 2, 4, and 5 are ine�cient. Then

under ⇡0 the priorities of the levels are given in the following order; 0,2,1,5,4,3,6,7. (Recall that

under ⇡�,⇤ the priorities depend on the basic levels hence on the arrival rate.) The following result

establishes the optimality of ⇡0 when (23) holds.

Theorem 3. Consider a sequence of chat service systems that satisfies (9) and (23). Then for

the sequence of proposed policies {⇡

0} we have

lim�!1

P

Ab,⇡

0(�,N�) = P

Ab(1,N), (24)

in addition

z

�,⇡

0) z

⇤(1,N), as �!1. (25)

Page 16: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

16

4.3. Routing policies: When basic levels are not known

In this section we focus on the case when the basic levels are not known. For two special cases

we already discussed how the proposed policy can be simplified and basic levels do not have to

be estimated in §4.2. Next we treat the general case and we propose a policy that consists of two

components; the virtual system that is used to identify basic levels and the actual system where the

actual routing is done. Before introducing the virtual systems, we need to introduce the preemptive

systems which form the foundation of the virtual systems.

Preemptive Systems: Consider a system where preemption in the manner we explain next is

allowed. First note that Uij= {i

j

+1, . . . , ij+1 � 1}, if i

j+1 > i

j

+1, and U

ijis an empty set otherwise.

If there is an agent in one of the levels Uij(assuming it is not empty), refer to it as ine�cient-level

agent (we argue below that there can be at most one agent in levels U

ijunder the preemptive

regime). Assume that an agent in level ij+1 finishes serving a customer at time t, call this agent the

service-completion agent. At the instant the agent at level ij+1 finishes service, one of the customers

the ine�cient-level agent is serving is handed o↵ (whose service is said to be preempted) to the

service completion agent at this instant. Therefore, the level of the service completion agent does

not change and the ine�cient-level agent (who hands o↵ the customer) goes one level below. If

there are no agents in one of the levels in U

ijor if U

ijis empty, no action is taken.

Except for the explained preemptions, the policy we use in this setting is similar to that we

proposed in the previous section. Assume that, at the time of a customer arrival, i is the lowest

level with agents. If i /2F , route the customer to this level. If i2F , route the customer to the agent

in the highest level in U

i

, if Ui

is not empty and there is an agent in one of those levels. Otherwise,

route the customer to level i. We denote this policy by ⇡

P

. We note that this policy does not use

any information about the basic levels.

Now we argue that there can be at most one agent in one of the levels in U

ij, for any i

j

2F , if

customers are rearranged properly at time 0. Assume that at time zero there is more than one agent

in levels in U

ij( 6= ;). The customers that are being served by these agents can be redistributed

easily among these agents to make sure there is only one such agent left in one of the levels in

U

ij. For example, an agent at level i

j

+ 1 can hand-o↵ one customer to another agent in one of

the ine�cient levels, if there is such an agent, and goes to level ij

and the other agent’s level is

increased by one. Once the customers are re-arranged at time zero, there can be at most one agent

in a level in U

ijunder our preemptive policy.

We next show that ⇡P

identifies the correct allocations of agents among all the levels in the long-

run in the preemptive systems. First, we need to make certain assumptions on the initial states of

Page 17: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

17

the systems to obtain meaningful limits. Let Z�

i

(t) denote the number of agents in level i and Q

�(t)

denote the number of customers waiting in queue at time t. We set Z

�(t) = (Z�

0 (t), . . . ,Z�

I

(t)),

Z

�(t) =Z

�(t)/�, and Q

�(t) =Q

�(t)/�. We assume that

lim�!1

Z

�(0) = Z(0), a.s., (26)

for some vector Z(0) =�

Z0(0), . . . , ZI

(0)�

and

lim�!1

Q

�(0) = 0, a.s. (27)

Proposition 1. Consider a sequence of chat service systems that satisfies (9), (26) and (27).

Under ⇡

P

limT!1

lim�!1

Z

�(T )! z

⇤(1,N) a.s. (28)

See Appendix E for a proof.

Non-preemptive systems with unknown basic levels: Although the policy ⇡

P

we proposed for

the preemptive systems identifies the basic levels automatically, in CSC systems preemption and

handing-o↵ are rarely used. This is mainly due to the fact that handing o↵ a customer to another

agent may lead to ine�ciencies since the agent who receives the customer does not know the history

of the chat session with the customer. Hence that agent is likely to spend extra time to go through

the conversation of the customer with the previous agent or ask the same questions again, which in

addition is likely to frustrate the customer. Therefore, we propose asymptotically optimal policies

that do not require preemption (or handing o↵ customers).

As mentioned above, we use a virtual system to identify basic levels. In this virtual system, the

number of (virtual) agents is the same as the actual system and so is the arrival process, but service

times are di↵erent. At each customer arrival we generate a random service time for the arriving

customer in the virtual system using the same service time distribution in the actual system. The

virtual system runs in the same manner as the preemptive system we described in the previous

section. The customers are rearranged in the virtual system at time zero as described above and

an arriving customer is routed to one of the virtual agents following ⇡

P

.

Next we describe the routing policy for the actual system that uses the virtual system. We

basically use the policy ⇡

⇤ proposed in §4.1 but we estimate i

j1 and i

j2 using the virtual system

as follows. Fix ✏> 0. If there are at least two e�cient levels in the virtual system with at least N✏

agents at time t, we use the e�cient level with the lowest index, denoted by i

j1(t) as an estimator

for ij1 and we use i

j1+1(t) as an estimator for ij2 . If there is only one such level, denoted by i

j1(t),

Page 18: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

18

we use ⇡

⇤ with basic levels i

j1(t) and j1(t), where j1(t) is the smallest indexed level greater than

i

j1(t) that is not in N , if ij1(t) 6= I. If i

j1(t) = I, we use ⇡

⇤ with a single level. Aside from this

estimation procedure, ⇡⇤ is used as described in §4.1. That is, if a customer arrives at time t, we

use i

j1(t) and i

j1+1(t) (or j1(t)) instead of ij1 and i

j2 , respectively, in §4.1. The virtual system is

run simultaneously with the actual system. We denote this policy by ⇡

⇤ or by ⇡

⇤(✏) when we would

like to make the dependence on ✏ explicit.

The policy ⇡

⇤ is not an asymptotically optimal routing policy in the sense similar to (20) because

it turns out that it does not satisfy (28) in general. This is due to fact that in our estimation

procedure, a level is deemed basic if there are more than N✏ agents in that level in the virtual

system. On the other hand, it is possible that in the optimal solution of (10) a level is basic with less

than N✏ agents. However, since ✏> 0 is arbitrary, the performance of ⇡⇤(✏) can be made arbitrarily

close to the performance of ⇡⇤. We state this result next.

Theorem 4. Consider a sequence of chat service systems that satisfies (9). For � > 0, there

exists ✏> 0 such that the sequence of chat service systems under the policy ⇡

⇤(✏) satisfies

limsup�!1

P

Ab,⇡

⇤(�,N�) P

Ab(1,N)+ �, (29)

for any �� 0 (i.e. the choice of ✏> 0 does not depend on �). Also, if z⇤i

(�,N)> ✏ for i= i

⇤j

and

i

⇤j+1

limsup�!1

P

Ab,⇡

⇤(�,N�) = P

Ab(1,N), (30)

See Appendix F for a proof.

5. Sta�ng problem

In this section we turn our attention to the sta�ng problem (8). Recall that our objective is to iden-

tify the minimum sta�ng level that satisfies a service level constraint in terms of the abandonment

probability for a fixed arrival rate. We already identified policies to e↵ectively route customers to

available agents hence we restrict our attention to these policies. Our solution procedure therefore

is based on an LP, referred to as the sta�ng LP which is similar to the routing LP.

Sta�ng LP: Given the arrival rate � and the service level constraint pAb, consider the following

sta�ng LP.

min{N,�i:i=1,...,I+1}

N (31)

st.

I

X

i=1

P

Ab

i

i

+�

I+1 p

Ab

�, (32)

Page 19: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

19

I

X

i=1

i

d

i

N, (33)

I

X

i=1

i

+�

I+1 � �, (34)

i

� 0, i= 1,2, . . . , I +1

The objective of the sta�ng LP is to minimize the number of agents. The decision variables (�i

’s)

have the same interpretation as in the routing LP with �

I+1 denoting the rate customers abandon

the queue. The left hand side of the constraint (32) can be understood as the total abandonment

rate for the system. The constraints (33) and (34) are identical to (12) and (13), respectively. The

sta�ng and the routing LPs are closely related as described in the following result. We denote the

optimal solution of the sta�ng LP (31) by N(�, pAb

). If pAb

<P

Ab

1 , the sta�ng LP is infeasible so

we assume that pAb

� P

Ab

1 . Let i⇤j+1 denote the lowest indexed e�cient level with

P

Ab

i

⇤j+1

� p

Ab

. (35)

Lemma 2. If PAb

1 p

Ab

<P

Ab

I

, an optimal solution (�⇤,N

⇤), with �

⇤ = (�⇤i

: i= 1, . . . , I +1), of

(31) is given by �

⇤i

= 0, if i 6= i

⇤j

, i

⇤j+1,

⇤i

⇤j=

P

Ab

i

⇤j+1

� p

Ab

P

Ab

i

⇤j+1

�P

Ab

i

⇤j

�, �

⇤i

⇤j+1

= ���

⇤i

⇤j=

p

Ab

�P

Ab

i

⇤j

P

Ab

i

⇤j+1

�P

Ab

i

⇤j

�, (36)

and

N

⇤ =�

⇤i

⇤j

d

i

⇤j

+�

⇤i

⇤j+1

d

i

⇤j+1

.

If pAb

� P

Ab

I

, an optimal solution of (31) is given by �

⇤i

= 0, i= 1,2, . . . I � 1,

⇤I

=�(1� p

Ab)

1�P

Ab

I

, �

⇤I+1 = ���

⇤I

, and N

⇤ = �

⇤I

/d

I

. (37)

The proof is very similar to that of Lemma 1, hence it is omitted. We note again that PAb

i

⇤j+1

>P

Ab

i

⇤j

by Lemma 3 hence (36) is well defined.

Asymptotic optimality: Now we show that the optimal solution of the sta�ng LP is asymptoti-

cally optimal when the arrival rate is large. For this purpose we use a slightly di↵erent asymptotic

regime from that we described in §2.3, we consider a sequence of systems where the arrival rate

becomes large but the service level pAb

> 0 and other system parameters are held constant. Consider

a sequence of systems indexed by the sequence arrival rates {�n

} such that

n

n

! � as n!1. (38)

Page 20: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

20

A sequence of sta�ng levels {N

n

} is said to be asymptotically feasible if there exists a sequence

of policies {⇡n

} such that

limsupn!1

P

Ab,⇡

n(�n

,N

n) p

Ab

. (39)

Also, a sequence of asymptotically feasible sta�ng levels {N

⇤,n} is asymptotically optimal if for

any sequence of asymptotically feasible sta�ng levels {Nn

},

limsupn!1

N

⇤,n

N

n

1. (40)

Given the arrival rate �

n and service level constraint pAb, the sta�ng LP not only determines the

optimal sta�ng level N⇤(�n

, p

Ab) but also the basic levels, those levels with �

⇤i

> 0. It is easy to

show that these basic levels are those given by i

⇤(�n

,N

⇤(�n

, p

Ab)) (recall the definition given in

§3). Hence the proposed policy can be used in this setting as well with these basic levels. (In the

implementation of our policy we assume that the basic levels are known. We consider the case when

they are not below.) We denote this policy in the nth system by ⇡

n,⇤ for notational simplicity. We

next show the sta�ng LP (31) gives an asymptotically optimal sta�ng level when used with the

proposed dynamic priority policy ⇡

n,⇤.

Theorem 5. Consider a sequence of chat service systems that satisfies (38). The sequence of

sta�ng levels {N

⇤(�n

, p

Ab)} is asymptotically feasible when used with the sequence of proposed

policies {⇡

n,⇤}. Moreover, {N⇤(�n

, p

Ab)} is asymptotically optimal.

See Appendix G for a proof.

Unknown arrival rate: Finally, we consider the case when the basic levels are not known. This

case is especially important when the exact arrival rate is not known and sta�ng decisions are

needed to made based on the distribution of the arrival rate. In this case, there is a small ine�ciency

(relative to the case when the basic levels are known) in the system introduced by the estimation

procedure. However, the magnitude of the ine�ciency can be made arbitrarily small as we explain

next.

Based on Theorem 4, the proposed policy ⇡

⇤(✏) can be o↵ from the optimal solution by ✏.

This happens only when one of the basic levels should have less than ✏N agents in steady state.

Otherwise, ⇡⇤(✏) attains the same steady state as ⇡n,⇤. Therefore, it is possible to inflate the sta�ng

level N⇤(�n

, p

Ab) by a small amount � to obtain asymptotically feasible sta�ng solution. Next we

formalize these results.

Page 21: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

21

Theorem 6. Consider a sequence of chat service systems that satisfies (38). Given �> 0, there

exists ✏> 0 such that the sequence of sta�ng levels {(1+ �)N⇤(�n

, p

Ab)} is asymptotically feasible

when used with the routing policy ⇡

⇤(✏).

See Appendix G for a proof.

6. Numerical Experiments

In this section we present the results of numerical experiments to illustrate the e↵ectiveness of the

routing policies we proposed and our solution procedure for the sta�ng problem. Throughout the

experiments in this section we consider a CSC system with six levels. We use the following service

rates for each level;

µ= {2.8,2,1.6,1.5,1.15,1.15},

therefore

d= {2.8,4,4.8,6,5.75,6.9}.

It is easily checked that only levels 3 and 5 are ine�cient (F = {1,2,4,6}, F c = {3,5}) and N = {5}.

We also set the abandonment rates ⌫ = � = 0.2. We first focus on the routing policies and assume

that the sta�ng level is fixed. We run experiments in six di↵erent settings with various arrival

rates and sta�ng levels. In Table 1, we display the associated data with each setting along with

the optimal solution z

⇤ = (z⇤1 , . . . , z⇤6) to the routing LP (10), see (18). (The sizes of the systems in

the third and sixth experiments are not very realistic and we use them to verify the asymptotic

accuracy of our results). We present the optimal abandonment probability estimated by LP (10)

under the column P

ab

for each setting as well.

We present the simulation results under three policies ⇡

⇤ (we drop � from the notation for

simplicity), ⇡⇤, and the policy that gives priority to the lowest nonempty level, denoted by ⇡.

(Recall that the policy ⇡ is asymptotically optimal if F c = ;.) Observe that, under the policy ⇡

⇤,

the priorities are given by (0,1,3,2,5,4) in the first three settings in Table 1 and by (0,1,2,3,5,4) in

settings 4–6. For the policy ⇡

⇤, we set ✏= 0.1. In each simulation experiment, we run the simulation

to allow 1.5 million arrivals and we use the first 20% of the simulation time as the warmup period.

The results of the simulations are presented in Table 2 for settings 1–3 and in Table 3 for settings

4–6. In these tables, under column Z

i

we present the average number of agents in level i and under

column P

ab

we present the percentage of customers that abandoned the system. The confidence

intervals in all the experiments are less than .5% of the mean values, therefore we do not include

them in our tables.

Page 22: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

22

As expected from our asymptotic results, the performances of the systems under the proposed

policies ⇡

⇤ and ⇡

⇤ converge to the values estimated by the optimal solution of the routing LP

(10), presented in Table 1, as the system size gets large. In addition, the proposed policies perform

remarkably well even when there are only 25 agents. Also, the policy ⇡

⇤, which uses the virtual

system to estimate basic levels, performs slightly worse than the policy ⇡

⇤ in all cases, but the

di↵erence is very small. When there are 25 agents, the average di↵erence between the performance

of ⇡⇤ and the optimal solution of LP (10) is less than 4%. This di↵erence goes below 2% when

there are 250 agents. This shows that the static planning LP (10) is quite accurate in estimating

the system performance.

The di↵erences between the performance of ⇡⇤ and the optimal solution of the routing LP (10)

can be attributed to the fact that the occupancy in some levels are 0 in the optimal solution but

this cannot be achieved in reality without preemption. For example, in setting 2, there are 25

expected agents in level 4 and zero agents in level 3 in the optimal solution of (10). However, when

an agent completes service in level 4, that agent will have to wait for an arrival to go back to level

4 or complete another service to go to level 2, the other basic level. In either case, the agent will

have to wait for a certain amount of time because the arrivals (or service completions) are not

instantaneous and there may be other agents awaiting arrivals in non-basic levels 1 or 3. As the

system size gets larger, the wait will be shorter. This is also observed in our numerical experiments.

In setting 1, where the arrival rate is 140, the average number of agents in level 3 is around 10% of

all agents and when the arrival rate is increased to 1400, in setting 3, it decreases to 3.4%, under

⇤.

We present the results under ⇡ in order to compare our policies to another policy that does not

require the solution of the LP (10). In terms of the abandonment probability, it can be perform

as much as 13% worse than the proposed policies and its average performance in all experiments

is around 6% worse than ⇡

⇤. In order to have a better idea for the di↵erences between these two

policies (⇡⇤ and ⇡), we next simulate the system with N = 100 and arrival rate ranging from 400

to 800. We present the increase in the abandonment probability vs. the arrival rate when policy

⇡ is used instead of ⇡⇤ in Figure 1. We note that when the arrival rate is between 440 and 680,

the basic levels are 2 and 4 and between 680 and 800, they are 4 and 6. Note that ⇡

⇤ tries to

avoid having agents in levels 3 and 5 as much as possible. Also, level 5 is more “ine�cient” than

level 3, in the sense that using levels 4 and 6 instead of level 5 is more beneficial than using levels

2 and 4 instead of level 3. Hence, the di↵erence between the performances of these two policies

Page 23: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

23

Setting � N z

⇤1 z

⇤2 z

⇤3 z

⇤4 z

⇤5 z

⇤6 P

ab

1 140 25 0 12.5 0 12.5 0 0 10.4%2 280 50 0 25 0 25 0 0 10.4%3 1400 250 0 125 0 125 0 0 10.4%

4 180 25 0 0 0 17.30 0 7.70 12.8%5 320 50 0 0 0 34.60 0 15.40 12.8%6 1800 250 0 0 0 173 0 77 12.8%

Table 1 Data for experiments and optimal solutions

Setting Policy Z0 Z1 Z2 Z3 Z4 Z5 Z6 P

ab

1 ⇡

⇤ 0.012 0.554 10.096 2.507 11.668 0.16 0.002 10.80%1 ⇡

⇤ 0.012 0.529 9.693 3.278 11.328 0.154 0.006 10.82%1 ⇡ 0.004 0.179 3.581 14.729 6.297 0.207 0.002 11.08%

2 ⇡

⇤ 0.006 0.573 21.859 3.707 23.831 0.024 0 10.75%2 ⇡

⇤ 0.006 0.571 21.767 3.874 23.755 0.026 0 10.76%2 ⇡ 0.001 0.101 4.758 34.323 10.78 0.038 0 11.12%

3 ⇡

⇤ 0.001 0.607 118.697 8.614 122.08 0 0 10.72%3 ⇡

⇤ 0.001 0.604 118.68 8.622 122.092 0 0 10.73%3 ⇡ 0 0.022 6.466 202.582 40.93 0 0 11.18%

Table 2 Results of simulation experiments: Settings 1–3

is significantly larger for higher values of the arrival rate. In general, the di↵erence between the

policy ⇡

⇤ and ⇡ depends on how ine�cient a level that is avoided by ⇡

⇤ is.

We next illustrate how the virtual system adapts to changes in arrival rates. We consider a

system in setting 2 where the arrival rate is 280, and we change the arrival rate to 360 at time 600.

Therefore, until time 600, levels 2 and 4 are basic and after time 600, levels 4 and 6 are basic. We

simulate the system until time 650 and we plot the average number of agents in levels 2 and 6 in

each 5 time unit interval in Figure 2. As can be seen in Figure 1, there is a quick change in each

level at time 600 and they reach levels close to the “steady state” quantities as anticipated by LP

(10).

6.1. Sta�ng levels

We next test the quality of the sta�ng levels found by the sta�ng LP in simulation experiments. We

consider two service level targets pAb = 0.10 and 0.14 with three di↵erent arrival rates presented in

Table 4. We use the sta�ng LP (31) to compute the required sta�ng levels with these parameters.

To assess the quality of our proposed solution, we also find e↵ective sta�ng levels using a

numerical procedure along with simulations. Specifically, we use a simple search algorithm where

we start with a small value for the sta�ng level and simulate the system under the proposed

policy to estimate the performance. We keep on increasing the sta�ng level until the service level

Page 24: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

24

Setting Policy Z0 Z1 Z2 Z3 Z4 Z5 Z6 P

ab

4 ⇡

⇤ 0 0.002 0.061 1.529 11.683 2.11 9.615 13.30%4 ⇡

⇤ 0 0.003 0.12 1.171 10.316 3.978 9.412 13.49%4 ⇡ 0 0 0.02 0.49 3.939 11.796 8.755 14.34%

5 ⇡

⇤ 0 0 0.03 1.751 27.251 3.29 17.678 13.14 %5 ⇡

⇤ 0 0.001 0.054 1.462 25.12 5.829 17.534 13.27%5 ⇡ 0 0 0.003 0.206 4.6 28.258 16.932 14.53%

6 ⇡

⇤ 0 0 0.005 1.745 159.571 8.278 80.401 12.94%6 ⇡

⇤ 0 0 0.005 1.681 157.447 10.441 80.426 12.97%6 ⇡ 0 0 0 0.009 2.364 163.093 84.534 14.77%

Table 3 Results of simulation experiments: Settings 4–6

400 500 600 700 800

05

1015

Arrival Rate

Perc

enta

ge D

iffer

ence

(%)

Figure 1 Percentage di↵erence in abandonment probabilities between ⇡⇤and ⇡

requirement is satisfied and stop at the smallest feasible sta�ng level. In Table 4, we present the

solutions from the numerical search algorithm under column N and the solutions of the sta�ng

LP (31) under column N

⇤. Obviously the sta�ng LP’s solutions are very close to those found by

the numerical method: they are o↵ by at most 1 agents. We emphasize the fact that the proposed

sta�ng solutions is very accurate even in small systems where the optimal sta�ng level is as low

as 7 agents.

Page 25: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

25

Time

Num

ber o

f Age

nts

550 575 600 625 650

010

2030

40 Level 2Level 6

Figure 2 Number of agents in levels 2 and 6 in the virtual system

p

Ab

� N N

0.10 50 11 10100 21 20250 51 50

0.14 50 7 7100 14 13250 34 33

Table 4 Comparison of sta�ng solutions

7. Conclusions and directions for further research

In this paper we considered the sta�ng and routing in CSC systems. The fact that agents can serve

multiple customers simultaneously makes the analysis of these systems more complicated than that

of traditional service systems. We first propose a routing LP to identify e↵ective routing policies.

Initially we propose a policy for the case when the arrival rate is observable. We also consider the

case when the arrival rate is unobservable and we propose a policy based on a virtual system that

automatically and seamlessly determines basic levels. We prove that these policies asymptotically

minimize the abandonment probability in steady state in large systems. We also present a sta�ng

LP and prove that the sta�ng solution found by the sta�ng LP is asymptotically optimal. Our

Page 26: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

26

numerical experiments suggest that the proposed solution procedure and the routing policies work

remarkably well even with systems that have less than 10 agents.

There are several interesting future research directions. First, we only focus on the case when the

service requirements of the customers are exponentially distributed. When the service requirements

have a general distribution, measure-valued fluid limits (see Whitt (2006)) can be used to study

these systems. It could also be possible to establish the distribution of time in CSC systems, instead

of just the expected value, using such fluid limits. In addition, especially when �⇡ d

i

N , for some i,

the di↵usion limits may be more suitable to determine e↵ective sta�ng levels. For the overloaded

case, the analysis is similar to the (traditional) case when agents only help one customer at a

time. Finally, agents usually have di↵erent capabilities and customers have di↵erent needs in most

chat systems. How to route arriving customers in di↵erent classes to agents with di↵erent skills

e↵ectively needs to be studied as well. It may be possible to cross-train agents to provide service

in multiple service channels, such as email and chat. In such a setting it is interesting to study the

sta�ng and the routing problems by considering the di↵erent service level measures in di↵erent

channels.

References

Aksin, Z., M. Armony, V. Mehrotra. 2007. The modern call center: A multi-disciplinary perspective on

operations management research. Production and Operations Management 16 655–688.

Atar, R., C.. Giat, N. Shimkin. 2010. The cµ/✓ rule for many-server queues with abandonment. Operations

Research 58 1427–1439.

Atar, R., C. Giat, N. Shimkin. 2011. On the asymptotic optimality of the cµ/✓ rule under ergodic cost.

Queueing Systems: Theory and Applications 67(2) 127–144.

Bannan, K. 2000. Chatting up a sale. The Wall Street Journal.

Bassamboo, A., R. S. Randhawa. 2010. On the accuracy of fluid models for capacity sizing in queueing

systems with impatient customers. Operations Research 58(5) 1398–1413.

Bassamboo, A., R.S. Randhawa, A. Zeevi. 2010. Capacity sizing under parameter uncertainty: Safety sta�ng

principles revisited. Management Science 56 1668–1686.

Batt, Bob, Christian Terwiesch. 2013. The behavior of doctors under load: An empirical analysis of reputation

in online service market places. Tech. rep., The Wharton School, University of Pennsylvania.

Behzad, B., T. Tezcan. 2012. Robust design and control of call centers with flexible IVR systems. Manufac-

turing and Service Operations Management 14(3) 386–401.

Billingsley, P. 1968. Convergence of probability measures . Wiley, New York.

Broughton, K. 2001. Our experiment in online, real-time reference. Computers in Libraries 21 26–31.

Page 27: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

27

Dai, J. G., Tolga Tezcan. 2011. State space collapse in many-server di↵usion limits of parallel server systems.

Math. Oper. Res. 36(2) 271–320.

Francoeur, S. 2001. An analytical survey of chat reference services. Reference Services Review 29 189–204.

Gamarnik, David, Assaf Zeevi. 2006. Validity of heavy tra�c steady-state approximation in generalized

Jackson networks. Ann. Appl. Probab. 16(1) 56–90.

Gans, N., G. Koole, A. Mandelbaum. 2003. Telephone call centers: Tutorial, review and research prospects.

Manufacturing and Service Operations Management 5 79–141.

Gladstones, William H, Michael A Regan, Robert B Lee. 1989. Division of attention: The single-channel

hypothesis revisited. The Quarterly Journal of Experimental Psychology 41(1) 1–17.

Harrison, J. Michael. 2000. Brownian models of open processing networks: canonical representation of

workload. Ann. Appl. Probab. 10(1) 75–103.

Hasija, Sameer, Edieal Pinker, Robert A. Shumsky. 2010. Om practice—work expands to fill the time

available: Capacity estimation and sta�ng under parkinson’s law. Manufacturing & Service Operations

Management 12(1) 1–18. doi:10.1287/msom.1080.0250. URL http://dx.doi.org/10.1287/msom.

1080.0250.

International, TELUS. 2011. Best practices: Online chat sales. Benchmarking study — White paper.

Karlin, Samuel, Howard M. Taylor. 1975. A first course in stochastic processes . 2nd ed. Academic Press

Inc., New York.

Kc, Diwas S, Christian Terwiesch. 2009. Impact of workload on service time and patient safety: An econo-

metric analysis of hospital operations. Management Science 55(9) 1486–1498.

Kleinrock, Leonard. 1976. Queueing Systems. Volume 2: Computer Applications. Wiley-Interscience, New

York. Computer Applications, Volume II.

Koyama, J.Y. 1998. http://digiref.scenarios.issues. Reference and User Services Quarterly 38 51–53.

Luo, Jun, Jiheng Zhang. 2012. Sta�ng and control of instant messaging based customer service centers.

Tech. rep., Hong Kong University of Science and Technology.

Meyn, Sean, Richard L. Tweedie. 2009. Markov chains and stochastic stability . 2nd ed. Cambridge University

Press, Cambridge.

Oder, N. 2001. The shape of e-reference. Library Journal 126 46–60.

Pashler, Harold, et al. 1994. Dual-task interference in simple tasks: Data and theory. Psychological bulletin

116 220–220.

Shae, Z., D. Garg, R Bhose, R. Mukherjee, S. Guven. 2007. E�cient internet chat services for help desk

agents. IEEE International Conference on Services Computing . IEEE Computer Society, Los Alamitos,

CA, USA, 589–596.

Page 28: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

28

Staats, Bradley R, Francesca Gino. 2012. Specialization and variety in repetitive tasks: Evidence from a

japanese bank. Management Science 58(6) 1141–1159.

Tan, Tom, Serguei Netessine. 2012. When does the devil make work? an empirical study of the impact of

workload on worker productivity. Tech. rep., INSEAD Working Paper.

Tezcan, T., J. Zhang. 2013. Sta�ng and routing in chat service systems with general service and abandonment

times. Working paper .

Whitt, W. 2006. Fluid models for multiserver queues with abandonments. Operations Research 54 37–54.

Williams, Ruth J. 1998. Di↵usion approximations for open multiclass queueing networks: su�cient conditions

involving state space collapse. Queueing Systems: Theory and Applications 30(1-2) 27–88.

Zhang, J., J. G. Dai, B. Zwart. 2009. Law of large number limits of limited processor-sharing queues. Math.

Oper. Res. 34(4) 937–970. doi:10.1287/moor.1090.0412. URL http://dx.doi.org/10.1287/moor.

1090.0412.

Page 29: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

29

Appendix

A. Proof of Lemma 1

We first state some preliminary results. We note that

P

Ab

i

d

i

= i⌫ (41)

hence P

Ab

i

d

i

is increasing in i. Also by (3)

P

Ab

j

0 >P

Ab

j

for j0 > j. (42)

The proof of the following result is elementary hence skipped.

Lemma 3. If for a level j, 1 < j < I, dj

= d

j

0 for some j

0< j then level j cannot be e�cient.

Also, for any e�cient level ij

1�P

Ab

ij

d

ij�

1�P

Ab

i

d

i

, (43)

for all i i

j

.

Remark 1 (Equivalent definitions). It can easily be checked that if a level i is ine�cient

than the following hold for some i1 i i2

P

Ab

i2d

i2 �P

Ab

i1d

i1

d

i

P

Ab

i2d

i2 �P

Ab

i

d

i

d

i1 +⇣

P

Ab

i

d

i

�P

Ab

i1d

i1

d

i2 , (44)

d

i2 � d

i1

⌘⇣

P

Ab

i2d

i2 �P

Ab

i

d

i

d

i2 � d

i

⌘⇣

P

Ab

i2d

i2 �P

Ab

i1d

i1

, (45)

and⇣

d

i2 � d

i1

P

Ab

i

d

i

d

i

� d

i1

P

Ab

i2d

i2 +⇣

d

i2 � d

i

P

Ab

i1d

i1 . (46)

Proof of Lemma 1: The routing LP (10) can be written as

minI

X

i=1

P

Ab

i

i

+�

I+1 (47)

st.

I

X

i=1

i

d

i

N, (48)

I

X

i=1

i

+�

I+1 � �, (49)

i

� 0, i= 1,2, . . . , I, I +1. (50)

Page 30: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

30

Let y

N

, y�

and y

i

denote the dual variables associated with the constraints (48), (49) and (50),

respectively. We can write the dual of the routing LP, referred to as LP-D, as

max�y�

�Ny

N

st.

y

1

d

i

y

N

+ y

i

P

Ab

i

, i= 1,2, . . . , I

y

+ y

I+1 1, i= 1,2, . . . , I

y

� 0,

y

N

� 0,

y

i

� 0, i= 1,2, . . . , I +1.

LP-D is equivalent to the following LP, referred to as LP-DE,

max�

N

y

� y

N

st.

d

i

y

� y

N

P

Ab

i

d

i

, i= 1,2, . . . , I, (51)

y

1, (52)

y

� 0, (53)

y

N

� 0. (54)

For the rest of the proof we focus on establishing an optimal solution of LP-DE. Because an optimal

solution of LP-D can easily be derived from an optimal solution of LP-DE, we also refer to such a

solution as an optimal solution of LP-D, with a slight abuse of terminology.

We divide the proof into a few cases depending on the value of the parameters N and �. First,

assume that �

N

< d1. Consider the solution (y⇤�

, y

⇤N

) = (PAb

1 ,0) with objective value �

N

P

Ab

1 for LP-

DE. We claim that it is an optimal solution of LP-DE. Note first that it is feasible by (42). In

addition, by (51) for i= 1, for any feasible solution (y�

, y

N

) the objective function is bounded by

N

P

Ab

1 +y

N

d1

� y

N

N

P

Ab

1 ,

where the last inequality follows from the fact that �

N

< d1. Thus, (y⇤�

, y

⇤N

) = (PAb

1 ,0) is an optimal

solution of LP-DE and LP-D. Note also that the feasible solution given by �1 = �, and �

i

= 0,

i = 2, . . . , I for the routing LP (47) attains the same objective value with the optimal objective

function value of LP-D, therefore it must be an optimal solution of (10), proving (15).

Page 31: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

31

Next, assume that �

N

= d

i

⇤ for an e�cient level i⇤. By (44) and (45) and the fact that i

⇤ is

e�cient for any i1 < i

⇤< i2 and i1, i2 2N

c

P

Ab

i

⇤ d

i

⇤�P

Ab

i1d

i1

d

i

⇤� d

i1

P

Ab

i2d

i2 �P

Ab

i1d

i1

d

i2 � d

i1

P

Ab

i2d

i2 �P

Ab

i

⇤ d

i

d

i2 � d

i

⇤, (55)

where by convention ·/0 =1 and d

i2 � d

i

⇤> d

i1 by Lemma 3 and the fact that i1, i2 2N

c. Let y⇤�

be such that

P

Ab

i

⇤ d

i

⇤�P

Ab

i1d

i1

d

i

⇤� d

i1

y

⇤�

P

Ab

i2d

i2 �P

Ab

i

⇤ d

i

d

i2 � d

i

⇤, for all i1, i2 2N

c

, i1 < i

⇤ and i2 > i

⇤. (56)

The existence of such y

⇤�

is guaranteed by the fact that i⇤ is assumed to be e�cient and by (55).

Also, set

y

⇤N

= d

i

⇤y

⇤�

�P

Ab

i

⇤ d

i

⇤. (57)

First note that by the fact that I is e�cient, dI

> d

i

⇤ and by (56) with i2 = I, y⇤�

1. Using (56)

and (57) it is easily checked that (y⇤�

, y

⇤N

) satisfies (51) for all i 2 N

c. Also, for i 2 N , (y⇤�

, y

⇤N

)

satisfies (51) by (41), the definition of N and the fact that (y⇤�

, y

⇤N

) satisfies (51) for i2N

c. Hence,

(y⇤�

, y

⇤N

) is a feasible solution of LP-DE with the objective function value PAb

i

⇤ d

i

⇤ . The optimality of

(y⇤�

, y

⇤N

) for LP-DE (and so for LP-D) follows from the fact that for any feasible solution (y�

, y

N

)

the objective function satisfies

N

y

� y

N

= d

i

⇤y

� y

N

P

Ab

i

⇤ d

i

by our assumption that �

N

= d

i

⇤ . Note also that the feasible solution given by �

i

⇤ = �, �i

= 0 for

i 6= i

⇤ for the routing LP (47) attains the same objective value as the optimal objective function

value of LP-D, therefore it must be an optimal solution of (10), proving (16) in this case.

Now assume that dI

N > �> d1N and that �

N

6= d

i

⇤ for any i

⇤2F . Let i⇤

j+1 be defined as in (14)

and define

(y⇤�

, y

⇤N

) =

0

@

P

Ab

i

⇤j+1

d

i

⇤j+1

�P

Ab

i

⇤jd

i

⇤j

d

i

⇤j+1

� d

i

⇤j

,

P

Ab

i

⇤j+1

d

i

⇤j+1

d

i

⇤j�P

Ab

i

⇤jd

i

⇤jd

i

⇤j+1

d

i

⇤j+1

� d

i

⇤j

1

A

. (58)

Also define

�=d

i

⇤j+1

N

d

i

⇤j+1

� d

i

⇤j

.

Using (51) for i⇤j

and i

⇤j+1, we have for any feasible solution (y

, y

N

)

N

y

� y

N

= �(di

⇤jy

� y

N

)+ (1� �)(di

⇤j+1

y

� y

N

)d

i

⇤j+1

N

d

i

⇤j+1

� d

i

⇤j

P

Ab

i

⇤jd

i

⇤j+

N

� d

i

⇤j

d

i

⇤j+1

� d

i

⇤j

P

Ab

i

⇤j+1

d

i

⇤j+1

.

Page 32: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

32

On the other hand, it is easy to verify that (y⇤�

, y

⇤N

) defined in (58) achieves this best possible value.

Therefore it is enough to show that (y⇤�

, y

⇤N

) is a feasible solution for LP-DE to conclude that it is

an optimal solution for LP-DE.

By the monotonicity property (41) and Lemma 3, (y⇤�

, y

⇤N

) satisfies the constraints (52), (53) and

(54). Also, it satisfies (51) for i = i

⇤j

and i = i

⇤j+1. In fact, these two constraints are tight at this

point. We next prove that (y⇤�

, y

⇤N

) satisfies (51) for i 6= i

⇤j

, i

⇤j+1. For i < i

⇤j

,

d

i

y

⇤�

� y

⇤N

= d

i

⇤j+1

y

⇤�

� y

⇤N

� (di

⇤j+1

� d

i

)y⇤�

= P

Ab

i

⇤j+1

d

i

⇤j+1

� (di

⇤j+1

� d

i

)

0

@

P

Ab

i

⇤j+1

d

i

⇤j+1

�P

Ab

i

⇤jd

i

⇤j

d

i

⇤j+1

� d

i

⇤j

1

A

. (59)

Since level i⇤j

is e�cient, by (45) and Lemma 3

P

Ab

i

⇤j+1

d

i

⇤j+1

�P

Ab

i

⇤jd

i

⇤j

d

i

⇤j+1

� d

i

⇤j

P

Ab

i

⇤j+1

d

i

⇤j+1

�P

Ab

i

d

i

d

i

⇤j+1

� d

i

.

This implies by (59) that d

i

y

⇤�

� y

⇤N

P

Ab

i

d

i

. So (51) is satisfied for any i < i

⇤j

by (y⇤�

, y

⇤N

). For

i > i

⇤j+1, a similar argument applies by using the e�ciency of level i⇤

j+1. Specifically, by (45)

(di

� d

i

⇤j)PAb

i

⇤j+1

d

i

⇤j+1

(di

⇤j+1

� d

i

⇤j)PAb

i

d

i

+(di

� d

i

⇤j+1

)PAb

i

⇤jd

i

⇤j. (60)

Then

d

i

y

⇤�

� y

⇤N

= d

i

⇤jy

⇤�

� y

⇤N

+(di

� d

i

⇤j)y⇤

= P

Ab

i

⇤jd

i

⇤j+(d

i

� d

i

⇤j)

0

@

P

Ab

i

⇤j+1

d

i

⇤j+1

�P

Ab

i

⇤jd

i

⇤j

d

i

⇤j+1

� d

i

⇤j

1

A

P

Ab

i

d

i

,

where the last inequality follows from (60).

If Ui

⇤j= ;, then the proof is complete. Also, for all i 2 N , (y⇤

, y

⇤N

) satisfies (51), as described

above if (y⇤�

, y

⇤N

) satisfies (51) for all i2N

c. So next we consider Uij\N

c. For any i2 U

i

⇤j\N

c, let

j+1 =P

Ab

i

⇤j+1

d

i

⇤j+1

�P

Ab

i

d

i

P

Ab

i

⇤j+1

d

i

⇤j+1

�P

Ab

i

⇤jd

i

⇤j

and �

j

= 1� �

j+1. By (41), �j

, �

j+1 2 [0,1]. It follows from Lemma 4 below and (46) that

d

i

j+1di⇤j+ �

j

d

i

⇤j+1

. (61)

Then

d

i

y

⇤�

� y

⇤N

j+1

d

i

⇤jy

⇤�

� y

⇤N

+ �

j

d

i

⇤j+1

y

⇤�

� y

⇤N

Page 33: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

33

j+1PAb

i

⇤jd

i

⇤j+ �

j

P

Ab

i

⇤j+1

d

i

⇤j+1

= P

Ab

i

d

i

,

where the first inequality follows from (61) and the second inequality follows from the fact that

(y⇤�

, y

⇤N

) satisfies the constraint (51) for i⇤j

and i

⇤j+1. So (y⇤

, y

⇤N

) satisfies the constraint (51) for all

1 i I. Therefore, (y⇤�

, y

⇤N

) is an optimal solution for LP-DE and LP-D. In addition, the feasible

solution given by (16) for the routing LP (47) attains the same objective value as the optimal

objective value of LP-D, therefore it must be an optimal solution of (10), proving (16) in this case.

Finally, we study the case where �� d

I

N . Consider the solution (y⇤�

, y

⇤N

) = (1, dI

(1�P

Ab

I

)) with

objective value �

N

� d

I

(1� P

Ab

I

) for LP-DE. We claim that it is an optimal solution of LP-DE.

Note first that it is feasible by (6). In addition, by (51) for i= I and (52), for any feasible solution

(y�

, y

N

) the objective function is bounded by �

N

� d

I

(1�P

Ab

I

). Thus, (y⇤�

, y

⇤N

) is an optimal solution

of LP-DE and LP-D. Note also that the feasible solution given by �

I

= d

I

N , �I+1 = �� d

I

N , and

i

= 0, i= 1, . . . , I � 1 for the routing LP (47) attains the same objective value with the optimal

objective function value of LP-D, therefore it must be an optimal solution of (10), proving (17).

A.1. Proof of (61)

We now focus on the ine�cient levels in U

i

⇤j\ N

c (when U

ij6= ;) for an e�cient level i

j

. For

notational simplicity we assume N = ; and use only the notation U

i

⇤jthe rest of this section. (We

do not make use of this assumption in the proof.) For an ine�cient level i, we denote the set

of all pairs (i1, i2) with i1 < i < i2 that satisfy (45) by J (i). For any i 2 U

ij, by the definition of

ine�ciency, there exists a pair (k, j)2J (i). However, the definition itself does not require (ij

, i

j+1)

to be one of the pairs in J (i). In this section we prove that (ij

, i

j+1)2J (i).

Let a

i

= P

Ab

i

d

i

and consider the set of pairs {(di

, a

i

) : i = {1,2, . . . , I}} on a two-dimensional

plane. Assume that dk

6= d

j

and let Lk,j :R!R denote the (straight) line passing through points

(dk

, a

k

) and (dj

, a

j

), hence,

L

k,j(x) =a

j

� a

k

d

j

� d

k

x�

a

j

� a

k

d

j

� d

k

d

k

+ a

k

, x2R.

From here on when we consider Lk,j we assume without further mention that dk

6= d

j

. For k < i < j,

we have

L

k,j(di

) = a

j

d

i

� d

k

d

j

� d

k

+ a

k

d

j

� d

i

d

j

� d

k

.

Page 34: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

34

If a level i is ine�cient then by (46) either dk

= d

i

for some k < i or

a

i

�L

k,j(di

) (62)

for some (k, j)2 J(i).

Lemma 4. Let ij

2F . For any i2 U

ij(61) holds.

Note that (61) is equivalent to

a

i

�L

ij ,ij+1(di

). (63)

We use the following results in the proof that are immediate from algebraic manipulations. Let

k < i and k < j and assume that Lk,i(x)L

k,j(x) for some x> d

k

, then

L

k,i(x)L

k,j(x) for all x> d

k

(64)

Similarly, if for k < i and j < i L

k,i(x)L

j,i(x) for some x< d

i

, then

L

k,i(x)L

j,i(x) for all x< d

i

. (65)

Let i < j and k < l and assume that there exists x1 >x0 such that Li,j(x)L

k,l(x) for some x< x0,

and L

i,j(x)�L

k,l(x) for some x> x1, then

L

i,j(x)L

k,l(x) for all x< x0, and L

i,j(x)�L

k,l(x) for all x> x1. (66)

Proof of Lemma 4: We prove the result using an induction argument. Because level i is ine�-

cient, by Lemma 5 below, (k1, ij+1)2J (i) for some k1 < i. Hence, by (62) (note that by Lemma 3

and the fact that ij+1 is e�cient we have d

i

< d

ij+1for all i < i

j+1)

a

i

�L

k1,ij+1(di

). (67)

Now we proceed by induction. Let i = i

j

+ 1. Assume that k1 < i

j

as otherwise the proof is

complete. Because level ij

is e�cient

a

ij<L

k1,ij+1(dij). (68)

Since a

ij= L

ij ,ij+1(dij), we have L

ij ,ij+1(x) L

k1,ij+1(x) for all x d

ij+1by (65). The result then

follows from (67).

Now assume that for i2 U

ij, i > i

j

+1 and

a

i

0�L

ij ,ij+1(di

0)

Page 35: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

35

for all ij

+1 i

0 i� 1. By Lemma 5, there exists 1 k1 < i such that (k1, ij+1)2J (i). If k1 i

j

,

the result follows as above using (68). Now assume that k1 > i

j

. By the induction argument

a

k1 =L

k1,ij+1(dk1)�L

ij ,ij+1(dk1).

Therefore, by (65)

L

k1,ij+1(x)�L

ij ,ij+1(x)

for x< d

ij+1. Then (63) follows from (67). ⇤

Lemma 5. Let ij

2F . For any i2 U

ij,

a

i

�L

k,ij+1(di

) (69)

for some 1 k < i.

Proof of Lemma 5: Assume that level i is ine�cient. Then by (46) either di

= d

j

for some j < i

or

a

i

�L

j1,j2(di

). (70)

for some j1 < i< j2.

First assume that di

= d

i

0 for some i

0< i. Then, by Lemma 3 d

ij+1> d

i

= d

i

0 . Hence, we have

a

i

�L

i

0,ij+1(d

i

)

by (64) completing the proof in this case.

Now assume that di

> d

i�1 and that (70) holds. It follows from (64) and Lemma 3 that dj2 > d

i

.

We prove the result in this case recursively by induction. First suppose i= i

j+1� 1. In this case, if

j2 = i

j+1 the result follows. Otherwise, we must have j2 > i

j+1. The fact that level ij+1 is e�cient

implies

L

j1,ij+1(dij+1

) = a

ij+1<L

j1,j2(dij+1

),

hence by (64)

L

j1,ij+1(x)L

j1,j2(x), for all x> d

j1 . (71)

The result (69) with k= j1 follows from (70) and (71) (with x= d

i

since d

i

> d

j1).

Page 36: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

36

Now suppose i < i

j+1 � 1 and by induction that for all i0 with i < i

0< i

j+1

a

i

0�L

k1(i0),ij+1(d

i

0) (72)

for some k1(i0)< i

0. By the discussion above, if di

= d

i�1 the proof is immediate, therefore we focus

on the case when d

i

> d

i�1. If di > d

i�1 then it follows from (64) and Lemma 3 that dj2 > d

i

. Also,

by Lemma 3 and the fact that ij+1 is e�cient we have d

j2 < d

ij+1. Hence for the rest of the proof

the following holds

d

i�1 < d

i

< d

j2 < d

ij+1. (73)

If j2 � i

j+1, then the result (69) (with k = j1) follows in a similar way to the discussion leading

to (71). So we now focus on the case where j2 < i

j+1. We can assume the pair (j1, j2) we pick is the

one such that j2 =min{j : (j1, j)2J (i)}. By the induction assumption (72), for this j2

a

j2 �L

k1(j2),ij+1(dj2). (74)

There are three di↵erent cases to be analyzed separately.

(i) k1(j2)< j1 < i< j2

(ii) j1 k1(j2)< i< j2

(iii) j1 < i k1(j2)< j2

Case (i): If ai

�L

k1(j2),ij+1(di

), then result (69) with k= k1(j2) follows immediately. So we focus

on the case where

a

i

<L

k1(j2),ij+1(di

). (75)

We show below that in this case,

a

j1 L

k1(j2),ij+1(dj1). (76)

We now show the result (69) holds with k = j1 using (75) and (76). Figure 3 gives a graphic

demonstration of the argument. Let Lj1,j2 denote the line that passes through the points (dj1 , aj1)

and (dj2 ,L

k1(j2),ij+1(dj2)). Since (74) holds, by (64), we have that

L

j1,j2(x)� L

j1,j2(x), for all x� d

j1 . (77)

On the other hand, since (76) holds, by (65), we have that

L

k1(j2),ij+1(x)�L

j1,ij+1(x), for all x d

ij+1.

Page 37: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

37

Plugging x= d

j2 in the above yields Lk1(j2),ij+1(dj2) = L

j1,j2(dj2)�L

j1,ij+1(dj2). This, again by (64),

implies that

L

j1,j2(x)�L

j1,ij+1(x), for all x� d

j1 . (78)

The result follows from (70), (77) and (78) (with x= d

i

since d

i

� d

j1).

To complete the proof in Case (i), we next prove (76). We first show that (74) and the opposite

of (76) implies that

L

j1,j2(x)�L

k1(j2),ij+1(x), for all dj1 x d

j2 . (79)

(In other words, the line segment connecting (dj1 , aj1) and (d

j2 , aj2) lies above the line passing

through (dk1(j2), ak1(j2)) and (d

ij+1, a

ij+1).) Let Lj1,j2 be defined as above. By (74) and (64)

L

j1,j2(x)L

j1,j2(x), for all x� d

j1 (80)

and if (76) does not hold then by (65)

L

j1,j2(x)�L

k1(j2),ij+1(x), for all x d

j2 (81)

We have (79) by (80) and (81). By (79) and (70), we must have that a

i

� L

k1(j2),ij+1(di

), contra-

dicting (75), hence (76) holds.

a

k1(j2)

d

k1(j2)

a

ij+1

d

ij+1

a

j1

d

j1

a

j2

d

j2

a

i

d

i

Figure 3 Graphic Presentation in Case (i).

Case (ii): If ak1(j2) <L

j1,j2(dk1(j2)), then this and (74) implies that

L

j1,j2(x)�L

k1(j2),ij+1(x), for all dk1(j2) x d

j2 . (82)

Page 38: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

38

Since d

k1(j2) d

i

d

j2 , the result (69) with k = k1(j2) follows immediately from (70) and from

plugging x= d

i

in (82).

Now assume that ak1(j2) �L

j1,j2(dk1(j2)). This implies that

L

k1(j2),ij+1(dk1(j2))�L

j1,j2(dk1(j2)).

It follows from (74) that

L

k1(j2),ij+1(dj2)L

j1,j2(dj2).

By (66),

L

k1(j2),ij+1(x)�L

j1,j2(x), for all x d

k1(j2).

In particular, the above holds for x= d

j1 since d

j1 d

k1(j2). Thus, by (65),

L

k1(j2),ij+1(x)�L

j1,ij+1(x), for all x d

ij+1.

Since d

j2 d

ij+1, the above inequality holds for x= d

j2 , this together with (74) implies that aj2 �

L

j1,ij+1(dj2). By (64),

L

j1,j2(x)�L

j1,ij+1(x), for all x� d

j1 . (83)

The result (69) with k= j1 follows from (70) and (83) (with x= d

i

since d

i

� d

j1).

Case (iii): Since j2 is the smallest level such that (j1, j2)2J (i) we must have

a

i

L

j1,k1(j2)(di

). (84)

Also note that d

ij+1> d

k1(j2) � d

i

> d

j1 by (73). (84) together with (70) implies L

j1,k1(j2)(di

) �

L

j1,j2(di

). Since d

k1(j2) � d

i

by (64),

a

k1(j2) =L

k1(j2),ij+1(dk1(j2)) =L

j1,k1(j2)(dk1(j2))�L

j1,j2(dk1(j2)).

On the other hand, (74) implies that

L

k1(j2),ij+1(dj2)L

j1,j2(dj2).

By (66), we have

L

k1(j2),ij+1(x)L

j1,j2(x) for all x� d

j2 .

In particular, the above inequality holds for x= d

ij+1since d

ij+1� d

j2 . Thus, by (64), (83) holds

in this case as well. The result (69) with k = j1 follows from (70) and (83) (with x = d

i

since

d

i

� d

j1). ⇤

Page 39: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

39

B. Queueing equations

In this section we provide the details of the queueing equations for the CSC systems and set the

notation for the rest of results in the appendix.

B.1. Notation

All random variables and processes are defined on a common probability space (⌦,G, P ) unless

specified otherwise. The symbols N,R and R+ are used to denote nonnegative integers, real numbers

and nonnegative real numbers, respectively. For d 2 N, Rd denotes the d-dimensional Euclidean

space; thus, R= R1. The space of functions f : R+ ! Rd that are right-continuous on [0,1) and

have left limits in (0,1) is denoted by D(R+,Rd) or simply Dd ; similarly, with T > 0, the space of

functions f : [0, T ]!Rd that are right-continuous on [0, T ) and have left limits in (0, T ] is denoted

by D([0, T ],Rd). For f 2 Dd, f(t�) denotes its left limit at t > 0. Each stochastic process whose

sample paths are in Dd is considered to be a Dd-valued random element. The space Dd is assumed

to be endowed with the u.o.c. topology (see Billingsley (1968)). For a function f :R!Rd with d

being some positive integer, we say that t is a regular point of f if f is di↵erentiable at t and use

f(t) to denote its derivative at t. We use E

[·] to denote the conditional expectation and P

{·} to

denote the conditional probability given that (Q(0),Z(0)) is distributed according to �. Similarly,

we use E

x

[·] to denote the conditional expectation and P

x

{·} to denote the conditional probability

given that (Q(0),Z(0)) = x.

B.2. Queueing Equations

In this section we introduce the queueing equations for the CSC systems. Fix � and let Z�

i

(t) denote

the number of agents serving i customers and Q

�(t) denote the number of customers in queue at

time t. Also, let {Si

: i= 1, . . . , I+1} denote a set of independent rate 1 Poisson processes and A

�(t)

denote the number of arrivals at the system by time t which is also assumed to be independent

of {Si

: i= 1, . . . , I +1}. We denote by A

i

(t) the number of customers who are routed to an agent

serving i customers for i= 0,1, . . . , I � 1 and by A

I

(t) the number of customers who are routed to

the queue upon arrival by time t in the �th system. We set Z� = (Z�

i

(0); i= 0,1, . . . , I, t� 0) and

A

� = (A�(t),A�

i

(t); i= 0,1, . . . , I, t� 0). Let

D

i

(t) = S

i

d

i

Z

t

0

Z

i

(s)ds

, i= 1, . . . , I

and

D

I+1(t) = S

I+1

Z

t

0

Q

�(s)ds

Page 40: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

40

denote the number of customers who leave the system while receiving service from an agent at

level i and the number of abandonments from queue by time t, respectively. The following queueing

equations are satisfied under any policy for t� 0.

Z

0 (t) =Z

0 (0)�A

0(t)+D

1 (t) , (85)

Z

i

(t) =Z

i

(0)+A

i�1(t)�A

i

(t)+D

i+1 (t)�D

i

(t) , i= 1, . . . , I � 2, (86)

Z

I�1(t) =Z

I�1(0)+A

I�2(t)�A

I�1(t)+L

q

(t)�D

I�1 (t) , (87)

Q

�(t) =Q

�(0)+A

I

(t)�D

I

(t)�D

I+1 (t)+L

q

(t), (88)I

X

i=0

A

i

(t) =A

�(t), (89)

Z

i

(t)� 0,A�

i

(0) = 0 and A

i

is nondecreasing, i= 0,1, . . . , I. (90)I

X

i=0

Z

i

(t) =N

, (91)

where

L

q

(t) =

Z

t

0

1�

Q

�(s) = 0

dD

I

(s).

By (91), Z�

I

(t) =N

P

I�1i=0 Z

i

(t), for all t� 0, hence

D

I

(t) = S

I

d

I

N

t�

Z

t

0

I�1X

i=0

Z

i

(s)ds

!!

.

Also, an arrival can be routed to an agent at level i only when there is at least one agent at that

level, hence,

Z

t

0

1�

Z

i

(s�) = 0

dA

i

(s) = 0, t� 0.

In addition, because we focus on non-idling policies, customers wait in the queue only when all

agents are at level I, therefore

Q

�(t)

I�1X

i=0

Z

i

(t)

!

= 0, t� 0. (92)

Additional equations under the proposed policy: Note that the policy proposed in §4.1 is a static

priority policy once the basic levels i

j

and i

j+1 are fixed. For levels below i

j

, those with lower

indexes have higher priorities. Levels in U

ijhave lower priorities than those levels below i

j

but

higher priorities than i

j

. Also their priorities among those levels in this set are set in the reverse

order of their indexes. All levels above i

j+1 (including i

j+1) have lower priorities than levels below

i

j+1. Also for two levels above i

j+1, levels in N

0 have lower priorities than those levels that are not

in N

0. Levels that are not in N

0 have decreasing priority in their indexes and levels that are in

Page 41: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

41

N

0 have increasing in their indexes. We can re-index the levels using {v

i

} so that v�i

denotes the

priority index of level i and v

i

< v

i

0 if level i has priority over i0. We note that under the proposed

policy, for 0< t1 < t2, we have

A

i

(t2)�A

i

(t1) = 0, ifX

{i0:v�i0<v

�i }

Z

i

0(s)> 0, for all s2 [t1, t2], i= 1, . . . , I � 1. (93)

C. Proof of Theorem 1

Fix � and let ⇡

� denote a non-idling policy. We first prove that under ⇡

� there exists a unique

steady state distribution �(⇡�) for the processes (Z�

,Q

�). We prove this result using Foster’s

criteria. Choose K > 0 large enough so that �(K �N

�)+ Id

I

N

��>�c, for some c > 0. We say

a state (Z,Q) is feasible if (91) and (92) are satisfied. (Throughout the proof we use the notation

defined in §B.) Given a (feasible) state (Z,Q), with Z = (Z0,Z1, . . . ,ZI

), where Z

i

is the number

of agents at level i and Q is the queue length, define f(Z,Q) =P

I

i=0Zi

+Q. Then, for any state

(Z,Q) with f(Z,Q)>K, for the generator of the underlying Markov chain �, we have

�f(Z,Q) = �� d

I

N

� �Q<�c

because the policy is assumed to be non-idling. Therefore (Z�

,Q

�) is positive recurrent for each �

by Foster’s criteria (see for example Meyn and Tweedie (2009)).

Because under any non-idling policy there exists a unique stationary distribution, by Meyn and

Tweedie (2009) and (85)–(88), we have for each �

P

�,⇡

�(Ab) = lim

T!1

Ab

�(T )

T�

=E

�(⇡�)

h

P

I

i=1 i⌫Z�

i

(0)+ �Q

�(0)i

. (94)

Obviously, under �(⇡�)

I

X

i=1

Z

i

(0)N. (95)

Because the underlying chain is ergodic

limT!1

D

i

(T )

T

=E

�(⇡�)

h

d

i

Z

i

(0)i

a.s.,

for i= 0,1, . . . , I and

limT!1

D

I+1(T )

T

=E

�(⇡�)

�Q

�(0)⇤

a.s.

In addition, by stationarity

�=I

X

i=0

E

�(⇡�)

h

d

i

Z

i

(0)i

+E

�(⇡�)

�Q

�(0)⇤

. (96)

Page 42: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

42

Consider the following LP

min{Q,Zi;i=0,1,...,I}

P

Ab

st. �Q+I

X

i=1

i⌫Z

i

= P

Ab

�,

I

X

i=0

Z

i

N

,

�Q+I

X

i=1

d

i

Z

i

� �,

Q,Z

i

� 0, i= 0,1, . . . , I.

(97)

Denote the optimal solution of this LP by P

Ab(�,N�). By (94), (95), and (96), we have that

P

�,⇡

�(Ab)� P

Ab(�,N�).

Also, LP (97) is equivalent to LP (10), which can be seen by setting �

i

= d

i

Z

i

and �

I+1 = �Q there

and using (2). Therefore,

P

�,⇡

�(Ab)� P

Ab(1,��1N

�). (98)

Then taking the limit on both sides of (98) as � goes to infinity and using the fact

lim�!1

P

Ab(1,��1N

�) = P

Ab(1,N),

which follows from (9), and the fact that the optimal solution of the LP is a continuous function

of its constraints gives the desired result. ⇤

D. Proof of Theorem 2

In this section we prove Theorem 2. (Throughout the proof we use the notation defined in §B.)

The proof is based on analyzing the (fluid) limits of the fluid scaled processes (n�1Z

n

, n

�1Q

n).

Specifically we find the steady state of the fluid limits by establishing the fluid model equations.

Then we show that the steady state of the fluid scaled processes are tight. Then we combine these

results to complete the proof. For the case when there is only one basic level in the limit the proof

is slightly di↵erent but the idea is similar.

We analyze the fluid limits of the queuing processes under the proposed policies in §D.1 and

then prove the tightness of the stationary distributions of the fluid scaled processes in §D.2. We

present the proof in §D.3

Page 43: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

43

D.1. Analysis of the fluid model

In this section we analyze the fluid limits of the chat systems under the proposed policies. First we

establish the fluid model equations that are satisfied by the fluid limits and then find the steady

state of the fluid model solutions.

Consider the asymptotic regime where (9) holds. Consider the following fluid model equations.

Z0(t) = Z0(0)� A0(t)+ d1

Z

t

0

Z1(s)ds, (99)

Z

i

(t) = Z

i

(0)+ A

i�1(t)� A

i

(t)+ d

i+1

Z

t

0

Z

i+1(s)ds� d

i

Z

t

0

Z

i

(s)ds, i= 1, . . . , I � 2, (100)

Z

I�1(t) = Z

I�1(0)+ A

I�2(t)� A

I�1(t)+ L

q

(t)� d

I�1

Z

t

0

Z

I�1(s)ds, (101)

Q(t) = Q(0)+ A

I

(t)� d

I

Z

t

0

Z

I

(s)ds� �

Z

t

0

Q(s)ds+ L

q

(t), (102)

I

X

i=0

˙A

i

(t) = ˙A(t) = 1, (103)

Z

I

(t) =N �

I�1X

i=0

Z

i

(t), (104)

X

{k:vkvi}

˙A

k

(t) = 1 if Zi

0(t)> 0, for some i

0 with v

i

� v

i

0, i= 0,1, . . . , I � 1, (105)

˙L

q

(t) = 0 if Q(t)> 0, (106)

Q(t)I�1X

i=0

Z

i

(t) = 0, (107)

Z

i

(t)� 0, Q(t)� 0, i= 0,1, . . . , I, (108)

A

i

, L

q

are non-decreasing, i= 0,1, . . . , I, (109)

where the priorities of levels are found based on i

⇤(1,N) as explained in §B.2. We refer to

(99)–(109) as the fluid model and to (Q, Z, A, L

q

) with Z =�

Z

i

(t); i= 0,1, . . . , I, t� 0�

and A=

(A(t), Ai

(t); i= 0,1, . . . , I, t� 0) which satisfies these equations as a fluid model solution. It can be

shown as in Dai and Tezcan (2011) that every fluid model solution is Lipschitz and so di↵erentiable

a.e.

Because the proposed policy depends on the values of � and N

�, if i⇤(1,N) has only one level,

there may be a “discontinuity” in the proposed policies along the sequence of systems. Specifically,

the proposed policy ⇡

�,⇤ may be di↵erent for each � and may fluctuate between di↵erent policies as

�!1. We prove Theorem 2 separately for the cases when such discontinuity is present and when

it is not. Under the following assumption we will show that the proposed policy is independent of

� for large �.

Assumption 1. One of the following conditions holds

Page 44: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

44

i) The set i⇤(1,N) has two elements;

ii) The set i⇤(1,N) has only one element and all the levels are e�cient;

iii) N

� = �N for some N � 0 and for � large enough.

If Assumption 1 holds, one can work with the fluid model to complete the proof of Theorem 2.

Otherwise, one needs to work with the fluid limits as described in Proposition 3. We next show

that the fluid model is obtained from the underlying queueing system equations. The fluid scaling

of the queueing processes are defined as Z

�(t) = �

�1Z

�(t), Q�(t) = �

�1Q

�(t), A�(t) = �

�1A

�(t)

and L

q

(t) = �

�1L

q

(t). Assume that

Z

�(0), Q�(0)�

!

Z(0), Q(0)�

as �!1 a.s. (110)

with Z(0) =�

Z

i

(0); i= 0,1, . . . , I�

.

Proposition 2. Consider a sequence of chat service systems and assume that (9), (110) and

Assumption 1 hold. Then the sequence {

Z

, Q

, A

, L

q

} is tight a.s. in the Skorohod space

endowed with the u.o.c. topology and every limit�

Z, Q, A, L

q

is a fluid model solution.

Proof of Proposition 2: Consider a sequence of chat service systems and assume that (9), (110)

and Assumption 1 hold. The proof of the tightness of the sequence {

Z

, Q

, A

, L

q

} is standard

(see Dai and Tezcan (2011)) hence we skip the details. Also, the fact that fluid limits satisfy the

fluid model equations can be proved as in there. We also note that all the fluid model equations

(99)–(109) except (105) are satisfied by the fluid limits under any sequence of non-idling policies.

We next show that the fluid limits under the proposed policy satisfy the policy specific equation

(105).

Fix a fluid limit�

Z, Q, A, L

q

and assume that Zi

(t)> 0 for some i I � 1. Then, there exists a

subsequence, denoted again by � and ! 2⌦ such that

Z

, Q

, A

, L

q

!

Z, Q, A, L

q

, u.o.c. as �!1. (111)

By the continuity of the fluid model solutions, (111) implies that

Z

i

(s)> 0 (112)

for s2 [t� �, t+ �], for some �> 0 small enough and for all � large enough. Under Assumption 1(i),

by the continuity of an LP on its constraints and because there can be at most two basic levels, for

� large enough we have i

⇤(�,N�) = i

⇤(1,N). Under Assumption 1(iii) we have i

⇤(�,N�) = i

⇤(1,N)

for all � large enough. Under Assumption 1(ii) the set of basic levels may be di↵erent for two

di↵erent �’s, however, because all the levels are e�cient the policy is a strict priority rule giving

priority to levels with a lower index for each �. Condition (105) then follows from (89), (93), (111)

and (112). ⇤

Page 45: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

45

Steady state of the fluid limits: Next we establish the steady state of the fluid model. Fix N and

consider the optimal solution �

⇤ (1,N) = (�⇤i

(1,N) ; i= 0,1, . . . , I) of (10). Let z⇤ be defined as in

(18) and

q

⇤ =

(

0, if 1 d

I

N

1�dIN

, if 1> d

I

N.

(113)

Theorem 7. Let M >N be such that q⇤ <M . For any fluid model solution�

Z, Q, A, L

q

with�

�(Q(0), Z(0))�

< 2M and for any ✏> 0 there exists T (M, ✏)> 0 such that

�(Q(t), Z(t))� (q⇤, z⇤)�

< ✏ (114)

for all t� T (M, ✏).

We present the proof of this result in §H.1.

When Assumption 1 does not hold: Next we analyze the fluid limits when Assumption 1 does

not hold and prove a result similar to Theorem 7. In this case we work with the fluid limits instead

of the fluid model solutions as the fluid limits may not satisfy (105) because of the aforementioned

“discontinuity” in the proposed policy in the sequence of CSC systems.

Proposition 3. Consider a sequence of chat service systems and assume that (9) and (110)

hold. Also assume that i⇤(1,N) has only one element,

Z

, Q

, A

, L

q

!

Z, Q, A, L

q

, a.s. u.o.c. as �!1 (115)

and that

limsup�!1

P

Q

�(0)>M

< ✏

for some M and ✏> 0. Then, there exists T > 0 large enough such that

limsup�!1

P

�(Q�(t), Z�(t))� (q⇤, z⇤)�

> ✏

< 2✏ (116)

for all t� T .

We present the proof in §H.2.

D.2. Convergence of steady state quantities

Consider the asymptotic regime where (9) holds. Let �(⇡�) denote the stationary distribution of

(Z�(t), Q�(t)) under a non-idling policy ⇡

�. The existence and uniqueness of �(⇡�) follow from

the proof of Theorem 1. We next show that the sequence of fluid scaled stationary distributions is

tight.

Page 46: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

46

Theorem 8. Consider a sequence of chat service systems that satisfies (9) under a sequence of

non-idling policies {⇡�

} and let�

Z

�(0), Q�(0)�

be distributed according to �(⇡�). Then the sequence�

(Z�(0), Q�(0))

is tight and the sequence�

Q

�(0)

is uniformly integrable.

A proof is presented in §H.3.

D.3. Proof of Theorem 2

Consider a sequence of chat service systems that satisfies (9). Let �� denote the stationary distri-

bution in the �th system. The first claim follows from the second one, Theorem 8, and the fact

that

P

�(Ab) = limT!1

Ab

�(T )

T�

=E

h

�Q

�(0)+P

I

i=1 i⌫Z�

i

(0)i

. (117)

We focus on proving the second part for the rest of the proof. Assume that the initial state

(Q�(0),Z�(0)) has distribution �

�. By Theorem 8, the sequence {(Q�(0), Z�(0))} is tight. Therefore,

it is su�cient to show that every convergent subsequence of (Q�(0), Z�(0)) converges to the same

limit (q⇤, z⇤). To this end consider a convergent subsequence, denoted again by {�} for notational

simplicity. We show that

(Q�(0), Z�(0))! (q⇤, z⇤) as n!1 in probability. (118)

To prove (118) it is enough to show that

limsup�!1

P

�(Q�(0), Z�(0))� (q⇤, z⇤)�

> ✏

< ✏

0 (119)

for any ✏, ✏

0> 0. Therefore, fix ✏> 0 and ✏

0> 0. By Theorem 8, there exists M > 0 such that

limsup�!1

P

�(Q�(0), Z�(0))�

>M

< ✏

0/2. (120)

Using an argument similar to that in Theorem A.1 in Dai and Tezcan (2011) and using Theorem

4.4 in Billingsley (1968), the sequence

(Q�(0), Z�(0), Q�

, Z

, A

, L

q

, S

(121)

is tight, where S

� = (S�

1 , S�

2 , . . . , S�

I+1) and S

i

(t) = �

�1S

i

(�t), i= 1,2, . . . , I +1. Consider a conver-

gent subsequence, again denoted by �, and let the limit of this subsequence be denoted by

(Q(0), Z(0), Q, Z, A, L

q

, S

.

Page 47: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

47

Also observe that Si

(t) = 1, for S =�

S1(t), . . . , SI+1; t� 0�

and A(t) = t, t� 0 a.s. Obviously, it is

enough to prove (119) for any such (further) subsequence.

By appealing to the Skorohod representation theorem, we may choose an equivalent distributional

representation (which we will denote by putting a “ ˜ ” above the symbols) such that the sequence

of random processes

n⇣

˜Q

�(0), ˜Z�(0), ˜Q�

,

˜Z

,

˜A

,

˜L

q

,

˜S

⌘o

as well as the limit

˜Q(0), ˜Z(0), ˜Q,

˜Z,

˜A,

˜L

q

,

˜S

are defined on a new probability space, say (⌦, G, P ), so that P -a.s.

˜Q

�(0), ˜Z�(0), ˜Q�

,

˜Z

,

˜A

,

˜L

q

,

˜S

!

˜Q(0), ˜Z(0), ˜Q,

˜Z,

˜A,

˜L

q

,

˜S

(122)

u.o.c. as �!1. Clearly ˜S

i

(t) = 1, t� 0 a.s. for ˜S =

˜S1(t), . . . ,

˜S

I+1; t� 0⌘

, hence we drop it from

the notation for the rest of the proof. Also, ˜A(t) = t a.s. for t� 0.

By the equivalent distributional representation, the limit⇣

˜Q(0), ˜Z(0), ˜Q,

˜Z,

˜A,

˜L

q

satisfies the

fluid model equations (99)–(109) if Assumption 1 holds. Hence, it follows from (120) and Theorem 7

that there exists T > 0 such that

P

n

( ˜Q(t), ˜Z(t))� (q⇤, z⇤)�

> ✏

o

< ✏

0/2 (123)

for all t� T . By (122) and the equivalent distributional representation, this implies that

P

�(Q�(t), Z�(t))� (q⇤, z⇤)�

> ✏

< ✏

0

for all t � T and � large enough. We obtain the desired result (120) by the fact that the initial

state (in the original probability space) (Q�(0), Z�(0)) has a stationary distribution for each �. If

Assumption 1 does not hold, (123) (hence the result) follows from Proposition 3. ⇤

D.4. Proof of Theorem 3

The proof is similar to the proof of Theorem 2 hence we only present a sketch. The main di↵erence

in the proof is that we need to show that Theorem 7 is still valid under ⇡

0 when (23) holds. The

proof is similar to that of Theorem 7. It is easily checked that (150) in Step 1 and (151) in Step

2 of Theorem 7 are still valid when (23) holds. Then Step 3 is identical since ⇡

0 takes the same

actions with ⇡

�,⇤ when (153) and (154) hold. ⇤

Page 48: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

48

E. Proof of Proposition 1

Assume that (9), (26) and (27). holds. (Throughout the proof we use the notation defined in §B.)

Recall that z

⇤(1,N) = (z⇤0 , z⇤1 , . . . , z

⇤I

) denotes the optimal solution of (10) (with sta�ng level N

and arrival rate �= 1), see (18).

As in the proof of Theorem 2, we focus on the fluid limits. First we give an explanation of how

the queueing equations are obtained under ⇡

P

. Let levels i

j

and i

j+1 be e�cient and recall that

U

ijdenote the set of ine�cient levels in between these two levels. With a slight abuse of notation,

let A

i

(t) denote the number of customers who are assigned to an agent in levels {i

j

}[ U

ijupon

arrival. By construction of our policy there may be at most one agent in one of the levels in U

ij.

Let

D

Uij(t) =

X

i2Uij

D

i

(t) and D

Uij(t) =

D

Uij(t)

.

Obviously

X

i2Uij

Z

i

(·)! 0 and D

Uij(·)! 0 (124)

u.o.c. a.s. as �!1.

Now because of the preemption procedure

Z

ij+1(t)�Z

ij+1(0)�

0

@

A

ij(t)�D

ij+1(t)�D

Uij(t)

i

j+1 � i

j

A

ij+1(t)�D

ij+2(t)�D

Uij+1(t)⌘

i

j+2 � i

j+1

1

A

2.

Using this condition and (124), one can show that the fluid limits of ⇡

P

satisfy the following

equations in addition to (99) and (104)–(109); for i /2F

Z

i

(t) = 0, for all t� 0. (125)

For ij

2F ,

Z

ij(t) = Z

ij(0)+

1

i

j

� i

j�1A

ij�1(t)�

1

i

j+1 � i

j

A

ij(t)

+d

ij+1

i

j+1 � i

j

Z

t

0

Z

ij+1(s)ds�

d

ij

i

j

� i

j�1

Z

t

0

Z

ij(s)ds, i

j

2F \ {0, I}, (126)

Q(t) = Q(0)+ A

I

(t)� d

I

Z

t

0

Z

I

(s)ds� �

Z

t

0

Q(s)ds+ L

q

(t), (127)X

ij2F

˙A

ij(t) = 1, (128)

˙A

ij0(t) = 0, if Z

ij(t)> 0 for some j < j

0, (129)

Page 49: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

49

where J is the number of e�cient levels. The fluid model equations (99), (104)–(109) and (125)–

(129) are similar to the fluid model equations (99)–(109), with one di↵erence; the number of agents

transitioning from one level to another as explained above. We note again that a solution {Z, Q, A}

to equations (99), (104)–(109) and (125)–(129), referred to as a fluid model solution, is di↵erentiable

almost everywhere and we refer to a point where it is di↵erentiable as a regular point.

As in the proof of Theorem 2, it is enough to show that for any fluid model solution {Z, Q, A},

given ✏> 0, there exists T large enough such that

Z

i

(t)� z

⇤i

< ✏. (130)

for t � T and i = 0, . . . , I. We also note that for i /2 F , (130) follows from Lemma 1 and (125).

We prove the result in three steps. We mainly focus on the case when there are two basic levels,

denoted by i

j

and i

j+1, 0< i

j

< i

j+1 < I and d1N < 1< d

I

N and comment on other cases at the

end of the proof. Throughout the proof we only consider regular points of the fluid model solution.

Step1 (when i < i

j

): We first show that (130) holds for i < i

j

. The proof is similar to the

proof of Step 1 of Theorem 7 using an induction argument. For i= 0, the argument in Step 1 of

Theorem 7 can be repeated verbatim. Assume that ik

2F with 0< i

k

< i

j

and there exits t0 such

that Z

i

0(t) = 0 for all t� t

0 and i

0< i

k

. We show that there exists T > t

0 such that Z

ik(t) = 0 for

t � T , completing the induction argument. Because i

k

is the lowest nonempty level then at any

regular point t > t

0

˙Z

i

0(t) = 0 for all i0 < i

k

.

Therefore by (99) and (126), ˙A

ik�1(t) = (i

k

� i

k�1)dik Zik(t). Also by (126)–(129)

˙Z

ik(t) =

�1+ d

ikZ

ik(t)+ d

ik+1Z

ik+1(t)

i

k+1 � i

k

1

I

�1+ d

ik+1(N � Z

ik(t))⌘

, (131)

where the inequality follows from the fact that i

k+1 � i

k

I and i

k

, i

k+1 2F . Because i

k

< i

j

and

so i

k+1 i

j

, (131) implies that, when there are two basic levels,

˙Z

ik(t)�

1

I

(1� d

ijN)< 0,

whenever Zik(t)> 0 for a regular point t. Therefore, there exists T large enough such that

Z

i

(t) = 0 for all t� T and i < i

j

,

completing the proof of (130) for i < i

j

.

Page 50: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

50

Step 2 (When i > i

j+1): Next we focus on i > i

j+1 and prove by induction that (130) holds for

i > i

j+1. As in the second step of proof of Theorem 7, Q(t) = 0 for t > T

0 :=M/(1� d

I

N). Assume

that ZI

(t)> 0 for a regular point t > T

0. If Zi

(t)> 0 for some i < i

J�1, then by (127) and (129)

˙Z

I

(t)�

d

I

Z

I

(t)

I � i

J�1. (132)

If Zi

(t) = 0 for all i < i

J�1, then˙Z

i

(t) = 0 for all i < i

J�1 for any regular point t by (126)–(129),

hence

˙Z

I

(t)1� d

iJ�1Z

iJ�1(t)� d

I

Z

I

(t)

I

1� d

iJ�1N

I

. (133)

By (132) and (133) there exists TI

> 0 such that ZI

(t)< ✏ for t� T

I

.

Now consider J > k > j+1 and assume that there exits Tik+1

such that, for t� T

ik+1,

Z

i

(t)1

4Imaxj

{d

j

}

✏ (134)

for i > i

k

and that

✏>

d

ik+1N

4Idij+1

. (135)

Assume also that Z

ik(t)> I✏/d

ikfor a regular point t. If Z

i

(t)> 0 for some i < i

k

� 1, then by

(126), (129), (134) and (135)

˙Z

ik(t)�

d

ikZ

ik(t)

i

k

� i

k�1+

d

ik+1Z

ik+1(t)

i

k+1 � i

k

<�✏/2. (136)

If Zi

(t) = 0 for all i < i

k�1, then˙Z

i

(t) = 0 for all i < i

k�1 for any regular point t, hence by (126),

(129), (134) and (135)

˙Z

ik(t)

1� d

ik�1Z

ik�1(t)� d

ikZ

ik(t)

(ik

� i

k�1)+

d

ik+1Z

ik+1(t)

i

k+1 � i

k

�✏/4. (137)

By (136) and (137) there exists T

ik> 0 such that Z

ik(t)< ✏ for t� T

ikcompleting the induction

argument.

Step 3 (ij

and i

j+1): Now we are ready to finish the proof by focusing on i

j

and i

j+1. We show

that given ✏ there exists T large enough such that

Z

ik(t)� z

⇤ik

< ✏, for k= j, j+1.

The proof is similar to the case with U

ij= ; in the proof of Theorem 7. Fix ✏> 0 and given ✏

0> 0

choose T (✏0) so that (153) and (154) hold. Existence of such T (✏0) is guaranteed by the first two

steps. Then by (126), (153) and (154), if Zij(t) = z

⇤ij+ ✏, for ✏> ✏ and t > T (✏0)

˙Z

ij(t)�

1

i

j+1 � i

j

(dij+1

� d

ij)✏+ d

ij+1

0

Page 51: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

51

Similarly, if Zij(t) = z

⇤ij� ✏

˙Z

ij(t)�

1

i

j+1 � i

j

(dij+1

� d

ij)✏� d

ij+1✏

0⌘

For ✏0 <⇣

d

ij+1� d

ij

/(4dij+1

)✏, this gives the desired.

Other cases: The other cases are handled in a way similar to that described at the end of the

proof of Theorem 7. ⇤

F. Proof of Theorem 4

Fix ✏> 0 that satisfies

✏<

2Idm

(PAb

I

d

I

_ 1), (138)

where dm

=max1i1,i2,iI

di�di2

di1�di2

� 1 and consider the policy ⇡

⇤(✏). By (6), (42), Theorem 8 and

(117) it is enough to show that

limsupT!1

lim�!1

Z

�(T )� z

⇤(1,N)�

< 2dm

✏. (139)

Note that by Proposition 1, there exist � and T large enough such that for the virtual system

Z

�(T )� z

⇤(1,N)�

< ✏.

Therefore, if z⇤ijk

(1,N)> ✏, for k= 1,2, then the result follows from Theorem 2.

Now assume that z⇤ijk

(1,N)< ✏ for k= 1 or k= 2. If ij1 = I then we have that all the agents are

in states I � 1 and I in the fluid model as we argue next. Because d

I

> d

I�1, using the first step

of the proof of Theorem H.1, we have for large enough t, ZI�1(t) d

m

✏ by definition of dm

and

Z

I

(t) =N � Z

I�1(t). Hence (139) follows.

Now assume that z

⇤ij2

(1,N) < ✏ and let j1 denote lowest indexed level greater than i

j1 that

is not in N . Note that as in the proof of Theorem H.1, Zj1(t) d

m

✏ (by definition of dm

) and

Z

ij1(t) � N � Z

j1(t)� d

m

✏, Zi

(t) = 0 for i i

j1 andP

i>j1Z

i

(t) < d

m

✏ for t large enough. Hence

(139) follows.

Now assume that z⇤ij1

(1,N)< ✏ and let j2 denote lowest indexed level greater than i

j2 that is not

in N . By steps 1 and 2 of Theorem H.1, Zi

(t) = 0 for i < i

j2 � 1, and Z

ij2�1(t)< d

m

✏ by definition

of dm

andP

i>j2Z

i

(t) < d

m

✏/I, for t � T and T large enough. Note that because j2 denotes the

smallest indexed level after ij2 that is not in N , all levels in {i

j2 +1, . . . , j2 � 1} (if there are any)

are in N . In this case (139) follows similarly to the third step of the proof of Theorem H.1 as we

explain next. Set T = 0 for notational simplicity. If Zij2

�1(t)+ Z

ij2(t)>N�d

m

✏ for any t the result

Page 52: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

52

readily follows. Therefore assume that Zij2

�1(0)+ Z

ij2(0)<N �d

m

✏. Then, it is easy to show using

the fluid model equations that either Z

ij2�1(s) = 0 or Z

ij2�1(s) + Z

ij2(s) > N � d

m

✏ for s large

enough. In the latter case the desired result follows from the preceding argument so assume that

the former holds. Also assume that Z

ij2(t)<N � d

m

✏ for all t� s as otherwise the result follows

again from the preceding argument. Then it is easy to check that Zij2

�1(t) = 0 and similar to (159)

and (160) we have for t� s that

Z

ij2(t)� Z

ij2(s) (140)

and for any ✏

b

> 0 there exists finite T (✏b

) large enough such that

d

b

(t)� (1� ✏

b

)_⇣

d

b

(s)^ 1⌘

(141)

for db

(t) = d

ij2Z

ij2(t)+ d

j2Zj2(t) and t� T (✏b

). The rest of the proof follows similarly to the third

step of the proof of Theorem H.1. ⇤

G. Proofs of the results in Section 5

Proof of Theorem 5: The proof follows from Theorems 1 and 2. First it is easily checked that

N

⇤(�n

, p

Ab)

n

= �

n

N

⇤(1, pAb).

Therefore,

limn!1

N

⇤(�n

, p

Ab)

n

=N

⇤(�, pAb). (142)

Assume that there exists an asymptotically feasible sequence N

n such that

limsupn!1

N

⇤(�n

, p

Ab)

N

n

> 1. (143)

Then there exists a subsequence (for simplicity of notation, we still use index n), along which

limn!1

N

⇤(�n

, p

Ab)

N

n

> 1 (144)

and

limn!1

N

n

n

=N (145)

for some N . Also, by (143) and (144), we have

N <N

⇤(�, pAb). (146)

Page 53: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

53

Note that PAb (�,N)>P

Ab (�,N⇤(�, pAb)), otherwise N⇤(�, pAb) =N and (146) cannot hold. By

Theorems 1 and 2, for any non-idling policy ⇡

n, if the sta�ng level is equal to N

n in the nth

system, we have

lim infn!1

P

Ab,⇡

n(�n

,N

n)� limsupn!1

P

Ab,⇡

⇤(�n

,N

n) = P

Ab (�,N)>P

Ab

�,N

⇤(�, pAb)�

. (147)

Hence, Nn cannot be feasible and in turn (143) cannot hold. Also,

limn!1

P

Ab,⇡

⇤(�n

,N

⇤(�n

, p

Ab)) = P

Ab(�,N⇤(�, pAb)) p

Ab

, (148)

where the equality follows from Theorem 2, (38) and (142) and the inequality follows from the fact

that N⇤(�, pAb) is an optimal solution (hence a feasible solution) of the sta�ng LP. ⇤Proof of Theorem 6: Fix � > 0. If p

Ab = P

Ab

1 the result follows from Lemma 1 and (42) and

Theorem 4 by setting ✏= �/2. Note that if pAb

>P

Ab

1 then �� (1+ �)N⇤(�, pAb)d1 for some �� �> 0

by Lemma 2 since both levels 1 and I are assumed to be e�cient. For notational simplicity we set

N

⇤ =N

⇤(�, pAb). Define

✓= inf��(1+�)N⇤

d1

n

P

Ab (�,N⇤)�P

Ab

�, (1+ �)N⇤⌘o

. (149)

By Lemma 1 and (42), ✓> 0. Choose ✏> 0 as in Theorem 4 so that (29) holds with ✓. The result

then follows from Theorem 4. ⇤

H. Proofs of supplemental results

In this section we prove Theorem 7 in §H.1, Proposition 3 in §H.2 and Theorem 8 in §H.3. (Through-

out this section we use the notation defined in §B.)

H.1. Proof of Theorem 7

Fix N and let i⇤(1,N) = {i

j

, i

j+1} denote the set of basic levels. We mainly focus on the case when

0< i

j

< i

j+1 < I and d1N < 1< d

I

N . We describe how the proof can be extended to other cases at

the end. In addition we focus mainly on the case when N = ; and extend the proof using Lemma 6

below when it is not. Let (Q, Z, A, L

q

) denote a fluid model solution. Throughout the proof we use

the following fact that if Zi

(t) = 0 at a regular point t then ˙Z

i

(t) = 0, since Zi

attains its minimum

at t.

Fix ✏> 0. We prove (114) in three steps.

1. We first show that there exists T1 � 0 such that Zi

(t) = 0 for t� T1 and i i

j

� 1.

2. Then we show that given ✏> 0 there exists T2 � T1 such that Zi

(t)< ✏ for t� T2 and i > i

j+1.

Page 54: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

54

3. In the last step, we show that given ✏> 0 there exists T3 � T2 such that�

Z

i

(t)� z

⇤i

< ✏ for t� T3

and for i= i

j

, i

j

+1 . . . , ij+1, completing the proof.

Because (Q, Z, A, L

q

) is di↵erentiable almost everywhere, when we take the derivatives with

respect to t we only consider the regular points of (Q, Z, A, L

q

) throughout the proof without loss

of generality.

Step 1. Let

f(t) =

ij�1X

i=0

(ij

� i)Zi

(t).

Assume that f(t)> 0. Note that by (99)–(109), for any regular point t we have

f(t) =�1+

ijX

i=1

d

i

Z

i

(t)<�1+ d

ijN <��, (150)

where � = (dij+1

� d

ij)z⇤

ij+1and the last inequality follows from (18), and the fact that there are

two basic levels. Hence Z

i

(t) = 0, i i

j

� 1, for t� T1 :=N/�.

Step 2. Now we consider i > i

j+1. By (102), (106) and (107), if Q(t)> 0, we have

˙Q(t) = 1� d

I

N � �Q(t).

Hence, Q(t) = 0 for t > T

0 :=M/(1� d

I

N). Let

f(t) =I

X

i=ij+1+1

(i� i

j+1)Zi

(t).

By our assumption N = ; and (99)–(109), if f(t)> ✏ for t > T

0, then

f(t)��, (151)

where � =minn

d

ij+1+1✏/I,�1+ d

ij+1+1N

o

, which is positive by (14). By our assumption N = ;,

we conclude that

Z

i

(t)< ✏ (152)

for t� T2 := T

0 +N/� and i > i

j+1.

Step 3. To conclude the proof we need to show that (114) is satisfied (for a reselected ✏) by Z

ij,

Z

i

for i2 U

ij(if U

ij6= ;) and Z

ij+1. By the first two steps, we can assume that for any ✏

0> 0 there

exists a finite T (✏0)> 0 such that for t� T (✏0), Q(t) = 0,

Z

i

(t) = 0 for i i

j

� 1 (153)

Page 55: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

55

and

Z

i

(t) ✏

0 for i� i

j+1 +1. (154)

Assume that U

ij= ;. Fix ✏, ✏

0> 0 so that

0<

d

ij+1� d

ij

/(4dij+1

)✏. (155)

Recall that by Lemma 3

d

ij+1> d

i

(156)

for all i < i

j+1 otherwise i

j+1 cannot be an e�cient level. By (100), (105), (107) and (153)

˙Z

ij(t) =�(1� d

ijZ

ij(t))+ d

ij+1Z

ij+1(t)

Fix ✏> 0. Then by (105), (153) and (154), if Zij(t) = z

⇤ij+ ✏, for ✏> ✏,

˙Z

ij(t)�(d

ij+1� d

ij)✏.

Similarly, if Zij(t) = z

⇤ij� ✏

˙Z

ij(t)� (d

ij+1� d

ij)✏� d

ij+1✏

0.

This gives the desired result (114) for i

j

, i

j+1 with T > T (✏0) + 4N/

(dij+1

� d

ij)✏⌘

by (155) and

(156).

Now assume that U

ij6= ;. Define

d

b

(t) = d

ijZ

ij(t)+ d

ij+1Z

ij+1(t).

By (153), (154), (156) and (104), given � > 0, there exists ✏

0, ✏> 0 such that if d

b

(t)� 1� 2✏, and

Z

ij(t)� z

⇤ij� 2✏ for t� T (✏0), then

Z

ij+1(t)2 [z⇤

ij+1� �, z

⇤ij+1

+ �].

Therefore, it is enough to prove that for ✏> 0 small, there exists T such that for t� T � T (✏0),

d

b

(t)� 1� 2✏ and Z

ij(t)� z

⇤ij� 2✏. (157)

For the rest of the proof fix ✏> 0 and ✏

0> 0 small so that

(d1 +1)

1�d

ij

d

ij+1

!

✏� 4�

|U

ij|+1

d

ij+1✏0. (158)

Page 56: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

56

From here on we only consider t� T (✏0) so take T (✏0) = 0 for notational simplicity and assume that

(153) and (154) hold for t� 0.

We begin the proof in this case with the following preliminary results. For all t� 0 and ✏> 0

Z

ij(t)� Z

ij(0)^

z

⇤ij� ✏

(159)

and for any ✏

b

> 0 there exists finite T (✏b

) large enough such that

d

b

(t)� (1� ✏

b

)_⇣

d

b

(0)^ 1⌘

(160)

for t� T (✏b

).

Proof of (159): By (158) we have

✏�

2dij+1

d

ij+1� d

ij

0 (161)

Note that because ij

�1 has priority over i� i

j

and i

j

has lower priority than those levels in U

ij, if

Z

ij(t) z

⇤ij� ✏, either there exists i2 U

ijwith Z

i

(t)> 0 or by (158), db

(t)� 1 and Z

i

(t) = 0 for all

i 2 U

ij. It is easy to show that if d

b

(t)� 1 and Z

i

(t) = 0 for all i 2 U

ij, then t cannot be a regular

point. Therefore, by (100) and (105)

˙Z

ij(t)� 0 (162)

whenever Zij(t) z

⇤ij� ✏. This gives (159).

Proof of (160): Now assume that

d

b

(t) 1. (163)

Let i be the highest non-empty level in U

ij. Then, for all i < i

0< i

j+1,

˙Z

i

0(t) = 0,

by (100)–(105) since Z

i

0 attains a minimum at t. Therefore, if (163) holds, by (100)–(105)

˙Z

ij+1(t)�

1� d

b

(t)

|U

ij|

and ˙Z

ij(t)� 0,

where |U

ij| is the cardinality of the set U

ij.

Note also that if for all the levels i 2 U

ij, Z

i

(t) = 0 (implying ˙Z

i

(t) = 0) then when (163) holds,

by (100)–(105),

˙Z

ij+1(t)�

1� d

b

(t)

|U

ij|

and ˙Z

ij(t) =�

1� d

b

(t)

|U

ij|

.

Therefore, db

(t) is increasing if db

(t) 1 and so (160) holds.

We consider the following three cases separately to complete the proof.

Page 57: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

57

(A) Z

ij(0)� z

⇤ij+ ✏

(B) Z

ij(0) z

⇤ij+ ✏, d

b

(0)� 1

(C) Z

ij(0) z

⇤ij+ ✏, d

b

(0) 1

Case (A): Assume that Zij(0)� z

⇤ij+ ✏. Then, by (160) for t large enough d

b

(t)� 1� ✏ for t� T .

This with (159) gives (157).

Case (B): Assume that Z

ij(0) z

⇤ij+ ✏ and d

b

(0)� 1. By (160), db

(t)� 1, for all t� 0. Thus,

to prove (157), it is enough to show that there exists T large enough such that Z

ij(t) � z

⇤ij� 2✏

for t� T . But by (162), this can be proved by showing that there exists a t > 0 such that Zij(t)�

z

⇤ij� 2✏.

Assume that no such t exists, that is,

Z

ij(t) z

⇤ij� 2✏ for all t� 0. (164)

Let

✏1(t) = z

⇤ij� Z

ij(t) (165)

and

✏2(t) =1� d

ijZ

ij(t)� d

ij+1z

⇤ij+1

d

ij+1

=d

ij

d

ij+1

✏1(t). (166)

Because d

b

(t)� 1 for t� 0, Zij+1

(t)� z

⇤ij+1

+ ✏2(t).

Let �(t) = Z

ij+1(t)� z

⇤ij+1

� ✏2(t). By (161), (165), and (166),

�(t)+X

i2Uij

Z

i

(t)�N � ✏

0� Z

ij(t)� z

⇤ij+1

� ✏2(t) = ✏1(t)� ✏2(t)� ✏

0> 0.5

1�d

ij

d

ij+1

!

✏. (167)

Now define the Lyapunov function

f(t) = (ij+1 � i

j

) Zij+1

(t)+X

i2Uij

(i� i

j

) Zi

(t).

Note that f(0)< IN and that f(t) = 0 implies

Z

ij+1(t)+

X

i2Uij

Z

i

(t) = 0. (168)

If f(t)> 0, we have (assuming (164) and d

b

(t)� 1 for all t� 0)

f(t) = (ij+1 � i

j

) ˙Z

ij+1(t)+

X

i2Uij

(i� i

j

) ˙Z

i

(t)

Page 58: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

58

1� d

ijZ

ij(t)� d

ij+1Z

ij+1(t)�

X

i2Uij

d

i

Z

i

(t)+ (|Uij|+1)d

ij+1✏0 (169)

�d

ij+1�(t)�

X

i2Uij

d

i

Z

i

(t)+ (|Uij|+1)d

ij+1✏0 (170)

�0.5d1

1�d

ij

d

ij+1

!

✏+(|Uij|+1)d

ij+1✏0 (171)

�0.25d1

1�d

ij

d

ij+1

!

:=��, (172)

where (169) follows from (100)–(105) and the fact that ij

� 1 has priority over all the other levels

i� i

j

� 1, (170) follows from the definition of �(t), (171) follows from (167) and (172) follows from

(158). Therefore, for T large enough f(t) = 0 for t� T and so (168) holds for all t� T . However,

this contradicts the fact that db

(t)� 1 for all t� 0. Hence, Zij(t)� z

⇤ij�2✏ for some t2 [0, (IN)/�],

giving (157) in this case.

Case (C): Assume that, Zij(0) z

⇤ij+ ✏ and d

b

(0) 1. By (160), we can assume without loss of

generality that d

b

(t)� 1� ✏ for t large enough. If db

(t)� 1, the proof is complete by Case (B) so

assume that 1� ✏ d

b

(t)< 1.

Also, if Zij(t) > z

⇤ij� 2✏ for some t, (157) follows from (159). Therefore, assume that Z

ij(t) <

z

⇤ij� 2✏ for all t � 0. Then, because d

b

(t) < 1, Zij+1

(t) < z

⇤ij+1

+ ✏2(t) for ✏2 defined as in (166).

Hence

X

i2Uij

Z

i

(t)� ✏1(t)� ✏2(t)� ✏

0> 0.5

1�d

ij

d

ij+1

!

. (173)

Because d

b

(t)< 1, by (100)–(105), (173), and the fact that ij+1 � 1 have higher priority than i

j

and i

j+1,

X

i2Uij

(i� i

j

) ˙Z

i

(t)�d1

X

i2Uij

Z

i

(t)�0.5d1

1�d

ij

d

ij+1

!

:=��0.

Therefore, for T �N/�0

X

i2Uij

Z

i

(T ) = 0.

Hence,

Z

ij+1(T ) =N � Z

ij(T )� ✏

0.

However, because Z

ij(t) < z

⇤ij� 2✏ for all t � 0, this implies d

b

(T ) > 1 for ✏

0 small, contradicting

our earlier assumption and completing the proof by Case (B).

Page 59: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

59

Other cases: If there is only one basic level 1< i

j

< I then we have

Z

i

(t) = 0, for i < i

j

� 1

and t � T1 := N/�, where � = (dij+1

� d

ij)z⇤

ij+1, using an argument similar to that in Step 1.

Therefore, for t� T1, by (100) and (105)

˙Z

ij�1(t)�

d

ij� d

ij�1

˙Z

ij�1(t).

Hence

Z

ij�1(t)< ✏ (174)

for t� T2 :=N/

⇣⇣

d

ij� d

ij�1

+T1. If 1< d

I

N , the result then follows from Step 2.

If 1 = d

I

N , then there is only one basic level I. By (100) and (102), t� T

0 :=M/(�✏), we have

Q(t)< ✏ and by (174), ZI

(t)>N � ✏, proving the result for t� T

0 large enough.

If 1> d

I

N , we have by (150) that ZI

(t) =N , for all t > T

0 :=N/(1� d

I

N). By (113) and (99)–

(109), this implies that�

Q(t)� q

⇤�

< ✏ for all t > T1 := T

0 +M/(�✏) + q

⇤/(�✏), proving (114) if

1> d

I

N .

Finally we consider the cases when there are two basic levels i

j

and i

j+1 but either i

j

= 0 or

i

j+1 = I. If ij

= 0, then i

j+1 = 1, since 1 is an e�cient level by definition. Then the result is proved

using (152) as in the case with U

ij= ; in Step 3. If i

j+1 = I then the result is proved in the same

way as above except that we do not need Step 2 and do not require (154) in Step 3 anymore. ⇤If N 6= ;, the second step in the proof needs to be modified. The result in that case follows from

the following lemma.

Lemma 6. Assume that the conditions of Theorem 7 hold and that ij+1 < I. Then for any ✏> 0

there exists t2 > 0 such that

Z

i

(t)< ✏ for t� t2 and i > i

j+1.

Proof of Lemma 6: Assume that the conditions of Theorem 7 hold and that i

j+1 < I. Let {⌫

i

}

denote a sequence of nonnegative finite constants {⌫i

} for i� i

j+1 +1 such that

• ⌫

i

= 1 if i /2N ,

• If i2N

i

d

d

i

_ 1

i

0, for all i0 > i, (175)

where d

⇤ =min{di

0 : i0 � i

j+1 +1, i0 /2N}.

Page 60: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

60

Also, let {⇢i

} be defined for i� i

j+1 +1 recursively as follows;

i

= ⌫

i

+ ⇢

i�1,

where ⇢

ij+1= 0. Define

f(t) =I

X

i=ij+1+1

i

Z

i

(t).

Observe that, given ✏> 0, it is enough to show that there exists T > 0 such that

f(t)< ✏, for all t� T .

Fix ✏ and assume that f(t)> ✏. This impliesP

I

i=ij+1+1 Zi

(t)> ✏/⇢

I

. Recall that we assume I /2N .

Case 1: Assume that Zn

(t)> 0 for some n< i

j+1, then by (100) and (105)

f(t) =I

X

i=ij+1+1

i

˙Z

i

(t)I

X

i=ij+1+1

i

�d

i

Z

i

(t)+ d

i+1Zi+1(t)�

�d

⇤I

X

i=ij+1+1

Z

i

(t)<�d

⇤✏/⇢

I

.

Case 2: Now assume that Zn

(t) = 0 for all n< i

j+1, then for a regular point t,

˙Z

ij+1�1(t) = 0, (176)

because Zij+1�1(t) = 0 (note that this is only possible if 1� d

ij+1Z

ij+1(t), which we assume is true),

andP

I

i=ij+1Z

i

(t) =N . Note that (176) implies

˙A

ij+1�1(t) = d

ij+1Z

ij+1(t). (177)

Because 1 < d

I

N , we can assume without loss of generality that Z

I

(t) <N , for all t � 0, and so

there exists i < I with Z

i

(t)> 0, by (104).

Case 2(a): Assume that there exists a level n such that ij+1 n < I, Z

n

(t)> 0 and n /2N

0 and

let i /2N

0 be the lowest such level at time t. Note that i+ 1 /2N . By the definition of the policy

and (105), if i0 2N

0 and i

0 i

˙A

i

0(t) = 0. (178)

Also, if i0 /2N

0 and i

0 i, we claim that

˙A

i

0(t) = d

i

0+1Zi

0+1(t). (179)

Page 61: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

61

To prove this first note that ˙Z

i

0(t) = 0, for a regular point t. Therefore, by (100), it is enough

to show that ˙A

i

0�1(t) = 0. If Z

i

0�1(t) > 0, then i

0� 1 2 N

0 and by (178), ˙A

i

0�1(t) = 0. Assume

that Z

i

0�1(t) = 0 and so ˙Z

i

0�1(t) = 0. If Zi

0�2(t) > 0, therefore i

0� 2 2 N

0, then ˙A

i

0�2(t) = 0 by

(100). Because ˙Z

i

0�1(t) = 0, this implies ˙A

i

0�1(t) = 0 by (100). If Zi

0�2(t) = 0, we repeat the same

argument until we reach to level ij+1 or the highest level i0 � k before i

0 with Z

i

0�k

(t)> 0. Also,

˙A

i

0(t) = 0, for i0 � i+1 (180)

by (105). Therefore by (100) and (103)

˙Z

i+k

(t) =�d

i+k

Z

i+k

(t)+ d

i+k+1Zi+k+1(t), for k= 2, . . . , I � i� 1, (181)

˙Z

I

(t) =�d

I

Z

I

(t). (182)

For ij+1 k i, by (100)–(104),

˙Z

k

(t) = ˙A

k�1(t)+ d

k+1Zk+1(t)�˙A

k

(t)� d

k

Z

k

(t) (183)

and

˙Z

i+1(t) =˙A

i

(t)+ d

i+2Zi+2(t)� d

i+1Zi+1(t). (184)

By (178)–(180) and (103)

˙A

i

(t) = 1�X

k2[ij+1+1,i]k/2N

d

k

Z

k

(t)� d

ij+1Z

ij+1(t). (185)

Then, by (181)–(184)

f(t) =I�1X

k=ij+1+1

k

d

k+1Zk+1(t)� d

k

Z

k

(t)�

� ⇢

I

d

I

Z

I

(t)+i

X

k=ij+1+1

k

˙A

k�1(t)�˙A

k

(t)⌘

+ ⇢

i+1˙A

i

(t)

(a)

I

X

k=ij+1+1

k

d

k

Z

k

(t)+i

X

k=ij+1+1

k

˙A

k�1(t)+ ⌫

i+1

0

B

B

@

1�X

k2[ij+1+1,i]k/2N

d

k

Z

k

(t)� d

ij+1Z

ij+1(t)

1

C

C

A

(b)= �

I

X

k=ij+1+1

k

d

k

Z

k

(t)+X

k2[ij+1+1,i]k/2N

k

d

k

Z

k

(t)+ 1�X

k2[ij+1+1,i]k/2N

d

k

Z

k

(t)� d

ij+1Z

ij+1(t) (186)

(c)= 1� d

ij+1Z

ij+1(t)�

I

X

k=ij+1+1

k

d

k

Z

k

(t)

(d)

1� d

ij+1Z

ij+1(t)� d

⇤(N � Z

ij+1(t))

(e)

�c✏,

Page 62: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

62

for some constant c > 0, where (a) follows from (180), (185) and algebraic manipulations, (b)

follows from the fact that i+1 /2N , so ⌫

i+1 = 1, (178) and (179), (c) follows from simple algebraic

manipulations, (d) follows from the definition of ⌫k

’s and the fact thatP

I

i=ij+1Z

i

(t) =N , (e) follows

from the definition of d⇤.

Case 2(b): Now assume that Z

n

(t) = 0 for all n < i

j+1 and Z

k

(t) = 0 for all k � i

j+1 and k /2

N

0\ {I}. Let i 2N

0 be the highest level with Z

i

(t)> 0. We note that (178) and (179) still hold.

Also, (183) holds by (100).

By definition of the policy Z

k

(t) = 0 for all i+1 k I � 1 and so

˙Z

k

(t) = 0, for i+1 k I � 1, (187)

because t is a regular point. Therefore, by (100)–(104)

˙Z

i

(t) = ˙A

i�1(t)�˙A

i

(t)� d

i

Z

i

(t), (188)

and

˙Z

I

(t) = ˙A

i

(t)� d

I

Z

I

(t), (189)

where by (177)-(179) and (187)

˙A

i

(t) =

1� d

ij+1Z

ij+1(t)� d

I

Z

I

(t)�P

k2[ij+1+1,i]k/2N

d

k

Z

k

(t)

I � i

. (190)

We note that ˙A

i

(t)� 0 otherwise t cannot be a regular point.

Then, similar to case Case 2(a),

f(t)(a)

i

X

k=ij+1+1

k

d

k+1Zk+1(t)� d

k

Z

k

(t)�

� ⇢

I

d

I

Z

I

(t)+i�1X

k=ij+1+1

k

˙A

k�1(t)�˙A

k

(t)⌘

+ ⇢

i

˙A

i�1(t)+ (⇢I

� ⇢

i

) ˙A

i

(t)

(b)

X

k2[ij+1+1,i]k2N

k

d

k

Z

k

(t)� ⇢

I

d

I

Z

I

(t)+

P

I

k=i+1 ⌫k

I � i

0

B

B

@

1� d

ij+1Z

ij+1(t)�

X

k2[ij+1+1,i]k/2N

d

k

Z

k

(t)

1

C

C

A

(c)

X

k2[ij+1+1,i]k2N

k

d

k

Z

k

(t)� ⇢

I

d

I

Z

I

(t)+ ⌫

i+1

0

B

B

@

1� d

ij+1Z

ij+1(t)�

X

k2[ij+1+1,i]k/2N

d

k

Z

k

(t)

1

C

C

A

(d)

i+1

1� d

ij+1Z

ij+1(t)� d

⇤(N � Z

ij+1(t))�

(e)

�c✏,

for some constant c > 0, where (a) follows from (179), (183), (187), (188), and (189), (b) follows

from (190) and algebraic manipulations similar to that in (186), (c) and (d) follow from (175), (e)

follows from the fact thatP

I

k=ij+1Z

k

(t) =N and from the definition of d⇤. ⇤

Page 63: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

63

H.2. Proof of Proposition 3

Assume that the conditions of the proposition hold. We prove the result by contradiction. Assume

that (116) does not hold. Then we can find a subsequence, denoted again by �, such that

limn!1

P

�(Q�(T ), Z�(T ))� (q⇤, z⇤)�

> ✏

> 2✏.

We next prove that no such subsequence exists. Let ij

denote the single basic level in i

⇤(1,N). For

simplicity we only consider the case when i

j

< i

J�1, but the proof is similar for other cases. We

note that�

Z, Q, A, L

q

satisfies the fluid model equations (99)–(104) and (106)–(109). It may not

satisfy (105) because i

⇤(1,N) has only one element. First assume that

lim infn!1

i

⇤(�,N�)�

�= 1. (191)

Then the result follows from Theorem 7, because along a subsequence of {n} Assumption 1(iii)

holds.

If (191) does not hold, then at least one the following does:

limsup�!1

1⇣

⇤ij�1

(�,N�)> 0⌘

= 1 or limsup�!1

1⇣

⇤ij+1

(�,N�)> 0⌘

= 1 (192)

by Lemma 1. We focus on the case when the former holds; the proof for the case when only the

latter holds is similar.

If the first equation in (192) holds, then along a subsequence �

0 the limit is attained, hence

the proposed policy is ⇡⇤(ij�1, ij) (although i

⇤(1,N) has a single level) for �0 large enough. Fix a

sample path ! 2⌦ such that (115) holds and Q(0)<M .

From the first two steps of the proof of Theorem 7, there exists T > 0 such that

Z

i

(t) = 0, for i= 0,1, . . . , ij�1 � 1 (193)

and

Z

i

(t)< ✏/I, for i= i

j

+1, . . . , I. (194)

We prove below that there exists T1 >T such that

Z

i

(t)< ✏/I, for i= i

j�1, . . . , ij � 1 (195)

for t > T1. By (104) and (193)–(195), for t > T1

Z

ij(t)>N � ✏. (196)

Page 64: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

64

Note that (196) holds for a set of sample paths with probability greater than 1� ✏, giving the

desired result.

We prove (195) to complete the proof. Let

f(t) =

ij�1X

i=ij�1

(ij

� i)Zi

(t).

If f(t)> �, then by (105) (recall that ⇡⇤(ij�1, ij) is the policy for the case with two basic levels i

j�1

and i

j

along this sequence), (100), (103), (104), (105), (193) and (194)

f(t) =�1+

ij�1X

i=ij�1

d

i

Z

i

(t)<�

d

ij� d

ij�1

�/I

2

giving (196). ⇤

H.3. Proof of Theorem 8

Consider a sequence of chat service systems that satisfies (9) under a sequence of non-idling policies

{⇡

}. For x2RI+2+ , define �(x) =

P

I+1i=0 xi

. Next we show that, for � large enough, for some t0,K > 0

and 0< �< 1,

supx2RI+2

+ :�(x)>K

E

x

��

Z

�(t0), Q�(t0)�⇤

�(x)< �. (197)

In other words, � is a geometric Lyapunov function with a geometric drift size 0< �< 1, drift time

t0 and exception parameter K (see Gamarnik and Zeevi (2006)). By Theorem 5 in Gamarnik and

Zeevi (2006), (197) implies that

E

�(⇡�)

��

Z

�(0), Q�(0)�⇤

<

�(t0)K

1� �

, (198)

where

�(t0) = supx

E

x

��

Z

�(t0), Q�(t0)�⇤

�(x).

BecauseP

I

i=0 Z�

i

(t)+ Q

i

(t)P

I

i=0 Z�

i

(t)+ Q

�(0)+ A

�(t),

�(t0)E

exp(A�(t0))⇤

.

By (52) in Gamarnik and Zeevi (2006) and the fact that arrivals follow a Poisson process,

limsup�!1

E

exp(A�(t0))⇤

<1

for any finite t0 > 0. Hence, (197) and (198) give tightness. To prove uniform integrability, note

that by Markov’s inequality and (198) we have

P

�(⇡�)

Q

�(0)>u

B0 exp(�u),

Page 65: Routing and stang in customer service chat …schwert.ssb.rochester.edu/tezcan/TZ_WP13.pdfKey words: Call Center Management, Queuing Theory and Stochastic Methods History: 1. Introduction

65

for some constant B0.

We prove (197) to complete the proof by choosing appropriate K, t0 and �. Let N� = �

�1N

=max

1/�, sup�

N

. (199)

Choose K = 7 and t0 = 1/�. We now compute an upper bound of Ex

Z

�(t0), Q�(t0)�⇤

. Let

Z

�(·) denote the total number of customers in an M/M/1 queue with arrival rate � and ser-

vice rate �. Then by a coupling argument one can show that E

x

Z

�(t0), Q�(t0)�⇤

N

� +

E

Z

�(t)|Z(0) = x

I+1

. It follows from the Kolmogorov equation (see Example 2 in Chapter 4.6 of

Karlin and Taylor (1975)) that for t > 0

E(Z�(t)|Z(0) = x

I+1) =1

(1� e

��t)+x

I+1e��t

.

When �(x) > K, we must have x

I+1 � 6 due to the choice of K and the fact thatP

I

i=0 xi

<

supn

N

�. So by (199) and the choice t0,

E(Z�(t0)|Z(0) = x

I+1) +x

I+1e��t

+x

I+1/22

3x

I+1.

Again, by (199)

supx2RI+2

+ ,�(x)>K

E

x

Z

�(t0), Q�(t0)�⇤

(x)

N

� + 23x

I+1

N

� +x

I+1

=5

7.

Thus, (197) holds for �= 5/7. ⇤