| Skill Based Routing vs. Skill Set Scheduling |
a Pipkins White Paper
by Dennis Cox |
||||||||||||||||||||||||||||||
|
1. Skill Based Routing - the ACD viewpoint The manner in which the various ACDs implement Skill Based Routing (SBR) can be varied and is often complex: Usually, the switch has a set of tables that define the call types which can be routed to an agent, equal to that agent's skill set. When that agent logs in, the lookup tables associated with that agent's login ID tell the switch what skill(s) that agent has. They may also tell it the skill level, via a routing priority - so an agent may be a primary 'target' for some calls, but a lower priority for others. For the ACD this is very logical and straightforward: Whenever a call comes into the switch, from the call type the switch can see what agents are currently logged in who can handle the call, what their status is, and will then route the call to the first available agent. If no first choice agents are available, it will look for a second choice, or it will queue the call (or it will turn it back). The ACD is only interested in routing a call to an appropriate agent: Although agents may be able to handle a number of call types, the ACD is only looking for agents with one particular skill at any moment in time. It has no interest in what an agent has done historically, or what they may do in the future. So from the ACD view it could be argued that all agents belong to skill groups but all groups are single skilled. The ACD viewpoint is ideal from a call routing perspective: An ACD routes calls sequentially. Because it does so, at any moment it is only interested in the routing of a single call for which it has a number of possible agents with the same or different priorities. It is of no real concern how large or small the group is, as long as certain criteria are met, the call will be routed accordingly. However, the call routing event happens in a millisecond, and then the next call is to be routed. The next call may be of a different call type with a different group of agents as possible destinations. Over a 15-minute period, hundreds, or even thousands of calls will be routed by the ACD in this manner. The question then is: How can the correct number of agents with the correct skills be determined for each 15 minutes? The answer must be correct to achieve the required service targets without under or overstaffing. 2. Small Numbers and Large Numbers It is known that a large number of calls can be handled most efficiently by one single group of agents. In a single skill environment, this means that if calls are routed through one single ACD to one large team this requires less agents than if calls are routed through several ACDs to several discrete teams. See below (Please note the numbers are for illustration only)
This is as true in a Multi-skilled environment as it is in a single skilled
one. Nevertheless, multi skilled environments introduce new factors, mainly:
The cost of training for a particular skill Vs. the need for that skill The level
of expertise the agent may have or may reach.
These factors are significant because:
When the ACD routes a call, it sees all agents within each circle, regardless
of any intersections. So, a call type A could be routed to an agent with call
type A in their skill set. As illustrated, this is not restricted to agents
who have only that skill.
Let us assume that in the diagram above, the size of the circles indicates
the relative volumes of that call type. So call types A and B are relatively
high volume queues, whereas call type D is a low volume queue. This would not
necessarily match the size of the pool of agents by skill set. Below is a diagram
where the size of the circles, and the area of intersection, matches the skill
groups of the agents.
In this illustration, most of the agents with skill A also have skill B (and
vice versa), but there are few agents who have skills B & C, and none who
have skills A, B & D.
In a live environment, the skill mix may well resemble that illustrated in
the above 2 examples. One obvious question to ask is 'What is the optimum skill
mix?'
As discussed earlier, the larger the pool of agents, the better. Therefore,
the answer would be that the optimum is to have everyone able to do everything.
As this is likely to be impractical for reasons already discussed, how can a
system schedule agents, who have different skill levels, to best meet the forecasted
work load, taking account of the multi-dimensional nature of the problem as
illustrated above?
3. The Pipkins approach
From the diagrams above, it can be seen that although agents' skills are defined
in the ACD individually, agents will fall into groups who have the same skill
set.
For example, the groupings from the above illustration would be:
Group A, group B, group C, group D, group A+B, group A+C, group B+C, group
A+D, and group A+B+C.
(Remember that the possible groupings are derived from the agents' skills themselves.
So if no agent is skilled to handle calls A+B+C+D then no group exists).
In order, firstly, to calculate the correct requirements for the center, the
natural groupings above are defined in Maxima Advantage as Serving Teams and
each Serving Team is mapped to the appropriate queue(s). At this stage, we are
looking at groups who are the primary groups for a call type. So in the example,
teams A, A+B, A+C, A+B+C and A+D are all primary teams for call type A. Because
any type A call could be routed equally to any of these 5 groups.
PIPKINS' Merlang forecasting algorithm then calculates the requirements for
each and every team based on the call types mapped to each team and their respective
call volumes. There may not be a unique solution to this calculation, so it
follows that there is no closed form solution (as used by Erlang C). Merlang
therefore computes the solution iteratively. The solution arrived at will be
an optimum requirement for each team based on the actual groupings (agent skill
sets) as defined, the assumption being that primary serving teams are treated
evenly for each call type.
4. Skill Set Scheduling
Having arrived at accurate requirements for the switch-wide activities, the
next stage in the process is to schedule the available agents, optimally, taking
full account of the agents' skills.
As mentioned earlier, agents with the same skill sets naturally fall into
groups, which PIPKINS calls Serving Teams.
The serving team is simply a way of defining the skill set that is recognized
by the ACD when the agent logs in. In fact, if an agent had more than one login
ID that would present different call types to the agent, then they would, in
effect, be eligible for more than one serving team, and could be scheduled accordingly.
It is also worth pointing out that an agent may be considered to be a primary
agent for some call types, but a second (or lower) choice for others.
This is illustrated below:
Dennis Cox is the managing director of PIPKINS UK, Ltd., the European headquarters for PIPKINS, Inc. Dennis worked for thirteen years as a workforce efficiency manager at BT (formerly British Telecom) before coming to PIPKINS in 1992. One of his main areas of expertise is the effective integration of workforce management tools and human resources. PIPKINS is a supplier of workforce management systems and services to both United States and international call centers. PIPKINS, Inc. is headquartered in St. Louis, Missouri, with its European Headquarters located in Yorkshire, England. "PIPKINS, Maxima Advantage™ is the only Workforce Management system today that has the flexibility to provide the complete skill-set scheduling solution. Skill set capabilities were designed into Maxima Advantage from inception to handle all multi-skilled call center environments."
Send this article to a friend.
|
|||||||||||||||||||||||||||||||
Home About Us Products Contact Support Partners Articles, Press Releases, and White Papers Events Search Site Map
Pipkins, Inc. - 16690 Swingley Ridge Rd, Suite 150 - Chesterfield, MO 63017
Phone: 314-469-6106 - Fax: 636-590-4454 - Email: info@pipkins.com
Copyright © 2011 Pipkins - All Rights Reserved


This is as true in a Multi-skilled environment as it is in a single skilled
one. Nevertheless, multi skilled environments introduce new factors, mainly:
The cost of training for a particular skill Vs. the need for that skill The level
of expertise the agent may have or may reach.
These factors are significant because:
When the ACD routes a call, it sees all agents within each circle, regardless
of any intersections. So, a call type A could be routed to an agent with call
type A in their skill set. As illustrated, this is not restricted to agents
who have only that skill.
Let us assume that in the diagram above, the size of the circles indicates
the relative volumes of that call type. So call types A and B are relatively
high volume queues, whereas call type D is a low volume queue. This would not
necessarily match the size of the pool of agents by skill set. Below is a diagram
where the size of the circles, and the area of intersection, matches the skill
groups of the agents.
In this illustration, most of the agents with skill A also have skill B (and
vice versa), but there are few agents who have skills B & C, and none who
have skills A, B & D.
In a live environment, the skill mix may well resemble that illustrated in
the above 2 examples. One obvious question to ask is 'What is the optimum skill
mix?'
As discussed earlier, the larger the pool of agents, the better. Therefore,
the answer would be that the optimum is to have everyone able to do everything.
As this is likely to be impractical for reasons already discussed, how can a
system schedule agents, who have different skill levels, to best meet the forecasted
work load, taking account of the multi-dimensional nature of the problem as
illustrated above?
3. The Pipkins approach
From the diagrams above, it can be seen that although agents' skills are defined
in the ACD individually, agents will fall into groups who have the same skill
set.
For example, the groupings from the above illustration would be:
Group A, group B, group C, group D, group A+B, group A+C, group B+C, group
A+D, and group A+B+C.
(Remember that the possible groupings are derived from the agents' skills themselves.
So if no agent is skilled to handle calls A+B+C+D then no group exists).
In order, firstly, to calculate the correct requirements for the center, the
natural groupings above are defined in Maxima Advantage as Serving Teams and
each Serving Team is mapped to the appropriate queue(s). At this stage, we are
looking at groups who are the primary groups for a call type. So in the example,
teams A, A+B, A+C, A+B+C and A+D are all primary teams for call type A. Because
any type A call could be routed equally to any of these 5 groups.
PIPKINS' Merlang forecasting algorithm then calculates the requirements for
each and every team based on the call types mapped to each team and their respective
call volumes. There may not be a unique solution to this calculation, so it
follows that there is no closed form solution (as used by Erlang C). Merlang
therefore computes the solution iteratively. The solution arrived at will be
an optimum requirement for each team based on the actual groupings (agent skill
sets) as defined, the assumption being that primary serving teams are treated
evenly for each call type.
4. Skill Set Scheduling
Having arrived at accurate requirements for the switch-wide activities, the
next stage in the process is to schedule the available agents, optimally, taking
full account of the agents' skills.
As mentioned earlier, agents with the same skill sets naturally fall into
groups, which PIPKINS calls Serving Teams.
The serving team is simply a way of defining the skill set that is recognized
by the ACD when the agent logs in. In fact, if an agent had more than one login
ID that would present different call types to the agent, then they would, in
effect, be eligible for more than one serving team, and could be scheduled accordingly.
It is also worth pointing out that an agent may be considered to be a primary
agent for some call types, but a second (or lower) choice for others.
This is illustrated below:
