Method, System, and Medium for Behavior Pairing in a Multi-Stage Task Allocation System
By adopting behavioral pairing strategies in the multi-stage task allocation system and using a computer processor to determine the agent sequence and task pairing, the performance of the task allocation system is optimized, and the optimization problem of the behavioral pairing model in multi-stage task allocation is solved, achieving short-term efficient and long-term high performance effects.
Patent Information
- Application Number
- CN202410671200.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-12-04
- Filing Date
- 2019-02-27
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2039-02-27
AI Technical Summary
The existing task allocation system is difficult to optimize the behavioral pairing model in multi-stage task allocation, resulting in poor task processing efficiency and performance.
One or more features of a task are determined by a computer processor, the agent sequence is determined based on these features, and the task is paired with the agent, and the behavioral pairing strategy is used to optimize the performance of the multi-stage task allocation system.
Improve the performance of the task allocation system in a short period of time, but achieve higher overall performance over a long period of time, reducing the average total disposal time of the task over multiple stages.
Smart Images

Figure CN118606014B_ABST
Abstract
Description
[0001] This application is a divisional application of the patent application with application number 201980071925.6 (PCT / US2019 / 019706) filed on April 29, 2021, with an international application date of February 27, 2019, and the invention name is "Method, system and medium for behavior pairing in a multi-stage task assignment system".
[0002] This international patent application claims priority to U.S. patent application No. 16 / 209,295, filed on December 4, 2018, the entire contents of which are incorporated by reference as if fully set forth herein. Technical Field
[0003] The present disclosure relates generally to behavior pairing, and more particularly, to techniques for behavior pairing in a multi-stage task allocation system. Background Art
[0004] A typical task allocation system algorithmically assigns tasks arriving at the task allocation system to agents available to handle them. Sometimes, the task allocation system may have available agents waiting to be assigned tasks. Other times, the task allocation system may have tasks waiting in one or more queues for agents to become available for assignment.
[0005] In some typical task allocation systems, tasks are assigned to agents in a sequence based on arrival time, and agents receive tasks in a sequence based on when they 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, multiple tasks are waiting in a queue to be assigned to an agent. When an agent becomes available, the task at the head of the queue is selected for assignment.
[0006] Some task dispatching systems prioritize certain types of tasks over other types of tasks. For example, some tasks may be high priority tasks while others are low priority tasks. Under a FIFO policy, high priority tasks will be dispatched before low priority tasks.
[0007] In other typical task allocation systems, performance-based routing (PBR) strategies can be implemented to prioritize task allocation to agents with higher performance. For example, under PBR, the highest-performing agent among the available agents receives the next available task. Other PBR and PBR-like strategies can use specific information about the agent for allocation, rather than relying on specific information about the task.
[0008] In some typical task assignment systems, a behavioral pairing (BP) model can be generated based on historical task and agent assignment data to optimize the performance of the task assignment system. For example, in a contact center environment, a BP model can be calibrated to optimize revenue or reduce average handling time in a sales or customer service queue.
[0009] In some task distribution systems, such as enterprise resource planning (ERP) systems (eg, prescription fulfillment systems), a single task (eg, a prescription order) may require multiple processing stages handled by multiple types of agents.
[0010] In view of the foregoing, it can be appreciated that a behavior pairing model that can optimize a multi-stage task allocation system may be desired. Summary of the Invention
[0011] A technique for behavior pairing in a multi-stage task assignment system is disclosed. In one specific embodiment, the technique can be implemented as a method for behavior pairing in a multi-stage task assignment system, comprising: determining, by at least one computer processor, one or more characteristics of a task, the at least one computer processor being communicatively coupled to and configured to operate in the multi-stage task assignment system; determining, by the at least one computer processor and based at least on the one or more characteristics of the task, an agent sequence; and pairing, by the at least one computer processor, the task with the agent sequence.
[0012] According to other aspects of this particular embodiment, the multi-stage task assignment system may be a contact center system or a prescription fulfillment system.
[0013] According to other aspects of this particular embodiment, determining the agent sequence may include improving performance of the multi-stage task allocation system.
[0014] According to other aspects of this particular embodiment, determining the agent sequence may include using a behavior pairing strategy.
[0015] According to other aspects of this particular embodiment, the sequence of agents may have a lower expected performance over a short period of time than another sequence of agents, but a higher expected overall performance over a longer period of time.
[0016] According to other aspects of this particular embodiment, determining the agent sequence may include optimizing the multi-stage task allocation system to reduce an average total handling time of the task over a plurality of stages.
[0017] In another specific embodiment, the technology can be implemented as a system for behavior pairing in a multi-stage task allocation system, including at least one computer processor communicatively coupled to the multi-stage task allocation system and configured to operate in the multi-stage task allocation system, wherein the at least one computer processor is further configured to perform the steps in the above method.
[0018] In another specific embodiment, the technology can be implemented as an article for behavior pairing in a multi-stage task allocation system, comprising a non-transitory processor-readable medium; and instructions stored on the medium; wherein the instructions are configured to be capable of being read from the medium by at least one computer processor that is communicatively coupled to the multi-stage task allocation system and configured to operate in the multi-stage task allocation system, and thereby cause the at least one computer processor to operate so as to perform the steps in the above-mentioned method.
[0019] The present disclosure will now be described in more detail with reference to specific embodiments of the disclosure as shown in the accompanying drawings. Although the present disclosure is described below with reference to specific embodiments, it should be understood that the present disclosure is not limited thereto. Those of ordinary skill in the art who have access to the teachings herein will recognize other embodiments, modifications, and embodiments and other areas of use that fall within the scope of the present disclosure as described herein, and with respect thereto, the present disclosure may have important uses. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to facilitate a more complete understanding of the present disclosure, reference is now made to the accompanying drawings, in which like elements are represented by like reference numerals. These drawings should not be construed as limiting the present disclosure, but are intended to be illustrative only.
[0021] Figure 1 A block diagram of a single-stage task allocation system according to an embodiment of the present disclosure is shown.
[0022] Figure 2 A block diagram of a multi-stage task allocation system according to an embodiment of the present disclosure is shown.
[0023] Figure 3 A block diagram of a prescription fulfillment system according to an embodiment of the present disclosure is shown.
[0024] Figure 4 A block diagram of a multi-stage task allocation system according to an embodiment of the present disclosure is shown.
[0025] Figure 5 A block diagram of a prescription fulfillment system according to an embodiment of the present disclosure is shown.
[0026] Figure 6 A flowchart of a multi-stage task allocation method according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0027] A typical task allocation system algorithmically distributes tasks arriving at the task allocation system to agents available to handle those tasks. Sometimes, the task allocation system may have agents available and waiting to be assigned tasks. Other times, the task allocation system may have tasks waiting in one or more queues for agents to become available for assignment.
[0028] In some typical task allocation systems, tasks are assigned to agents in a sequence based on arrival time, and agents receive tasks in a sequence based on when they 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, multiple tasks are waiting in a queue to be assigned to an agent. When an agent becomes available, the task at the head of the queue is selected for assignment.
[0029] Some task dispatching systems prioritize certain types of tasks over other types of tasks. For example, some tasks may be high priority tasks while others are low priority tasks. Under a FIFO policy, high priority tasks may be dispatched before low priority tasks.
[0030] In other typical task allocation systems, performance-based routing (PBR) strategies can be implemented to prioritize task allocation to agents with higher performance. For example, under PBR, the highest-performing agent among the available agents receives the next available task. Other PBR and PBR-like strategies can use specific information about agents for allocation, rather than relying on specific information about tasks.
[0031] In some typical task assignment systems, a behavioral pairing (BP) model can be generated based on historical task and agent assignment data to optimize the performance of the task assignment system. For example, in a contact center environment, a BP model can be calibrated to optimize revenue or reduce average handling time in a sales or customer service queue.
[0032] In some task distribution systems, such as enterprise resource planning (ERP) systems (eg, prescription fulfillment systems), a single task (eg, a prescription order) may require multiple processing stages handled by multiple types of agents.
[0033] In view of the foregoing, it can be appreciated that a behavior pairing model that can optimize a multi-stage task allocation system may be desired.
[0034] The description herein describes network elements, computers and / or components of a system and method for benchmarking pairing strategies in a task allocation system that may include one or more modules. As used herein, the term "module" may be understood to refer to computing software, firmware, hardware and / or various combinations thereof. However, a module should not be interpreted as software implemented on hardware, firmware, or recorded on a non-transitory processor-readable recordable storage medium (i.e., a module is not the software itself). Note that these modules are exemplary. Modules can be combined, integrated, separated and / or replicated to support various applications. In addition, instead of or in addition to the functions performed at a particular module, the functions described herein as being performed at a particular module may be performed at one or more other modules and / or by one or more other devices. In addition, modules may be implemented across multiple devices and / or other components that are local or remote to each other. In addition, a module may be removed from one device and added to another device, and / or may be included in two devices.
[0035] Figure 1 A block diagram of a single-stage task allocation system 100 according to an embodiment of the present disclosure is shown. The single-stage task allocation system 100 may include a task allocation module 110. The task allocation module 110 may include a switch or other type of routing hardware and software to help allocate tasks among various agents, including queuing or switching components or other Internet, cloud, or network-based hardware or software solutions.
[0036] The task assignment module 110 can receive incoming tasks. Figure 1 In the example of FIG, the task assignment module 110 receives m tasks, tasks 130A-130m, within a given time period. Each of the m tasks can be assigned to an agent of the single-stage task assignment system 100 for service or other types of task processing. Figure 1 In the example, during a given time period, there are n agents, namely, agents 120A-120n, available. When each of the m tasks is handled by one of the n agents, task assignment module 110 can provide m outputs (or results) 170A-170m corresponding to tasks 130A-130m. m and n can be arbitrarily large, finite integers greater than or equal to 1. In a real-world task assignment system, such as a contact center, there may be tens, hundreds, etc. of agents logged into the contact center to interact with contacts during a shift, and the contact center may receive tens, hundreds, thousands, etc. of contacts (e.g., calls) during a shift.
[0037] In some embodiments, the task assignment strategy module 140 may be communicatively coupled to and / or configured to operate within the single-stage task assignment system 100. The task assignment strategy module 140 may implement one or more task assignment strategies (or "pairing strategies") or one or more models of task assignment strategies for assigning a single task to a single agent (e.g., pairing a contact with a contact center agent). For a given task queue (e.g., a sales queue in a contact center system, a call center queue for door calls or field dispatch, a claims processing center queue for insurance claims or subrogation cases, etc.), the task assignment strategy module 140 may implement one or more models for one or more conditions or objectives. For example, in a sales queue, one objective might be to increase the total revenue generated by agents handling tasks in the sales queue (e.g., speaking with callers in a call center who are interested in purchasing services from the agent's company). A second objective might be to reduce the average handle time (AHT) for tasks (e.g., completing sales calls relatively quickly). Historical task-agent pairing data may be available (eg, from the historical assignment module 150 described below) that includes revenue and duration information, and two different models or sets of models may be generated that are calibrated towards the respective goals of increasing revenue or reducing average handle time.
[0038] The task allocation strategy module 140 can design and implement a variety of different task allocation strategies and make them available to the task allocation module 110 at runtime. In some embodiments, a FIFO strategy can be implemented, where, for example, the agent with the longest wait time receives the next available task (in an L1 environment), or the task with the longest wait time is assigned to the next available task (in an L2 environment). Other FIFO and FIFO-like strategies can make allocations without relying on information specific to individual tasks or individual agents.
[0039] In other embodiments, a PBR strategy can be implemented to prioritize task assignments to higher-performing agents. For example, under PBR, the highest-performing agent among available agents receives the next available task. Other PBR and PBR-like strategies can use information about specific agents for assignments, rather than relying on information about specific tasks or agents.
[0040] In yet other embodiments, a BP strategy can be used to use information about specific tasks and specific agents to optimally assign tasks to agents. Various models of BP strategies can be used, such as a diagonal model BP strategy, a spend matrix BP strategy, or a network flow BP strategy. These and other task assignment strategies are described in detail for the contact center context, for example, in U.S. Patent No. 9,300,802 and U.S. Patent No. 9,930,180, which are incorporated herein by reference. BP strategies can be applied in an "L1" environment (agents remaining, one task; selecting from multiple available / free agents), an "L2" environment (tasks remaining, one available / free agent; selecting from multiple tasks in a queue), and an "L3" environment (multiple agents and multiple tasks; selecting from a paired permutation).
[0041] In some embodiments, the task allocation strategy module 140 can be configured to switch from one task allocation strategy to another, or from one task allocation strategy model to another, in real time. The goal of optimizing the single-stage task allocation system 100, or a specific queue within the single-stage task allocation system 100, can be modified at runtime (i.e., in real time) based on conditions or parameters within the single-stage task allocation system 100 that can change at any time. For example, the condition can be based on the size of the task queue. When the single-stage task allocation system 100 is operating in L1 (i.e., seat availability), or when the size of the task queue in L2 is less than (or equal to) a certain size (e.g., 5, 10, 20 tasks, etc.), the single-stage task allocation system 100 can operate with the goal of increasing revenue, and the task allocation strategy module 140 can select a model or model set corresponding to this goal. When the single-stage task allocation system 140 detects that the size of the task queue in L2 is greater than (or equal to) a threshold size, the task allocation strategy module 140 can switch to operating with the goal of reducing average processing time and switch to a model or model set corresponding to the new goal. Examples of other goals may include improving customer satisfaction (e.g., customer satisfaction (CSAT) scores or net promoter scores), increasing upgrade / cross-sell rates, increasing customer retention, reducing AHT, etc. Examples of other conditions or parameters may include switching between L1 and L2 (i.e., switching between agent remaining and task remaining conditions), unexpected reduction in capacity (e.g., site / queue / agent workstation / server / switch failure or recovery), number of agents assigned to task queues (or number of available / logged in / idle agents), schedule / cycle-based changes to goals and models (which can be benchmarked similarly to benchmarking on / off cycles between two paired strategies, as described below), time of day or elapsed time (for altitude-based cycling and benchmarking of models), etc.
[0042] In some embodiments, an operator or administrator of the single-stage task assignment system 100 can manually select or switch a target or model. In response to the operator's selection, the task assignment policy module 140 can switch models in real time. In other embodiments, the task assignment policy module 140 can monitor certain conditions or parameters of the single-stage task assignment system 100 and, in response to detecting specific changes in these conditions or parameters, automatically select or switch targets and models. In other embodiments, the conditions that trigger switching targets or models can be automatically determined by analyzing historical task-agent assignment data (which can be obtained from the historical assignment module 150 described below) as part of a hypermodel or metamodel.
[0043] In some embodiments, historical assignment module 150 may be communicatively coupled to and / or configured to operate within single-stage task assignment system 100 via other modules, such as task assignment module 110 and / or task assignment strategy module 140. Historical assignment module 150 may be responsible for various functions, such as monitoring, storing, retrieving, and / or outputting information about agent task assignments that have occurred. For example, historical assignment module 150 may monitor task assignment module 110 to collect information about task assignments over a given time period. Each record of a historical task assignment may include information such as an agent identifier, a task or task type identifier, outcome information, or a pairing strategy identifier (i.e., an identifier indicating whether the task assignment was made using a BP pairing strategy or some other pairing strategy, such as a FIFO or PBR pairing strategy).
[0044] In some embodiments and for certain contexts, additional information may be stored. For example, in the context of a call center, the historical assignment module 150 may also store information regarding the call start time, call end time, the phone number dialed, and the caller's phone number. For another example, in the context of a dispatch center (e.g., "truck-out maintenance"), the historical assignment module 150 may also store information regarding the time the driver (i.e., field agent) left the dispatch center, the recommended route, the route taken, the estimated travel time, the actual travel time, the time spent at the customer site handling the customer task, and so on.
[0045] In some embodiments, the historical allocation module 150 can generate a pairing model or a similar computer processor-generated model based on a set of historical allocations over a period of time (e.g., the past week, the past month, the past year, etc.), which can be used by the task allocation strategy module 140 to make task allocation recommendations or instructions to the task allocation module 110. In other embodiments, the historical allocation module 150 can send the historical allocation information to another module (such as the task allocation strategy module 140 or the benchmarking module 160 described next).
[0046] In some embodiments, benchmarking module 160 can be communicatively coupled to single-stage task assignment system 100 and / or configured to operate within single-stage task assignment system 100, using other modules such as task assignment module 110 and / or historical assignment module 150. Benchmarking module 160 can benchmark the relative performance of two or more pairing strategies (e.g., FIFO, PBR, BP, etc.) using historical assignment information, which can be received from, for example, historical assignment module 150. In some embodiments, benchmarking module 160 can perform other functions, such as establishing a benchmarking schedule for cycling through 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, incorporated herein by reference, for the contact center context.
[0047] In some embodiments, the benchmarking module 160 can output or otherwise report or use relative performance measures. The relative performance measures can be used to evaluate the quality of a task allocation strategy to determine, for example, whether a different task allocation strategy (or a different pairing model) should be used, or to measure the overall performance (or performance improvement) achieved in the single-stage task allocation system 100 while it is being optimized or configured to use one task allocation strategy instead of another.
[0048] Figure 2 A block diagram of a multi-stage task allocation system 200 according to an embodiment of the present disclosure is shown. Multi-stage task allocation system 200 may include k task allocation modules, task allocation modules 210.1-210.k, corresponding to k stages, i.e., stages 1-k. Each task allocation module 210 may include at least one switch or other type of routing hardware and software to facilitate task allocation among agents in each stage 1-k, including queuing or switching components or other internet-, cloud-, or network-based hardware or software solutions. k may be an arbitrarily large finite integer greater than or equal to 1.
[0049] Each task assignment module 210 can receive incoming tasks. Figure 2In the example shown in FIG. 2 , task assignment module 210 receives m tasks, namely tasks 230A-230m, within a given time period. Each of the m tasks can be sequentially assigned to an agent at each of stages 1-k by a corresponding task assignment module 210.1-210.k for service or other types of task processing. For example, during a given time period, x agents, namely agents 220.1A-220.1x, may be available at stage 1; y agents, namely agents 220.2A-220.2y, may be available at stage 2; and z agents, namely agents 220.kA-220.kx, may be available at stage k. As each of the m tasks becomes available for processing by an agent at a certain stage, the results can be provided to subsequent stages.
[0050] In some embodiments, as an exception handling or exception processing, the agent can roll back the task to any of the earlier stages (such as Figure 2 ). As long as the task is serviced or processed at each stage, the task assignment module 210 can provide corresponding outputs. For example, the task assignment module 210 can provide outputs (or results) 270A-270m corresponding to tasks 230A-230m. In some embodiments, one or more of stages 1-k can be skipped. In some embodiments, an agent can have more than one role or skill. In some embodiments, agents can be paired multiple times in a sequence for the same task. m, x, y, and z can be arbitrarily large finite integers greater than or equal to 1. In a real-world task assignment system, such as a prescription fulfillment system, there may be tens, hundreds, etc. of clerks, technicians, and pharmacists logged into various stages of the prescription fulfillment system to process prescription orders during a shift, and during a shift, the prescription fulfillment system may receive tens, hundreds, thousands, etc. of prescription orders.
[0051] In some embodiments, when a task encounters an exception (e.g., an exception at any stage or a rollback to an earlier stage) or requires another processing step involving another type of agent (e.g., a supervisory agent marking the task for review or approval before completion), the task assignment module 210 may assign the task to a specific stage (e.g., a specific type of agent) and / or to a specific agent at a specific stage. In some embodiments, the stage handling the exception event may have a queue of tasks awaiting exception processing and / or normal processing. In these embodiments, the task assignment module 210 may not assign tasks in the order of the queue. For example, the task assignment module 210 may assign a task that has encountered an exception earlier than another normal task or another task that has encountered an exception, in order to improve the overall performance of the task assignment system, such as the productivity or efficiency of the task assignment system according to one or more performance metrics.
[0052] In some embodiments, although Figure 2 Although not shown, each task allocation module 210.1-210.k can be communicatively coupled to one or more of a task allocation policy module (e.g., task allocation policy module 140), a historical allocation module (e.g., historical allocation module 150), and a benchmark module (e.g., benchmark module 160). In other embodiments, the task allocation modules 210.1-210.k can be communicatively coupled to the same task allocation policy module, historical allocation module, and / or benchmark module.
[0053] For each or all stages 1-k in the multi-stage task assignment system 200, the task assignment strategy module can implement one or more task assignment strategies or pairing strategies (e.g., FIFO, PBR, BP, etc.), or one or more models of task assignment strategies for assigning a single task to a single agent. In some embodiments, the task assignment strategy module can be configured to switch from one task assignment strategy to another, or from one model of task assignment strategy to another, in real time to accommodate real-time changes in the optimization objectives of each or all stages of the multi-stage task assignment system 200.
[0054] At each or all stages 1-k of the multi-stage task assignment system 200, the historical assignment module can monitor, store, retrieve, and / or output information about agent task assignments that have already been made. The historical assignment module can generate a pairing model or similar computer-processor-generated model based on a set of historical assignments over a period of time (e.g., the past week, the past month, the past year, etc.), which can be used by the task assignment strategy module to make task assignment recommendations or instructions to each or all of the task assignment modules 210.1-210.k. The historical assignment module can send the historical assignment information to another module, such as a task assignment strategy module or a benchmarking module.
[0055] In each or all stages 1-k of the multi-stage task allocation system 200, a benchmarking module can use historical allocation information to benchmark the relative performance of two or more pairing strategies (e.g., FIFO, PBR, BP, etc.), which can be received from, for example, the historical allocation module. The benchmarking module can perform other functions, such as establishing a benchmarking schedule for cycling through various pairing strategies, tracking groups, etc. The benchmarking module can output or otherwise report or use relative performance measurements. The relative performance measurements can be used to evaluate the quality of the task allocation strategies to determine, for example, whether a different task allocation strategy (or a different pairing model) should be used, or to measure the overall performance (or performance improvement) achieved within the multi-stage task allocation system 200 or within each stage 1-k while optimizing or configuring one task allocation strategy to replace another.
[0056] Figure 3 1 shows a block diagram of a prescription fulfillment system 300 according to an embodiment of the present disclosure. Figure 3 In the example shown, prescription fulfillment system 300 includes three stages with three types of agents: clerk, technician, and pharmacist. Clerks typically identify patients and perform other common pre-processing or clerical functions, such as verifying name and address information, updating patient identification numbers, verifying insurance benefits, etc. Technicians typically review prescriptions to obtain technical information, such as the name and type of medication, dosage, generic alternatives, interactions with other medications, etc. Pharmacists typically review and approve the final prescription. Thus, prescription fulfillment system 300 is shown as having three stages, Stages 1-3, one for each of the three types of agents.
[0057] exist Figure 3 In the example of FIG, the prescription fulfillment system 300 receives m prescription orders, Rx A-Rx m. The m prescription orders can be in the form of a conventional paper prescription from a doctor or physician, an electronic prescription or e-prescription, an email / web order, a phone call from a doctor or physician's office, etc. In a typical sequence, each of the prescription orders Rx A-Rx m passes through three stages, from obtaining the prescription to shipping the associated medication. First, the clerk-Rx allocation module assigns the prescription to one of x clerks. After processing by the clerk, the technician-Rx allocation module assigns the prescription to one of y technicians. After processing by the technician, the pharmacist-Rx allocation module assigns the prescription for processing and approval by one of z pharmacists, after which the medication associated with the prescription is shipped, delivered, or otherwise provided to the patient.
[0058] As an exception handling or exception processing, each type of agent can reject the prescription order or return the prescription order to an earlier stage (e.g. Figure 3). For example, if the technician at Stage 2 is unable to look up the patient information, the order may be returned to the staff at Stage 1. In some embodiments, if the technician is unable to read the dosage, the technician may initiate an outbound call to the prescribing physician or return the order to the staff for a call. If the pharmacist at Stage 3 detects a potentially dangerous interaction with another prescription or any other number of issues, the pharmacist may reject the prescription or return it to the technician at Stage 2 or the staff at Stage 1. These rejections and processing delays may increase the time it takes from ordering a prescription to fulfilling the order to shipping the medication. Different types of prescription orders may require different seating sequences (e.g., technician only, staff or pharmacist, staff / technician / pharmacist, or different sequences of seating (staff / technician or technician / staff).
[0059] In some embodiments, when a prescription order encounters an exception (e.g., an exception at any stage or a return to an earlier stage), the allocation modules in stages 1-3 can allocate the prescription order to a specific stage (e.g., a clerk, technician, or pharmacist) and / or to a specific clerk, technician, or pharmacist at a specific stage. In some embodiments, the stage handling the exception event can have a queue of prescription orders awaiting exception handling and / or normal handling. In these embodiments, the allocation modules in stages 1-3 may not allocate prescription orders in the order of the queue. For example, the allocation modules in stages 1-3 may allocate a prescription order that has encountered an exception earlier than another normal prescription order or another prescription order that has encountered an exception, in order to improve the overall performance of the prescription fulfillment system, such as the productivity or efficiency of the prescription fulfillment system according to one or more performance indicators.
[0060] In some embodiments, although Figure 3 Not shown, each of the Clerk-Rx, Technician-Rx, and Pharmacist-Rx assignment modules can be communicatively coupled to one or more of the Task Allocation Strategy Module, the Historical Allocation Module, and the Benchmarking Module. In other embodiments, the Clerk-Rx, Technician-Rx, and Pharmacist-Rx assignment modules can be communicatively coupled to the same Task Allocation Strategy Module, the Historical Allocation Module, and / or the Benchmarking Module.
[0061] For each or all stages 1-3 of prescription fulfillment system 300, the task assignment strategy module can implement one or more task assignment strategies or pairing strategies (e.g., FIFO, PBR, BP, etc.), or one or more models of task assignment strategies for assigning prescription orders to various staff members, technicians, or pharmacists. The task assignment strategy module can select the most appropriate pairing strategy to improve accuracy, reduce return rates (i.e., exception handling rates), lower error rates, improve customer satisfaction, or reduce handling / processing time. In some embodiments, the task assignment strategy module can be configured to switch from one task assignment strategy to another, or from one model of task assignment strategy to another, in real time to adapt to real-time changes in the goals for optimizing each or all stages of prescription fulfillment system 300.
[0062] At each or all of stages 1-3 of the prescription fulfillment system 300, the historical assignment module can monitor, store, retrieve, and / or output information regarding staff / technician / pharmacist prescription order assignments that have occurred. The historical assignment module can generate a pairing model or similar computer processor-generated model based on a set of historical assignments over a period of time (e.g., the past week, the past month, the past year, etc.), which can be used by the task assignment strategy module to make task assignment recommendations or instructions to each or all of the staff-Rx, technician-Rx, and pharmacist-Rx assignment modules. The historical assignment module can send the historical assignment information to another module, such as a task assignment strategy module or a benchmarking module.
[0063] In each or all phases 1-3 of prescription fulfillment system 300, a benchmarking module can benchmark the relative performance of two or more pairing strategies (e.g., FIFO, PBR, BP, etc.) using historical allocation information, which can be received from, for example, the historical allocation module. The benchmarking module can perform other functions, such as establishing a benchmarking schedule for cycling through various pairing strategies, tracking groups, etc. The benchmarking module can output or otherwise report or use relative performance metrics. The relative performance metrics can be used to evaluate the quality of task allocation strategies to determine, for example, whether a different task allocation strategy (or a different pairing model) should be used, or to measure the overall performance (or performance improvement) achieved within prescription fulfillment system 300 or within each phase 1-3 while optimizing or configuring one task allocation strategy to replace another.
[0064] Figure 4A block diagram of a multi-stage task allocation system 400 according to an embodiment of the present disclosure is shown. Multi-stage task allocation system 400 may include a multi-stage task allocation module 410. Multi-stage task allocation module 410 may include at least one switch or other type of routing hardware and software to facilitate task allocation among agents in each of stages 1-k, including queuing or switching components or other internet-, cloud-, or network-based hardware or software solutions. k may be an arbitrarily large finite integer greater than or equal to 1.
[0065] The multi-stage task assignment module 410 can receive incoming tasks. Figure 4 In the example shown in FIG. 4 , multi-stage task allocation module 410 receives m tasks, namely, tasks 430A-430m, within a given time period. Multi-stage task allocation module 410 can assign each of the m tasks to an agent in any order, in any of stages 1-k, for service provision or other types of task processing. During a given time period, x agents, namely, agents 420.1A-420.1x, may be available in stage 1; y agents, namely, agents 420.2A-420.2y, may be available in stage 2; and z agents, namely, agents 420.kA-420.ky, may be available in stage k. When each of the m tasks, from any or all of stages 1-k, is available for processing in the agent's desired or optimized order, multi-stage task allocation module 410 can provide corresponding outputs. For example, multi-stage task allocation module 410 can provide m outputs (or results) 470A-470m corresponding to tasks 430A-430m. In some embodiments, one or more of stages 1-k may be skipped. In some embodiments, an agent may have more than one role or skill. In some embodiments, agents may be paired multiple times in a sequence for the same task. m, x, y, and z may be arbitrarily large finite integers greater than or equal to 1.
[0066] In some embodiments, task assignment strategy module 440 can be communicatively coupled to and / or configured to operate within multi-stage task assignment system 400. Task assignment strategy module 440 can implement one or more task assignment strategies or pairing strategies (e.g., FIFO, PBR, BP, etc.), or one or more models of task assignment strategies, for assigning a single task to a single agent in any of stages 1-k. In some embodiments, task assignment strategy module 440 can be configured to switch from one task assignment strategy to another, or from one model of task assignment strategy to another, in real time to accommodate real-time changes in the goal of optimizing agent-task assignments at any of stages 1-k of multi-stage task assignment system 400. In some embodiments, pairing a task with an agent sequence can have a lower expected performance over a shorter period of time than pairing a task with another sequence of agents, but can have a higher expected overall performance over a longer period of time.
[0067] In some embodiments, historical assignment module 450 can be communicatively coupled to multi-stage task assignment system 400 and / or configured to operate within multi-stage task assignment system 400 with other modules, such as task assignment module 410 and / or task assignment strategy module 440. Historical assignment module 450 can monitor, store, retrieve, and / or output information regarding agent-task assignments that have occurred at any of stages 1-k. Historical assignment module 450 can generate a pairing model or similar computer-processor-generated model based on a set of historical assignments over a period of time (e.g., the past week, the past month, the past year, etc.), which can be used by task assignment strategy module 440 to make task assignment recommendations or instructions to multi-stage task assignment module 410. Historical assignment module 450 can send the historical assignment information to another module, such as task assignment strategy module 440 or benchmarking module 460, described below.
[0068] In some embodiments, benchmarking module 460 can be communicatively coupled to multi-stage task assignment system 400 and / or configured to operate within multi-stage task assignment system 400 using other modules, such as task assignment module 410 and / or task assignment strategy module 440. Benchmarking module 460 can benchmark the relative performance of two or more pairing strategies (e.g., FIFO, PBR, BP, etc.) using historical assignment information, which can be received from, for example, historical assignment module 450. Benchmarking module 460 can perform other functions, such as establishing a benchmarking schedule for cycling through various pairing strategies, tracking cohorts, and the like. Benchmarking module 460 can output or otherwise report or use relative performance measures. Relative performance measures can be used to evaluate the quality of task assignment strategies to determine, for example, whether a different task assignment strategy (or a different pairing model) should be used, or to measure the overall performance (or performance improvement) achieved when pairing tasks with agents from any of stages 1-k, while optimizing agent-task pairings, or when replacing one task assignment strategy with another for agent-task pairings.
[0069] In some embodiments, the task assignment sequence module 480 may be communicatively coupled to the multi-stage task assignment system 400 and / or configured to operate within the multi-stage task assignment system 400, using other modules, such as the task assignment module 410, the task assignment strategy module 440, the historical assignment module 450, and / or the benchmarking module 460. To address discrepancies in tasks 430A-430m, the task assignment sequence module 480 may optimize the sequence of agents from any or all of stages 1-k to optimize the performance of the multi-stage task assignment system 400. For example, behavior pairing may be used to pair tasks with sequences of agents (e.g., agent 420.1A from stage 1, followed by agent 420.2A from stage 2, ..., followed by agent 420.kB from stage k). The task allocation sequence module 480 can provide an optimal sequence to the multi-stage task allocation module 410 based on information about the tasks 430A-430m and / or information from the task allocation strategy module 440, the historical allocation module 450, and / or the benchmarking module 460. In some environments, such as the multi-stage task allocation system 200, pairing the entire sequence (or multiple stages of the entire sequence) can improve optimization over pairing a single stage at a time.
[0070] exist Figure 4 In the example shown in FIG4 , in addition to any agent in any of stages 1-k being able to return a task to an earlier stage (as indicated by the dashed arrows between the stages), any agent from any of stages 1-k can also return a task to the task assignment sequence module 480 to trigger reassignment of the task to a new agent sequence.
[0071] In some embodiments (not shown), a task may encounter other types of exception handling, triggering reassignment of the task to a new agent or any other stage 1-k within the current stage or any other stage 1-k. Reassigned tasks that encounter an exception may be added to a queue of regular tasks or other tasks that encounter an exception. Queued tasks may also be assigned to agents within a stage, out of queue order, to optimize the overall performance of the task assignment system according to one or more performance metrics (e.g., productivity, efficiency).
[0072] Figure 5 A block diagram of a prescription fulfillment system 500 according to an embodiment of the present disclosure is shown. Prescription fulfillment system 500 includes three stages with three types of agents: clerk, technician, and pharmacist. Prescription fulfillment system 500 includes a multi-stage Rx dispatch module 510. Multi-stage Rx dispatch module 510 receives m prescription orders, namely, Rx A through Rx M. Multi-stage Rx dispatch module 510 dispatches each of the m prescription orders, in any order, to any of x clerks in stage 1, y technicians in stage 2, and z pharmacists in stage 3, so that Drug A through Drug M are shipped, delivered, or otherwise administered to the corresponding patient. This configuration allows prescription fulfillment system 500 to minimize the total processing time across all stages of the "prescription-to-shipment" process. Prescription fulfillment system 500 can employ a multi-stage action pairing algorithm to optimize the total processing time for all prescriptions over time, rather than optimizing the individual processing times for each stage of each individual prescription order.
[0073] The Rx allocation strategy module 540 is communicatively coupled to the prescription fulfillment system 500 and / or configured to operate within the prescription fulfillment system 500. The Rx allocation strategy module 540 can implement one or more Rx allocation strategies or pairing strategies (e.g., FIFO, PBR, BP, etc.), or one or more models of Rx allocation strategies, for allocating a single Rx to a single clerk, technician, or pharmacist at any of stages 1-3. The Rx allocation strategy module 540 can be configured to switch from one Rx allocation strategy to another, or from one model of Rx allocation strategy to another, in real time to accommodate changes in the goals of optimizing clerk / technician / pharmacist-Rx allocation at any of stages 1-3 of the prescription fulfillment system 500.
[0074] The historical allocation module 550 is communicatively coupled to the prescription fulfillment system 500 and / or configured to operate within the prescription fulfillment system 500, along with other modules, such as the multi-stage Rx allocation module 510 and / or the Rx allocation strategy module 540. The historical allocation module 550 can monitor, store, retrieve, and / or output information regarding staff / technician / pharmacist Rx allocations that have occurred at any of stages 1-3. The historical allocation module 550 can generate a pairing model or similar computer-processor-generated model based on a set of historical allocations over a period of time (e.g., the past week, the past month, the past year, etc.), which can be used by the Rx task allocation strategy module 540 to make Rx allocation recommendations or instructions to the multi-stage Rx allocation module 510. The historical allocation module 550 can send the historical allocation information to another module, such as the Rx allocation strategy module 540 or the benchmarking module 560, described below.
[0075] Benchmarking module 560 is communicatively coupled to prescription fulfillment system 500 and / or configured to operate within prescription fulfillment system 500 with other modules, such as multi-stage Rx allocation module 510 and / or historical allocation module 550. Benchmarking module 560 can benchmark the relative performance of two or more pairing strategies (e.g., FIFO, PBR, BP, etc.) using historical allocation information, which can be received from, for example, historical allocation module 550. Benchmarking module 560 can perform other functions, such as establishing a benchmarking schedule for cycling through various pairing strategies, tracking cohorts, and the like. Benchmarking module 560 can output or otherwise report or use relative performance measures. Relative performance measures can be used to evaluate the quality of Rx dispensing strategies to determine, for example, whether a different Rx dispensing strategy (or a different pairing model) should be used, or to measure the overall performance (or performance improvement) achieved when pairing prescriptions with staff, technicians, and / or pharmacists at each stage from Stages 1-3, while optimizing staff / technician / pharmacist-Rx pairings, or when one Rx dispensing strategy replaces another Rx dispensing strategy for staff / technician / pharmacist-Rx pairings.
[0076] The Rx allocation sequence module 580 is communicatively coupled to the prescription fulfillment system 500 and / or configured to operate within the prescription fulfillment system 500 along with other modules, such as the multi-stage Rx allocation module 510, the historical allocation module 550, and / or the benchmarking module 560. To resolve discrepancies between the m prescription orders (Rx A-Rx M), the Rx allocation sequence module 580 can optimize the sequence of the clerk, technician, and / or pharmacist from any or all of stages 1-3 to optimize the performance of the prescription fulfillment system 500. Either the technician or the pharmacist can roll back the prescription order to an earlier stage or to the Rx allocation sequence module 580 to trigger a new sequence that reassigns the prescription to the clerk, technician, and / or pharmacist.
[0077] In some embodiments (not shown), a prescription order may encounter other types of exception handling, thereby triggering the reassignment of the prescription order to a new clerk, technician, or pharmacist at any of the current or other stages. The reassigned task encountering an exception may be added to a queue of regular tasks or other tasks encountering an exception, and the queued tasks may be assigned to clerks, technicians, or pharmacists within their respective stages, out of queue order, to optimize the overall performance of the prescription fulfillment system according to one or more performance indicators (e.g., productivity, efficiency).
[0078] To add context to prescription fulfillment system 500, consider a prescription fulfillment system with two pharmacists: Pharmacist A is new and inexperienced, while Pharmacist B has over ten years of experience and a high rating. The system also has two technicians. Technician A has a relatively high error or return rate (i.e., pharmacists are more likely to return prescriptions to Technician A) compared to Technician B, who has a relatively low error or return rate. The system does not have any staff.
[0079] A pairing strategy that optimizes over the entire sequence preferably pairs some types of prescriptions with technician A and pharmacist B because pharmacist B is competent to handle prescriptions that technician A mismanaged. Other types of prescriptions are best paired with technician B and pharmacist A so that newer pharmacists can be trained and gain experience with prescriptions that have already been handled by competent technicians. A performance-based routing strategy preferably routes as many prescriptions as possible through technician B and pharmacist B. Even if these prescriptions are processed the fastest and with the lowest error rates, technician B and pharmacist B may become exhausted, while technician A and pharmacist A have fewer opportunities to learn and gain experience.
[0080] Furthermore, not all prescriptions are created equal. For example, particularly challenging, unusual, expensive, or risky prescriptions may be paired with Technician B and Pharmacist B, while particularly routine, inexpensive, or low-risk prescriptions may be preferentially paired with Technician A and Pharmacist A. This will allow Technician B and Pharmacist B to be available for higher-complexity prescriptions, even if Technician A and Pharmacist A will take longer to process lower-complexity prescriptions, while also balancing the utilization of all types of agents.
[0081] The performance of the system can be benchmarked or otherwise measured with respect to which metric should be optimized or which outcome should be tracked. For example, the handling time per agent, the total handling time from prescription to shipment, the frequency of prescription returns or reinstatements, medication types, error rates, etc. can be measured and recorded. There may also be constraints to reduce the number of outliers (e.g., prescriptions that take significantly longer than average) and to avoid inbound complaints where patients wait longer than expected for their medications to be shipped.
[0082] Figure 6 A multi-stage task assignment method 600 according to an embodiment of the present disclosure is shown. The multi-stage task assignment method 600 may begin at block 610. At block 610, one or more characteristics of a task in a multi-stage task assignment system may be determined. For example, in a prescription drug system, the level of risk associated with the prescription drug, the cost of the drug, the unusualness of the prescription, etc. may be determined. The multi-stage task assignment method 600 may proceed to block 620. At block 620, an agent sequence may be determined based at least on the one or more characteristics of the task. For example, the agent sequence may be determined to improve the performance of the multi-stage task assignment system and may be determined using a behavior pairing strategy. The agent sequence may be determined to optimize the multi-stage task assignment system to reduce the average total processing time of tasks across multiple stages. The multi-stage task assignment method 600 may proceed to block 630. At block 630, the task may be paired with the agent sequence. After the task and the agent sequence are paired, the multi-stage task assignment method 600 may end.
[0083] In some embodiments, the task assignment system and task assignment method can switch between multiple pairing models in real time based on a desired metric or combination of metrics to optimize the runtime conditions of the task assignment system. In some embodiments, the task assignment system can evaluate multiple models simultaneously and select the result that gives the best pairing for a single task assignment or task assignment sequence. The pairing model can take into account multiple goals, attributes, or variables, as well as the interdependencies or interactions among the multiple goals, attributes, or variables.
[0084] In some embodiments, the task allocation system and the task allocation method may take into account one or more constraints on pairing, which in some cases may conflict with each other.
[0085] In some embodiments, the task assignment system and task assignment method can group agents for the same agent batch. For example, if two prescriptions need to be assigned to the same physician for clarification, these tasks can be grouped into a single call or other assignment to the physician.
[0086] In this regard, it should be noted that the behavior pairing in the multi-stage task allocation system according to the present disclosure as described above may involve, to some extent, processing input data and generating output data. The input data processing and output data generation may be implemented in hardware or software. For example, specific electronic components may be employed in a behavior pairing module or similar or related circuits for implementing the functions associated with the behavior pairing in the multi-stage task allocation system according to the present disclosure as described above. Alternatively, one or more processors operating in accordance with instructions may implement the functions associated with the behavior pairing in the multi-stage task allocation system according to the present disclosure as described above. If this is the case, it is also within the scope of the present disclosure that these instructions may be stored on one or more non-transitory processor-readable storage media (e.g., disks or other storage media) or transmitted to one or more processors via one or more signals implemented in one or more carrier waves.
[0087] The present disclosure is not limited to the scope of the specific embodiments described herein. In fact, based on the foregoing description and the accompanying drawings, in addition to those described herein, various other embodiments and modifications of the present disclosure will be apparent to those of ordinary skill in the art. Therefore, these other embodiments and modifications are intended to fall within the scope of the present disclosure. In addition, although the present disclosure is described herein for at least one specific purpose, in at least one specific environment, in the context of at least one specific embodiment, it will be appreciated by those skilled in the art that its usefulness is not limited thereto, and the present disclosure can be advantageously implemented in any number of environments for any number of purposes. Therefore, as described herein, the claims set forth below should be interpreted in light of the full breadth and spirit of the present disclosure.
Claims
1. A method for pairing in a multi-stage task allocation system, the method comprising: receiving, by at least one computer processor, communicatively coupled to and configured to operate in the multi-stage task assignment system, a request to complete a first task, wherein the first task is associated with a plurality of stages of a plurality of subtasks to be performed by a plurality of agents; determining, by the at least one computer processor, one or more characteristics of each of the plurality of phases; as well as determining, by the at least one computer processor, a first agent sequence for the first task based on the one or more characteristics of each of the plurality of stages, a first task assignment strategy, and a plurality of historical agent-task assignments; Determining the first seat sequence includes determining a sequence for executing the plurality of subtasks to complete the first task, and allocating an available seat to each of the plurality of subtasks. wherein the first agent sequence increases a first performance indicator of the multi-stage task allocation system for the first task and decreases a second performance indicator of the multi-stage task allocation system for at least one stage in the plurality of stages; wherein the first agent sequence for the first task is determined by establishing at least one connection between one of the multiple stages and an agent in at least one exchange component of the multi-stage task allocation system, Wherein, the method further comprises: receiving, by the at least one computer processor, a second request to complete a second task when the first task has at least one uncompleted stage, wherein the second task includes a second plurality of stages; a second agent sequence is determined by the at least one computer processor, wherein the second agent sequence includes assigning available agents to an uncompleted stage of the first task and to at least one stage of the second plurality of stages of the second task, and wherein the second task is received by the multi-stage task assignment system after receiving the first task, and the second agent sequence prioritizes at least one stage of the second plurality of stages of the second task over the at least one uncompleted stage of the first task.
2. The method according to claim 1, further comprising: receiving, by the at least one computer processor, an instruction from an assigned agent of the first sequence of agents; A second agent sequence for the first task is determined by the at least one computer processor, wherein the second agent sequence includes assigning available agents to an uncompleted stage of the plurality of stages of the first task and assigning available agents to at least one previously completed stage of the plurality of stages.
3. The method according to claim 1, further comprising: Results of completed ones of the plurality of phases of the first task are provided, by the at least one computer processor, to agents associated with uncompleted ones of the plurality of phases, wherein the uncompleted ones of the plurality of phases are subsequent to the completed ones.
4. The method according to claim 1, wherein Determining the first agent sequence for the first task occurs over a period of time wherein selecting an available agent for a subsequent stage in the plurality of stages occurs after the multi-stage task assignment system receives notification that a previous stage has completed or is about to complete.
5. The method according to claim 1, further comprising: Receiving, by the at least one computer processor, an instruction for causing the task assignment system to determine an agent sequence based on a second task assignment strategy; as well as A second agent sequence is determined, by the at least one computer processor, for uncompleted stages of the plurality of stages of the first task.
6. A system for pairing in a multi-stage task allocation system, the system comprising: at least one computer processor communicatively coupled to the multi-stage tasking system and configured to operate within the multi-stage tasking system, wherein the at least one computer processor is further configured to: receiving a request to complete a first task, wherein the first task is associated with a plurality of stages of a plurality of subtasks to be performed by a plurality of agents; determining one or more characteristics of each of the plurality of stages; and determining a first agent sequence for the first task based on the one or more characteristics of each of the plurality of stages, a first task assignment strategy, and a plurality of historical agent-task assignments; Determining the first seat sequence includes determining a sequence for executing the plurality of subtasks to complete the first task, and allocating an available seat to each of the plurality of subtasks. wherein the first agent sequence increases a first performance indicator of the multi-stage task allocation system for the first task and decreases a second performance indicator of the multi-stage task allocation system for at least one stage in a plurality of stages; and wherein the first agent sequence for the first task is determined by establishing at least one connection between one of the multiple stages and an agent in at least one exchange component of the multi-stage task allocation system, Wherein, the at least one computer processor is further configured to: receiving a second request to complete a second task when the first task has at least one uncompleted stage, wherein the second task includes a second plurality of stages; determining a second agent sequence, wherein the second agent sequence comprises allocating available agents to an unfinished stage of the first task and at least one of the second plurality of stages of the second task, and After receiving the first task, the multi-stage task allocation system receives the second task, and the second agent sequence prioritizes at least one stage of the second plurality of stages of the second task over at least one uncompleted stage of the first task.
7. The system according to claim 6, wherein: The at least one computer processor is further configured to: receiving an instruction from an assigned agent of the first sequence of agents; A second agent sequence is determined for the first task, wherein the second agent sequence includes assigning available agents to uncompleted stages of the plurality of stages of the first task and assigning available agents to at least one previously completed stage of the plurality of stages.
8. The system according to claim 6, wherein: The at least one computer processor is further configured to provide a result of a completed stage of the plurality of stages of the first task to an agent associated with an uncompleted stage of the plurality of stages, wherein the uncompleted stage is located after the completed stage.
9. The system according to claim 6, wherein: Determining the first agent sequence for the first task occurs over a period of time wherein selecting an available agent for a subsequent stage in the plurality of stages occurs after the multi-stage task assignment system receives notification that a previous stage has completed or is about to complete.
10. The system according to claim 6, wherein: The at least one computer processor is further configured to: receiving an instruction for causing the task allocation system to determine an agent sequence based on a second task allocation strategy; and A second agent sequence is determined for uncompleted stages of the plurality of stages of the first task.
11. A multi-stage task allocation system comprising: at least one computer processor configured to receive, via a communication channel, a request to complete a first task, wherein the first task is associated with a plurality of stages of a plurality of subtasks to be performed by a plurality of agents; as well as One or more switches configured to route available agents to each of the plurality of subtasks, wherein determining a first agent sequence for the first task based on one or more characteristics of each of the plurality of stages, a first task assignment strategy, and a plurality of historical agent-task assignments; Determining the first agent sequence includes determining a sequence for performing the plurality of subtasks to complete the first task, and allocating an available agent to each of the plurality of subtasks. The first agent sequence increases a first performance indicator of the multi-stage task allocation system for the first task and decreases a second performance indicator of the multi-stage task allocation system for at least one stage in the plurality of stages. determining the first agent sequence for the first task by establishing at least one connection between one of the plurality of stages and an agent in at least one exchange component of the multi-stage task allocation system, The at least one computer processor is configured to: receiving a second request to complete a second task when the first task has at least one uncompleted stage, wherein the second task includes a second plurality of stages; determining a second agent sequence, wherein the second agent sequence comprises allocating available agents to an unfinished stage of the first task and to at least one of the second plurality of stages of the second task, The second task is received by the multi-stage task assignment system after receiving the first task, and wherein the second agent sequence prioritizes at least one stage of the second plurality of stages of the second task over at least one uncompleted stage of the first task.
12. The multi-stage task allocation system according to claim 11, wherein: The at least one computer processor is configured to: receiving an instruction from an assigned agent of the first sequence of agents; A second agent sequence is determined for the first task, wherein the second agent sequence includes assigning available agents to uncompleted stages of the plurality of stages of the first task and assigning available agents to at least one previously completed stage of the plurality of stages.
13. The multi-stage task allocation system according to claim 11, wherein: The at least one computer processor is configured to provide a result of a completed stage of the plurality of stages of the first task to an agent associated with an uncompleted stage of the plurality of stages, wherein the uncompleted stage is subsequent to the completed stage.
14. The multi-stage task allocation system according to claim 11, wherein: Determining the first agent sequence for the first task occurs over a period of time wherein selecting an available agent for a subsequent stage in the plurality of stages occurs after the multi-stage task assignment system receives notification that a previous stage has completed or is about to complete.
15. A computer processor readable storage medium storing instructions for pairing in a multi-stage task allocation system, wherein: The instructions are configured to be readable from the computer processor-readable storage medium by at least one computer processor communicatively coupled to and configured to operate in the multi-stage task allocation system, thereby causing the at least one computer processor to operate to: receiving a request to complete a first task, wherein the first task is associated with a plurality of stages of a plurality of subtasks to be performed by a plurality of agents; determining one or more characteristics of each of the plurality of stages; as well as determining a first agent sequence for the first task based on the one or more characteristics of each of the plurality of stages, a first task assignment strategy, and a plurality of historical agent-task assignments; Determining the first seat sequence includes determining a sequence for executing the plurality of subtasks to complete the first task, and allocating an available seat to each of the plurality of subtasks. wherein the first agent sequence increases a first performance indicator of the multi-stage task allocation system for the first task and decreases a second performance indicator of the multi-stage task allocation system for at least one stage in the plurality of stages; wherein the first agent sequence for the first task is determined by establishing at least one connection between one of the multiple stages and an agent in at least one exchange component of the multi-stage task allocation system, The instructions further cause the at least one computer processor to: receiving a second request to complete a second task when the first task has at least one uncompleted stage, wherein the second task includes a second plurality of stages; determining a second agent sequence, wherein the second agent sequence comprises allocating available agents to an unfinished stage of the first task and at least one of the second plurality of stages of the second task, and The second task is received after the first task is received, and the second agent sequence prioritizes at least one of the second plurality of stages of the second task over at least one uncompleted stage of the first task.
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 behavioral pairing in a contact center system
US9930180B1
Techniques for behavorial pairing in a contact center system
CN107924501A
Techniques for benchmarking performance in a contact center system
CN108780533A