IP Library › Granted Patent US 10,931,824
Granted Patent B1
US 10,931,824 · App. 16/668,889 · Granted Feb 23, 2021

Scheduling agents using skill group weights

Inventors: Gennadiy Stepanov (Hallandale Beach, FL); Jason Fama (San Carlos, CA); Richard Lawrence (San Diego, CA)
Assignee: TALKDESK, INC.
H04M3/5175H04M2203/402
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 10,931,824
App. No.
16/668,889
Granted
Feb 23, 2021
Kind
B1
Abstract

Agents are grouped into skill groups based on the skills of each agent. Simulation are performed for a contact center with multiple queues, where agents from the skill groups are assigned to the queues based on the skills of the skill groups and the skills of the queues. After running the simulations, for each skill group and for each interval, the time each agent spent working using each associated skill is determined, and an average time for each skill is calculated for each interval. The average times are used to create a skill group weight for the skill group for each interval. Later, when the schedule engine is determining an agent placement for one or more intervals, the skill group weights for the intervals are used to calculate a score for the queues based on different agent placements. The placement with the best score (e.g., lowest) is implemented.

Claims (58)

1. A method comprising:

receiving information about a plurality of skill groups, wherein each skill group is associated with one or more skills of a plurality of skills, wherein each skill group is associated with one or more agents of a plurality of agents;

dividing the plurality of skill groups into a first network and a second network based on the one or more skills associated with each skill group, wherein no skill group in the first network is associated with a same skill as a skill group in the second network;

for each skill group of the first network, calculating a skill group weight for the skill group of the first network for a time interval, wherein the skill group weight for a skill group comprises a weight for each skill associated with the skill group; and

for each skill group of the second network, calculating a skill group weight for the skill group of the second network for the time interval.

2. The method of claim 1 , further comprising scheduling agents associated with the first network and agents associated with the second network in parallel.

3. The method of claim 1 , further comprising:

receiving a request to schedule the agents associated with one or more skill groups of the first network on one or more queues for the time interval, wherein each queue is associated with one or more skills of the plurality of skills;

receiving a required staffing for each queue; and

assigning agents associated with one or more skill groups of the first network to each queue for the time interval based on the required staffing for each queue and the skill group weight calculated for the skill group associated with each agent associated with one or more skill groups of the first network.

4. The method of claim 3 , wherein assigning agents associated with one or more skill groups of the first network to each queue for the time interval based on the required staffing for each queue and the skill group weight calculated for the skill group associated with each agent associated with one or more skill groups of the first network comprises:

for each iteration of a plurality of iterations:

generating an agent assignment for the iteration by:

for each queue of the plurality of queues:

assigning agents associated with one or more skill groups of the first network to the queue for the time interval based on the one or more skills associated with the queue, the one or more skills associated with the skill groups of the first network associated with the agents, and the required staffing for the queue; and

calculating a score for the agent assignment based on the required staffing for each queue and the skill group weights calculated for the skill groups of the first network associated with the agents assigned to each queue.

5. The method of claim 4 , further comprising implementing the agent assignment associated with a lowest calculated score.

6. The method of claim 4 , wherein the scores are calculated using a delta squared objective function.

7. The method of claim 1 , wherein calculating the skill group weight for the skill group of the first network for the time interval comprises simulating a contact center using the agents associated with the skill group of the first network and calculating the skill group weight based on the simulation.

8. The method of claim 1 , wherein the one or more skill groups comprise fuzzy skill groups.

9. A system comprising:

at least one processor; and

a non-transitory computer readable medium comprising instructions that, when executed by the at least one processor, cause the system to:

receive information about a plurality of skill groups, wherein each skill group is associated with one or more skills of a plurality of skills, wherein each skill group is associated with one or more agents of a plurality of agents;

divide the plurality of skill groups into a first network and a second network based on the one or more skills associated with each skill group, wherein no skill group in the first network is associated with a same skill as a skill group in the second network;

for each skill group of the first network, calculate a skill group weight for the skill group of the first network for a time interval, wherein the skill group weight for a skill group comprises a weight for each skill associated with the skill group; and

for each skill group of the second network, calculate a skill group weight for the skill group of the second network for the time interval.

10. The system of claim 9 , further comprising instructions that, when executed by the at least one processor, cause the system to schedule agents associated with the first network and agents associated with the second network in parallel.

11. The system of claim 9 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive a request to schedule the agents associated with one or more skill groups of the first network on one or more queues for the time interval, wherein each queue is associated with one or more skills of the plurality of skills;

receive a required staffing for each queue; and

assign agents associated with one or more skill groups of the first network to each queue for the time interval based on the required staffing for each queue and the skill group weight calculated for the skill group associated with each agent associated with one or more skill groups of the first network.

12. The system of claim 11 , wherein assigning agents associated with one or more skill groups of the first network to each queue for the time interval based on the required staffing for each queue and the skill group weight calculated for the skill group associated with each agent associated with one or more skill groups of the first network comprises:

for each iteration of a plurality of iterations:

generating an agent assignment for the iteration by:

for each queue of the plurality of queues:

assigning agents associated with one or more skill groups of the first network to the queue for the time interval based on the one or more skills associated with the queue, the one or more skills associated with the skill groups of the first network associated with the agents, and the required staffing for the queue; and

calculating a score for the agent assignment based on the required staffing for each queue and the skill group weights calculated for the skill groups of the first network associated with the agents assigned to each queue.

13. The system of claim 12 , further comprising implementing the agent assignment associated with a lowest calculated score.

14. The system of claim 12 , wherein the scores are calculated using a delta squared objective function.

15. The system of claim 9 , wherein calculating the skill group weight for the skill group of the first network for the time interval comprises simulating a contact center using the agents associated with the skill group of the first network and calculating the skill group weight based on the simulation.

16. The system of claim 9 , wherein the one or more skill groups comprise fuzzy skill groups.

17. A non-transitory computer readable medium comprising instructions that, when executed by at least one processor, cause a computer system to:

receive information about a plurality of skill groups, wherein each skill group is associated with one or more skills of a plurality of skills, wherein each skill group is associated with one or more agents of a plurality of agents;

divide the plurality of skill groups into a first network and a second network based on the one or more skills associated with each skill group, wherein no skill group in the first network is associated with a same skill as a skill group in the second network;

for each skill group of the first network, calculate a skill group weight for the skill group of the first network for a time interval, wherein the skill group weight for a skill group comprises a weight for each skill associated with the skill group; and

for each skill group of the second network, calculate a skill group weight for the skill group of the second network for the time interval.

18. The computer readable medium of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the computer system to schedule agents associated with the first network and agents associated with the second network in parallel.

19. The computer readable medium of claim 18 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

receive a request to schedule the agents associated with one or more skill groups of the first network on one or more queues for the time interval, wherein each queue is associated with one or more skills of the plurality of skills;

receive a required staffing for each queue; and

assign agents associated with one or more skill groups of the first network to each queue for the time interval based on the required staffing for each queue and the skill group weight calculated for the skill group associated with each agent associated with one or more skill groups of the first network.

20. The computer readable medium of claim 19 , wherein assigning agents associated with one or more skill groups of the first network to each queue for the time interval based on the required staffing for each queue and the skill group weight calculated for the skill group associated with each agent associated with one or more skill groups of the first network comprises:

for each iteration of a plurality of iterations:

generating an agent assignment for the iteration by:

for each queue of the plurality of queues:

assigning agents associated with one or more skill groups of the first network to the queue for the time interval based on the one or more skills associated with the queue, the one or more skills associated with the skill groups of the first network associated with the agents, and the required staffing for the queue; and

calculating a score for the agent assignment based on the required staffing for each queue and the skill group weights calculated for the skill groups of the first network associated with the agents assigned to each queue.

Assignments (2)
SECURITY INTEREST Recorded Nov 3, 2022
From: TALKDESK, INC.
To: HSBC BANK USA, N.A.
Reel/Frame 061878/0034 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2020
From: STEPANOV, GENNADIY; FAMA, JASON; LAWRENCE, RICHARD
To: TALKDESK, INC.
Reel/Frame 054083/0789 →
Continuity (1)
Continuation 16668525 · Oct 30, 2019
Cited By (2)
US 12,578,995 US 12,670,018