System and method for predicting relative gain in routing

By identifying interactive classes in the contact center system and using machine learning to determine the relative gain of the agent and adjusting the routing order, the problem of insufficient optimization of resource allocation in the existing technology is solved, and more efficient resource utilization and customer experience improvement is achieved.

CN120419157APending Publication Date: 2025-08-01GENESIS CLOUD SERVICES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380085797.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-19
Filing Date
2023-08-04
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

When routing interactions to agents, the existing contact center systems only sort based on the agent's historical performance and key performance indicators (KPIs), failing to fully consider the type of interaction and the relative gain of agents, resulting in insufficient optimization of resource allocation.

Method used

By identifying interactive classes, using machine learning and historical data to determine the relative gain of each agent, combining the value of the interactive class and the value of the agent, adjusting the routing order to optimize resource allocation.

Benefits of technology

Improve the overall efficiency and customer experience of the contact center, and through reasonable allocation of interactions to appropriate agents, the dependence on high-skilled agents is reduced and resource utilization is optimized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120419157A_ABST
    Figure CN120419157A_ABST
Patent Text Reader

Abstract

A method of routing an interaction to a contact center seat according to one embodiment includes identifying an interaction to be routed to a contact center seat; determining a predicted routing score for each intended contact center agent based on a historical representation of each intended contact center agent to which the interaction can be routed; determining a relative gain for each expected seat based on an interaction class of the interaction, a seat class performance for each expected seat, and a seat value for the expected seat, wherein the relative gain for a respective seat indicates a relative optimization improvement of routing the interaction to the respective seat relative to another one of the expected seats; ranking each of the anticipated seats based on the associated predicted routing score and the associated relative gain for the anticipated seats; and routing the interaction to the selected agent based on the ranking of the expected agents.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - Reference to Related Applications

[0002] This application claims the priority and benefit of U.S. Provisional Application No. 63 / 433,538, filed on December 19, 2022, entitled "Systems and Methods Relating to Estimating Relative Gain in Target Metrics of Contact Centers", the entire content of which is incorporated herein by reference. Background Art

[0003] 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 live agents and / or virtual agents of the contact center by establishing electronic communications via one or more communication technologies, including, for example, telephone, email, web chat, Short Message Service (SMS), dedicated software applications, and / or other technologies. A contact center can have a large number of agents to effectively respond to end - user inquiries, and thus the contact center uses some mechanism to route communications or interactions to the appropriate agent. Summary of the Invention

[0004] One embodiment relates to unique systems, components, and methods for leveraging relative gain in predictive routing of interactions to contact center agents. Other embodiments relate to devices, systems, apparatuses, hardware, methods, and combinations thereof for leveraging relative gain in predictive routing of interactions to contact center agents.

[0005] According to one embodiment, a method for leveraging relative gain in predictive routing of interactions to a contact center agent may include: identifying an interaction to be routed to a contact center agent; determining a predictive routing score for each of a plurality of expected contact center agents to which the interaction can be routed based on the historical performance of each of the expected contact center agents; determining the relative gain of the expected contact center agent based on the interaction class of the interaction, the agent class performance of each expected contact center agent, and the agent value of the expected contact center agent, wherein the relative gain of the corresponding contact center agent indicates a relative optimization improvement in routing the interaction to the corresponding contact center agent as compared to another of the expected contact center agents; ranking the expected contact center agents based on the associated predictive routing scores and the associated relative gains of each of the expected contact center agents; selecting a contact center agent from among the expected contact center agents based on the ranking of the expected contact center agents; and routing the interaction to the selected contact center agent.

[0006] In some embodiments, the historical performance of each prospective contact center agent can be associated with the historical performance of that corresponding prospective contact center agent in handling interactions of that interaction class.

[0007] In some embodiments, the method may further include: ranking the prospective contact center agents based on the associated predicted routing scores of each prospective contact center agent to determine a first agent ranking, and ranking the prospective contact center agents based on the associated predicted routing scores and associated relative gains of each prospective contact center agent may include re - ranking the first agent ranking based on the associated relative gains of each prospective contact center agent to determine a second agent ranking, and selecting the contact center agent among the prospective contact center agents based on the ranking may include selecting the contact center agent among the prospective contact center agents based on the second agent ranking.

[0008] In some embodiments, determining the relative gain of each prospective contact center agent based on the interaction class of the interaction may include determining the relative gain of each prospective contact center agent based on a class value associated with the interaction class.

[0009] In some embodiments, the method may further include determining the interaction class of the interaction in response to identifying the interaction to be routed to the contact center agent.

[0010] In some embodiments, the interaction class may be selected from a plurality of interaction classes predefined by an administrator.

[0011] In some embodiments, the plurality of interaction classes may be defined by machine learning.

[0012] In some embodiments, the method may further include: identifying a prospective interaction class; determining an average handling time and an agent performance ranking for each contact center agent for the identified prospective interaction class based on historical performance data of each contact center agent; determining whether a relative gain criterion is met based on the average handling time and the agent performance ranking of each contact center agent for the identified prospective interaction class; and defining the prospective interaction class as an interaction class for relative gain analysis in response to determining that the relative gain criterion is met.

[0013] In some embodiments, determining whether the relative gain criterion is met may include: determining a variance metric of the agent performance ranking according to the agent performance ranking of each contact center agent for the identified prospective interaction class; and determining a variance metric of the average handling time according to the average handling time of each contact center agent for the identified prospective interaction class.

[0014] In some embodiments, the relative gain criterion may be satisfied in response to determining that the agent performance ranking variance metric exceeds a first threshold and the average handle time variance metric is less than a second threshold.

[0015] In some embodiments, each of the agent performance variance metric and the average handle time variance metric may be a coefficient of variation.

[0016] According to another embodiment, a system for utilizing relative gain in predictive routing of interactions to contact center agents may include at least one processor and at least one memory including a plurality of instructions stored therein, the plurality of instructions, when executed by the at least one processor, cause the system to: identify an interaction to be routed to a contact center agent; determine a predictive routing score for each of a plurality of expected contact center agents to which the interaction can be routed based on the historical performance of each of the plurality of expected contact center agents; determine the relative gain of the expected contact center agent based on the interaction class of the interaction, the agent class performance of each expected contact center agent, and the agent value of the expected contact center agent, wherein the relative gain of the corresponding contact center agent indicates a relative optimization improvement of routing the interaction to the corresponding contact center agent relative to another of the expected contact center agents; rank the expected contact center agents based on the associated predictive routing score and the associated relative gain of each expected contact center agent; select a contact center agent among the expected contact center agents based on the ranking of the expected contact center agents; and route the interaction to the selected contact center agent.

[0017] In some embodiments, the historical performance of each expected contact center agent may be associated with the historical performance of the corresponding expected contact center agent handling interactions of the interaction class.

[0018] In some embodiments, the plurality of instructions may further cause the system to: rank the expected contact center agents based on the associated predictive routing score of each expected contact center agent to determine a first agent ranking, ranking the expected contact center agents based on the associated predictive routing score and the associated relative gain of each expected contact center agent may include re - ranking the first agent ranking based on the associated relative gain of each expected contact center agent to determine a second agent ranking, and selecting the contact center agent among the expected contact center agents based on the ranking may include selecting the contact center agent among the expected contact center agents based on the second agent ranking.

[0019] In some embodiments, determining the relative gain for each expected contact center agent based on the interaction class of the interaction may include determining the relative gain for each expected contact center agent based on the class value associated with the interaction class.

[0020] In some embodiments, the plurality of instructions may further cause the system to determine the interaction class of the interaction in response to identifying the interaction to be routed to the contact center agent.

[0021] In some embodiments, the interaction class may be selected from a plurality of interaction classes predefined by an administrator.

[0022] In some embodiments, the plurality of instructions may further cause the system to: identify an expected interaction class; determine an average processing time and an agent performance ranking for each contact center agent for the identified expected interaction class based on historical performance data of each contact center agent; determine whether a relative gain criterion is met based on the average processing time and the agent performance ranking for each contact center agent for the identified expected interaction class; and define the identified expected interaction class as the interaction class for relative gain analysis in response to determining that the relative gain criterion is met.

[0023] In some embodiments, determining whether the relative gain criterion is met may include: determining a variance metric of the agent performance ranking according to the agent performance ranking for each contact center agent for the identified expected interaction class; and determining a variance metric of the average processing time according to the average processing time for each contact center agent for the identified expected interaction class.

[0024] In some embodiments, the relative gain criterion may be met in response to determining that the variance metric of the agent performance ranking exceeds a first threshold and the variance metric of the average processing time is less than a second threshold.

[0025] The present disclosure 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. Other embodiments, forms, features, and aspects of the present application will become apparent from the description and drawings provided herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The concepts described herein are illustrated by way of example and not by way of limitation in the figures. For simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale. Where considered appropriate, reference numerals have been repeated in the figures to indicate corresponding or analogous elements.

[0027] Figure 1 is a simplified block diagram of at least one embodiment of a computing device;

[0028] Figure 2is a simplified block diagram of at least one implementation of a contact center system and / or a communication infrastructure;

[0029] Figure 3 is a simplified block diagram of at least one implementation of a predictive routing server;

[0030] Figure 4 is a simplified block diagram of at least one implementation of a method for defining interaction classes for relative gain;

[0031] Figure 5 is an exemplary diagram of an expected interaction class;

[0032] Figure 6 is a simplified block diagram of at least one implementation of a method for utilizing relative gain in predictive routing of interactions to a contact center agent; and

[0033] Figure 7 is a simplified diagram showing an exemplary reordering of a contact center agent based on relative gain. Detailed Description

[0034] Although the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific implementations have been shown by way of example in the drawings and will be described in detail herein. However, it should be understood that the intention is not to limit the concepts of the present disclosure to the specific forms disclosed, but rather to cover all modifications, equivalents, and alternatives consistent with the present disclosure and the appended claims.

[0035] References in the specification to "one implementation", "an implementation", "an exemplary implementation", etc., indicate that the described implementation may include a particular feature, structure, or characteristic, but each implementation may or may not necessarily include that particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same implementation. It should also be understood that although reference to "preferred" components or features may indicate the desirability of a particular component or feature with respect to an implementation, the present disclosure is not thereby limited with respect to other implementations in which such component or feature may be omitted. Additionally, when a particular feature, structure, or characteristic is described in connection with an implementation, it is considered within the knowledge of one of ordinary skill in the art to implement such feature, structure, or characteristic in connection with other implementations, whether or not explicitly described. Further, in various implementations, particular features, structures, or characteristics may be combined in any suitable combination and / or sub - combination.

[0036] In addition, it should be understood that items included in a list in the form of "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 of "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 claims, the use of words and phrases such as "a", "an", "at least one", and / or "at least a portion" should not be construed as limiting to only one such element unless specifically stated to the contrary, and the use of phrases such as "at least a portion" and / or "a portion" should be construed to cover both embodiments that include only a portion of such element and embodiments that include the entire such element unless specifically stated to the contrary.

[0037] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored on one or more transient or non-transient 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 embody any storage device, mechanism, or other physical structure for storing or transmitting information in a machine-readable form (e.g., volatile or non-volatile memory, magnetic disk, or other media device).

[0038] In the drawings, some structural or method features may be shown in a particular arrangement and / or ordering. However, it should be understood that such particular arrangements and / or orderings may not be required. Instead, in some embodiments, unless otherwise indicated, such features may be arranged in a different manner and / or order than shown in the illustrative figures. 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, such feature may not be included or may be combined with other features.

[0039] Now referring to Figure 1 , a simplified block diagram of at least one embodiment of a computing device 100 is shown. The exemplary computing device 100 depicts at least one embodiment of each of the computing devices, systems, servers, controllers, switches, gateways, engines, modules, and / or computing components described herein (e.g., for simplicity of description, they may be collectively and interchangeably referred to as computing devices, servers, or modules). For example, a server may be a process or thread running on one or more processors of one or more computing devices 100 that can execute computer program instructions and interact with other system modules to perform the various functions described herein.

[0040] Unless otherwise explicitly restricted, the functions described with respect to multiple computing devices may be integrated into a single computing device, or the various functions described with respect to a single computing device may be distributed across a number of computing devices. Additionally, with respect to the computing systems described herein (such as Figure 2 the contact center system 200), the various servers and their computing devices may be located on a local computing device 100 (e.g., in the same physical location as an agent of the contact center on-site), on a remote computing device 100 (e.g., off-site or in a cloud-based or cloud computing environment, e.g., in a remote data center connected via a network), or some combination thereof. In some embodiments, the functions provided by a server on a computing device located off-site may be accessed and provided via a virtual private network (VPN) as if such a server were on-site, or software as a service (SaaS) (accessed via the Internet using various protocols) may be used to provide the functions, such as by exchanging data via extensible markup language (XML) and JSON, and / or the function may be accessed / utilized in other ways.

[0041] As shown in the illustrated example, the computing device 100 may include a central processing unit (CPU) or processor 105 and a main memory 110. The 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, the I / O device 135 may include a display device 135A, a keyboard 135B, and / or a pointing device 135C. The computing device 100 may also 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 that communicates with the processor 105.

[0042] The processor 105 may be any logic circuit that responds to and processes instructions fetched from the main memory 110. For example, the processor 105 may be implemented by an integrated circuit (e.g., a microprocessor, a microcontroller, or a graphics processing unit) or implemented in a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). As shown, the processor 105 may communicate directly with the cache memory 150 via an auxiliary bus or a backside bus. It should be understood that the cache memory 150 generally has a faster response time than the main memory 110. The main memory 110 may be one or more memory chips capable of storing data and allowing the processor 105 to directly access the stored data. The storage device 115 may provide storage for an operating system that controls scheduling tasks and controls access to system resources and other software. Unless otherwise restricted, the computing device 100 may include an operating system and software capable of performing the functions described herein.

[0043] As depicted in the illustrated example, computing device 100 may include various I / O devices 135, one or more of which may be connected via I / O controller 130. Input devices may include, for example, keyboard 135B and pointing device 135C (e.g., mouse or stylus). Output devices may include, for example, video display devices, speakers, and printers. I / O devices 135 and / or I / O controller 130 may include suitable hardware and / or software for enabling multiple display devices. Computing device 100 may also support one or more removable media interfaces 120, such as disk drives, USB ports, or any other device suitable for reading data from or writing data to a computer-readable medium. More generally, I / O devices 135 may include any conventional devices for performing the functions described herein.

[0044] Computing device 100 may be any workstation, desktop computer, laptop or notebook computer, server machine, virtualized machine, mobile or smart phone, portable telecommunications device, media playing device, gaming system, mobile computing device, or any other type of computing, telecommunications, or media device capable of (but not limited to) performing the operations described herein. Although described in the singular for clarity and brevity, computing device 100 may include multiple devices connected by or via a network to other systems and resources. 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, a 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., where appropriate communication protocols are used to establish connections. More generally, it should be understood that, unless otherwise restricted, computing device 100 may communicate with other computing devices 100 via any type of network using any suitable communication protocol. Additionally, the network may be a virtual network environment where various network components are virtualized. For example, various machines may be virtual machines that are implemented as software-based computers running on a physical machine, or “hypervisor”-type virtualization may be used where multiple virtual machines run on the same host physical machine. Other types of virtualization may be employed in other embodiments.

[0045] Now refer to Figure 2, which shows a simplified block diagram of at least one embodiment of a communication infrastructure and / or content centric system that can be used in conjunction with one or more embodiments described herein. The contact center system 200 can be embodied as any system capable of providing contact center services (e.g., call center services, chat center services, SMS center services, etc.) to end users and otherwise performing the functions described herein. Exemplary contact center system 200 includes customer device 205, network 210, switch / media gateway 212, call controller 214, interactive media response (IMR) server 216, routing server 218, storage device 220, statistics server 226, agent device 230A, agent device 230B, agent device 230C, media server 234, knowledge management server 236, knowledge system 238, chat server 240, web server 242, interaction (iXn) server 244, general contact server 246, reporting server 248, media services server 249, and analysis module 250. Although only 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 general contact server 246, one reporting server 248, one media services server 249, and one analysis module 250 are shown in the Figure 2 exemplary embodiment of

[0046] It should be understood that the term "contact center system" is used herein to refer to Figure 2The systems and / or their components depicted, while the term "contact center" is more generally used to refer to contact center systems, the customer service providers operating those systems, and / or the organizations or enterprises associated therewith. Thus, unless otherwise explicitly restricted, the term "contact center" generally refers to a contact center system (such as contact center system 200), the associated customer service provider (such as a particular customer service provider providing customer service via contact center system 200), and the organization or enterprise on whose behalf those customer services are provided.

[0047] As for the back end, the customer service provider can provide various types of services through the contact center. Such contact centers can be staffed with employees or customer service agents (or simply "agents"), where the agents act as intermediaries between a company, enterprise, government agency, or organization (hereinafter interchangeably referred to as "organization" or "enterprise") and an individual such as a user, individual, or customer (hereinafter interchangeably referred to as "individual" or "customer"). For example, an agent at the contact center can assist a customer in making a purchase decision, receiving an order, or resolving issues with a received product or service. Within the contact center, such interactions between the contact center agent and an external entity or customer can occur over various communication channels, such as, for example, via voice (e.g., a telephone call or an Internet Protocol voice or VoIP call), video (e.g., a video conference), text (e.g., an email and a text chat), screen sharing, co-browsing, and / or other communication channels.

[0048] Operationally, contact centers generally strive to provide high-quality service to customers while minimizing costs. For example, one way contact centers operate is by handling each customer's interaction with a live agent. While this approach may score well in terms of service quality, it can also be very expensive due to the high cost of agent labor. Accordingly, most contact centers utilize some degree of automated processes to replace live agents, such as, for example, interactive voice response (IVR) systems, interactive media response (IMR) systems, Internet bots or "bots," automated chat modules or "chatbots," and / or other automated processes. In many cases, this has proven to be a successful strategy because automated processes can handle certain types of interactions very efficiently and effectively reduce the need for live agents. Such automation allows contact centers to use human agents for more difficult customer interactions while the automated processes handle more repetitive or routine tasks. Additionally, automated processes can be built in a way that optimizes efficiency and promotes repeatability. While a human agent or live agent may forget to ask certain questions or follow up on specific details, such errors can generally be avoided by using automated processes. While customer service providers are increasingly relying on automated processes to interact with customers, the use of such technology by customers remains much less. Accordingly, while IVR systems, IMR systems, and / or bots are used to automate portions of the interaction on the contact center side of the interaction, the actions on the customer side are still performed manually by the customer.

[0049] It should be understood that a customer service provider may use the contact center system 200 to provide various types of services to customers. For example, the contact center system 200 can be used to participate in and manage interactions where an automated process (or bot) or a human agent communicates with a customer. It should be understood that the contact center system 200 can be an in-house facility for a company or enterprise for performing sales and customer service functions with respect to 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. Additionally, the contact center system 200 can be deployed on equipment dedicated to an enterprise or a third-party service provider and / or deployed in a remote computing environment, such as, for example, a private or public cloud environment having an infrastructure for supporting multiple contact centers for multiple enterprises. The contact center system 200 can include software applications or programs that can be executed on-site or remotely or some combination thereof. It should also be understood that the various components of the contact center system 200 can be distributed across various geographical locations and not necessarily contained in a single location or computing environment.

[0050] It should also be understood that, unless otherwise explicitly restricted, any of the computing elements of the technologies described herein can also be implemented in a cloud-based or cloud computing environment. As used herein and further described with reference to computing device 100, "cloud computing" (or simply "the 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 devices, applications, and services), which can be rapidly provisioned via virtualization and released with minimal management effort or service provider interaction, and then scaled accordingly. Cloud computing can consist of various characteristics (e.g., on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, 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, hybrid cloud, etc.). The cloud execution model is often referred to as "serverless architecture", which generally includes a service provider that dynamically manages the allocation and configuration of remote servers to achieve the desired functionality.

[0051] It should be understood that, relative to Figure 2 any of the computer-implemented components, modules, or servers described can be implemented via one or more types of computing devices (such as, for example Figure 1 computing device 100). As will be seen, the contact center system 200 generally manages resources (e.g., personnel, computers, telecommunications equipment, etc.) to enable the delivery of services via telephone, email, chat, or other communication mechanisms. Such services can vary depending on the type of contact center and can include, for example, customer service, help desk functions, emergency response, telemarketing, taking orders, and / or other features.

[0052] A customer desiring to receive services from the contact center system 200 can initiate an inbound communication (e.g., a phone call, email, chat, etc.) to the contact center system 200 via a customer device 205. Although Figure 2 one such customer device (i.e., customer device 205) is shown, it should be understood that any number of customer devices 205 can exist. The customer device 205 can be, for example, a communication device such as a phone, smartphone, computer, tablet, or laptop. According to the functions described herein, a customer can generally use the customer device 205 to initiate, manage, and conduct communications with the contact center system 200, such as phone calls, emails, chats, text messages, web browsing sessions, and other multimedia transactions.

[0053] Inbound and outbound communications to and from the customer device 205 may traverse the network 210, where the nature of the network generally depends on the type of customer device used and the form of communication. For example, the network 210 may include communication networks for telephone, cellular, and / or data services. The 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, the network 210 may include a wireless carrier network, which includes a code division multiple access (CDMA) network, a global system for mobile communications (GSM) network, or any other wireless network / technology conventional in the art, including but not limited to 3G, 4G, LTE, 5G, etc.

[0054] The switch / media gateway 212 may be coupled to the network 210 for receiving and transmitting telephone calls between the customer and the contact center system 200. The switch / media gateway 212 may include a telephone or communication switch that is configured to act as a central switch for agent-level routing within the center. The switch may be a hardware switching system or 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 with dedicated hardware and software that is configured to receive interactions from the customer from an Internet source and / or a telephone network source and route those interactions to, for example, one of the agent devices 230. Thus, generally speaking, the switch / media gateway 212 establishes a voice connection between the customer and the agent by establishing a connection between the customer device 205 and the agent device 230.

[0055] As further shown, the switch / media gateway 212 may be coupled to the call controller 214, which acts as an adapter or interface, for example, between the switch and other routing, monitoring, and communication processing components of the contact center system 200. The 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 telephony 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 telephone number, IP address, or email address, and then communicate this data with other contact center components when processing the interaction.

[0056] The Interactive Media Response (IMR) server 216 can be configured to enable self-service or virtual assistant capabilities. 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 showing voice, the IMR server 216 can be configured with an IMR script to ask customers about their needs. For example, a contact center of a bank can instruct customers via an IMR script to "press 1" if they wish to retrieve their account balance. By continuing to interact with the IMR server 216, customers can receive services without speaking to an agent. The IMR server 216 can also be configured to determine the reason a customer contacted the contact center so that the communication can be routed to the appropriate resource. The IMR configuration can be performed by using self-service and / or assisted service tools, which include web-based tools (e.g., Designer) for developing IVR applications and routing applications that run in a contact center environment.

[0057] The routing server 218 can be used to route incoming interactions. For example, once it is determined that an inbound communication should be handled by a human agent, the functionality within the routing server 218 can select the most appropriate agent and route the communication to that agent. This agent selection can be based on which available agent is best suited to handle the communication. More specifically, the selection of the appropriate agent can be based on a routing policy or algorithm implemented by the routing server 218. In doing so, the routing server 218 can query data related to the incoming interaction, such as data related to a particular customer, available agents, and interaction type, which, as described herein, can be stored in a particular database. Once an agent is selected, the routing server 218 can interact with the call controller 214 to route (i.e., connect) the incoming interaction to the corresponding agent device 230. As part of this connection, information about the customer can be provided to the selected agent via their agent device 230. This information is intended to enhance the service that the agent can provide to the customer.

[0058] It should be understood that the contact center system 200 may include one or more mass storage devices (generally represented by storage device 220) for storing data in one or more databases related to the functions of the contact center. For example, the storage device 220 may store customer data held in a customer database. Such customer data may include, for example, customer profiles, contact information, service level agreements (SLAs), and interaction histories (e.g., details of previous interactions with a particular customer, including the nature of the previous interactions, disposition data, wait times, handle times, and actions taken by the contact center to resolve the customer's issue). As another example, the storage device 220 may store agent data in an agent database. Agent data held by the contact center system 200 may include, for example, agent availability and agent profiles, schedules, skills, handle times, and / or other relevant data. As yet another example, the storage device 220 may store interaction data in an interaction database. Interaction data may include, for example, data related to many past interactions between the customer and the contact center. More generally, it should be understood that, unless otherwise specified, the storage device 220 may be configured to include databases and / or store data related to any type of information described herein, where such databases and / or data can be accessed by other modules or servers of the contact center system 200 in a manner that facilitates the functions described herein. For example, servers or modules of the contact center system 200 may query such databases to retrieve data stored therein or transmit data thereto for storage. For example, the storage device 220 may take the form of any conventional storage medium and may be installed locally or operated from a remote location. For example, the database may be a Cassandra database, a NoSQL database, or an SQL database and is managed by a database management system (such as Oracle, IBM DB2, Microsoft SQL Server, Microsoft Access, PostgreSQL).

[0059] The statistics server 226 may be configured to record and summarize data related to the performance and operational aspects of the contact center system 200. Such information may be compiled by the statistics server 226 and made available to other servers and modules such as the reporting server 248, which may then use the data to generate reports that are used to manage the operational aspects of the contact center and perform automated actions in accordance with the functions described herein. Such data may relate to the status of contact center resources, e.g., average wait time, abandonment rate, agent occupancy rate, and other data required for the functions described herein.

[0060] The agent device 230 of the contact center system 200 can be a communication device configured to interact with various components and modules of the contact center system 200 in a manner that facilitates the functions described herein. For example, the agent device 230 can include a telephone suitable for conventional telephone calls or VoIP calls. The agent device 230 can also include a computing device configured to communicate with the server of the contact center system 200 according to the functions described herein, perform data processing associated with operations, and interact with customers via voice, chat, email, and other multimedia communication mechanisms. Although Figure 2 three such agent devices 230 (i.e., agent device 230A, agent device 230B, and agent device 230C) are shown, it should be understood that any number of agent devices 230 can be present in a particular embodiment.

[0061] The multimedia / social media server 234 can be configured to facilitate media interactions (excluding voice) with the customer device 205 and / or the server 242. Such media interactions can be related to, for example, email, voicemail, chat, video, text messaging, the web, social media, co-browsing, etc. The multimedia / social media server 234 can take the form of any IP router in the art that has dedicated hardware and software for receiving, processing, and forwarding multimedia events and communications.

[0062] The knowledge management server 236 can be configured to facilitate the interaction between the customer and the knowledge system 238. Generally speaking, the knowledge system 238 can be a computer system capable of receiving questions or queries and providing answers in response. The knowledge system 238 can be included as part of the contact center system 200 or remotely operated by a third party. The knowledge system 238 can include an artificial intelligence computer system capable of answering questions posed in natural language by retrieving information from information sources such as encyclopedias, dictionaries, newswire articles, literary works, or other documents submitted to the knowledge system 238 as reference materials. For example, the knowledge system 238 can be embodied as IBM Watson or a similar system.

[0063] The chat server 240 can be configured to conduct, orchestrate, and manage electronic chat communications with customers. Generally speaking, the chat server 240 is configured to implement and maintain chat sessions and generate chat transcripts. Such chat communications can be conducted by the chat server 240 in a manner where the customer communicates with an automated chatbot, a human agent, or both. In an exemplary embodiment, the chat server 240 can be used as a chat orchestration server that schedules chat sessions between chatbots and available human agents. In such cases, the processing logic of the chat server 240 can be rule-driven to enable intelligent workload distribution among available chat resources. The chat server 240 can also implement, manage, and facilitate user interfaces (UIs) associated with chat features, including those generated at the customer device 205 or agent device 230. The chat server 240 can be configured to transfer chat within a single chat session with a particular customer between automated and human resources, such that, for example, a chat session is transferred from a chatbot to a human agent or from a human agent to a chatbot. The chat server 240 can also be coupled to a knowledge management server 236 and a knowledge system 238 for receiving suggestions and answers to queries posed by the customer during the chat, such that, for example, links to relevant articles can be provided.

[0064] A web server 242 may be included to provide site hosting to various social interaction sites (such as Facebook, Twitter, Instagram, etc.) subscribed by customers. Although depicted as part of the contact center system 200, it should be understood that the web server 242 may be provided and / or remotely maintained by a third party. The web server 242 may also provide web pages for an enterprise or organization supported by the contact center system 200. For example, a customer may browse the web page and receive information about the products and services of a specific enterprise. Within such an enterprise web page, mechanisms may be provided for initiating an interaction with the contact center system 200, for example, via web chat, voice, or email. An example of such a mechanism is a desktop applet that may be deployed on a web page or website hosted on the web server 242. As used herein, a desktop applet refers to a user interface component that performs a specific function. In some specific implementations, the desktop applet may include a graphical user interface control that may overlay a web page displayed to a customer via the Internet. The desktop applet may display information, for example, in a window or text box, or include buttons or other controls that allow a customer to access certain functions such as sharing or opening files or initiating communication. In some specific implementations, the desktop applet includes a user interface component having a portable portion of code that may be installed and executed within a separate web page without compilation. Some desktop applets may include corresponding or additional user interfaces and may be configured to access various local resources (such as calendar or contact information on a customer device) or remote resources via a network (e.g., instant message, email, or social network update).

[0065] An Interaction (iXn) Server 244 may be configured to manage the deferrable activities of the contact center and their routing to an agent for completion. As used herein, deferrable activities may include background work that can be performed offline, such as replying to emails, attending training, and other activities that do not require real-time communication with a customer. For example, the Interaction (iXn) Server 244 may be configured to interact with the Routing Server 218 to select an appropriate agent to handle each of the deferrable activities. Once assigned to a specific agent, the deferrable activity is pushed to that agent such that it appears on the agent device 230 of the selected agent. The deferrable activity may appear as a task to be completed by the selected agent in the workspace. The functionality of the workspace may be implemented by any conventional data structure, such as, for example, a linked list, an array, and / or other suitable data structures. Each of the agent devices 230 may include a workspace. For example, the workspace may be maintained in the buffer memory of the corresponding agent device 230.

[0066] The Universal Contact Server (UCS) 246 can be configured to retrieve information stored in the customer database and / or transmit information thereto for storage therein. For example, the UCS 246 can be used as part of a chat feature to facilitate maintaining a history of how chats with a particular customer were handled, which can then be used as a reference for how future chats should be handled. More generally, the UCS 246 can be configured to facilitate maintaining a history of customer preferences, such as preferred media channels and optimal contact times. To this end, the UCS 246 can be configured to identify data related to the interaction history with each customer, such as data related to comments from agents, customer communication history, and the like. Then, each of these data types can be stored in the customer database 222 or on other modules and retrieved as needed according to the functions described herein.

[0067] The reporting server 248 can be configured to generate reports based on data compiled and aggregated by the statistics server 226 or other sources. Such reports can include near real-time reports or historical reports and relate to the status and performance characteristics of contact center resources, such as, for example, average wait time, abandonment rate, and / or agent occupancy rate. The reports can be generated automatically or in response to a specific request from a requester (e.g., an agent, an administrator, a contact center application, etc.). Then, these reports can be used to manage contact center operations according to the functions described herein.

[0068] The media services server 249 can be configured to provide audio and / or video services to support contact center features. According to the functions described herein, such features can include prompts for an IVR or IMR system (e.g., playback of an audio file), hold music, voicemail / one-way recording, multi-party recording (e.g., multi-party recording of an audio and / or video call), speech recognition, dual-tone multi-frequency (DTMF) recognition, fax, audio and video transcoding, secure real-time transport protocol (SRTP), audio conferencing, video conferencing, tutorials (e.g., supporting a coach to listen to the interaction between a customer and an agent and supporting the coach to provide comments to the agent without the customer hearing the comments), call analysis, keyword location, and / or other related features.

[0069] The analysis module 250 may be configured to provide systems and methods for performing analysis on data received from multiple different data sources, as may be required for the functionality described herein. According to an exemplary embodiment, the analysis module 250 may also generate, update, train, and modify predictors or models based on the data collected (such as, for example, customer data, agent data, and interaction data). The models may include behavioral models of customers or agents. The behavioral models may be used to predict, for example, the behavior of customers or agents in various situations, thereby allowing embodiments of the techniques described herein to customize interactions or allocate resources based on such predictions in preparation for the predicted characteristics of future interactions, thus improving overall contact center performance and the customer experience. It should be understood that although the analysis module is described as part of a contact center, such behavioral models may also be implemented on a customer system (or, as used herein, on the "customer side" of the interaction) and used for the benefit of the customer.

[0070] According to an exemplary embodiment, the analysis module 250 may access data stored in the storage device 220 (including a customer database and an agent database). The analysis module 250 may also access an interaction database that stores data related to interactions and interaction content (such as, for example, transcripts of the interactions and events detected therein), interaction metadata (such as, for example, customer identifiers, agent identifiers, interaction medium, interaction duration, interaction start and end times, department, tagged categories), and application settings (such as, for example, the interaction path through the contact center). Additionally, the analysis module 250 may be configured to retrieve data stored within the storage device 220 for use in, for example, developing and training algorithms and models by applying machine learning techniques.

[0071] One or more of the included models may be configured to predict customer or agent behavior and / or aspects related to contact center operations and performance. Additionally, one or more of the models may be used for natural language processing and may include, for example, intent recognition. The models may be developed based on: known first principle equations that describe the system; data that yields an empirical model; or a combination of known first principle equations and data. When developing models for use with embodiments of the present invention, since first principle formulas are generally not available or not easily derivable, it may generally be preferred to construct empirical models based on the data collected and stored. To correctly capture the relationship between the manipulated / disturbance variables and the controlled variables of a complex system, in some embodiments, it may be preferred that the model be non - linear. This is because a non - linear model can represent a curvilinear relationship rather than a linear relationship between the manipulated / disturbance variables and the control variables, which is common for complex systems such as those discussed herein. Given the foregoing requirements, machine - learning - or neural - network - based methods are preferred embodiments for implementing the models. For example, advanced regression algorithms may be used to develop neural networks based on empirical data.

[0072] The analysis module 250 may also include an optimizer. It should be understood that an optimizer can be used to minimize a "cost function" subject to a set of constraints, where the cost function is a mathematical representation of a desired goal or system operation. Since the model can be non-linear, the optimizer can be a non-linear programming optimizer. However, it is contemplated that the techniques described herein can be implemented by using a variety of different types of optimization methods, either alone or in combination, including but not limited to linear programming, quadratic programming, mixed integer non-linear programming, stochastic programming, global non-linear programming, genetic algorithms, particle / swarm techniques, etc.

[0073] According to some embodiments, the model and the optimizer can be used together within an optimization system. For example, the analysis module 250 can utilize the optimization system as part of an optimization process by which aspects of contact center performance and operation are optimized or at least enhanced. For example, this can include features related to customer experience, agent experience, interaction routing, natural language processing, intent recognition, or other functions related to automation processes.

[0074] Figure 2 (And the various other figures included herein) Each component, module, and / or server 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 a memory implemented using a standard storage device (such as, for example, random access memory (RAM)), or stored in other non-transitory computer-readable media (such as, for example, a CD-ROM, flash drive, etc.). Although the functions of each server are described as being provided by a particular server, those skilled in the art should recognize that in various embodiments, the functions of the various servers may be combined or integrated into a single server, or the functions of a particular server may be distributed across one or more other servers. Additionally, the terms "interact" and "communicate" may be used interchangeably and generally refer to any real-time and non-real-time interaction using any communication channel, including but not limited to telephone calls (PSTN or VoIP calls), emails, voicemails, videos, chats, screen sharing, text messages, social media messages, WebRTC calls, etc. Access to and control of the components of the contact system 200 can be affected through a user interface (UI) that can be generated on the customer device 205 and / or the agent device 230. As already noted, the contact center system 200 can operate as a hybrid system where some or all of the components are remotely hosted, such as in a cloud-based or cloud computing environment. It should be understood that each of the devices of the call center system 200 can be embodied as, include, or form part of one or more computing devices similar to the computing device 100 described with reference to Figure 1 the computing device 100 described.

[0075] Now refer toFigure 3 , the predictive routing server 300 can operate as part of a contact center system (e.g., Figure 2 the contact center system 200). As shown, the exemplary 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 exemplary predictive routing service 300 may include an intent data repository 310, an agent class performance data repository 312, a class value data repository 314, and an agent value data repository 316. It should be understood that each of the data repositories 310, 312, 314, 316 may be embodied as a database and / or other suitable data structures suitable for storing the corresponding data. Further, in some embodiments, one or more of the data repositories 310, 312, 314, 316 may be combined. In some embodiments, one or more of the data repositories 310, 312, 314, 316 and / or other data repositories may store additional data related to defining interaction classes, relative gain analysis, and / or other functions described herein. For example, in some embodiments, client attributes (e.g., client contract type, etc.), agent attributes (e.g., agent tenure in the contact center, etc.), interaction context (e.g., time of interaction arriving at the contact center, etc.), and / or other data may be stored. It should also be understood that although the predictive routing server 300 is described herein as a discrete device, it should be understood that in other embodiments, the predictive routing server 300 may form part of one or more other devices of the contact center system 200 (or other system), such that the functions of the predictive routing server 300 described herein are performed by one or more other entities of the contact center system 200 (or other system).

[0076] The predictive routing server 300 can be communicatively coupled to the routing server 218 of the contact center system 200 and can be configured to identify factors affecting customer-to-company interactions using historical and real-time data and artificial intelligence. This data can include, for example, preferred communication channels, past product purchases and service requests, and recent transactional activities. The predictive routing server 300 can combine this information with agent profiles and factors (e.g., agent skills, interaction history, and business outcome data) to predict an ideal customer-agent match. The predictive routing server 300 may include a core machine learning server capable of performing multiple functions as described herein.

[0077] The predictive routing server 300 can permit the input of customer profile data, agent profile data, interaction data, and outcome data associated with the interaction data. The input can be obtained from a storage device 220, a configuration server, or other suitable hardware for maintaining data. The predictive routing server 300 can be configured to perform batch processing to run multiple analytical processes on historical data, such as analysis of variance and feature analysis. The analysis of variance performed by the predictive routing server 300 can provide an analysis of how the selected target metric changes across different agent populations. An analysis of variance can be generated for between-agent variance, which can show how well each agent performs, including the identification of the highest and weakest performing agents. An analysis of variance can also be generated for agent variance, which can display the range of agent performance for each category as a specified group of agents. Examples of agent groupings can include, for example, the role of the agent and the skills of the agent. The feature analysis performed by the predictive routing server 300 can be configured to generate predictors and models for the predictive routing server 300. In particular, the generated predictors and models enable a contact center operator to determine which factors have the greatest impact on the selected target metric. Examples of factors that determine the impact on the selected target metric can include agent characteristics and behaviors, customer characteristics, behaviors, and other factors.

[0078] The predictive routing server 300 can be configured to train a predictive model for real-time scoring use. In other words, the generated predictive model can be used to determine the routing of incoming interactions to available agents. The predictive model used by the predictive routing server 300 can generate a real-time list of agents (e.g., when an interaction is received by the routing server 218) that can be used to process the interaction, and these agents are scored against the model. Then, the interaction can be routed to one of the available agents based on the scoring of the model. Additionally, the predictive routing server 300 can store the predicted and actual outcomes of agent-customer interactions and generate reports and summary tables that track the performance of the model against the target metric.

[0079] The predictive scoring service 302 can be configured to receive a model trained on the predictive routing server 300. The received trained model can be available as a worker on the predictive scoring service 302 to receive scoring requests that may come from other systems of the contact center system 200. In some embodiments, the predictive routing server 300 can have multiple workers of the predictive scoring service 302 to score requests for multiple target metrics. In some embodiments, a dedicated instance of the predictive scoring service 302 can be provided for each scoring service provided by the predictive routing server 300. It should be understood that the predictive scoring service 302 can rank contact center agents based on the historical performance of the contact center agents, for example, based on one or more key performance indicators (KPIs) (i.e., measurable values for performance on a specific target).

[0080] The model training service 304 can be configured as a dedicated service to analyze the received data and train a model for the prediction routing server 300. The model training service 304 can be configured to train a model by transforming historical data, generating new features, summarizing results, running feature analysis, and training and testing for regression and classification models. The model training service 304 can be configured to utilize machine learning algorithms to train a model. The machine learning algorithms deployed by the model training server 304 can vary according to specific implementations. For example, in some implementations, the model training service 304 can 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.

[0081] The analysis service 306 can be configured to perform analysis on different data sets to help guide the configuration of available data sets and target metrics, thereby optimizing the data sets to be consumed for model training. The analysis service 306 can perform summarization on the data sets as part of the scoring service worker. In one implementation, the analysis service 306 can include dedicated processes to run feature analysis, analysis of variance, simulation, lift estimation, and / or other analysis.

[0082] The relative gain service 308 can be configured to determine the relative gain of each contact center agent relative to a specific interaction class, as described in more detail below. That is, for each contact center agent in the estimated contact center agents, the relative gain service 308 can determine the relative optimization improvement of routing an interaction to the agent rather than other contact center agents based on, for example, the interaction class, intent context, agent performance when handling interactions within the relevant interaction class and / or with the associated intent context, class value associated with the interaction class (e.g., estimated cost or value of the interaction), agent value associated with a specific agent (e.g., skill level of the agent or value / ratio per unit), and / or other parameters. It should be understood that the relative gain service 308 can retrieve relevant data from the data repositories 310, 312, 314, 316 to perform the relative gain analysis. As described below, the relative gain service 308 can reorder the agent rankings provided by the prediction scoring service 302 (e.g., only based on KPI-based optimization) to incorporate the relative gain of the agents. It should be understood that in some implementations, the relative gain analysis is only performed when there is an excess of interactions and / or a significant likelihood that more complex interactions and / or other interactions more suitable for handling by senior agents may be incoming.

[0083] It should be understood that traditional routing optimization aims to rank agents for interaction based on their historical performance on given key performance indicators (KPIs). This approach typically results in cyclically placing the "best" (i.e., highest-performing) agents at the top of the ranking and attempting to route incoming interactions to the best agents first. This ensures the optimization (minimization or maximization) of a given KPI associated with the contact center. However, such methods fail to consider other factors, such as the potential gain / cost of assigning an inbound interaction to an agent beyond KPI optimization. For example, although an agent may be the best-performing in several areas, it may not be the most efficient overall to assign such a highest-performing agent to low-value and / or low-complexity interactions that can be handled similarly by agents with average or even low performance.

[0084] The increasing adoption of analytics in contact centers has stimulated the need to capture more interaction metadata, thus opening new doors for improving routing strategies based on interaction context, customer attributes, and agent attributes. Such information provides a means for categorizing or classifying interactions with common attributes. For example, a class of interactions can be defined for a group of clients who want to buy something.

[0085] The techniques described herein allow for the idea of retaining the agent assignment that would traditionally be assigned to an interaction (e.g., based on KPI ranking) without sacrificing overall KPI optimization when an agent's performance is above the requirements for successfully fulfilling the interaction. For example, in one embodiment, an interaction with a "password change" intent (interaction context) can be handled by any available agent (e.g., even a newly hired agent with minimal training), and thus the system can avoid assigning such interactions to highly skilled or higher-paid agents who can be reserved for handling other expected interactions with potentially higher rewards. By reserving agents for higher-value interactions, there is a potential assumption that new "more complex" interactions will arrive at the contact center to be handled by the reserved agents. In various embodiments, the techniques described herein can utilize machine learning and / or statistical methods during predictive routing optimization of a contact center queue to achieve relative gain features.

[0086] Inbound (incoming) interactions in a contact center can first be processed by an Interactive Voice Response (IVR) system, which extracts the customer's intent and defines the flow that the interaction should follow based on the information collected. When an interaction needs to be routed to a contact center agent, Automatic Call Distribution (ACD) can perform the routing using various routing strategies. One such routing strategy among these is called predictive routing, which aims to route interactions to agents that will help optimize a target KPI selected by the contact center administrator. Given an inbound interaction, predictive routing can use a machine learning model to predict the KPI performance of each available agent and thus rank them according to a scoring function. The techniques described herein adjust the scoring function (or modify the final result) to weight the relative gain of assigning an agent to an interaction. To this end, in some embodiments, the system can, for example, calculate and store a table with statistical values related to the complexity / value of each interaction class, periodically generate or update a table with agent performance for each interaction class, periodically generate or update a table with statistical values for each interaction class, maintain a table including measurable values associated with each agent (e.g., cost per unit time), and update the predictive routing scores of agents according to relative gain rules for each interaction class. Additionally, historical performance can be calculated at the agent level for each interaction class based on past successfully routed interactions and stored for use during future routing decisions. Data such as class value, agent value, and / or other values can be provided by the contact center administrator, inferred based on context, determined from machine learning, and / or otherwise determined based on a particular embodiment.

[0087] It should be understood that interactions belonging to the same group based on various criteria can be defined as interaction classes as described herein. For example, all interactions with the same intent and / or other shared context information can be defined as a particular interaction class. By way of example, in one embodiment, the system can define one interaction class as having a "password change" intent with a client contract type of "standard", another interaction class as having a "password change" intent with a client contract type of "premium", another interaction class as having a "sales - business" intent with a client tenure of "two years" and a date of the month of "28", and another interaction class as having a "technical support" intent with an associated "API error" problem. In other words, interaction classes are intended to group interactions that share something in common. In some embodiments, the interaction classes can be defined by a system administrator. However, in other embodiments, the interaction classes can be inferred from historical data (e.g., using machine learning). In embodiments where the contact center system administrator does not provide the interaction classes, the interaction classes can be inferred based on historical data, for example using unsupervised machine learning techniques. For example, in some embodiments, the system can utilize something similar to that described below with reference to Figure 4The described two-dimensional analysis (e.g., using agent sort variance and interactive average handle time variance). In other embodiments, other KPIs and / or parameters and / or different machine learning techniques may be used to define interaction classes.

[0088] Now referring Figure 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 method 400 for defining interaction classes for relative gain. It should be understood that, unless otherwise specified, the specific blocks of method 400 are shown by way of example and such blocks may be combined or divided, added or removed, and / or reordered in whole or in part depending on the specific embodiment.

[0089] Exemplary method 400 begins at block 402, where the system identifies an expected interaction class. In other words, the system selects intent, context information, and / or other criteria to analyze as potential interaction classes, and more specifically, to determine whether the expected interaction class meets a predefined relative gain criterion such that it is eligible for relative gain analysis. It should be understood that the system may use any suitable technique and / or algorithm to identify or select the expected interaction class for analysis. It should also be understood that an interaction class eligible 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 the assignment of a particular agent is unhelpful (e.g., assigning a phone number update interaction to the best performer has low benefit and thus low relative gain).

[0090] At block 404, the system determines the average handle time (AHT) and agent performance ranking for each contact center agent for the identified expected interaction class based on historical performance data. At block 406, the system determines an AHT variance metric based on the average handle time for each contact center agent for the identified expected interaction class, and at block 408, the system determines an agent performance ranking variance metric based on the agent performance ranking for each contact center agent for the identified expected interaction class. It should be understood that each of the AHT variance metric and the agent performance ranking variance metric may be any metric suitable for describing the variation in 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 ranking variance metric is a standard variance, while in other embodiments, each of the AHT variance metric and the agent performance ranking variance metric is a coefficient of variation.

[0091] In 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 the requirement that the agent performance variance metric exceeds a first predefined threshold and the AHT variance metric is below a second predefined threshold. For example, Figure 5 An exemplary graph depicting the AHT variance and agent ranking variance plotted for each expected interaction class is shown, where the AHT variance is on the abscissa and the agent ranking variance is on the ordinate. It should be understood that various results can be classified into four different types by quadrants. The first type of interaction class (type 1) includes expected interaction classes with high agent ranking variance and low AHT variance. The second type of interaction class (type 2) includes expected interaction classes with high agent ranking variance and high AHT variance. The third type of interaction class (type 3) includes expected interaction classes with low agent ranking variance and low AHT variance. The fourth type of interaction class (type 4) includes expected interaction classes with low agent ranking variance and high AHT variance. It should be understood that regardless of the capabilities and expertise of the agents, interactions of type 1 exhibit similar performance, and thus assigning type 1 interactions to lower-ranked agents may result in a relative gain, making type 1 interaction classes suitable candidates for relative gain analysis. Interactions of type 2 and type 3 represent general interaction classes, and the similarity is that high (low) agent range variance leads to high (low) AHT variance respectively. Therefore, relative gain analysis is not applicable to those types of interaction classes. Interactions of type 4 indicate the presence of external factors at work, considering that despite the low agent ranking variance, the AHT variance is high, and thus relative gain analysis is equally not applicable to those types of interaction classes. Although Figure 5 AHT and agent ranking are plotted based on the corresponding variances, but it should be understood that similar characteristics can be reflected in graphs involving the coefficient of variation or another variance metric.

[0092] If the system determines in block 412 that the criteria are met, method 400 proceeds to block 414, where the system defines the expected interaction class as the interaction class for relative gain analysis as described herein. If the system determines in block 412 that one or more criteria are not met, method 400 proceeds to block 416. In block 416, the system determines whether to analyze another expected interaction class. If so, method 400 returns to block 402, where the system identifies / selects another expected interaction class as described above.

[0093] Although blocks 402 to 416 have been described in a relatively serial manner, it should be understood that in some embodiments, the various blocks of method 400 may be executed in parallel. It should be understood that in other embodiments, the system may define interaction classes in other ways (e.g., based on different criteria). For example, the system may identify simple interactions in other ways such that the simple interaction is considered an interaction class for relative gain analysis.

[0094] Now refer to Figure 6 and, 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 method 600 for utilizing relative gain in the predictive routing of interactions to a contact center agent. It should be understood that, unless otherwise stated, the specific blocks of method 600 are shown by way of example and such blocks may be combined or divided, added or removed, and / or reordered in whole or in part depending on the particular implementation.

[0095] Exemplary method 600 begins at block 602, where the system determines whether to process an 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 so, method 600 proceeds to block 604, where the system determines the interaction class associated with the interaction. In 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 indicated above, the system may include one or more predefined interaction classes eligible / suitable for relative gain analysis (e.g., administrator-defined and / or machine learning-defined).

[0096] If the system determines in block 606 to apply relative gain, method 600 proceeds to block 608, where the system determines a predictive routing score for each expected contact center agent to which the interaction can be routed based on the historical performance of each expected contact center agent. As described herein, it should be understood that the system may utilize historical performance data that represents the relative performance of agents in a given interaction class over a period of time relative to other agents. In an exemplary implementation, as described above, the predictive routing score is determined to optimize a KPI.

[0097] In block 610, the system ranks the expected contact center agents based on the predicted routing scores. In block 612, the system determines the relative gain for each expected contact center agent based on the interaction class of the interaction (e.g., including class value), the agent class performance of the agent, and the agent value of the agent. It should be understood that each interaction class can be associated with a class value predefined by the system (e.g., defined by an administrator), and each agent can be associated with an agent value predefined by the system (e.g., defined by an administrator). The class value can indicate the estimated value / cost of an interaction within a given interaction class. For example, in one specific implementation, the system administrator can define an interaction class covering calls for updating an account phone number as having a class value of ten dollars, and an interaction class covering churn calls as having a class value of one thousand dollars. Similarly, in one specific implementation, the system administrator can define the value / cost of a less specialized agent as having an agent value of ten dollars per hour, and the value / cost of a more specialized agent as having an agent value of twenty dollars per hour. It should be understood that the units can vary according to the specific implementation and / or domain.

[0098] In block 614, the system re - ranks the expected contact center agents based on the predicted routing score and relative gain for each agent. For example, in some implementations, the initial ranking from the predicted routing score (e.g., based on KPI) can be adjusted to further consider the relative gain determined for each agent in the set of agents. It should be understood that the re - ranking algorithm can utilize any suitable weighting, thresholding, and / or other techniques to achieve the re - ranking of the expected agents that incorporates the relative gain. Additionally, although the exemplary implementation describes combining the relative gain of the agents as a post - processing step after the predicted routing score based on KPI, it should be understood that in other implementations, the relative gain of the agents can be incorporated into the initial predicted routing score / ranking.

[0099] As Figure 7 shown, the exemplary implementation depicts 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 the highest predicted routing scores. However, after combining the relative gain and re - routing the agents, Agent 5 has the highest ranking, followed by Agent 3, Agent 4, and Agent 2. In the exemplary implementation, Agent 1, which had the highest KPI - based score, has been completely removed from the re - ranking in order to ensure that Agent 1 is reserved for more complex interactions.

[0100] ReturnFigure 6 , in block 616, the system selects the contact center agent to which to route the interaction based on the ranking of the expected contact center agents, and in block 618, the system routes the interaction to the selected agent. It should be understood that in the illustrative embodiment, after relative gain has been incorporated into the analysis, the system selects the contact center agent with the highest ranking.

[0101] Although blocks 602 through 618 have been described in a relatively serial fashion, it should be understood that in some embodiments, the various blocks of method 600 may be performed in parallel.

Claims

1. A method for utilizing 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 of a plurality of expected contact center agents to which the interaction can be routed based on the historical performance of each of the expected contact center agents; Determining a relative gain for each of the expected contact center agents based on the interaction class of the interaction, the agent class performance of each of the expected contact center agents, and the agent value of the expected contact center agent, wherein the relative gain of a corresponding contact center agent indicates a relative optimization improvement in routing the interaction to the corresponding contact center agent as compared to another of the expected contact center agents; Ranking the expected contact center agents based on the associated predictive routing scores and the associated relative gains of each of the expected contact center agents; Selecting the contact center agent from among the expected contact center agents based on the ranking of the expected contact center agents; and Routing the interaction to the selected contact center agent.

2. The method according to claim 1, wherein the historical performance of each of the expected contact center agents is associated with the historical performance of the corresponding expected contact center agent in handling interactions of the interaction class.

3. The method according to claim 1, further comprising ranking the expected contact center agents based on the associated predictive routing scores of each of the expected contact center agents to determine a first agent ranking; wherein ranking the expected contact center agents based on the associated predictive routing scores and the associated relative gains of each of the expected contact center agents comprises re-ranking the first agent ranking based on the associated relative gains of each of the expected contact center agents to determine a second agent ranking; and wherein selecting the contact center agent from among the expected contact center agents based on the ranking comprises selecting the contact center agent from among the expected contact center agents based on the second agent ranking.

4. The method according to claim 1, wherein determining the relative gain for each of the expected contact center agents based on the interaction class of the interaction comprises determining the relative gain for each of the expected contact center agents based on a class value associated with the interaction class.

5. The method according to claim 1, further comprising determining the interaction class of the interaction in response to identifying the interaction to be routed to the contact center agent.

6. The method according to claim 5, wherein the interaction class is selected from a plurality of interaction classes predefined by an administrator.

7. The method according to claim 5, wherein the plurality of interaction classes are defined by machine learning.

8. The method according to claim 5, further comprising: Identifying an expected interaction class; Determining an average handling time and an agent performance ranking for each contact center agent for the identified expected interaction class based on historical performance data of each contact center agent; Determine whether a relative gain criterion is met based on the average processing time and the agent performance ranking of each contact center agent for the identified expected interaction classes; and Define the expected interaction class as an interaction class for relative gain analysis in response to determining that the relative gain criterion is met.

9. The method according to claim 8, wherein determining whether the relative gain criterion is met includes:[[]] Determine an agent performance ranking variance metric based on the agent performance ranking of each contact center agent for the identified expected interaction classes; And Determine an average processing time variance metric based on the average processing time of each contact center agent for the identified expected interaction classes.

10. The method according to claim 9, wherein the relative gain criterion is met in response to determining that the agent performance ranking variance metric exceeds a first threshold and the average processing time variance metric is less than a second threshold.

11. The method according to claim 9, wherein each of the agent performance variance metric and the average processing time variance metric is a coefficient of variation.

12. A system for utilizing relative gain in predictive routing of interactions to contact center agents, the system comprising:[[]] At least one processor; And At least one memory including a plurality of instructions stored therein, the plurality of instructions, when executed by the at least one processor, cause the system to:[[]] Identify interactions to be routed to contact center agents; Determine a predictive routing score for each expected contact center agent based on the historical performance of each expected contact center agent among the plurality of expected contact center agents to which the interaction can be routed; Determine the relative gain of the expected contact center agent based on the interaction class of the interaction, the agent class performance of each expected contact center agent, and the agent value of the expected contact center agent, wherein the relative gain of the corresponding contact center agent indicates a relative optimization improvement of routing the interaction to the corresponding contact center agent relative to another expected contact center agent among the expected contact center agents; Rank the expected contact center agents based on the associated predictive routing scores and the associated relative gains of each expected contact center agent; Select the contact center agent among the expected contact center agents based on the ranking of the expected contact center agents; and Route the interaction to the selected contact center agent.

13. The system according to claim 12, wherein the historical performance of each expected contact center agent is associated with the historical performance of the corresponding expected contact center agent in processing interactions of the interaction class.

14. The system according to claim 12, wherein the plurality of instructions further cause the system to rank the expected contact center agents based on the associated predictive routing scores of each expected contact center agent to determine a first agent ranking; Sorting the prospective contact center agents based on the associated predictive routing scores and associated relative gains for each prospective contact center agent includes re - sorting the first agent ranking based on the associated relative gains for each prospective contact center agent to determine a second agent ranking; and Selecting the contact center agent among the prospective contact center agents based on the sorting includes selecting the contact center agent among the prospective contact center agents based on the second agent ranking.

15. The system of claim 12, wherein determining the relative gain for each prospective contact center agent based on the interaction class of the interaction includes determining the relative gain for each prospective contact center agent based on a class value associated with the interaction class.

16. The system of claim 12, wherein the plurality of instructions further cause the system to determine the interaction class of the interaction in response to identifying the interaction to be routed to the contact center agent.

17. The system of claim 16, wherein the interaction class is selected from a plurality of interaction classes predefined by an administrator.

18. The system of claim 16, wherein the plurality of instructions further cause the system to: Identify a prospective interaction class; Determine an average processing time and an agent performance ranking for each contact center agent for the identified prospective interaction class based on historical performance data of each contact center agent; Determine whether a relative gain criterion is met based on the average processing time and the agent performance ranking for each contact center agent for the identified prospective interaction class; and Define the prospective interaction class as an interaction class for relative gain analysis in response to determining that the relative gain criterion is met.

19. The system of claim 18, wherein determining whether the relative gain criterion is met includes: Determining an agent performance ranking variance metric according to the agent performance ranking for each contact center agent for the identified prospective interaction class; And Determining an average processing time variance metric according to the average processing time for each contact center agent for the identified prospective interaction class.

20. The system of claim 19, wherein the relative gain criterion is met in response to determining that the agent performance ranking variance metric exceeds a first threshold and the average processing time variance metric is less than a second threshold.