Techniques for behavioral pairing in task assignment systems with external pairing systems
By introducing an external pairing system into the task allocation system and using control flags and benchmark flags, the switching between behavioral pairing strategies and traditional strategies is realized, solving the problem that external pairing systems are difficult to benchmark, and improving the overall performance and seat utilization of the task allocation system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-29
- Publication Date
- 2026-03-24
AI Technical Summary
In task allocation systems, existing pairing systems are difficult to benchmark against external pairing systems and task allocation systems, making it impossible to effectively evaluate and optimize task allocation strategies.
By introducing an external pairing system into the task allocation system, and using control flags and baseline flags to transmit and receive task-agent pairing information, the switching and benchmarking between behavioral pairing strategies (BP) and traditional strategies (such as FIFO or PBR) can be achieved.
It enables efficient behavior matching within the task allocation system of an external matching system, improves the overall performance of the task allocation system, balances agent utilization, and exceeds the performance level of traditional strategies.
Smart Images

Figure CN115280340B_ABST
Abstract
Description
[0001] Cross-referencing of related applications
[0002] This international patent application claims priority to U.S. Provisional Patent Application No. 62 / 970,526, filed on February 5, 2020, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This disclosure generally relates to task assignment systems, and more specifically, to techniques for behavior pairing in a task assignment system having an external pairing system. Background Technology
[0004] A typical matching system uses an algorithm to assign tasks arriving at the task allocation system to agents available to process those tasks. Sometimes, the task allocation system might be in an "L1 state" with available agents waiting to be assigned tasks. At other times, the task allocation system might be in an "L2 state" with tasks in one or more queues waiting for agents to become available for allocation. Still other times, the task allocation system might be in an "L3 state" with multiple available agents and multiple tasks waiting to be assigned.
[0005] Some traditional matchmaking systems assign tasks to agents sorted by arrival time, and agents receive tasks sorted by the time those agents become available. This strategy can be called a "first-in, first-out," "FIFO," or "round-robin" strategy. For example, in an L2 environment, when an agent becomes available, the task at the head of the queue is selected and assigned to that agent.
[0006] Other traditional pairing systems may implement a performance-based routing (PBR) strategy to prioritize assigning tasks to agents with higher performance. For example, under PBR, the agent with the highest performance among the available agents receives the next available task.
[0007] The "behavior pairing" or "BP" strategy used to assign tasks to agents improves upon traditional pairing methods. BP aims to balance agent utilization while improving the overall performance of the task assignment system, potentially exceeding the levels achievable in practice by FIFO or PBR methods.
[0008] When a pairing system is integrated into a task assignment system and is capable of switching between pairing strategies (e.g., FIFO, PBR, BP, etc.), it can be simple to benchmark the relative performance of the task assignment system under each pairing strategy given that all of the state of the task assignment system (e.g., information and events regarding tasks and agents, pairing strategies for each task-agent pairing, results of each pairing, etc.) can be readily obtained or otherwise retrieved by the pairing system. However, if the pairing system is external to the task assignment system, all of the state of the task assignment system can not be available to the pairing system for comprehensive benchmarking. Thus, it can be appreciated that techniques for behavioral pairing in a task assignment system having an external pairing system can be desirable. SUMMARY
[0009] Techniques for behavioral pairing in a task assignment system having an external pairing system are disclosed. In one particular embodiment, the techniques can be implemented as a method of behavioral pairing in a task assignment system having an external pairing system, the method comprising: transmitting, by at least one computer processor communicatively coupled to the task assignment system and configured to operate in the task assignment system, a control flag and a benchmark flag to the external pairing system via an application program interface. The control flag can indicate whether task-agent pairings in the task assignment system are based on responses by the external pairing system to routing requests sent by the at least one computer processor. The benchmark flag can indicate whether pairing of tasks with agents is based on one of a first pairing strategy and a second pairing strategy. The method can further comprise receiving, by the at least one computer processor from the external pairing system, task-agent pairings based on one of the first pairing strategy and the second pairing strategy, the task-agent pairings based at least in part on the control flag and the benchmark flag.
[0010] According to other aspects of this particular embodiment, the task assignment system is a contact center system.
[0011] According to other aspects of this particular embodiment, the first pairing strategy is a behavioral pairing strategy, and wherein the second pairing strategy is one of a first-in-first-out strategy and a performance-based routing strategy.
[0012] According to other aspects of this particular embodiment, the transmitting can further include transmitting an event related to at least one of the tasks and the agents, and wherein the task-agent pairings can be further based on the event.
[0013] According to other aspects of this particular embodiment, the first pairing strategy can be provided by the external pairing system, and the second pairing strategy can be provided by one of the external pairing system and an internal pairing system.
[0014] In another particular embodiment, the technology can be implemented as a system for behavioral pairing in a task assignment system having an external pairing system, including at least one computer processor communicatively coupled to the task assignment system and configured to operate in the task assignment system, wherein the at least one computer processor is further configured to perform the steps of the above-described method.
[0015] In another particular embodiment, the technology can be implemented as an article of manufacture for behavioral pairing in a task assignment system having an external pairing system, the article of manufacture including a non-transitory processor-readable medium and instructions stored on the medium, wherein the instructions are configured to be read by at least one computer processor communicatively coupled to the task assignment system and configured to operate in the task assignment system, and to thereby cause the at least one computer processor to operate so as to perform the steps of the above-described method.
[0016] In another particular embodiment, the technology can be implemented as a method for behavioral pairing in an external pairing system communicatively coupled to a task assignment system, the method including receiving, by at least one computer processor communicatively coupled to the external pairing system and configured to operate in the external pairing system, a control flag and a reference flag from the task assignment system through an application program interface. The control flag can indicate whether task-agent pairing in the task assignment system is based on a response by the external pairing system to a routing request received by the at least one computer processor. The reference flag can indicate whether pairing of tasks with agents is based on one of a first pairing strategy and a second pairing strategy. The method can further include transmitting, by the at least one computer processor to the task assignment system, a task-agent pairing of the first pairing strategy and the second pairing strategy, the task-agent pairing based at least in part on the control flag and the reference flag.
[0017] According to other aspects of this particular embodiment, the task assignment system is a contact center system.
[0018] According to other aspects of this particular embodiment, the first pairing strategy is a behavioral pairing strategy, and wherein the second pairing strategy is one of a first-in-first-out strategy and a performance-based routing strategy.
[0019] According to other aspects of this particular embodiment, the receiving can further include events related to at least one of the tasks and the agents, and wherein the task-agent pairing can be further based on the events.
[0020] According to other aspects of this particular embodiment, the first pairing strategy can be provided by the external pairing system, and the second pairing strategy can be provided by one of the external pairing system and the internal pairing system.
[0021] In another particular embodiment, the technology can be implemented as a system for behavioral pairing in an external pairing system communicatively coupled to a task assignment system, comprising at least one computer processor communicatively coupled to the external pairing system and configured to operate in the external pairing system, wherein the at least one computer processor is further configured to perform the steps of the above-described method for behavioral pairing in an external pairing system communicatively coupled to a task assignment system.
[0022] In another particular embodiment, the technology can be implemented as an article of manufacture for behavioral pairing in an external pairing system communicatively coupled to a task assignment system, the article of manufacture comprising a non-transitory processor-readable medium and instructions stored on the medium, wherein the instructions are configured to be readable from the medium by at least one computer processor communicatively coupled to the external pairing system and configured to operate in the external pairing system, and thereby cause the at least one computer processor to operate so as to perform the steps of the above-described method for behavioral pairing in an external pairing system communicatively coupled to a task assignment system.
[0023] The present disclosure will now be described in greater detail in connection with particular embodiments thereof as illustrated in the following drawings. Although the following refers to particular embodiments, it should be understood that the disclosure is not limited thereto. Those skilled in the art having the benefit of the teachings herein will appreciate additional embodiments, modifications, and instances of the disclosure, and other uses thereof which are within the scope of the disclosure described herein and can be important to its practical application. BRIEF DESCRIPTION OF DRAWINGS
[0024] For the purposes of this disclosure, reference will be made to the accompanying drawings in which like numbers refer to like elements throughout. The drawings should not be interpreted in a limiting sense, and are intended to be merely illustrative.
[0025] Figure 1 A block diagram of a pairing system is shown in accordance with an embodiment of the present disclosure.
[0026] Figure 2 A block diagram of a task assignment system is shown in accordance with an embodiment of the present disclosure.
[0027] Figure 3 A block diagram of a task assignment system with an external pairing system is shown in accordance with an embodiment of the present disclosure.
[0028] Figure 4 A flowchart of a benchmarking method for a task assignment system with an external pairing system is shown in accordance with an embodiment of the present disclosure.
[0029] Figure 5A flowchart showing a benchmarking method for an external pairing system communicatively coupled to a task assignment system, according to embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0030] A typical pairing system assigns tasks arriving at a task assignment system to agents available to handle those tasks through an algorithm. Sometimes, the task assignment system can be in an "L1 state" and have agents available and waiting to be assigned to tasks. At other times, the task assignment system can be in an "L2 state" and have tasks waiting for agents to become available to assign in one or more queues. At yet other times, the task assignment system can be in an "L3" state and have multiple agents available and multiple tasks waiting to be assigned. One example of a task assignment system is a contact center system that receives contacts (e.g., telephone calls, internet chat sessions, emails, etc.) to be assigned to agents.
[0031] Some traditional pairing systems assign tasks to agents ordered based on time of arrival and agents receive tasks ordered based on time those agents become available. This strategy can be referred to as a "first-in, first-out," "FIFO," or "round robin" strategy. For example, in an L2 environment, when an agent becomes available, the task at the head of the queue is selected to assign to the agent.
[0032] Other traditional pairing systems can implement a performance-based routing (PBR) strategy for assigning tasks with preference to higher-performing agents. For example, under PBR, the highest-performing agent among available agents receives the next available task.
[0033] A "behavioral pairing" or "BP" strategy for assigning tasks to agents that improves upon traditional pairing methods. The goal of BP is to balance utilization of agents while improving performance of the overall task assignment system beyond what can be achieved in practice by FIFO or PBR methods. This is an extraordinary feat because BP acts on the same tasks and the same agents as FIFO or PBR methods, balances utilization of agents roughly as well as FIFO provides, while improving performance of the overall task assignment system beyond what FIFO or PBR provides in practice. BP improves performance by assigning pairs of agents and tasks in a way that considers potential subsequent pairs of agents and tasks for assignment, such that when the benefits of all assignments are aggregated, they can exceed the benefits of FIFO and PBR strategies.
[0034] Various BP strategies can be used, such as a diagonal model BP strategy or a network flow BP strategy. These task assignment strategies and others are described in detail in, for example, U.S. Patent Nos. 9,300,802, 9,781,269, 9,787,841, and 9,930,180, all of which are incorporated by reference herein for contact center context. BP strategies can be applied to L1 environments (agent remaining, one task; choosing among multiple available / idle agents), L2 environments (task remaining, one available / idle agent; choosing among multiple tasks in a queue), and L3 environments (multiple agents and multiple tasks; choosing in a pairing permutation).
[0035] When a pairing system is integrated into a task assignment system and is capable of switching between pairing strategies, it can be simple to benchmark the relative performance of the task assignment system under each pairing strategy, given that all states of the task assignment system (e.g., information and events regarding tasks and agents, pairing strategies for each task-agent pairing, results of each pairing, etc.) can be readily obtained or otherwise retrieved by the pairing system. As explained in detail below, embodiments of the present disclosure relate to techniques for behavioral pairing in a task assignment system with an external pairing system, where all states of the task assignment system can not be available to the pairing system for comprehensive benchmarking.
[0036] The description herein describes network elements, computers, and / or components of systems and methods for pairing strategies in a task assignment system that can include one or more modules. As used herein, the term “module” can be understood to refer to computing software, firmware, hardware, and / or various combinations thereof. However, a module should not be interpreted as software that is not implemented on hardware, firmware, or recorded on a non-transitory processor-readable recordable storage medium (i.e., a module by itself is not software). Note that these modules are exemplary. These modules can be combined, integrated, separated, and / or duplicated to support various applications. Also, a function described herein as being performed at a particular module can be performed at one or more other modules and / or by one or more other devices. Furthermore, these modules can be implemented across multiple devices and / or other components locally or remotely from each other. Moreover, these modules can be moved from one device and added to another device, and / or can be included in both devices.
[0037] Figure 1A block diagram of a pairing system 100 is shown in accordance with embodiments of the present disclosure. The pairing system 100 can be included in a task assignment system (e.g., a contact center system), or incorporated into a component or module (e.g., a pairing module) of a task assignment system, for assisting in the assignment of tasks (e.g., contacts) among various agents.
[0038] The pairing system 100 can include a task assignment module 110 configured to pair (e.g., match, assign) incoming tasks to available agents. In Figure 1 In the example, m tasks 120A-120m are received in a given period, and n agents 130A-130n are available in the given period. Each of the m tasks can be assigned to one of the n agents for service or other type of task processing. In Figure 1 In the example, m and n can be any large finite integer greater than or equal to 1. In a real-world task assignment system such as a contact center system, there can be tens, hundreds, etc. of agents logged into the contact center system during a shift to interact with contacts, and the contact center system can receive tens, hundreds, thousands, etc. of contacts (e.g., phone calls, internet chat sessions, emails, etc.) during a shift.
[0039] In some embodiments, a task assignment strategy module 140 can be communicatively coupled to and / or configured to operate in the pairing system 100. The task assignment strategy module 140 can implement one or more task assignment strategies (or “pairing strategies”) for assigning individual tasks to individual agents (e.g., pairing contacts to contact center agents). A variety of different task assignment strategies can be designed and implemented by the task assignment strategy module 140. In some embodiments, a FIFO strategy can be implemented in which, for example, the longest-waiting agent receives the next available task (in an L1 environment) or the longest-waiting task is assigned to the next available agent (in an L2 environment). In other embodiments, a PBR strategy can be implemented for prioritizing high-performing agents for task assignment. For example, under PBR, the highest-performing agent among available agents receives the next available task. In yet other embodiments, a BP strategy can be used to optimally assign tasks to agents using information about the tasks or agents or both. Various BP strategies can be used, such as a diagonal model BP strategy or a network flow BP strategy. See U.S. Patent Nos. 9,300,802, 9,781,269, 9,787,841, and 9,930,180.
[0040] In some embodiments, the historical assignment module 150 can be communicatively coupled to and / or configured to operate in the pairing system 100 by other modules such as the task assignment module 110 and / or the task assignment strategy module 140. The historical assignment module 150 can be responsible for various functions such as monitoring, storing, retrieving, and / or outputting information about completed task-agent assignments. For example, the historical assignment module 150 can monitor the task assignment module 110 to collect information about task assignments over a given time period. Each record of historical task assignments can include information such as an agent identifier, a task or task type identifier, a bid or bid set identifier, outcome information, or a pairing strategy identifier (i.e., an identifier indicating whether a BP strategy or some other pairing strategy (e.g., FIFO or PBR pairing strategy) was used for the task assignment).
[0041] In some embodiments and for some contexts, additional information can be stored. For example, in a call center context, the historical assignment module 150 can also store information about a call start time, a call end time, a dialed phone number, and a caller phone number. For another example, in a dispatch center (e.g., a “truck transport”) context, the historical assignment module 150 can also store information about a time a driver (i.e., a field agent) left the dispatch center, a recommended route, a route taken, an estimated travel time, an actual travel time, an amount of time spent at a customer site working on a customer task, and the like.
[0042] In some embodiments, the historical assignment module 150 can generate a pairing model or similar computer processor-generated model based on a set of historical assignments for a period of time (e.g., the past week, the past month, the past year, and the like), which can be used by the task assignment strategy module 140 to make task assignment suggestions or instructions to the task assignment module 110.
[0043] In some embodiments, the benchmarking module 160 can be communicatively coupled to and / or configured to operate in the pairing system 100 by other modules such as the task assignment module 110 and / or the historical assignment module 150. The benchmarking module 160 can benchmark the relative performance of two or more pairing strategies (e.g., FIFO, PBR, BP, and the like) using historical assignment information that can be received from, for example, the historical assignment module 150. In some embodiments, the benchmarking module 160 can perform other functions such as establishing a benchmarking plan for cycling between various pairing strategies, tracking groups (e.g., historical assignment bases and measurement groups), and the like. Benchmarking is described in detail in, for example, U.S. Patent No. 9,712,676, which is incorporated by reference herein for a contact center context.
[0044] In some embodiments, the benchmarking module 160 can output or otherwise report or use relative performance measures. Relative performance measures can be used to evaluate the quality of a pairing strategy to determine, for example, whether a different pairing strategy (or a different pairing model) should be used, or to measure the overall performance (or performance gain) achieved in the task assignment system while the task assignment system is optimized or otherwise configured to use one pairing strategy over another.
[0045] Figure 2 A block diagram of a task assignment system 200 is shown in accordance with embodiments of the present disclosure. The task assignment system 200 can include a central switch 270. The central switch 270 can receive incoming tasks 220 (e.g., telephone calls, Internet chat sessions, emails, etc.) or support outbound connections to contacts through dialers, telecommunication networks, or other modules (not shown). The central switch 270 can include routing hardware and software to help route tasks among one or more queues (or sub-centers), or to one or more private branch exchanges (“PBXs”) or automatic call distribution (ACD) routing components or other queue or switch components within the task assignment system 200. The central switch 270 can not be necessary if there is only one queue (or sub-center), or if there is only one PBX or ACD routing component in the task assignment system 200.
[0046] If more than one queue (or sub-center) is part of the task assignment system 200, each queue can include at least one switch (e.g., switches 280A and 280B). The switches 280A and 280B can be communicatively coupled to the central switch 270. Each switch of each queue can be communicatively coupled to a plurality (or “pool”) of agents. Each switch can support a certain number of agents (or “seats”) to log in at a time. At any given time, a logged-in agent can be available and waiting to connect to a task, or a logged-in agent can be unavailable for any of a variety of reasons, such as being connected to another task, performing certain post-call functions (e.g., recording information about the call), or taking a break. In the example shown in FIG. 2, the central switch 270 routes a task to one of the two queues through the switch 280A and the switch 280B, respectively. Each of the switches 280A and 280B is shown as each having two agents. Agents 230A and 230B can be logged in to the switch 280A, and agents 230C and 230D can be logged in to the switch 280B. Figure 2
[0047] The task assignment system 200 can also be communicatively coupled to an integrated pairing system 290. The pairing system 290 can be local (or built-in) to the task assignment system 200 (i.e., the “first party”) or can be a service provided by, for example, a third-party vendor.Figure 2 In the example of FIG. 3, the pairing system 290 is communicatively coupled to one or more of the switches of the switch system of the task assignment system 200, such as the central switch 270, the switch 280A, and the switch 280B. In some embodiments, the switches of the task assignment system 200 can be communicatively coupled to multiple pairing systems. In some embodiments, the pairing system 290 can be embedded within a component of the task assignment system 200 (e.g., embedded in or otherwise integrated with a switch). An example of the pairing system 290 is the pairing system 100 described above.
[0048] The pairing system 290 can receive information from a switch (e.g., the switch 280A) regarding agents (e.g., the agents 230A and 230B) logged into the switch and information regarding incoming tasks 220 via another switch (e.g., the central switch 270), or in some embodiments, from a network (e.g., the Internet or a telecommunications network) (not shown). The pairing system 290 can process this information to determine which tasks should be paired (e.g., matched, assigned, distributed, routed) with which agents.
[0049] For example, in the L1 state, multiple agents can be available and waiting to connect to a task, and a task arrives at the task assignment system 200 via a network or the central switch 270. As described above, without the pairing system 290, the switch would typically automatically assign the new task to any available agent that has been waiting the longest under a FIFO policy, or to any available agent that has been determined to be the highest performing under a PBR policy. Using the pairing system 290, the contacts and agents can be given scores (e.g., percentiles or ranges / bands of percentiles) according to a pairing model or other artificial intelligence data model, such that the task can be matched, paired, or otherwise connected to a preferred agent.
[0050] In the L2 state, multiple tasks are available and waiting to connect to an agent, and an agent becomes available. These tasks can be queued in a switch (e.g., a PBX or ACD device). Without the pairing system 290, when an agent selects an unavailability, the switch would typically connect the newly available agent to any task that has been waiting the longest in the queue, as in a FIFO policy or a PBR policy. As previously described, in some task assignment centers, priority queuing can also be included. With the pairing system 290 in this L2 scenario, as in the L1 state described above, the tasks and agents can be given percentiles (or ranges / bands of percentiles, etc.) according to a model such as an artificial intelligence model, such that the agent that becomes available can be matched, paired, or otherwise connected to a preferred task.
[0051] In task assignment system 200, pairing system 290 can switch between pairing strategies and benchmark the relative performance of the task assignment system under each pairing strategy (e.g., by using a benchmarking module such as benchmarking module 160 of pairing system 100). The benchmarking results can help determine which pairing strategy or combination of pairing strategies to use to optimize the overall performance of task assignment system 200. Given that pairing system 290 is integrated with or “internal” to task assignment system 200, the state of task assignment system 200 (e.g., information and events about tasks and agents, pairing strategy used for each assignment, etc.) can be readily available or otherwise retrievable by pairing system 290 for benchmarking computations. However, in a task assignment system with an external pairing system, benchmarking can not be as simple, as described below.
[0052] Figure 3 A block diagram of task assignment system 300 with external pairing system 395 is shown in accordance with embodiments of the present disclosure. In task assignment system 300, switch 380 can route a plurality of tasks 320 to a plurality of agents 330. Switch 380 can include routing hardware and software or route to one or more PBX or ACD routing components or other queuing or switching components for assisting in routing the plurality of tasks 320 among the plurality of agents 330.
[0053] In task assignment system 300, internal pairing system 390 can be communicatively coupled to switch 380. Internal pairing system 390 can be native (or built-in) to task assignment system 300 (i.e., a “first party”) or can be provided by a third party vendor. In general, internal pairing system 390 can implement conventional pairing strategies (e.g., FIFO or PBR) or some other pairing strategy that can be proprietary to task assignment system 300. However, internal pairing system 390 can also be in the form of pairing system 100. Internal pairing system 390 can receive or otherwise retrieve information about agents 330 logged into switch 380 and information about incoming tasks 320 from switch 380.
[0054] In task assignment system 300, external pairing system 395 can be communicatively coupled to switch 380 through interface 385. Interface 385 can isolate task assignment system 300 from external pairing system 395 (e.g., for security purposes) and control the exchange of information between the two systems. An example of interface 385 can be a public or private proprietary application program interface (API) provided over a network (e.g., the Internet or a telecommunications network) (not shown).
[0055] Unlike the internal pairing system 390, the external pairing system 395 can only have access to information selected and shared by the switch 380. Such information must be sufficient for the external pairing system 395 to determine optimal task-agent pairings. The external pairing system 395 can be provided by a third-party vendor and can be in the form of the pairing system 100 described above. Importantly, the external pairing system 395 can provide a pairing strategy (e.g., BP) that improves the performance of the task assignment system 300 compared to the pairing strategy (or strategies) of the internal pairing system 390. The external pairing system 395 can also provide a pairing strategy that is the same or similar to the pairing strategy of the internal pairing system 390.
[0056] The task assignment system 300 can operate under shared control, where the switch 380 can send some routing requests to the internal pairing system 390 and other routing requests to the external pairing system 395, depending on which pairing system should control pairing and determine which task will be routed to which agent. Shared control can be desirable, for example, when the internal pairing system 390 employs a legacy or proprietary pairing strategy (e.g., FIFO or PBR) that is not provided by the external pairing system 395, while using the external pairing system 395 to provide a higher performance pairing strategy (e.g., BP).
[0057] When the external pairing system 395 includes a pairing strategy that is the same or similar to the pairing strategy of the internal pairing system 390 (or it can mimic or otherwise emulate the pairing strategy of the internal pairing system 390), the task assignment system 300 can operate under full control in certain embodiments, such that the switch 380 sends all routing requests to the external pairing system 395. In other words, the external pairing system 395 fully controls determining each task-agent pairing. Under full control, at times, the external pairing system 395 can emulate / mimic the pairing strategy of the internal pairing system 390 (e.g., FIFO or PBR), and at other times, employ a different pairing strategy (e.g., BP), and sends its pairing recommendations to the switch 380 over the interface 385. The switch 380 can then assign tasks 320 to agents 330 based on the pairing recommendations.
[0058] In some embodiments, shared control and full control can be preconfigured settings in the task assignment system 300. In other embodiments, the task assignment system 300 can switch between shared control and full control automatically during runtime or by receiving input from a task assignment system manager or operator. The task assignment system 300 can use a control flag to indicate whether a historical task was assigned by the internal pairing system 390 or the external pairing system 395. The task assignment system 300 can share the control flag with the external pairing system 395 through the interface 385 (e.g., for benchmarking purposes).
[0059] Under shared control or full control, the task assignment system 300 can use a second flag, a benchmark flag, to indicate whether a historical task is an “ON” task or an “OFF” task. An ON task is a task assigned by the external pairing module 395 using a higher performance pairing strategy (e.g., BP). An OFF task is a task assigned by the internal pairing module 390 or the external pairing module 395 using a traditional pairing strategy (e.g., FIFO or PBR). When operating in shared control, the task assignment system 300 (or the switch 380) can determine which tasks 320 should be ON or OFF. Under full control, the task assignment 300 can either (1) flag tasks as ON or OFF before sending route requests to the external pairing system 395 or (2) send route requests to the external pairing system 395 and allow the external pairing system 395 to determine which tasks should be considered ON or OFF. The determination of whether a task should be ON or OFF can be based on one or more predetermined schemes or a protocol between the task assignment system 300 and the external pairing system 395. See U.S. Patent No. 9,712,676.
[0060] In some embodiments, the benchmark flag can also be used to indicate when a historical task has been paired by the internal pairing system 390 to an agent when the external pairing system 395 should have paired the task (i.e., an ON task under shared control or ON and OFF tasks under full control). In these cases, the benchmark flag can be set to a third value, e.g., “default” instead of “ON” or “OFF”). In some embodiments, given that such assignments can be due to an inadvertent error or malfunction in the task assignment system 300, historical task assignments flagged as “default” can be excluded from benchmarking calculations.
[0061] In some embodiments, when the internal pairing system 390 assigns tasks 320 to agents 330, it can be desirable for the external pairing system 395 to observe the task assignment system 300 and collect data to build or improve pairing strategies or pairing models. Historical tasks assigned in this manner can be indicated by setting the benchmark flag to a fourth value, e.g., “monitoring mode.” Unlike the “default” benchmark flag, which can occur due to unexpected errors or malfunctions in the task assignment system 300, the “monitoring mode” benchmark flag can be intentional, and therefore, the corresponding historical tasks can or can not need to be excluded from benchmarking calculations depending on the configuration of the task assignment system 300. Like the control flag, the task assignment system 300 can share the benchmark flag with the external pairing system 395 through the interface 385 (e.g., for benchmarking purposes).
[0062] In the task assignment system 300, the internal pairing system 390 or the external pairing system 395 can benchmark the relative performance of the task assignment system 300 under traditional pairing strategies (e.g., FIFO or PBR) and higher performance pairing strategies (e.g., BP). Since the internal pairing system 390 is an integral part of the task assignment system 300, the state of the task assignment system 300 (e.g., information and events about the tasks 320 and agents 330, pairing strategies for each task-agent pairing, results of each pairing, etc.) can be readily available for benchmarking calculations. However, the external pairing system 395 must rely on information provided by the task assignment system 300 through the interface 385 to perform pairing.
[0063] In some embodiments, the external pairing system operates in a “stateless” environment, where the task assignment system 300 can provide enough information within each routing request for the external pairing system 395 to make pairing recommendations. For example, in addition to the control flag (indicating shared control or full control) and the benchmark flag (indicating open task, close task, default, or monitoring mode), the task assignment system 300 can provide the external pairing system 395 with enough state information within the routing request (e.g., the full set of agents available for pairing and the full set of tasks available for pairing). In some embodiments, the stateless routing request can include additional information, such as an ordered set of agents sorted by idle time and / or an ordered set of tasks sorted by wait time.
[0064] In other embodiments, the external pairing system 395 can be in a "stateful" environment, where the task assignment system 300 provides event information through the interface 385 such that the external pairing system 395 can maintain a mirror of the state of the task assignment system 300. In other words, each relevant event that occurs in the task assignment system 300 is shared with the external pairing system 395, such as, for example, the arrival time of each task, when an agent becomes available, when an agent logs off, when a call is hung up (in the case of a call center), etc. The interface 385 can support error checking or reset functions to help the external pairing system 395 maintain fidelity with the mirrored state of the task assignment system 300.
[0065] For simplicity, the task assignment system 300 is illustrated as having a single queue with a single switch 380. The task assignment system 300 can include additional queues with respective switches, in which case each switch can be communicatively coupled to the internal pairing system 390 and the external pairing system 395, or there can be an internal pairing system and an external pairing system for each switch.
[0066] Figure 4 A flowchart of a benchmarking method 400 for a task assignment system (e.g., the task assignment system 300) with an external pairing system (e.g., the external pairing system 395) is shown in accordance with an embodiment of the present disclosure.
[0067] The benchmarking method 400 can begin at block 410. At block 410, the benchmarking method 400 can transmit a control flag and a benchmark flag to the external pairing system through an API. As described above, the control flag can indicate whether pairing of tasks with agents in the task assignment system is based on a response by the external pairing system to a routing request sent by the task assignment system or a routing switch (e.g., the switch 380) in the task assignment system.
[0068] At block 420, the benchmarking method 400 can receive a task-agent pairing from the external pairing system based on the first pairing strategy or the second pairing strategy. The task-agent pairing can be based at least in part on the control flag and the benchmark flag. The first pairing strategy can be a BP strategy and can be provided by the external pairing system. The second pairing strategy can be a FIFO strategy or a PBR strategy and can be provided by the external pairing system or the internal pairing system (e.g., the internal pairing system 390) of the task assignment system.
[0069] Figure 5 A flowchart of a benchmarking method 500 for an external pairing system (e.g., the external pairing system 395) communicatively coupled to a task assignment system (e.g., the task assignment system 300) is shown in accordance with an embodiment of the present disclosure.
[0070] The benchmarking method 500 can begin at block 510. At block 510, the benchmarking method 500 can receive, from a task assignment system via an API, a control flag and a benchmark flag. The control flag can indicate whether pairing of tasks in the task assignment system with agents is based on responses by an external pairing system to routing requests received by the external pairing system.
[0071] At block 520, the benchmarking method 500 can transmit, to the task assignment system, a task-agent pairing based on a first pairing strategy or a second pairing strategy. The task-agent pairing can be based at least in part on the control flag and the benchmark flag. The first pairing strategy can be a BP strategy and can be provided by the external pairing system. The second pairing strategy can be a FIFO strategy or a PBR strategy and can be provided by an external pairing system or an internal pairing system (e.g., the internal pairing system 390) of the task assignment system.
[0072] It should be noted at this point that the above-described task assignment according to the present disclosure can involve, to some extent, processing of input data and generation of output data. Such processing of input data and generation of output data can be implemented in hardware or software. For example, specific electronic components can be employed in a behavioral pairing module or similar or related circuitry to implement functionality associated with the task assignment according to the present disclosure as described above. Alternatively, one or more processors operating according to instructions can implement functionality associated with the task assignment according to the present disclosure as described above. If so, then such instructions can be stored in one or more non-transitory processor-readable storage media (e.g., magnetic disks or other storage media) or transmitted to one or more processors by one or more signals contained in one or more carrier waves within the scope of the present disclosure.
[0073] The present disclosure is not to be limited in scope by the specific embodiments described herein. Indeed, various embodiments of the present disclosure can be made without departing from the scope thereof as defined by the appended claims. Thus, other embodiments and modifications to these illustrative embodiments will be obvious to those of ordinary skill in the art having the benefit of the teachings defined by the expression and drawings. Therefore, the foregoing description is not intended to be in any way limiting, but is merely illustrative of the present disclosure. Accordingly, other embodiments are within the scope of the following claims, with the intent that they be determined by the reasonable interpretation based on the teaching of the specification and understandings of the known equivalents when interpreted by those having ordinary skill in the art, and combinations of the aspects.
Claims
1. A method for behavior pairing in a task assignment system with an external pairing system, the method comprising: A computer processor, communicatively coupled to and configured to operate within the task allocation system, transmits control flags and reference flags to the external pairing system via an application programming interface, wherein: The control flag indicates whether the historical task-agent pairing in the task allocation system is based on a response by the external pairing system to a routing request sent by the at least one computer processor; and The benchmark flag indicates whether historical task-agent pairings in the task allocation system are based on one of a first pairing strategy and a second pairing strategy; and The at least one computer processor receives the current task-agent pairing based on one of the first pairing strategy and the second pairing strategy from the external pairing system. The current task-seat pairing is further based, at least in part, on the control flag and the reference flag. The transmission further includes transmitting events related to at least one of the tasks and agents in the current task-agent pairing, and The current task-seat pairing is further based on the event.
2. The method according to claim 1, wherein, The task allocation system is a contact center system.
3. The method according to claim 1, wherein, The first pairing strategy is a behavior pairing strategy, and the second pairing strategy is one of a first-in-first-out strategy and a performance-based routing strategy.
4. The method according to claim 1, wherein, The first pairing strategy is provided by the external pairing system, and the second pairing strategy is provided by one of the external pairing system and the internal pairing system of the task allocation system.
5. A system for performing behavior pairing in a task assignment system having an external pairing system, comprising: At least one computer processor, the at least one computer processor being communicatively coupled to the task allocation system and configured to operate in the task allocation system, wherein the at least one computer processor is further configured to: Control flags and reference flags are transmitted to the external pairing system via the application programming interface, wherein: The control flag indicates whether the historical task-agent pairing in the task allocation system is based on a response by the external pairing system to a routing request sent by the at least one computer processor; and The benchmark flag indicates whether historical task-agent pairings in the task allocation system are based on one of a first pairing strategy and a second pairing strategy; and Receive current task-agent pairings based on one of the first pairing strategy and the second pairing strategy from the external pairing system. The current task-seat pairing is further based, at least in part, on the control flag and the reference flag. The at least one computer processor is further configured to transmit events related to at least one task and agent in the current task-agent pairing to the external pairing system, and The current task-seat pairing is further based on the event.
6. The system according to claim 5, wherein, The task allocation system is a contact center system.
7. The system according to claim 5, wherein, The first pairing strategy is a behavior pairing strategy, and the second pairing strategy is one of a first-in-first-out strategy and a performance-based routing strategy.
8. The system according to claim 5, wherein, The first pairing strategy is provided by the external pairing system, and the second pairing strategy is provided by one of the external pairing system and the internal pairing system of the task allocation system.
9. An article for performing behavior matching in a task assignment system having an external matching system, comprising: Non-transient processor readable medium; as well as Instructions stored on the medium; The instructions are configured to be readable from the medium by at least one computer processor communicatively coupled to and operating in the task allocation system, and to cause the at least one computer processor to operate such that: Control flags and reference flags are transmitted to the external pairing system via the application programming interface, wherein: The control flag indicates whether the historical task-agent pairing in the task allocation system is based on a response by the external pairing system to a routing request sent by the at least one computer processor; and The benchmark flag indicates whether historical task-agent pairings in the task allocation system are based on one of a first pairing strategy and a second pairing strategy; and Receive current task-agent pairings based on one of the first pairing strategy and the second pairing strategy from the external pairing system. The current task-seat pairing is further based, at least in part, on the control flag and the reference flag. The instructions are configured to cause the at least one computer processor to operate in order to further transmit events related to at least one of the tasks and agents in the current task-agent pairing to the external pairing system. The current task-seat pairing is further based on the event.
10. The article of claim 9, wherein, The task allocation system is a contact center system.
11. The article of claim 9, wherein, The first pairing strategy is a behavior pairing strategy, and the second pairing strategy is one of a first-in-first-out strategy and a performance-based routing strategy.
12. The article of claim 9, wherein, The first pairing strategy is provided by the external pairing system, and the second pairing strategy is provided by one of the external pairing system and the internal pairing system of the task allocation system.
13. A method for performing behavior pairing in an external pairing system communicatively coupled to a task assignment system, the method comprising: A computer processor, communicatively coupled to and configured to operate within the external pairing system, receives control flags and reference flags from the task allocation system via an application programming interface, wherein: The control flag indicates whether the historical task-agent pairing in the task allocation system is based on a response by the external pairing system to a routing request sent by the at least one computer processor; and The benchmark flag indicates whether historical task-agent pairings in the task allocation system are based on one of a first pairing strategy and a second pairing strategy; and The at least one computer processor transmits the current task-agent pairing based on one of the first pairing strategy and the second pairing strategy to the task allocation system. The current task-seat pairing is further based, at least in part, on the control flag and the reference flag. The receiving also includes events related to at least one of the tasks and agents in the current task-agent pairing, and The current task-seat pairing is further based on the event.
14. The method according to claim 13, wherein, The task allocation system is a contact center system.
15. The method according to claim 13, wherein, The first pairing strategy is a behavior pairing strategy, and the second pairing strategy is one of a first-in-first-out strategy and a performance-based routing strategy.
16. The method according to claim 13, wherein, The first pairing strategy is provided by the external pairing system, and the second pairing strategy is provided by one of the external pairing system and the internal pairing system of the task allocation system.
17. A system for benchmarking in an external pairing system communicatively coupled to a task assignment system, comprising: At least one computer processor, communicatively coupled to and configured to operate in the external pairing system, wherein the at least one computer processor is further configured to: The control flag and the baseline flag are received from the task allocation system via the application programming interface, wherein: The control flag indicates whether the historical task-agent pairing in the task allocation system is based on a response by the external pairing system to a routing request sent by the at least one computer processor; and The benchmark flag indicates whether historical task-agent pairings in the task allocation system are based on one of a first pairing strategy and a second pairing strategy; and The task allocation system transmits the current task-agent pairing based on one of the first pairing strategy and the second pairing strategy. The current task-seat pairing is further based, at least in part, on the control flag and the reference flag. The at least one computer processor is further configured to receive from the task allocation system events related to at least one of the tasks and agents in the current task-agent pairing, and The current task-seat pairing is further based on the event.
18. The system according to claim 17, wherein, The task allocation system is a contact center system.
19. The system according to claim 17, wherein, The first pairing strategy is a behavior pairing strategy, and the second pairing strategy is one of a first-in-first-out strategy and a performance-based routing strategy.
20. The system according to claim 17, wherein, The first pairing strategy is provided by the external pairing system, and the second pairing strategy is provided by one of the external pairing system and the internal pairing system of the task allocation system.
21. An article of manufacture for benchmarking in an external pairing system communicatively coupled to a task assignment system, comprising: Non-transient processor readable medium; as well as Instructions stored on the medium; The instructions are configured to be readable from the medium by at least one computer processor communicatively coupled to and operating in the external pairing system, and to cause the at least one computer processor to operate such that: The control flag and the baseline flag are received from the task allocation system via the application programming interface, wherein: The control flag indicates whether the historical task-agent pairing in the task allocation system is based on a response by the external pairing system to a routing request sent by the at least one computer processor; and The benchmark flag indicates whether historical task-agent pairings in the task allocation system are based on one of a first pairing strategy and a second pairing strategy; and The task allocation system transmits the current task-agent pairing based on one of the first pairing strategy and the second pairing strategy. The current task-seat pairing is further based, at least in part, on the control flag and the reference flag. The instructions are configured to cause the at least one computer processor to operate in order to further receive from the task allocation system events related to at least one of the tasks and agents in the current task-agent pairing, and The current task-seat pairing is further based on the event.
22. The article of claim 21, wherein, The task allocation system is a contact center system.
23. The article of claim 21, wherein, The first pairing strategy is a behavior pairing strategy, and the second pairing strategy is one of a first-in-first-out strategy and a performance-based routing strategy.
24. The article of manufacture according to claim 21, wherein, The first pairing strategy is provided by the external pairing system, and the second pairing strategy is provided by one of the external pairing system and the internal pairing system of the task allocation system.
Citation Information
Patent Citations
Techniques for behavioral pairing in a contact center system
US9300802B1
Techniques for benchmarking pairing strategies in a contact center system
US9712676B1
Techniques for hybrid behavioral pairing in a contact center system
US9781269B2
Techniques for hybrid behavioral pairing in a contact center system
US9787841B2
Techniques for behavioral pairing in a contact center system
US9930180B1