First off, I need to say that I sincerely hope that no one takes offense to the title of this post. The title is meant to be a play on the phrase, “gone to the birds,” not an ethnocentric slur. The alert reader will also pick up on the double entendre that in Britain, queue is a much more common word.
I have stated in earlier posts that I lead a team of top-notch developers. My primary responsibility is early research and architecture; my team are the ones to transform the vision into reality. We recently completed our pilot project, which I plan to blog about at some length. One of the requirements that we met was the ability to design an advanced ACD that takes into account any number of variables and implements a “best-match” algorithm. We believe this to be a significant advance over traditional algorithms of the skills-based routing. In fact, a multiple-hour search yielded an awfully slim amount of relevant data.
The Problem with Skills-Based Routing
The primary problem with queues is implicit in the name: most queues operate as first-in-first-out mechanisms. Before we can address why FIFO is a bad idea for contact centers, we need to have some context.
There is an even bigger problem that is a fundamental part of the queue problem. This problem is in the existing call distributor algorithms. A simple example will illustrate:
Assume we have three available agents. Agent 1 is licensed to sell insurance in Michigan and Indiana. Agent 2 is licensed to sell insurance in Indiana and Ohio. Agent 3 is licensed to sell insurance in Indiana only. Assume also that 80% of our inbound calls are from Michigan residents, 10% from Indiana residents, and 10% from Ohio residents. If a call comes in from a resident of Indiana, any of the three may be able to sell an insurance policy to the caller. However, only one is best suited in this context to sell the insurance policy to the caller: Agent 3. There is a 90% chance that the next call will be from either Michigan or Ohio, meaning that Agent 3 would not be able to handle the call. That means that we want to reserve those agents whose skills are most in demand for the calls that demand those skills.
Many contact and call center software providers trumpet their algorithms for call distribution, but most of the algorithms are some variant of, “How do I spread the load of calls evenly over my agent pool?” The question that should be asked is, “How do I find the best possible agent to handle this call?” Some software providers have started to deal with this question and have introduced a second factor into skills-based routing. By assigning a rating to an agent’s skill, there is indeed additional intelligence available to the call distributor. Consider the following example:
Assume we have three available agents, with skills rated as shown in the matrix.
Agent Windows skill level Office skill level Internet skill level Agent 1 70 40 10 Agent 2 10 70 40 Agent 3 40 10 70
Upon receipt of an inbound call, the skill matrix is analyzed and the agent with the highest rating in the skill necessary is assigned to the call. Therefore, if we receive a Windows call, the call is assigned to Agent 1. If we receive another Windows call while Agent 1 is still occupied, Agent 3 is assigned. If all agents become available again and an Internet call is received, the call is assigned to Agent 3.
In many senses, the second example is still vulnerable to the problem noted in the first example. Assume our call load is 90% Windows, 5% Office and 5% Internet. If a call comes in for Windows, it should be rightly assigned to Agent 1. However, if a subsequent call comes in for Internet support, it might be more appropriate to assign Agent 2 to the Internet call and reserve Agent 3 for the next Windows call.
The fundamental problem with traditional skills-based routing is that it takes so few factors into account. In part 2, we will consider a potential solution to this problem.