IP Library Granted Patent US 8,396,204
Granted Patent B2
US 8,396,204 · App. 13/267,231 · Granted Mar 12, 2013

Call center resource allocation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,396,204
App. No.
13/267,231
Granted
Mar 12, 2013
Kind
B2
Abstract

A method for determining call center resource allocation can include modeling call center performance over an operations time period using a computer. A number of replicas of the modeled call center performance are simulated, using the computer, over a planning time period, each replica having random contact arrivals and contact service times following a stochastic arrival and service process according to a probability distributions of inter-arrival time and service time. Multiple iterations of each simulation are run on the computer to optimize call center resource allocation. A particular simulation iteration is tested against a criterion of convergence, and call center resource is allocated based on the particular simulation iteration with a successful criterion of convergence.

Claims (571)

1. A method for determining call center resource allocation, comprising:

modeling call center performance over an operations time period using a computer;

simulating, using the computer, a number of replicas of the modeled call center performance over a planning time period, each replica having random contact arrivals and contact service times following a stochastic arrival and service process according to probability distributions of inter-arrival time and service time;

running, on the computer, multiple iterations of each simulation to optimize call center resource allocation;

testing a particular simulation iteration against a criterion of convergence; and

allocating call center resource based on the particular simulation iteration with a successful criterion of convergence.

2. The method as set forth in claim 1 , wherein the call center performance includes: contact arrivals, contact classification corresponding to at least one of multiple skill pools, queuing order; queuing time, contact routing to a queue associated with one of multiple skill pools based on contact classification, staffing of the multiple skill pools with servers, contact assignment from the queue to a particular server associated with one of multiple skill pools, contact service time, and abandoned contacts.

3. The method as set forth in claim 1 , wherein events included in a simulation of the modeled call center performance for every server skill i, and skill pool k, include: contact arrival by i; contact service start time by i, k; contact service completion time by i, k; customers abandonment by i; and server shift beginning and end times by k; server (k).

4. The method as set forth in claim 1 , further comprising:

constraining the model to satisfy a service level agreement (SLA), the SLA including at least a percentage of contacts (α) be addressed in a specified queuing time; and

constraining the model to satisfy the SLA for each one of multiple skill pools.

5. The method as set forth in claim 4 , further comprising, for each of the multiple skill pools, determining a minimum pool size to at least meet a delay probability to satisfy the SLA, the minimum pool size z kt being:

Z kt =arg min{ bεN:P ( Z kt ≧b )≦α}, ∀k;∀t

wherein a distribution of contacts in the call center model allocated to each pool at time t for iteration n is Z t =(Z 1 , . . . , Z r ) t (n) , and

Z

kt

(

n

)

=

i

ϕ

k

N

ikt

(

n

)

+

i

ϕ

k

Q

it

(

n

)

(

s

kt

(

n

)

μ

ik

j

k

(

i

)

(

s

jt

(

n

)

μ

ij

)

)

k

;

t

and

Q

it

(

n

)

s

kt

(

n

)

j

k

(

i

)

s

jt

(

n

)

,

i

=

1

,

,

m

for server k, i possible server skills, and j skill pools.

6. The method as set forth in claim 4 , further comprising determining a minimum number of servers for each contact classification to satisfy the SLA, the minimum number of servers y it for each contact classification being:

y it =arg min{ bεN:P ( x it (n) ≧b)≦α i },∀i;∀t

wherein a distribution of servers allocated to each of m contact classifications at time t for iteration n is X t =(X 1 , . . . , X m ) t (n) , and

x

it

=

k

k

(

i

)

N

ikt

(

n

)

+

Q

it

(

n

)

,

i

=

1

,

,

m

.

for server k, and i possible server skills.

7. The method as set forth in claim 6 , further comprising determining a minimum number of servers to assign to each of j skill pools

x

kt

=

i

ϕ

k

(

y

it

s

kt

(

n

)

μ

ik

j

k

(

i

)

s

jt

(

n

)

μ

ij

)

,

k

;

t

where

k

(

i

)

=

{

k

:

i

ϕ

k

}

for server k, and wherein p is a respective weighted proportionality allocation constant.

8. The method as set forth in claim 1 , further comprising determining, for a loose bound, an initial staffing value s kt at a first iteration of a simulation replica for skill pool k at time t as

s

kt

(

0

)

=

M

*

i

ϕ

(

k

)

k

_

(

i

)

λ

it

μ

ik

,

k

,

t

where

M

>

10

,

k

_

(

i

)

=

M

*

1

k

(

i

)

and |k(i)| is the number of servers that can serve the class i, and where t is obtained by forecasting an interval to obtain an infinite server approximation solution for staffing levels after a first iteration.

9. The method as set forth in claim 1 , further comprising:

determining, for a tight bound, an initial staffing value s kt at a first iteration of a simulation replica for skill pool k at time t as

s

kt

(

0

)

=

L

kt

+

β

(

α

_

k

)

L

ky

,

k

,

t

where

L

kt

=

1

k

(

i

)

i

ϕ

(

k

)

λ

it

μ

ik

,

∀k,t and |k(i)| is the number of servers that can serve the class i, and where t is obtained by forecasting an interval, with α k estimated as the average of the SLA served by the group;

fixing S t (n) ={( s 1 ,s 2 , . . . ,s r ) t ,1 ≦t≦T};

evaluating probability distributions of stochastic processes X 1 , i=1, . . . , m from paths N ikt (n) and Q it (n) according to

X

it

=

k

k

(

i

)

N

ikt

(

n

)

+

Q

it

(

n

)

,

i

=

1

,

,

m

;

letting, for each t; 1≦t≦T, S k n+1 be a least number of servers that meet delay-probabilities that satisfy customer class service level calculated by

x

kt

=

i

ϕ

k

(

y

it

s

kt

(

n

)

μ

ik

j

k

(

i

)

s

jt

(

n

)

μ

ij

)

,

stopping if Max{|S t (n+1) −S t n |:1 ≦t≦T}≦ε, with S n+1 being the particular simulation iteration with the successful criterion of convergence.

10. The method as set forth in claim 1 , further comprising determining a minimum cost of staffing the multiple skill pools with servers over time T as

min

t

=

1

T

k

=

1

r

c

kt

i

ϕ

k

x

ikt

where

t

k

k

(

i

)

x

ikt

y

it

,

i

and

s

kt

(

n

+

1

)

=

i

ϕ

k

x

ikt

*

,

∀k and

wherein x ikt is an allocation of servers from skill pool k to satisfy a service level agreement in period t and is a positive integer, and the cost per skill pool k in period t is c kt .

11. The method as set forth in claim 1 , further comprising further comprising determining a minimum cost of scheduling the multiple skill pools with servers as

min

j

=

1

NS

k

=

1

r

c

jk

b

jk

where

j

=

1

NS

a

jt

b

jk

i

ϕ

k

x

ikt

,

k

,

t

and

k

=

1

r

x

ikt

y

it

,

i

,

t

and wherein the cost per skill pool k in period t is c kt and X ikt is an allocation of servers from skill pool k to satisfy a service level agreement in period t and is a positive integer that satisfies 0≦x ikt ≦M.

12. A non-transitory computer-readable medium having computer-readable instructions stored thereon that, if executed by one or more processors, cause the one or more processors to:

model call center performance over an operations time period, call center performance including:

staffing of multiple skill pools with servers, some servers having skills corresponding to more than one of the multiple skill pools, and

contact assignment from the queue to a particular server associated with one of multiple skill pools;

simulate a number of replicas of the modeled call center performance over a planning time period, each replica having random contact arrivals and contact service times following a stochastic arrival process according to a Poisson probability distribution;

run on the computer multiple iterations of each simulation to optimize call center resource allocation;

test a particular simulation iteration against a criterion of convergence; and

allocate call center resource based on the particular simulation iteration with a successful criterion of convergence.

13. The non-transitory computer-readable medium of claim 12 , further having computer-readable instructions stored thereon that, if executed by one or more processors, cause the one or more processors to assign a contact to a particular server associated with one of multiple skill pools based on first-in, first-out (FIFO) rules, wherein a particular contact is assigned to a first available server associated with the one of multiple skill pools, and a contact routed earliest to a queue associated with one of multiple skill pools is assigned to a longest idle server.

14. The non-transitory computer-readable medium of claim 12 , further having computer-readable instructions stored thereon that, if executed by one or more processors, cause the one or more processors to assign a contact to a particular server associated with one of multiple skill pools based on primary/secondary roles rules, wherein the FIFO rules are applied first to servers associated with the one of multiple skill pools as a primary role, and if a server associated with the one of multiple skill pools as a primary role is not available then the FIFO rules are applied second to servers associated with the one of multiple skill pools as a secondary role.

15. A system for assigning support in a customer support system comprising: processor executing computer readable instructions to model call center performance over an operations time period, call center performance including: contact arrivals, contact classification corresponding to at least one of multiple skill pools, queuing order, queuing time, contact routing to a queue associated with one of multiple skill pools based on contact classification, staffing of the multiple skill pools with servers, contact assignment from the queue to a particular server associated with one of multiple skill pools, contact service time, and abandoned contacts; processor executing computer readable instructions to simulate a number of replicas of the modeled call center performance over a planning time period, each replica having random contact arrivals and contact service times following a stochastic arrival process according to a Poisson probability distribution; processor executing computer readable instructions to run multiple iterations of each simulation to optimize call center resource allocation; processor executing computer readable instructions to test a particular simulation iteration against a criterion of convergence; and processor executing computer readable instructions to allocate call center resource based on the particular simulation iteration with a successful criterion of convergence.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENT. SERVICES DEVELOPMENT CORPORATION LP
Reel/Frame 041041/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2011
From: GUERRERO, JOSE LUIS BELTRAN; ZHANG, XIN; LOPEZ SANCHEZ, IVAN ADRIAN; HU, MING; JAIN, SHAILENDRA K.; SHAN, JERRY Z.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 027025/0809 →