Systems and methods for relative gain in predictive routing
The predictive routing system in contact centers uses relative gain analysis to rank agents, optimizing interaction allocation and reducing live agent requirements, enhancing service quality and cost-efficiency.
Patent Information
- Application Number
- JP2025532981
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-19
- Filing Date
- 2023-08-04
- Publication Date
- 2026-01-14
AI Technical Summary
Existing contact center systems struggle to optimize the routing of interactions to agents efficiently, leading to suboptimal service quality and increased costs due to the high labor costs of live agents and inefficiencies in automated processes.
A method and system for predictive routing that utilizes relative gain analysis to rank contact center agents based on past performance, interaction class, and agent value, enabling the selection of the most suitable agent for each interaction.
Improves interaction routing efficiency by optimizing the allocation of interactions to agents, reducing wait times, and minimizing the need for live agents, thereby enhancing service quality and reducing operational costs.
Smart Images

Figure 2026501119000001_ABST
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to and benefit of U.S. Provisional Patent Application No. 63 / 433,538, filed December 19, 2022, entitled "Systems and Methods Relating to Estimating Relative Gain in Target Metrics of Contact Centers," the contents of which are incorporated herein by reference in their entirety. [Background technology]
[0002] Call centers and other contact centers are used by many organizations to provide technical and other support to their end users. End users can interact with human and / or virtual agents at the contact center by establishing electronic communications via one or more communications technologies, including, for example, telephone, email, web chat, Short Message Service (SMS), specialized software applications, and / or other technologies. Contact centers may have a significant number of agents to efficiently respond to end-user queries, and therefore, contact centers use some mechanism to route communications or interactions to appropriate agents. Summary of the Invention
[0003] One embodiment is directed to unique systems, components, and methods for leveraging relative gain in predictive routing of interactions to contact center agents. Other embodiments are directed to apparatus, systems, devices, hardware, methods, and combinations thereof for leveraging relative gain in predictive routing of interactions to contact center agents.
[0004] According to one embodiment, a method for utilizing relative gain in predictive routing of interactions to contact center agents may include identifying interactions to be routed to contact center agents; determining a predictive routing score for each predictive contact center agent of a plurality of predictive contact center agents to which the interaction may be routed based on past performance of each predictive contact center agent; determining a relative gain for each predictive contact center agent based on an interaction class of the interaction, the agent class performance of the predictive contact center agent, and an agent value of the predictive contact center agent, where the relative gain of each contact center agent indicates a relative optimization improvement in routing of the interaction to the respective contact center agent compared to another predictive contact center agent; ranking the predictive contact center agents based on the predictive routing score and associated relative gain associated with each predictive contact center agent; selecting a contact center agent from the predictive contact center agents based on the ranking of the predictive contact center agents; and routing the interaction to the selected contact center agent.
[0005] In some embodiments, the past performance of each prospective contact center agent may be associated with the respective prospective contact center agent's past performance with handling interactions of the interaction class.
[0006] In some embodiments, the method may further include ranking the predictive contact center agents based on a predictive routing score associated with each predictive contact center agent to determine a first agent ranking, wherein ranking the predictive contact center agents based on the predictive routing score and the associated relative gain associated with each predictive contact center agent may include re-ranking the first agent rankings to determine a second agent ranking based on the relative gain associated with each predictive contact center agent, and selecting a contact center agent from the predictive contact center agents based on the rankings may include selecting a contact center agent from the predictive contact center agents based on the second agent ranking.
[0007] In some embodiments, determining a relative gain for each predicted contact center agent based on the interaction class of the interaction may include determining a relative gain for each predicted contact center agent based on a class value associated with the interaction class.
[0008] In some embodiments, the method may further include, in response to identifying the interaction to be routed to a contact center agent, determining an interaction class of the interaction.
[0009] In some embodiments, the interaction class may be selected from a plurality of interaction classes predefined by an administrator.
[0010] In some embodiments, the interaction classes may be defined by machine learning.
[0011] In some embodiments, the method may further include identifying a predicted interaction class; determining an average handle time and agent performance rank for each contact center agent for the identified predicted interaction class based on historical performance data for each contact center agent; determining whether a relative gain criterion is met based on the average handle time and agent performance rank for each contact center agent for the identified predicted interaction class; and, in response to determining that the relative gain criterion is met, defining the predicted interaction class as an interaction class for the relative gain analysis.
[0012] In some embodiments, determining whether the relative gain criteria are met may include determining an agent performance rank variance metric from the agent performance ranks of each contact center agent for the identified predicted interaction classes, and determining an average handle time variance metric from the average handle times of each contact center agent for the identified predicted interaction classes.
[0013] In some embodiments, the relative gain criterion may be satisfied in response to a determination that the agent performance rank variance metric exceeds a first threshold and the average processing time variance metric is less than a second threshold.
[0014] In some embodiments, each of the agent performance variance metric and the average handle time variance metric may be a coefficient of variation.
[0015] According to another embodiment, a system for leveraging relative gains in predictive routing of interactions to contact center agents includes at least one processor and at least one memory including a plurality of instructions stored thereon, the plurality of instructions, responsive to execution by the at least one processor, causing the system to: identify interactions to be routed to contact center agents; determine a predictive routing score for each predictive contact center agent of a plurality of predictive contact center agents to which the interaction may be routed based on each predictive contact center agent's past performance; determine a relative gain for each predictive contact center agent based on an interaction class of the interaction, the predictive contact center agent's agent class performance, and an agent value of the predictive contact center agent, the relative gain for each contact center agent indicating a relative optimization improvement in routing of the interaction to the respective contact center agent compared to another predictive contact center agent; rank the predictive contact center agents based on the predictive routing score and associated relative gain associated with each predictive contact center agent; select a contact center agent from the predictive contact center agents based on the ranking of the predictive contact center agents; and route the interaction to the selected contact center agent.
[0016] In some embodiments, the past performance of each prospective contact center agent may be associated with the respective prospective contact center agent's past performance with handling interactions of the interaction class.
[0017] In some embodiments, the instructions further cause the system to rank the predictive contact center agents based on the predictive routing score associated with each predictive contact center agent to determine a first agent ranking; ranking the predictive contact center agents based on the predictive routing score and the associated relative gain associated with each predictive contact center agent may include re-ranking the first agent rankings based on the relative gain associated with each predictive contact center agent to determine a second agent ranking; and selecting a contact center agent from the predictive contact center agents based on the rankings may include selecting a contact center agent from the predictive contact center agents based on the second agent ranking.
[0018] In some embodiments, determining a relative gain for each predicted contact center agent based on the interaction class of the interaction may include determining a relative gain for each predicted contact center agent based on a class value associated with the interaction class.
[0019] In some embodiments, the instructions may further cause the system, in response to identifying the interaction to be routed to a contact center agent, to further determine an interaction class of the interaction.
[0020] In some embodiments, the interaction class may be selected from a plurality of interaction classes predefined by an administrator.
[0021] In some embodiments, the instructions may further cause the system to identify a predicted interaction class; determine an average handle time and agent performance rank for each contact center agent for the identified predicted interaction class based on each contact center agent's historical performance data; determine whether a relative gain criterion is met based on each contact center agent's average handle time and agent performance rank for the identified predicted interaction class; and, in response to determining that the relative gain criterion is met, define the predicted interaction class as an interaction class for relative gain analysis.
[0022] In some embodiments, determining whether the relative gain criteria are met may include determining an agent performance rank variance metric from the agent performance ranks of each contact center agent for the identified predicted interaction classes, and determining an average handle time variance metric from the average handle times of each contact center agent for the identified predicted interaction classes.
[0023] In some embodiments, the relative gain criterion may be satisfied in response to a determination that the agent performance rank variance metric exceeds a first threshold and the average processing time variance metric is less than a second threshold.
[0024] This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter. Further embodiments, forms, features, and aspects of the present application will become apparent from the description and figures provided herewith. [Brief explanation of the drawings]
[0025] The concepts described herein are by way of example and not limitation in the accompanying drawings. For simplicity and clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. Where considered appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements. [Figure 1] FIG. 1 is a simplified block diagram of at least one embodiment of a computing device. [Figure 2] FIG. 1 is a simplified block diagram of at least one embodiment of a contact center system and / or communications infrastructure. [Figure 3] FIG. 1 is a simplified block diagram of at least one embodiment of a predictive routing server. [Figure 4] FIG. 1 is a simplified block diagram of at least one embodiment of a method for defining interaction classes in terms of relative gain. [Figure 5] 1 is an example graph of predicted interaction classes. [Figure 6] FIG. 1 is a simplified block diagram of at least one embodiment of a method for leveraging relative gain in predictive routing of interactions to contact center agents. [Figure 7] FIG. 1 is a simplified diagram illustrating an example re-ranking of contact center agents based on relative gain. DETAILED DESCRIPTION OF THE INVENTION
[0026] While the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that there is no intention to limit the concepts of the present disclosure to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives consistent with the scope of this disclosure and the appended claims.
[0027] References herein to "one embodiment," "an embodiment," "an illustrative embodiment," and the like indicate that the described embodiment may include a particular feature, structure, or characteristic, but that all embodiments may or may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. It should be further understood that references to "preferred" components or features may indicate the desirability of a particular component or feature with respect to an embodiment, but that the present disclosure is not so limited with respect to other embodiments that may omit such component or feature. Furthermore, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to implement such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly described. Furthermore, particular features, structures, or characteristics may be combined in any suitable combinations and / or subcombinations in various embodiments.
[0028] Additionally, it should be understood that items in a listing of the form "at least one of A, B, and C" can mean (A), (B), (C), (A and B), (B and C), (A and C), or (A, B, and C). Similarly, items listed in the form "at least one of A, B, or C" can mean (A), (B), (C), (A and B), (B and C), (A and C), or (A, B, and C). Further, with respect to the claims, use of words and phrases such as "a," "an," "at least one," and / or "at least a portion" should be construed as limiting to only one of such elements unless specifically stated to the contrary, and use of phrases such as "at least a portion" and / or "a portion" should be construed to encompass both embodiments including only a portion of such elements and embodiments including the entirety of such elements unless specifically stated to the contrary.
[0029] The disclosed embodiments may, in some cases, be implemented in hardware, firmware, software, or a combination thereof. The disclosed embodiments may also be implemented as instructions stored on or executed by one or more transitory or non-transitory machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. A machine-readable storage medium may be embodied as any storage device, mechanism, or other physical structure for storing or transmitting information in a form readable by a machine (e.g., volatile or non-volatile memory, media disk, or other media device).
[0030] In the drawings, some structural or method features may be shown in a specific arrangement and / or ordering. However, it should be understood that such specific arrangement and / or ordering may not be required. Rather, in some embodiments, such features may be arranged in a different manner and / or order than that shown in the illustrative drawings, unless indicated to the contrary. Additionally, the inclusion of a structural or method feature in a particular figure does not imply that such feature is required in all embodiments, and in some embodiments, it may not be included or may be combined with other features.
[0031] 1, a simplified block diagram of at least one embodiment of a computing device 100 is shown. The illustrative computing device 100 depicts at least one embodiment of each of the computing devices, systems, services, controllers, switches, gateways, engines, modules, and / or computing components (e.g., which may be collectively referred to interchangeably as computing devices, servers, or modules for ease of description) described herein. For example, a server may be a process or thread running on one or more processors of one or more computing devices 100 that executes computer program instructions and may interact with other system modules to perform various functions described herein.
[0032] Unless otherwise specifically limited, functionality described in conjunction with multiple computing devices may be integrated into a single computing device, or various functionality described in conjunction with a single computing device may be distributed across several computing devices. Furthermore, in conjunction with a computing system described herein, such as contact center system 200 of FIG. 2 , the various servers and computing devices of that system may be located on a local computing device 100 (e.g., on-site in the same physical location as the contact center agents), a remote computing device 100 (e.g., off-site, i.e., in a cloud-based environment, or in a cloud computing environment, e.g., in a remote data center connected via a network), or some combination thereof. In some embodiments, functionality provided by a server located on an off-site computing device may be accessed and provided via a virtual private network (VPN) as if such server were on-site, or functionality may be provided using software as a service (SaaS) accessed over the Internet using various protocols, e.g., by exchanging data via extensible markup language (XML), JSON, and / or functionality may be accessed / utilized otherwise.
[0033] As shown in the illustrated embodiment, computing device 100 may include a central processing unit (CPU) or processor 105 and main memory 110. Computing device 100 may also include a storage device 115, a removable media interface 120, a network interface 125, an input / output (I / O) controller 130, and one or more input / output (I / O) devices 135. For example, as shown, I / O devices 135 may include a display device 135A, a keyboard 135B, and / or a pointing device 135C. Computing device 100 may further include additional elements, such as a memory port 140, a bridge 145, one or more I / O ports, one or more additional input / output (I / O) devices 135D, 135E, 135F, and / or a cache memory 150 in communication with processor 105.
[0034] Processor 105 may be any logic circuit that responds to and processes instructions fetched from main memory 110. For example, process 105 may be implemented by an integrated circuit (e.g., a microprocessor, microcontroller, or graphics processing unit) or in a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC). As shown, processor 105 may communicate directly with cache memory 150 via a secondary bus or backside bus. It should be understood that cache memory 150 typically has a faster response time than main memory 110. Main memory 110 may be one or more memory chips capable of storing data and allowing the stored data to be directly accessed by processor 105. Storage device 115 may provide storage for an operating system and other software that controls scheduling tasks and access to system resources. Unless otherwise limited, computing device 100 may include an operating system and software capable of performing the functionality described herein.
[0035] As shown in the illustrated embodiment, computing device 100 may include a wide variety of I / O devices 135, one or more of which may be connected via I / O controller 130. Input devices may include, for example, a keyboard 135B and a pointing device 135C (e.g., a mouse or optical pen). Output devices may include, for example, a video display device, speakers, and a printer. I / O devices 135 and / or I / O controller 130 may include suitable hardware and / or software to enable the use of multiple display devices. Computing device 100 may also support one or more removable media interfaces 120, such as a disk drive, a USB port, or any other device suitable for reading data from or writing data to computer-readable media. More generally, I / O devices 135 may include any conventional device for performing the functions described herein.
[0036] Computing device 100 may be, but is not limited to, any workstation, desktop computer, laptop or notebook computer, server machine, virtual machine, mobile or smartphone, portable telecommunications device, media playback device, gaming system, mobile computing device, or any other type of computing, telecommunications, or media device capable of performing the operations and functions described herein. Although described in the singular for clarity and brevity, computing device 100 may include multiple devices connected by a network or connected to other systems and resources via a network. As used herein, a network may be embodied as or include one or more computing devices, machines, clients, client nodes, client machines, client computers, client devices, endpoints, or endpoint nodes that communicate with one or more other computing devices, machines, clients, client nodes, client machines, client computers, client devices, endpoints, or endpoint nodes. For example, the network may be embodied as or include a private or public switched telephone network (PSTN), a wireless carrier network, a local area network (LAN), a private wide area network (WAN), a public WAN such as the Internet, etc., with connections established using an appropriate communications protocol. More generally, unless otherwise limited, it should be understood that computing device 100 may communicate with other computing devices 100 over any type of network using any suitable communications protocol. Furthermore, the network may be a virtual network environment in which various network components are virtualized.For example, the various machines may be virtual machines implemented as software-based computers running on a physical machine, or a "hypervisor" type of virtualization may be used in which multiple virtual machines run on the same host physical machine. In other embodiments, other types of virtualization may be used.
[0037] 2, there is shown a simplified block diagram of at least one embodiment of a communications infrastructure and / or content center system that may be used in conjunction with one or more of the embodiments described herein. The contact center system 200 may be embodied as any system that provides contact center services (e.g., call center services, chat center services, SMS center services, etc.) to end users and otherwise enables the functionality described herein. The exemplary contact center system 200 includes a customer device 205, a network 210, a switch / media gateway 212, a call controller 214, an interactive media response (IMR) server 216, a routing server 218, a storage device 220, a statistics server 226, agent devices 230A, 230B, 230C, a media server 234, a knowledge management server 236, a knowledge system 238, a chat server 240, a web server 242, an interaction (iXn) server 244, a universal contact server 246, a reporting server 248, a media services server 249, and an analytics module 250.The illustrative embodiment of FIG. 2 includes one customer device 205, one network 210, one switch / media gateway 212, one call controller 214, one IMR server 216, one routing server 218, one storage device 220, one statistics server 226, one media server 234, one knowledge management server 236, one knowledge system 238, one chat server 240, one iXn server 244, one universal contact server 246, one reporting server 248, one media services server 249, and one analytics server 250. Although only module 250 is shown, in other embodiments, contact center system 200 may include multiple customer devices 205, network 210, switch / media gateway 212, call controller 214, IMR server 216, routing server 218, storage device 220, statistics server 226, media server 234, knowledge management server 236, knowledge system 238, chat server 240, iXn server 244, universal contact server 246, reporting server 248, media services server 249, and / or analytics module 250. Furthermore, in some embodiments, one or more of the components described herein may be excluded from system 200, and one or more of the components described as being independent may form part of another component, and / or one or more of the components described as forming part of another component may be independent.
[0038] It should be understood that, as used herein, the term "contact center system" is used to refer to the system illustrated in Figure 2 and / or its components, while the term "contact center" is used more generally to refer to contact center systems, the customer service providers that operate those systems, and / or the organizations or businesses associated therewith. Thus, unless specifically limited otherwise, the term "contact center" generally refers to a contact center system (e.g., contact center system 200), associated customer service providers (e.g., a particular customer service provider that provides customer service through contact center system 200), and the organization or business on behalf of which customer service is provided.
[0039] By way of background, customer service providers may offer many types of services through contact centers. Such contact centers may be staffed with employees or customer service agents (or simply “agents”) who serve as an interface between a company, business, government agency, or organization (hereinafter interchangeably referred to as an “organization” or “enterprise”) and people, such as users, individuals, or customers (hereinafter interchangeably referred to as “individuals” or “customers”). For example, contact center agents may assist customers in making purchasing decisions, placing orders, or resolving issues related to products or services they have already received. Within a contact center, such interactions between contact center agents and external entities or customers may occur via various communication channels, such as, for example, voice (e.g., telephone calls or voice over IP, i.e., VoIP calls), video (e.g., video conferencing), text (e.g., email and text chat), screen sharing, co-browsing, and / or other communication channels.
[0040] Operationally, contact centers generally strive to provide quality service to customers while minimizing costs. For example, one way contact centers operate is to handle all customer interactions with live agents. While this approach may be entirely successful from a service quality perspective, it would likely be prohibitively expensive due to the high cost of agent labor. For this reason, most contact centers utilize some level of automated processes, such as interactive voice response (IVR) systems, interactive media response (IMR) systems, Internet robots (i.e., "bots"), automated chat modules (i.e., "chatbots"), and / or other automated processes, in place of live agents. In many cases, this has proven to be a successful strategy, as automated processes can be highly efficient at handling certain types of interactions and effective in reducing the need for live agents. Such automation allows contact centers to target the use of human agents to more difficult customer interactions, while the automated processes handle more repetitive or routine tasks. Furthermore, automated processes can be structured in a way that optimizes efficiency and promotes repeatability. Although human agents, i.e., live agents, may forget to ask certain questions or pursue certain details thoroughly, such errors are typically avoided through the use of automated processes. While customer service providers increasingly rely on automated processes to interact with customers, the use of such technologies by customers remains far less developed. Thus, on the contact center side of the interaction, IVR systems, IMR systems, and / or bots are used to automate parts of the interaction, while actions on the customer side remain manually performed by the customer.
[0041] It should be understood that the contact center system 200 can be used by customer service providers to provide various types of services to customers. For example, the contact center system 200 can be used to engage in and manage interactions in which automated processes (or bots) or human agents communicate with customers. As should be understood, the contact center system 200 can be an in-house facility of a business or enterprise for performing sales and customer service functions for products and services available through the enterprise. In another embodiment, the contact center system 200 can be operated by a third-party service provider contracted to provide services to another organization. Furthermore, the contact center system 200 can be deployed on equipment dedicated to the enterprise or third-party service provider and / or in a remote computing environment, such as, for example, a private or public cloud environment with infrastructure to support multiple contact centers for multiple enterprises. The contact center system 200 can include software applications or programs that can run on-premises, remotely, or some combination thereof. Furthermore, it should be understood that various components of the contact center system 200 can be distributed across various geographic locations and need not necessarily be contained in a single location or computing environment.
[0042] Furthermore, unless specifically limited otherwise, it should be understood that any of the computing elements of the techniques described herein may be implemented within a cloud-based or cloud computing environment. As used herein and further described with reference to computing device 100, "cloud computing" or simply "cloud" is defined as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services), which can be rapidly provisioned via virtualization, released with minimal management effort or service provider interaction, and then scaled accordingly. Cloud computing can consist of a variety of characteristics (e.g., on-demand self-service, wide area network access, resource pooling, rapid scalability, measurable services, etc.), service models (e.g., Software as a Service ("SaaS"), Platform as a Service ("PaaS"), Infrastructure as a Service ("IaaS")), and deployment models (e.g., private cloud, community cloud, public cloud, etc.). Cloud execution models, often referred to as "serverless architectures," generally involve a service provider dynamically managing the allocation and provisioning of remote servers to achieve desired functions.
[0043] It should be understood that any of the computer-implemented components, modules, or servers described in connection with Figure 2 may be implemented via one or more types of computing devices, such as, for example, computing device 100 of Figure 1. As will be appreciated, contact center system 200 generally manages resources (e.g., employees, computers, telecommunications equipment, etc.) to enable the delivery of services via telephone, email, chat, or other communication mechanisms. Such services may vary depending on the type of contact center and may include, for example, customer service, help desk functions, emergency response, telemarketing, order taking, and / or other features.
[0044] A customer desiring to receive service from the contact center system 200 may initiate inbound communications (e.g., telephone calls, emails, chats, etc.) to the contact center system 200 via a customer device 205. While FIG. 2 shows one such customer device, namely, the customer device 205, it should be understood that any number of customer devices 205 may be present. The customer device 205 may be, for example, a communication device such as a telephone, smartphone, computer, tablet, or laptop. In accordance with the functionality described herein, a customer may generally use the customer device 205 to initiate, manage, and conduct communications with the contact center system 200, such as telephone calls, emails, chats, text messages, web browsing sessions, and other multimedia transactions.
[0045] Incoming and outgoing communications from and to customer device 205 may traverse network 210, the nature of which typically depends on the type of customer device being used and the mode of communication. By way of example, network 210 may include telephone, mobile telephone, and / or data service communication networks. Network 210 may be a private or public switched telephone network (PSTN), a local area network (LAN), a private wide area network (WAN), and / or a public WAN such as the Internet. Additionally, network 210 may include a wireless carrier network, including a code division multiple access (CDMA) network, a global system for mobile communications (GSM) network, or any wireless network / technology conventional in the art, including, but not limited to, 3G, 4G, LTE, 5G, etc.
[0046] The switch / media gateway 212 may be coupled to the network 210 for transmitting and receiving telephone calls between customers and the contact center system 200. The switch / media gateway 212 may include a telephone or communication switch configured to act as a central switch for agent-level routing within the center. The switch may be a hardware switching system or may be implemented via software. For example, the switch 212 may include an automatic call distributor, a private branch exchange (PBX), an IP-based software switch, and / or any other switch having dedicated hardware and software configured to receive interactions from customers, from the Internet, and / or from the telephone network, and route those interactions to, for example, one of the agent devices 230. Thus, in general, the switch / media gateway 212 establishes a connection between the customer device 205 and the agent device 230, thereby establishing a voice connection between the customer and the agent.
[0047] As further shown, the switch / media gateway 212 may be coupled to a call controller 214, which functions, for example, as an adapter or interface between the switch and other routing, monitoring, and communication processing components of the contact center system 200. This call controller 214 may be configured to process PSTN calls, VoIP calls, and / or other types of calls. For example, the call controller 214 may include computer-telephone integration (CTI) software for interfacing with the switch / media gateway and other components. The call controller 214 may include a session initiation protocol (SIP) server for processing SIP calls. The call controller 214 may also extract data about incoming interactions, such as the customer's phone number, IP address, or email address, and then communicate them to other contact center components when processing the interaction.
[0048] The interactive media response (IMR) server 216 can be configured to enable self-help or virtual assistant functions. Specifically, the IMR server 216 can be similar to an interactive voice response (IVR) server, except that the IMR server 216 is not limited to voice and can also cover various media channels. In an example illustrating voice, the IMR server 216 can be configured with IMR scripts to query customers about their needs. For example, a bank contact center may instruct customers via an IMR script to "press 1" if they want to retrieve their account balance. Through ongoing interaction with the IMR server 216, customers can receive service without needing to speak with an agent. The IMR server 216 can also be configured to determine why a customer is contacting the contact center so that communications can be routed to the appropriate resource. IMR configuration can be implemented through the use of self-service and / or assisted-service tools, including web-based tools for developing IVR and routing applications that run within the contact center environment (e.g., Genesys® Designer).
[0049] The routing server 218 may function to route incoming interactions. For example, when it is determined that an incoming communication should be handled by a human agent, functionality within the routing server 218 may select the most appropriate agent and route the communication to that agent. This agent selection may be based on which available agent is best suited to handle the communication. More specifically, the selection of the appropriate agent may be based on a routing strategy or algorithm implemented by the routing server 218. In doing so, the routing server 218 may query data related to the incoming interaction, such as data related to the particular customer, available agents, and type of interaction, which may be stored in a particular database as described herein. Once an agent is selected, the routing server 218 may interact with the call controller 214 to route (i.e., connect) the incoming interaction to a corresponding agent device 230. As part of this connection, information about the customer may be provided to the selected agent via their agent device 230. This information is intended to enhance the service the agent can provide to the customer.
[0050] It should be appreciated that the contact center system 200 may include one or more mass storage devices (generally represented by the storage device 220) for storing data in one or more databases related to the contact center's functions. For example, the storage device 220 may store customer data maintained in a customer database. Such customer data may include, for example, customer profiles, contact information, service level agreements (SLAs), and interaction history (e.g., details of previous interactions with particular customers, including the nature of the previous interactions, disposition data, wait times, handling times, and actions taken by the contact center to resolve the customer's issues). As another example, the storage device 220 may store agent data in an agent database. The agent data maintained by the contact center system 200 may include, for example, agent availability, as well as agent profiles, schedules, skills, handling times, and / or other related data. As another example, the storage device 220 may store interaction data in an interaction database. The interaction data may include, for example, data related to numerous past interactions between customers and the contact center. More generally, unless otherwise specifically specified, it should be understood that storage device 220 may include databases and / or be configured to store data related to any of the types of information described herein, with those databases and / or data being accessible to other modules or servers of contact center system 200 in a manner that facilitates the functions described herein. For example, a server or module of contact center system 200 may query such databases to retrieve data stored therein or transmit data to a database for storage. Storage device 220 may take the form of, for example, any conventional storage medium and may be housed locally or operated remotely.By way of example, the database may be a Cassandra database, a NoSQL database, or a SQL database, and may be managed by a database management system such as Oracle, IBM DB2, Microsoft SQL Server, Microsoft Access, PostgreSQL, or the like.
[0051] Statistics server 226 may be configured to record and aggregate data related to the performance and operational aspects of contact center system 200. Such information may be compiled by statistics server 226 and made available to other servers and modules, such as reporting server 248, which may then use the data to generate reports used to manage operational aspects of the contact center and to take automated actions in accordance with the functionality described herein. Such data may relate to the status of contact center resources, such as average wait times, abandon rates, agent occupancy, and others as may be required by the functionality described herein.
[0052] The agent devices 230 of the contact center system 200 may be communication devices configured to interact with the various components and modules of the contact center system 200 in a manner that facilitates the functionality described herein. For example, the agent devices 230 may include telephones adapted for regular telephone calls or VoIP calls. The agent devices 230 may further include computing devices configured to communicate with servers of the contact center system 200, perform business-related data processing, and communicate with customers via voice, chat, email, and other multimedia communication mechanisms in accordance with the functionality described herein. While FIG. 2 shows three such agent devices 230, namely, agent devices 230A, 230B, and 230C, it should be understood that any number of agent devices 230 may be present in a particular embodiment.
[0053] The multimedia / social media server 234 may be configured to facilitate media (non-voice) interactions with the customer device 205 and / or server 242. Such media interactions may relate to, for example, email, voicemail, chat, video, text messaging, web, social media, collaborative browsing, etc. The multimedia / social media server 234 may take the form of any IP router conventional in the art having dedicated hardware and software for receiving, processing, and forwarding multimedia events and communications.
[0054] The knowledge management server 236 may be configured to facilitate interactions between customers and the knowledge system 238. Generally, the knowledge system 238 may be a computer system capable of receiving questions or queries and providing answers in response. The knowledge system 238 may be included as part of the contact center system 200 or may be operated remotely by a third party. The knowledge system 238 may include an artificial intelligence computer system capable of answering questions posed in natural language by extracting information from sources such as encyclopedias, dictionaries, newswire articles, literary works, or other documents submitted to the knowledge system 238 as reference material. As an example, the knowledge system 238 may be embodied as an IBM Watson or similar system.
[0055] Chat server 240 may be configured to conduct, direct, and manage electronic chat communications with customers. Generally, chat server 240 is configured to conduct and maintain chat conversations and generate chat transcripts. Such chat communications may be conducted by chat server 240 in a manner such that customers communicate with automated chatbots, human agents, or both. In an exemplary embodiment, chat server 240 may function as a chat orchestration server that allocates chat conversations to chatbots and available human agents. In such cases, the processing logic of chat server 240 may be rules driven to leverage intelligent workload distribution among available chat resources. Chat server 240 may also implement, manage, and facilitate user interfaces (UIs) associated with chat functionality, including user interfaces (UIs) generated on either customer device 205 or agent device 230. Chat server 240 may be configured to transfer chats between automated and human sources within a single chat session with a particular customer, such as transferring a chat session from a chatbot to a human agent or from a human agent to a chatbot. The chat server 240 may also be coupled to the knowledge management server 236 and the knowledge system 238 to receive suggestions and answers to inquiries posed by the customer during the chat, for example, to provide links to related articles.
[0056] Web server 242 may be included to provide site hosts for various social interaction sites to which customers subscribe, such as Facebook, Twitter, and Instagram. While depicted as part of contact center system 200, it should be understood that web server 242 may be provided by a third party and / or maintained remotely. Web server 242 may also serve web pages to businesses or organizations supported by contact center system 200. For example, customers may view web pages to receive information about a particular business's products and services. Within such business web pages, mechanisms may be provided for initiating interactions with contact center system 200, for example, via web chat, voice, or email. One example of such a mechanism is a widget that may be deployed on a web page or website hosted on web server 242. As used herein, a widget refers to a user interface component that performs a specific function. In some embodiments, a widget may include a graphical user interface control that may be overlaid on a web page displayed to customers via the Internet. A widget may include buttons or other controls that display information, such as in a window or text box, or allow a customer to access a particular function, such as sharing or opening a file or initiating a communication. In some implementations, a widget includes a user interface component with a portable portion of code that can be installed and executed within a separate web page without being compiled. Some widgets may include corresponding or additional user interfaces and may be configured to access various local resources (e.g., calendar or contact information on the customer device) or remote resources over a network (e.g., instant messaging, email, or social networking updates).
[0057] The interaction (iXn) server 244 may be configured to manage contact center deferrable activities and their routing to human agents for completion. As used herein, deferrable activities include back-office work that can be performed offline, such as responding to email, attending training, and other activities that do not require real-time communication with customers. As an example, the interaction (iXn) server 244 may be configured to interact with the routing server 218 to select an appropriate agent to handle each deferrable activity. Once assigned to a particular agent, the deferrable activity is pushed to that agent, such that the deferrable activity is displayed on the selected agent's agent device 230. The deferrable activity may be displayed in a work bin as a task for the selected agent to complete. The work bin functionality may be implemented via any conventional data structure, such as a linked list, an array, and / or other suitable data structure. Each agent device 230 may include a work bin. As an example, the work bin may be maintained in a buffer memory of the corresponding agent device 230.
[0058] A universal contact server (UCS) 246 may be configured to retrieve information stored in a customer database and / or send information to a customer database for storage in the customer database. For example, UCS 246 may be utilized as part of a chat function to facilitate maintaining a history of how chats with particular customers were handled, which may then be used as a reference for how future chats should be handled. More generally, UCS 246 may be configured to facilitate maintaining a history of customer preferences, such as preferred media channels and best times to contact. To do this, UCS 246 may be configured to identify data related to each customer's interaction history, such as, for example, data regarding comments from agents, customer communication history, etc. Each of these data types may then be stored in customer database 222 or other modules and retrieved as needed by the functions described herein.
[0059] The reporting server 248 may be configured to generate reports from data compiled and aggregated by the statistics server 226 or other sources. Such reports may include near real-time or historical reports and may relate to the status of contact center resources and performance characteristics, such as average wait times, abandon rates, and / or agent occupancy. Reports may be generated automatically or upon specific request from a requesting party (e.g., an agent, a manager, a contact center application, etc.). The reports may then be used to manage contact center operations in accordance with the functionality described herein.
[0060] Media services server 249 may be configured to provide audio and / or video services to support contact center functions, such as IVR or IMR system prompts (e.g., playing audio files), music on hold, voicemail / single-party recording, multi-party recording (e.g., of audio and / or video calls), speech recognition, dual tone multi-frequency (DTMF) recognition, fax, audio and video transcoding, secure real-time transport protocol (SRTP), audio conferencing, video conferencing, coaching (e.g., support for a coach to eavesdrop on an interaction between a customer and an agent and for the coach to provide comments to an agent without the customer hearing the comments), call analysis, keyword spotting, and / or other related functions, according to functionality described herein.
[0061] The analytics module 250 may be configured to provide systems and methods for performing analytics on data received from multiple different data sources, as may be required by the functionality described herein. According to an example embodiment, the analytics module 250 may also generate, update, train, and modify predictors or models based on collected data, such as, for example, customer data, agent data, and interaction data. The models may include customer or agent behavior models. The behavior models may be used to predict, for example, customer or agent behavior in various situations, thereby enabling embodiments of the technology described herein to adjust interactions based on such predictions or allocate resources in preparation for predicted characteristics of future interactions, thereby improving overall contact center performance and customer experience. While the analytics module is described as being part of the contact center, it will be understood that such behavior models may also be implemented in customer systems (or, as used herein, the “customer side” of the interaction) and used to the benefit of the customer.
[0062] According to an example embodiment, analytics module 250 may have access to data stored in storage device 220, including a customer database and an agent database. Analytics module 250 may also have access to an interaction database that stores data related to interactions and interaction content (e.g., transcripts of interactions and events detected therein), interaction metadata (e.g., customer identifier, agent identifier, interaction medium, interaction length, interaction start and end times, department, tagged categories), and application settings (e.g., interaction paths through the contact center). Additionally, analytics module 250 may be configured to retrieve data stored in storage device 220 for use in developing and training algorithms and models, for example, by applying machine learning techniques.
[0063] One or more of the included models may be configured to predict customer or agent behavior and / or aspects related to contact center operation and performance. Furthermore, one or more of the models may be used for natural language processing, including, for example, intent recognition. The models may be developed based on known first-principles equations describing the system, data resulting in empirical models, or a combination of known first-principles equations and data. When developing models for use in the present embodiments, first-principles equations are often not available or easily derived, so building empirical models based on collected and stored data may generally be preferred. To adequately capture the relationships between manipulated / disturbance variables and controlled variables of a complex system, in some embodiments, it may be preferred that the model be nonlinear. This is because nonlinear models may exhibit curvilinear relationships between manipulated / disturbance variables and controlled variables, rather than linear relationships, as is common in complex systems such as those discussed herein. Given the aforementioned requirements, machine learning or neural network-based approaches may be preferred for implementing the models. For example, neural networks may be developed based on empirical data using advanced regression algorithms.
[0064] The analysis module 250 may further include an optimizer. As will be appreciated, an optimizer may be used to minimize a "cost function" under a set of constraints, where the cost function is a mathematical expression of a desired objective or system behavior. Because the model may be nonlinear, the optimizer may be a nonlinear programming optimizer. However, it is contemplated that the techniques described herein may be implemented using a variety of different types of optimization approaches, individually or in combination, including, but not limited to, linear programming, quadratic programming, mixed-integer nonlinear programming, stochastic programming, global nonlinear programming, genetic algorithms, particle / swarm techniques, etc.
[0065] According to some embodiments, the model and optimizer may be used together in an optimization system. For example, analytics module 250 may utilize the optimization system as part of an optimization process in which aspects of contact center performance and operation are optimized or at least enhanced. This may include, for example, features related to customer experience, agent experience, interaction routing, natural language processing, intent recognition, or other functionality related to automated processes.
[0066] The various components, modules, and / or servers in FIG. 2 (as well as other figures contained herein) may each include one or more processors that execute computer program instructions and interact with other system components to perform the various functions described herein. Such computer program instructions may be stored in memory implemented using standard memory devices such as, for example, random-access memory (RAM), or may be stored on other non-transitory computer-readable media such as, for example, a CD-ROM, a flash drive, or the like. While each of the server functions is described as being provided by a particular server, those skilled in the art should understand that in various embodiments, the functions of various servers may be combined or consolidated into a single server, or the functions of a particular server may be distributed across one or more other servers. Furthermore, the terms “interaction” and “communication” are used interchangeably and generally refer to any real-time and non-real-time interaction using any communication channel, including, but not limited to, phone calls (PSTN or VoIP calls), email, Vmail, video, chat, screen sharing, text messages, social media messages, WebRTC calls, etc. Access to and control of components of contact system 200 may be affected through user interfaces (UIs), which may be generated on customer device 205 and / or agent device 230. As previously mentioned, contact center system 200 may be operated as a hybrid system in which some or all components are hosted remotely, such as in a cloud-based or cloud computing environment. It should be understood that each of the devices of call center system 200 may be embodied as part of, include, or form part of one or more computing devices similar to computing device 100 described with reference to FIG. 1 .
[0067] Referring now to FIG. 3 , a predictive routing server 300 may operate as part of a contact center system (e.g., contact center system 200 of FIG. 2 ). As shown, the illustrative predictive routing server 300 includes a predictive scoring service 302, a model training service 304, an analytics server 306, and a relative gain service 308. Additionally, the illustrative predictive routing service 300 may include an intent data store 310, an agent class performance data store 312, a class value data store 314, and an agent value data store 316. It should be understood that each of the data stores 310, 312, 314, and 316 may be embodied as a database and / or other suitable data structure suitable for storing corresponding data. Furthermore, in some embodiments, one or more of the data stores 310, 312, 314, and 316 may be combined. In some embodiments, one or more of data stores 310, 312, 314, 316 and / or other data stores may store additional data related to defining interaction classes, relative gain analysis, and / or other functionality described herein. For example, in some embodiments, client attributes (e.g., client contract type, etc.), agent attributes (e.g., agent tenure within the contact center, etc.), interaction context (e.g., interaction arrival time to the contact center, etc.), and / or other data may be stored. Also, although predictive routing server 300 is described herein as being a separate device, it should be understood that predictive routing server 300 may, in other embodiments, form part of one or more other devices in contact center system 200 (or other system), such that, for example, the functionality of predictive routing server 300 described herein is performed by one or more other entities in contact center system 200 (or other system).
[0068] The predictive routing server 300 may be communicatively coupled to the routing server 218 of the contact center system 200 and may be configured to use historical and real-time data in conjunction with artificial intelligence to identify factors that influence customer-to-business interactions. These data may include, for example, preferred communication channels, past product purchases and service requests, and recent transaction activity. The predictive routing server 300 may combine this information with agent profiles and factors (e.g., agent skills, interaction history, and business outcome data) to predict ideal customer-agent matches. The predictive routing server 300 may include a core machine learning server that can perform several functions, as described herein.
[0069] The predictive routing server 300 may accept input of customer profile data, agent profile data, interaction data, and outcome data associated with the interaction data. Input may be obtained from the storage device 220, a configuration server, or other appropriate hardware for maintaining data. The predictive routing server 300 may be configured to perform batch processing on the historical data to perform several analytical processes, such as variance analysis and feature analysis. The variance analysis performed by the predictive routing server 300 may provide an analysis of how selected goal metrics may vary across different agent populations. The variance analysis may be generated for agent-to-agent variance, which may indicate how well individual agents perform, including identifying the best and weakest performing agents. The variance analysis may also be generated for agent variance, which may indicate the range of agent performance by category for designated groups of agents. Examples of agent groupings may include, for example, agent role and agent skill. The feature analysis performed by the predictive routing server 300 may be configured to generate predictors and models for the predictive routing server 300. In particular, the generated predictors and models enable contact center operators to determine the factors that most influence a selected target metric. Examples of factors that determine the influence on a selected target metric may include agent characteristics and behavior, customer characteristics, behavior, and other factors.
[0070] The predictive routing server 300 may be configured to train predictive models for use in real-time scoring. In other words, the generated predictive models may be used to determine the routing of incoming interactions to available agents. The predictive models used by the predictive routing server 300 can generate a real-time list of agents available to handle interactions (e.g., upon receipt of the interaction by the routing server 218), which are scored against the models. The interaction may then be routed to one of the available agents based on the model's scoring. Additionally, the predictive routing server 300 may store the predicted and actual outcomes of agent-customer interactions and generate reports and dashboards that track the model's performance against goal metrics.
[0071] The predictive scoring service 302 may be configured to receive trained models on the predictive routing server 300. The received, trained models may be available on the predictive scoring service 302 as a worker to perform scoring requests that may arrive from other systems in the contact center system 200. In some embodiments, the predictive routing server 300 may have multiple workers of the predictive scoring service 302 to score requests against some target metric. In some embodiments, a dedicated instance of the predictive scoring service 302 may be provided for each provided scoring service of the predictive routing server 300. It should be appreciated that the predictive scoring service 302 may rank contact center agents based on past performance, for example, based on one or more key performance indicators (KPIs) (i.e., measurable values of performance exceeding certain targets).
[0072] The model training service 304 may be configured as a dedicated service for analyzing received data and training models for the predictive routing server 300. The model training service 304 may be configured to train models by transforming historical data, generating new features, aggregating results, performing feature analysis, and training and testing regression and classification models. The model training service 304 may be configured to train models using machine learning algorithms. The machine learning algorithms deployed by the model training server 304 may vary depending on the particular embodiment. For example, in some embodiments, the model training service 304 may utilize one or more neural network algorithms, regression algorithms, instance-based algorithms, regularization algorithms, decision tree algorithms, Bayesian algorithms, clustering algorithms, association rule learning algorithms, deep learning algorithms, dimensionality reduction algorithms, rule-based algorithms, ensemble algorithms, artificial intelligence, and / or other suitable machine learning algorithms, artificial intelligence algorithms, techniques, and / or mechanisms.
[0073] The analytical service 306 may be configured to perform analyses on different datasets to guide the composition of usable datasets and objective metrics to help optimize the datasets consumed for model training. The analytical service 306 may perform aggregations on datasets as part of a scoring service worker. In one embodiment, the analytical service 306 may include dedicated processes for performing feature analysis, analysis of variance, simulation, lift estimation, and / or other analyses.
[0074] The relative gain service 308, as described in further detail below, can be configured to determine a relative gain for each contact center agent with respect to a particular interaction class. That is, for each contact center agent under evaluation, the relative gain service 308 can determine the relative optimization improvement of routing the interaction to that agent rather than other contact center agents based on, for example, the interaction class, the intent context, the agent's performance in handling interactions within the associated interaction class and / or with the associated intent context, a class value associated with the interaction class (e.g., the estimated cost or value of the interaction), an agent value associated with the particular agent (e.g., the agent's skill level or value / rate per unit), and / or other parameters. It should be understood that the relative gain service 308 can retrieve relevant data from the data stores 310, 312, 314, 316 to perform the relative gain analysis. As described below, the relative gain service 308 can re-rank the agent rankings provided by the predictive scoring service 302 (e.g., based solely on KPI-based optimization) to incorporate the relative gain of the agents. It should be appreciated that in some embodiments, the relative gain analysis is performed only when there is a surplus of interactions and / or when there is a significant likelihood that more complex interactions and / or interactions that would otherwise be better handled by higher-level agents are likely to arrive.
[0075] It should be understood that traditional routing optimization aims to rank agents for interactions according to their past performance on given key performance indicators (KPIs). This approach generally iteratively places the “best” (i.e., highest-performing) agents at the top of the rankings and attempts to route incoming interactions to the best agents first. This ensures optimization (minimization or maximization) of given KPIs relevant to the contact center. However, such an approach fails to consider other factors beyond KPI optimization, such as the potential gains / costs of assigning incoming interactions to agents. For example, an agent may be a top performer in some areas, but assigning such a high-performing agent to low-value and / or less complex interactions that can be handled similarly by average or even low-performing agents may not be the most efficient overall.
[0076] The increasing use of analytics in contact centers has stimulated the need to capture more interaction metadata, opening new doors for improving routing strategies based on interaction context, customer attributes, and agent attributes. Such information provides a means to classify or categorize interactions that have common characteristics. For example, a class of interaction may be defined for a group of clients who want to purchase something.
[0077] The techniques described herein allow for the idea of assigning a reserved agent that would traditionally be assigned to an interaction (e.g., based on KPI rank) when the agent's performance exceeds the requirements for successfully completing the interaction without abandoning overall KPI optimization. For example, in one embodiment, an interaction with an intent (interaction context) of “change password” may be handled by any available agent (e.g., even a newly hired agent with minimal training); therefore, the system may refrain from assigning such an interaction to a highly skilled or better-paid agent who may be reserved to handle other anticipated interactions that potentially yield higher returns. There may be an underlying assumption that by reserving an agent for a higher-value interaction, new “more complex” interactions will arrive at the contact center to be handled by the reserved agent. In various embodiments, the techniques described herein may leverage machine learning and / or statistical approaches during predictive routing optimization for contact center queues to implement relative gain features.
[0078] Incoming (inbound) interactions in a contact center may initially be handled by an interactive voice response (IVR) system, which extracts customer intent and defines the flow the interaction should follow based on the collected information. When an interaction needs to be routed to a contact center agent, an automatic call distribution (ACD) may perform the routing using various routing strategies. One of these routing strategies is known as predictive routing, which aims to route the interaction to an agent that helps optimize target KPIs selected by contact center management. Given an incoming interaction, predictive routing can use machine learning models to predict the KPI performance of each available agent and rank each agent according to a scoring function. The techniques described herein adjust the scoring function (or modify the final result) to weight the relative gains of assigning an agent to the interaction. To do so, in some embodiments, the system may, for example, compute and store tables containing statistics related to the complexity / value of each interaction class, periodically generate or update tables containing agent performance for each interaction class, periodically generate or update tables containing statistics for each interaction class, maintain tables containing measurable values (e.g., cost per unit time) associated with each agent, and update predicted routing scores for agents according to relative gain rules for each interaction class. Additionally, past performance may be calculated at the agent level for each interaction class based on interactions that have been successfully routed in the past and stored for consumption during future routing decisions.Data such as class values, agent values, and / or other values may be provided by contact center administrators, inferred based on context, determined from machine learning, and / or otherwise determined based on the particular implementation.
[0079] It should be understood that interactions that belong to the same group based on various criteria may be defined as an interaction class as described herein. For example, all interactions that have the same intent and / or other shared context information may be defined as a particular interaction class. As an example, in one embodiment, the system may define one interaction class as having an intent of “change password” with a “standard” client contract type, another interaction class as having an intent of “change password” with a “premium” client contract type, another interaction class as having a “sales-business” intent with a client tenure of “2 years” and the “28th” day of the month, and yet another interaction class as having a “tech support” intent with a related issue of “API error.” In other words, interaction classes are intended to group interactions that share commonalities. In some embodiments, interaction classes may be defined by a system administrator. However, in other embodiments, interaction classes may be inferred from historical data (e.g., using machine learning). In embodiments where interaction classes are not provided by a contact center system administrator, interaction classes may be inferred based on historical data, for example, using unsupervised machine learning techniques. For example, in some embodiments, the system may utilize a two-dimensional analysis (e.g., using agent rank variance and interaction average handle time variance) similar to that described below with reference to Figure 4. In other embodiments, other KPIs and / or parameters and / or different machine learning techniques may be used to define interaction classes.
[0080] 4, in use, a computing system (e.g., computing device 100, contact center system 200, predictive routing server 300, and / or other computing devices described herein) may perform a method 400 for defining interactions in terms of relative gain. It should be understood that certain blocks of method 400 are illustrated by way of example, and that such blocks may be combined or divided, added or removed, and / or reordered in whole or in part, depending on the particular embodiment, unless stated to the contrary.
[0081] The illustrative method 400 begins at block 402, where the system identifies a predicted interaction class. In other words, the system selects intent, contextual information, and / or other criteria for analysis as a potential interaction class, and more specifically, to determine whether the predicted interaction class meets predefined relative gain criteria, thereby qualifying the interaction class for relative gain analysis. It should be understood that the system may use any suitable technique and / or algorithm to identify or select a predicted interaction class for analysis. It should be further understood that an interaction class that qualifies for relative gain analysis is an interaction class for which it is appropriate to determine whether a KPI-based routing decision should be overridden because assigning a particular agent would not be beneficial (e.g., assigning a phone number update interaction to a top performer has a low gain and therefore a low relative gain).
[0082] At block 404, the system determines an average handle time (AHT) and an agent performance rank for each contact center agent for the identified predicted interaction class based on historical performance data. At block 406, the system determines an AHT variance metric from each contact center agent's average handle time for the identified predicted interaction class, and at block 408, the system determines an agent performance rank variance metric from each contact center agent's agent performance rank for the identified predicted interaction class. It should be understood that each of the AHT variance metric and the agent performance rank variance metric may be any metric suitable for describing the variability of the data and otherwise consistent with the functionality described herein. For example, in some embodiments, each of the AHT variance metric and the agent performance rank variance metric is a standard variance, while in other embodiments, each of the AHT variance metric and the agent performance rank variance metric is a coefficient of variation.
[0083] At block 410, the system determines whether one or more relative gain criteria are met. For example, in some embodiments, the relative gain criteria may include a requirement that the agent performance variance metric exceed a first predetermined threshold and the AHT variance metric be below a second predetermined threshold. For example, FIG. 5 shows an example graph plotting AHT variance and agent rank variance for each predicted interaction class, with AHT variance as the abscissa and agent rank variance as the ordinate. It should be understood that various results can be distinguished into four different types by quadrant. The first type of interaction class (Type 1) includes predicted interaction classes with high agent rank variance and low AHT variance. The second type of interaction class (Type 2) includes predicted interaction classes with high agent rank variance and high AHT variance. The third type of interaction class (Type 3) includes predicted interaction classes with low agent rank variance and low AHT variance. The fourth type of interaction class (Type 4) includes predicted interaction classes with low agent rank variance and high AHT variance. Type 1 interactions exhibit similar performance regardless of agent ability and expertise. Therefore, it should be understood that there may be relative gains from assigning Type 1 interactions to lower-ranked agents, making Type 1 interaction classes suitable candidates for relative gain analysis. Type 2 and Type 3 interactions represent general interaction classes and are similar in that high (low) agent range variance results in high (low) AHT variance, respectively. Therefore, relative gain analysis is not suitable for these types of interaction classes. Given that Type 4 interactions have high AHT variance despite low agent rank variance, this suggests the presence of external factors at work, and therefore, relative gain analysis is similarly not suitable for these types of interaction classes.While FIG. 5 plots AHT and agent rank with respect to their respective variances, it should be understood that similar characteristics may be reflected in graphs including coefficient of variation or another variance metric.
[0084] If, at block 412, the system determines that the criteria are met, method 400 proceeds to block 414, where the system defines the predicted interaction class as the interaction class for relative gain analysis, as described herein. If, at block 412, the system determines that one or more of the criteria are not met, method 400 proceeds to block 416. At block 416, the system determines whether to analyze another predicted interaction class. If so, method 400 returns to block 402, where the system identifies / selects another predicted interaction class as described above.
[0085] Although blocks 402-416 are described relatively serially, it should be understood that various blocks of method 400 may be performed in parallel in some embodiments. It should be understood that the system may define interaction classes differently (e.g., based on different criteria) in other embodiments. For example, the system may differently identify simple interactions that qualify as interaction classes for relative gain analysis.
[0086] 6, in use, a computing system (e.g., computing device 100, contact center system 200, predictive routing server 300, and / or other computing devices described herein) may perform a method 600 for leveraging relative gain in predictive routing of interactions to contact center agents. It should be understood that certain blocks of method 600 are illustrated by way of example, and that such blocks may be combined or divided, added or removed, and / or reordered in whole or in part, depending on the particular embodiment, unless stated to the contrary.
[0087] The illustrative method 600 begins at block 602, where the system determines whether to process the interaction. For example, the system may receive and / or otherwise identify (e.g., via a predictive routing server) an interaction to be routed to a contact center agent. If the interaction is to be processed, method 600 proceeds to block 604, where the system determines an interaction class associated with the interaction. At block 606, the system determines whether to apply relative gain to the predictive routing analysis based on the interaction class associated with the interaction. As described above, the system may include one or more predefined (e.g., administrator-defined and / or machine-learning-defined) interaction classes that are eligible / appropriate for relative gain analysis.
[0088] If the system determines to apply relative gains in block 606, method 600 proceeds to block 608, where the system determines a predictive routing score for each predictive contact center agent to which interactions may be routed based on each predictive contact center agent's past performance. As described herein, it should be understood that the system may utilize past performance data representing an agent's relative performance relative to other agents in a given interaction class over a period of time. In an illustrative embodiment, the predictive routing score is determined to optimize KPIs as described above.
[0089] At block 610, the system ranks the predicted contact center agents based on the predicted routing score. At block 612, the system determines a relative gain for each predicted contact center agent based on the interaction class (e.g., class value, etc.) of the interaction, the agent's agent class performance, and the agent's agent value. It should be understood that each interaction class may be associated with a class value predefined by the system (e.g., defined by an administrator), and each agent may be associated with an agent value predefined by the system (e.g., defined by an administrator). The class value may indicate the estimated value / cost of an interaction within a given interaction class. For example, in one implementation, a system administrator may define an interaction class covering calls to update an account's phone number to have a class value of $10 and an interaction class covering churn calls to have a class value of $1,000. Similarly, in one embodiment, a system administrator may define the value / cost of a less specialized agent to have an agent value of $10 per hour, and a more specialized agent to have an agent value of $20 per hour. It should be understood that units may vary depending on the particular embodiment and / or domain.
[0090] At block 614, the system re-ranks the predicted contact center agents based on the predicted routing scores and the relative gains for each agent. For example, in some embodiments, the initial rankings from the predicted routing scores (e.g., based on KPIs) may be adjusted to further consider the relative gains determined for each agent. It should be understood that the re-ranking algorithm may utilize any suitable weighting, thresholds, and / or other techniques to arrive at a re-ranking of the predicted agents that incorporates relative gains. Furthermore, while the illustrative embodiment describes incorporating agent relative gains as a post-processing step following the KPI-based predicted routing scores, it should be understood that agent relative gains may be incorporated into the initial predicted routing scores / rankings in other embodiments.
[0091] As shown in FIG. 7 , the exemplary embodiment shows five agents ranked according to their agent class performance (i.e., based on their initial predicted routing scores). More specifically, Agent 1 has an agent class performance score of 10 / 10, Agent 2 has an agent class performance score of 9 / 10, Agent 3 has an agent class performance score of 5 / 10, Agent 4 also has an agent class performance score of 5 / 10, and Agent 5 has an agent class performance score of 4 / 10. As shown, the agents are ranked according to their highest predicted routing scores. However, after incorporating relative gains and rerouting the agents, Agent 5 has the highest rank, followed by Agent 3, Agent 4, and Agent 2. In the exemplary embodiment, Agent 1, with the highest KPI-based score, is completely excluded from the re-ranking to ensure that he is reserved for more complex interactions.
[0092] 6 , in block 616, the system selects a contact center agent to route the interaction to based on the predicted contact center agent rankings, and in block 618, the system routes the interaction to the selected agent. It should be appreciated that in an illustrative embodiment, the system selects the contact center agent with the highest ranking after relative gains are incorporated into the analysis.
[0093] Although blocks 602-618 are described relatively serially, it should be understood that various blocks of method 600 may, in some embodiments, be performed in parallel.
Claims
1. 1. A method for leveraging relative gain in predictive routing of interactions to contact center agents, the method comprising: Identifying an interaction to be routed to a contact center agent; determining a predictive routing score for each predictive contact center agent of a plurality of predictive contact center agents to which the interaction may be routed based on the past performance of each predictive contact center agent; Identifying a predicted interaction class; determining an average handle time and an agent performance rank for each contact center agent for the identified predicted interaction class based on each contact center agent's historical performance data; determining whether a relative gain criterion is met based on the average handle time and the agent performance rank of each contact center agent for the identified predicted interaction class; responsive to determining that the relative gain criteria is met, defining the predicted interaction class as an interaction class for relative gain analysis; determining the interaction class of the interaction in response to identifying the interaction to be routed to the contact center agent; determining a relative gain for each predictive contact center agent based on the interaction class of the interaction, the agent class performance of the predictive contact center agent, and the agent value of the predictive contact center agent, the relative gain for each predictive contact center agent indicating a relative optimization improvement in routing of the interaction to the respective contact center agent compared to another predictive contact center agent; ranking the predicted contact center agents based on the predicted routing score associated with each predicted contact center agent and the associated relative gain; selecting the contact center agent from the predicted contact center agents based on the ranking of the predicted contact center agents; and routing the interaction to the selected contact center agent.
2. The method of claim 1 , wherein the past performance of each prospective contact center agent is associated with the respective prospective contact center agent's past performance with handling interactions of the interaction class.
3. ranking the predictive contact center agents based on the predictive routing score associated with each predictive contact center agent to determine a first agent ranking; ranking the predicted contact center agents based on the predicted routing scores and the associated relative gains associated with each predicted contact center agent includes re-ranking the first agent rankings based on the relative gains associated with each predicted contact center agent to determine second agent rankings; 2. The method of claim 1, wherein selecting the contact center agent from the predicted contact center agents based on the ranking comprises selecting the contact center agent from the predicted contact center agents based on the second agent ranking.
4. 10. The method of claim 1, wherein determining the relative gain for each predicted contact center agent based on the interaction class of the interaction comprises determining the relative gain for each predicted contact center agent based on a class value associated with the interaction class.
5. (delete)
6. The method of claim 1 , wherein the interaction class is selected from a plurality of interaction classes predefined by an administrator.
7. The method of claim 1 , wherein the interaction class is selected from a plurality of interaction classes defined by machine learning.
8. (delete)
9. Determining whether the relative gain criterion is met includes: determining an agent performance rank distribution metric from the agent performance ranks of each contact center agent for the identified predicted interaction classes; and determining a mean handle time variance metric from the mean handle times of each contact center agent for the identified predicted interaction classes.
10. 10. The method of claim 9, wherein the relative gain criterion is satisfied in response to determining that the agent performance rank variance metric exceeds a first threshold and the average handling time variance metric is less than a second threshold.
11. The method of claim 9 , wherein each of the agent performance variance metric and the average handle time variance metric is a coefficient of variation.
12. 1. A system for leveraging relative gain in predictive routing of interactions to contact center agents, the system comprising: at least one processor; and at least one memory containing a plurality of instructions stored therein, said plurality of instructions, in response to execution by said at least one processor, causing said system to: Identifying interactions to be routed to contact center agents; determining a predictive routing score for each predictive contact center agent of a plurality of predictive contact center agents to which the interaction may be routed based on the past performance of each predictive contact center agent; Identify predicted interaction classes, determining an average handle time and an agent performance rank for each contact center agent for the identified predicted interaction class based on historical performance data for each contact center agent; determining whether a relative gain criterion is met based on the average handle time and the agent performance rank of each contact center agent for the identified predicted interaction class; in response to determining that the relative gain criterion is met, defining the predicted interaction class as an interaction class for relative gain analysis; determining the interaction class of the interaction in response to identifying the interaction to be routed to the contact center agent; determining a relative gain for each predictive contact center agent based on the interaction class of the interaction, the agent class performance of the predictive contact center agent, and the agent value of the predictive contact center agent, the relative gain for each contact center agent indicating a relative optimization improvement in routing of the interaction to the respective contact center agent compared to another of the predictive contact center agents; ranking the predicted contact center agents based on the predicted routing score associated with each predicted contact center agent and the associated relative gain; selecting the contact center agent from the predicted contact center agents based on the ranking of the predicted contact center agents; The system routes the interaction to the selected contact center agent.
13. The system of claim 12 , wherein the past performance of each prospective contact center agent is associated with the respective prospective contact center agent's past performance with handling interactions of the interaction class.
14. The instructions further cause the system to rank the predicted contact center agents based on the predicted routing score associated with each predicted contact center agent to determine a first agent ranking; ranking the predicted contact center agents based on the predicted routing scores and the associated relative gains associated with each predicted contact center agent includes re-ranking the first agent rankings based on the relative gains associated with each predicted contact center agent to determine second agent rankings; 13. The system of claim 12, wherein selecting the contact center agent from the predicted contact center agents based on the ranking comprises selecting the contact center agent from the predicted contact center agents based on the second agent ranking.
15. 13. The system of claim 12, wherein determining the relative gain for each predicted contact center agent based on the interaction class of the interaction comprises determining the relative gain for each predicted contact center agent based on a class value associated with the interaction class.
16. (delete)
17. The system of claim 12 , wherein the interaction class is selected from a plurality of interaction classes predefined by an administrator.
18. (delete)
19. determining whether the relative gain criterion is satisfied includes: determining an agent performance rank distribution metric from the agent performance ranks of each contact center agent for the identified predicted interaction class; 13. The system of claim 12, further comprising determining a mean handle time variance metric from the mean handle times of each contact center agent for the identified predicted interaction classes.
20. 20. The system of claim 19, wherein the relative gain criterion is satisfied in response to determining that the agent performance rank variance metric exceeds a first threshold and the average processing time variance metric is less than a second threshold.