Method and apparatus for skills-based task routing
First Claim
1. A method for assigning tasks to agents at a server in a service center based on an agent skill set required to service individual tasks, comprising steps of:
- (a) receiving a task at a server operating within the service center;
(b) preparing the task for service by determining the agent skill set that would be best suited for responding to the task, and 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;
(d) determining a set X of all logical states of the Boolean variables that contain the required skills;
(e) building a skill table of all available agents having skills at least partially matching the determination of skills needed to service the task in step (b), wherein the skill table is organized by skill sets that include all skills possessed by the agents, and wherein the skill 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;
(f) determining from the skill table of available agents all agents qualified to service the task;
(g) disqualifying from serving the task all agents associated with a state of the agent skill table that is not within the set X;
(h) selecting an agent least qualified to service the task from the agents remaining in contention and assigning the task to the selected agent; and
(i) servicing the task by the selected agent utilizing at least a portion of the skills listed in the skill table.
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.
39 Citations
2 Claims
-
1. A method for assigning tasks to agents at a server in a service center based on an agent skill set required to service individual tasks, comprising steps of:
-
(a) receiving a task at a server operating within the service center; (b) preparing the task for service by determining the agent skill set that would be best suited for responding to the task, and 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;(d) determining a set X of all logical states of the Boolean variables that contain the required skills; (e) building a skill table of all available agents having skills at least partially matching the determination of skills needed to service the task in step (b), wherein the skill table is organized by skill sets that include all skills possessed by the agents, and wherein the skill 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; (f) determining from the skill table of available agents all agents qualified to service the task; (g) disqualifying from serving the task all agents associated with a state of the agent skill table that is not within the set X; (h) selecting an agent least qualified to service the task from the agents remaining in contention and assigning the task to the selected agent; and (i) servicing the task by the selected agent utilizing at least a portion of the skills listed in the skill table.
-
-
2. An apparatus for assigning tasks to agents at a server in a service center based on an agent skill set required to service individual tasks, comprising:
-
means for receiving a task at a server operating within the service center; means for preparing the task for service by determining the agent skill set that would be best suited for responding to the task, and 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 the skill set that would be best suited for responding to the task in response to the task being prepared for service, wherein a set X of all logical states of the Boolean variables contain the required skills; means for building a skill table of all available agents having skills at least partially matching the skill set determined to be best suited to service the task, wherein the skill table is organized by skill sets that include all skills possessed by the agents, and the skill 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 determining from the skill table of available agents all agents qualified to service the task; means for disqualifying from serving the task all agents associated with a state of the agent skill table that is not within the set X; means for selecting an agent least qualified to service the task from the agents remaining in contention.
-
Specification