Abstract:
A method and system for automatically updating and synchronizing contact center agent skill data maintained in a central agent skill database with a routing system based upon skill-changing events triggered in skill-Impacting systems. Contact center agent skills may be maintained in a skill database for a set of agents. A skill-impacting system (such as an education system, a satisfaction system or a metrics system) may send skill/capability data for an agent. The agent&#39;s profile in the skill database may be updated based on the received skill data. Either immediately, when triggered by an event, or at a predetermined interval, a routing system&#39;s routing logic may be synchronized with the new data in the agent&#39;s profile. When the contact center receives a contact (such as a phone call, an email, a web chat, an instant message, or a fax) from a customer, processing logic in the routing system may select a best-fit agent based on availability and skill data from the agent profiles.

Description:
BACKGROUND OF THE INVENTION 
     Contact centers are an important component used by businesses to maintain their relationships with customers. Contact centers were originally known as “call centers” since they enabled customers to communicate with customer service agents (also known as customer service representatives, CSRs, agents, reps, etc.) through in-bound or out-bound phone calls. With the introduction of other communication channels (such as email, fax, web chat, etc.), the term “contact centers” is now used since customers are not limited only to telephone calls as a point of contact. Throughout this document, the term call centers and contact centers will be used interchangeably. For ease of discussion, much of this document will explain agent performance platforms in terms of agents interacting with customers over the phone. Embodiments of the present invention are not limited only to telephone calls and call centers. Rather, embodiments of the present invention are applicable to all channels of communication handled by contact centers, including channels in use now as well as those channels developed in the future. 
     Contact centers are everywhere. In 2002, there were an estimated 65,000 contact centers in America, employing almost 7 million customer service agents. Such a large number of agents are employed because call centers are accessed heavily by customers. For example, each day one national bank receives 10,000 customer inquiries through its contact centers. Experts believe the use of contact centers will grow. As an indicator of estimated growth, one business advisory firm estimates that the market (worldwide) for technology components used to build contact centers totaled $4.1 billion in 2002 and may grow to $5.5 billion by the year 2007. 
     In the early days of call centers, a bank of agents waited at their phones and answered calls in a round-robin fashion; the first call of the shift would be answered by the first agent, the second call would be answered by the second agent, etc. A customer could not direct his or her call to a customer support agent who specialized in the customer&#39;s type of problem. Conversely, agents received all types of calls—from the elementary question to the most challenging problem. Newer agents faced too many calls that they could not resolve and expert agents could be bored by answering too many easy problems. 
     The routing of calls became a matter of increased importance to optimize the efficiency of a contact center. Since labor costs could represent upwards of 70% of a contact center&#39;s costs, efficient use of labor began to have a major bearing on a contact center&#39;s competitiveness. Contact centers sought means to direct each call to the best skilled agent who was available to take the customer&#39;s call to minimize “talk time” and to maximize agent productivity. Effective call routing helped to contain labor costs as well as to optimize a customer&#39;s experience resulting in higher customer satisfaction. 
     As contact centers became more robust, advanced switches were implemented to manage the incoming customer requests and to assign them to an agent based on a database of routing instructions. Agents were divided into a small number of groups. For example, one group might contain Spanish-speaking agents while a second group might contain agents to answer billing questions. A third group might contain agents to handle new accounts. Once the groups were assigned, a customer could be directed to the group that best matched his or her type of call. 
     Present-day contact centers offer more differentiation of calls, emails, web chats and the like. Agents are no longer limited to being a member of just one of a small number of groups—such as a sales group or a billing group. Now agents can be identified by a number of skills and abilities. For example, one agent can be known to have the skills of: Spanish-speaking, advanced hardware issues, intermediate software issues, mid-west region. In some systems, ratings for up to 20 skills (also known as capabilities) can be stored for each agent, with each skill having an associated rating (such as beginner, intermediate, or advanced). Other systems track more or fewer skills and allow different types of ratings. 
     In present-day contact centers, automated systems first identify the customer&#39;s need by use of telephone touchpad choices, parsing of keywords in a message, and/or retrieving information about the customer via caller-ID, account number, etc. The systems then quickly match agents having skills particularly suited to the customer&#39;s need and then the best-fit agent (based on skills, availability, etc.) is chosen. Of course, if an agent&#39;s skill profile is not accurately maintained or kept up-to-date, then the switching system cannot optimize agent productivity. Instead, customer calls will be matched to agents based on their outdated skill sets. Thus it is important for the information about an agent to be accurate and current. 
     Many of the current switching systems (either the ACD system or the CTI application) have an interface that is used by one or more agent supervisors or administrative personnel. Whenever an agent completes training or demonstrates a different level of skill, the supervisor must use the interface to update the agent&#39;s information. Inevitably, in a contact center with large numbers of agents, it is difficult for call center supervisors to manually maintain agent skill information and to keep the information up-to-date. The task of updating skills can be overly onerous or just not important enough for a supervisor to do as soon as a new skill is developed. Instead, the supervisor may wait weeks or months before changing an agent&#39;s ratings for his or her skills. During that time, the switching systems may route calls to agents not properly suited to handle the calls resulting in poorer agent productivity and reduced customer satisfaction. 
     Additionally, maintenance of skill-impacting information typically falls under the purview of multiple resources in the contact center operation. Training supervisors may be responsible for updating training systems to reflect course completion. A quality monitoring team may input monitoring results. Customer satisfaction assessments may be reviewed by supervisors, who also obtain insight into agent skill development by walking the floors of the contact center. Input from each of these individuals must find its way, whether haphazardly or in a coordinated fashion, to the routing/skill table administrator who can actually change skills and ratings in the routing tool. 
     SUMMARY OF THE INVENTION 
     In one embodiment of the present invention, there is a method for maintaining skills for agents of a contact center and synchronizing skills in a central database with a routing system. Agent profiles may be stored in a central skill database for a set of agents. A skill-impacting system (such as an education system, a satisfaction system or a metrics system) may send skill/capability data for an agent. The agent&#39;s profile in the central skill database may be updated based on the received skill data. Either immediately or at a predetermined interval, the routing system may be synchronized with the new data in the central skill database. When the contact center receives a contact (such as a phone call, an email, a web chat, an instant message, or a fax) from a customer, processing logic in the routing system may select a best-fit agent based on availability and skill data from the agent profiles. Other embodiments of the present invention operate differently to synchronize skill data. 
     It is an object of the invention to provide an automated system of updating a skill for a contact center agent. It is another object of the invention to provide a system to transform information from many different sources into rating data for an agent. It is yet another object of the invention to centralize the rating information for a group of agents outside of CTI or ACD hardware and software because CTI and ACD systems necessarily use and restrict access to internal data in order to optimize real-time management and routing of telephone calls. It is yet another object of the invention to carefully synchronize the internal data of the CTI or ACD hardware and software based on the centralized rating data. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a diagram showing the automated updating of agent skills. 
         FIG. 2  is a flowchart of the updating of agent skills. 
         FIG. 3  is a diagram showing one embodiment of the present invention in a SIEBEL/GENESYS system. 
         FIG. 4  is a diagram showing one embodiment of the present invention in a SIEBEL/AVAYA system. 
         FIG. 5  is a conceptual diagram of an agent profile as stored in the system. 
         FIGS. 6 and 7  are diagrams showing two embodiments as systems of modular components. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  is a diagram showing one conceptual embodiment of a system for maintaining skills for agents of a contact center and the automated updating of agent skills for a skill-based routing system within that contact center. 
       FIG. 1  shows how customers, potential customers, or other people may use fax machines  105 , phones  110 , email messages  115  or other systems (now known or developed in the future)  120  to contact a corporation, government group or other entity. A routing system  130  may use routing logic to determine which agent  135  should handle a particular contact. Routing logic may include rules and/or source data for determining the routing. In this document, the term routing logic also encompasses the source data used by the logic. This routing logic may use, among other factors, agent availability as a part of the routing decision. Furthermore, the routing system  130  may use agent capability/skill information (sometimes stored in a database as part of the agent&#39;s profile) to make the routing decisions. Once the routing is determined, the transferring system  125  may transfer the contact (such as a phone call, email message, web chat, web call-through, web call-back, paper-based correspondence converted to electronic form, fax or instant message, for example) to the proper agent  135 . 
     In one embodiment, the transferring system  125  may be a PBX/ACD switch system sold by Avaya Inc. Other hardware and/or software may be used in other embodiments. For example, the transferring system  125  may also be a system sold by Aspect or Nortel. In one embodiment, the routing system  130  may be the AVAYA ADVOCATE system sold by Avaya Inc. The AVAYA ADVOCATE system may be deployed on-board the PBX/ACD transferring system  125 . Or, the AVAYA ADVOCATE system may be separated from the transferring system  125 . In other embodiments, systems sold by Genesys or Cisco may be used as the routing system  130 , for example. The routing system  130  may include a database used to store agent profile and/or routing data. 
     To make the skill data in the routing system  130  more robust and up-to-date, a centralized skill tracking system  140  is implemented in one embodiment of the present invention. The skill tracking system  140  has, in one embodiment, a database  145  for storing the skill data for each agent  135 . Skill data may be updated either manually or automatically by data sent from various skill-impacting systems. A learning management educational system  150 , a call monitoring system, a customer satisfaction scoring system  155 , a CRM application, a performance metrics system  160 , a staff scheduling/forecasting system, a compensation management system, a knowledge management system, a custom-developed reporting system, an automatic call distributor system, a call management/reporting system, a computer telephone integration system, an interactive voice response system and other skill-impacting systems (now known or implemented in the future)  165  are some of the types of systems that can feed skill-impacting data to the skill tracking system  140 . Skill-impacting data may be satisfaction assessments from completed customer contacts, completion or results of a training course, coaching outcomes, and/or performance metrics, such as if an agent&#39;s handle time is greater than a predetermined threshold. Of course, there are many other types of skill-impacting data and skill-impacting systems that can be used with the present invention. 
     As shown in  FIG. 1 , the skill tracking system  140  may be used (in one embodiment) to update and/or synchronize the skill-related data for an agent from the skill tracking system  140  to the routing system  130 . Once data is updated to the routing system  130 , routing decisions by the routing system  130  and/or the transferring system  125  may be improved. 
       FIG. 1  shows several types of systems that may submit skill-impacting data. Examples of a learning management educational system  150  include DOCENT ENTERPRISE developed by Docent, Inc. Examples of a call monitoring system include the eQUALITY software suite developed by Witness Systems, Inc. Examples of a customer satisfaction system  155  include applications of Conversant interactive voice response systems developed by Avaya. Examples of a CRM application include SIEBEL CALL CENTER developed by Siebel Systems, Inc. Examples of an agent performance metrics system  160  include Call Management System (CMS) developed by Avaya.
         While the system shown in  FIG. 1  is highly abstracted,  FIG. 3  shows one embodiment of implementing the present invention on a Siebel/Genesys architecture. Here, agents  135  have access to the system via a Siebel web client  170 . The PBX/ACD  125  and T-Server  125  components are part of the transferring system  125  to transfer client contacts to the appropriate agent based on the routing system, which is implemented through a Genesys URS server  130  and a Genesys configuration database  130 . The administrative interface  305  shown in  FIG. 3  is the traditional way to input and update agent profiles (including skill levels of various agents) to the routing system  130 . As shown in the figure, the capability-impacting systems ( 150 ,  155 ,  160  and  165 ) send skill-related data to the skill-tracking system of the capability profile update system  140  and the Siebel database  145 . The Siebel database of  FIG. 3  stores not only the data used by the Siebel CRM or ERM application, but also the skill-based data within agent profiles.       

     As one skilled in the art will understand, the various embodiments of the present invention can be implemented as a system of modular components and/or as a series of code segments of one or more computer programs stored on a computer-readable medium. The computer program code segments can be written in Java, C, C++, or any computer language now known or developed in the future. For a conceptual diagram of one embodiment of the invention as a system, refer to  FIGS. 6 and 7 , which represent a system with modular components including a profile module  610 , a skill receiver  615 , an updating module  620 , a synchronization module  625 , a contact receiver  630 , a routing processor  635 , and a contact router  640 , and a system with modular components including a profile module  710 , a profile maintenance module  715 , a source data module  720 , an update module  725 , an identification module  730 , and an agent selector  735 . 
     Similar in many ways to  FIG. 3 ,  FIG. 4  is a diagram showing one embodiment of the present invention in a SIEBEL/AVAYA architecture framework. Here, the routing system  130  includes the AVAYA ADVOCATE routing engine and configuration database as well as the Avaya Call Management System. The transferring system  125  is the AVAYA PBX/ACD. Of course, other embodiments of the present invention could be made using other combinations of hardware, software and technical architectures. 
       FIG. 2  is a high-level flowchart of one embodiment of providing the functionality of updating the capability profile  140  and then synchronizing  310  the data in the routing system. When a capability-impacting system ( 150 ,  155 ,  160 , and/or  165 ) modifies skill-related information, an external event is triggered  205 . For an example using an ORACLE database available from Oracle Corp., as database elements in the database change, a trigger may be executed automatically. The event generates a transaction  210 , which in turn triggers a workflow  215 . (A workflow is a state table utilized by SIBBEL and other systems.) The workflow  215  updates the centralized capability profile  220 . This update triggers a second workflow  225  which in turn initiates an intermediary process to mimic  230  the typically manual administration (i.e., a supervisor using the administrative interface  305 ) of the agent skill information of the routing system  130 . Other embodiments of the present invention use other methodologies to update the skill tracking system  140 / 145  and to synchronize the routing system  130 . For example, in one embodiment, a custom interface automates the changing of agent skills by looking for and processing files sent to the AVAYA Call Management System  130 . This is done on an adjustable, periodic interval. When a change is noticed, the interface automatically updates the skill set as appropriate and provides a log that indicates when it has received and processed a file for a skill change. 
       FIG. 5  is a conceptual diagram of an example agent profile as can be stored in the system. As shown in  FIG. 5 , several skill/capability scores can be tracked. Each skill has an associated rating. For example,  FIG. 5  reflects an agent highly skilled in: (A) Product A, (B) Product B, (C) Sales Business Function and (D) Value Segment D. Some skills may have a Boolean rating in which the skill is either present or not. For example, a foreign language skill such as “Speaks Spanish” may be Boolean since the agent either can speak Spanish or she cannot. Other skill ratings may be a range. Such ratings may be a number (such as between 1 and 5), or a level (such as beginner, intermediate, or advanced), for example. Other ratings can be implemented as well. In some embodiments, profiles are stored for groups of agents instead of for (or in addition to) individual agents. In some embodiments, skill-impacting data is received that is representative of a group of agents rather than for a single agent. 
     The foregoing description addresses embodiments encompassing various principles of the present invention. The embodiments may be changed, modified and/or implemented using various types of arrangements. Those skilled in the art will readily recognize various modifications and changes that may be made to the invention without strictly following the exemplary embodiments and applications illustrated and described herein, and without departing from the scope of the invention, which is set forth in the following claims.