Method and apparatus for skills-based task routing
First Claim
1. A method of assigning tasks to agents in a service center based on agent skills required to service individual tasks, comprising;
- in response to a task to be serviced, ascertaining all agent skills required to process the task out of a set of N defined skills, representing the N skills as N separate boolean variables, determining a set X of all logical states of the boolean variables that contain the required skills, building a resume table of available agents, wherein the resume table is organized by the logical states of the N boolean variables and each agent is represented in each state that includes all skills possessed by the agent, determining from the resume table of available agents all agents qualified to service the task, disqualifying from serving the task all agents associated with a state of the agent resume table that is not within the set X, selecting an agent to service the task from the agents remaining in contention.
7 Assignments
0 Petitions
Accused Products
Abstract
An efficient algorithm is presented for selecting an agent to service a task in a skills-based routing system. A set X is determined of all states of the boolean variables that contain the required skills for a task. A resume table of available agents is built, organized by the states of the N variables; each agent is represented in each state that includes all skills possessed by the agent. All available and qualified agents are determined from the resume table; those agents associated with a state of the resume table outside of the set X are disqualified. An agent is selected from those remaining. Preferably, an agent is selected having a minimum qualification level to service the task. One preferred way of doing this is to subtract from the number of terms in a canonical form of the required skills expression a number equal to the number of times the agent appears in the set of states X and picking an agent with the lowest result. In the preferred embodiment, however, proficiency levels of each required skill are taken into account in making the final selection.
-
Citations
20 Claims
-
1. A method of assigning tasks to agents in a service center based on agent skills required to service individual tasks, comprising;
-
in response to a task to be serviced, ascertaining all agent skills required to process the task out of a set of N defined skills, representing the N skills as N separate boolean variables, determining a set X of all logical states of the boolean variables that contain the required skills, building a resume table of available agents, wherein the resume table is organized by the logical states of the N boolean variables and each agent is represented in each state that includes all skills possessed by the agent, determining from the resume table of available agents all agents qualified to service the task, disqualifying from serving the task all agents associated with a state of the agent resume table that is not within the set X, selecting an agent to service the task from the agents remaining in contention. - View Dependent Claims (2, 3, 4, 5)
-
-
6. Apparatus for assigning tasks to agents in a service center based on agent skills required to service individual tasks, comprising;
-
means responsive to a task to be serviced for ascertaining all agent skills required to process the task out of a set of N defined skills, means for representing the N skills as N separate boolean variables, means for determining a set X of all logical states of the boolean variables that contain the required skills, means for determining from an agent resume table all agents qualified to service the task, wherein the agent resume table is organized by the logical states of the N boolean variables and each agent is represented in each state that includes all skills possessed by the agent, means for disqualifying from serving the task all agents associated with a state of the agent resume table that is not within the set X, means for selecting an agent to service the task from the agents remaining in contention. - View Dependent Claims (7, 8, 9, 10)
-
-
11. Computer program code embodied in a storage medium for controlling a computer to assign tasks to agents in a service center based on agent skills required to service individual tasks, the program code comprising;
-
a first code segment responsive to a task to be serviced for ascertaining all agent skills required to process the task out of a set of N defined skills, a second code segment for representing the N skills as N separate boolean variables, a third code segment for determining a set X of all logical states of the boolean variables that contain the required skills, a fourth code segment for determining from an agent resume table all agents qualified to service the task, wherein the agent resume table is organized by the logical states of the N boolean variables and each agent is represented in each state that includes all skills possessed by the agent, a fifth code segment for disqualifying from serving the task all agents associated with a state of the agent resume table that is not within the set X, a sixth code segment for selecting an agent to service the task from the agents remaining in contention. - View Dependent Claims (12, 13, 14, 15)
-
-
16. Program code embodied in a carrier wave for controlling a computer to assign tasks to agents in a service center based on agent skills required to service individual tasks, the program code comprising;
-
a first code segment responsive to a task to be serviced for ascertaining all agent skills required to process the task out of a set of N defined skills, a second code segment for representing the N skills as N separate boolean variables, a third code segment for determining a set X of all logical states of the boolean variables that contain the required skills, a fourth code segment for determining from an agent resume table all agents qualified to service the task, wherein the agent resume table is organized by the logical states of the N boolean variables and each agent is represented in each state that includes all skills possessed by the agent, a fifth code segment for disqualifying from serving the task all agents associated with a state of the agent resume table that is not within the set X, a sixth code segment for selecting an agent to service the task from the agents remaining in contention. - View Dependent Claims (17, 18, 19, 20)
-
Specification