HK40079352A - Techniques for behavioral pairing in a contact center system - Google Patents
Techniques for behavioral pairing in a contact center system Download PDFInfo
- Publication number
- HK40079352A HK40079352A HK42023067538.1A HK42023067538A HK40079352A HK 40079352 A HK40079352 A HK 40079352A HK 42023067538 A HK42023067538 A HK 42023067538A HK 40079352 A HK40079352 A HK 40079352A
- Authority
- HK
- Hong Kong
- Prior art keywords
- contact
- agent
- agents
- pairing
- center system
- Prior art date
Links
Description
The original application of the application is an invention patent application with the application date of 2018, 4 and 5 months and the application number of "201880001943.2", the application name of "european alfenidi science and technology limited liability company" and the invention name of "technology for behavior pairing in a contact center system". Meanwhile, the scheme is applied for the following divisional applications, the application date of which is 2018, 4 and 5 months, the application number of which is 202010735874.7, the application name of which is "Afenidi Co., ltd", the invention name of which is "technology for behavior pairing in a contact center system".
Cross Reference to Related Applications
This international patent application claims priority to U.S. patent application No.15/582,223, filed on 28, 4, 2017, and priority to U.S. patent application No.15/691,106, filed on 30, 8, 2017, which is a continuation of U.S. patent application No.15/582,223, filed on 28, 4, 2017, the entire contents of which are hereby incorporated by reference as if fully set forth herein.
Technical Field
The present disclosure relates generally to pairing contacts and agents in contact centers, and more particularly to techniques for behavioral pairing in contact center systems.
Background
A typical contact center algorithmically assigns contacts arriving at the contact center to agents that are available to handle the contacts. Sometimes, a contact center may have an agent available and wait for a contact (e.g., a phone call, an internet chat session, an email) assigned to an inbound or outbound. At other times, the contact center may have contacts waiting for agents in one or more queues to become available for distribution.
In some typical contact centers, contacts are assigned to agents that are sorted based on arrival time, and when these agents become available, the agents receive the contacts sorted based on the time. This strategy may be referred to as a "first-in-first-out", "FIFO", or "polling" strategy. In other typical contact centers, other policies may be used, such as "performance-based routing" or "PBR" policies.
In other more advanced contact centers, a "behavioral pairing" or "BP" policy is used to pair contacts with agents, under which the contacts and agents can be intentionally (preferably) paired in a manner that enables allocation of subsequent contact agent pairs, such that the benefits of FIFO and other policies, such as performance-based routing ("PBR") policies, may be exceeded when aggregating all allocated benefits under the BP policy. BP is designed to encourage balanced utilization (or utilization skewness) of agents within skilled queues while still improving overall contact center performance beyond that permitted by FIFO or PBR methods. This is a poor achievement because BP acts on the same call and the same agent as the FIFO or PBR method, providing a substantially uniform utilization of the agent as provided by the FIFO, still improving overall contact center performance. BP is described, for example, in U.S. patent No.9,300,802, the entire contents of which are incorporated herein by reference. Additional information regarding these and other features of a pairing or matching module (also sometimes referred to as a "SATMAP", "routing system", "routing engine", etc.) is described, for example, in U.S. patent No.8,879,715, the entire contents of which are hereby incorporated by reference.
The BP strategy may use a one-dimensional ordering of agents and contact types in conjunction with a diagonal strategy for determining preferred pairings. However, the policy may limit or otherwise define the types and numbers of variables that the BP policy may optimize, or may optimize the amount of one or more variables given more degrees of freedom.
In view of the foregoing, it can be appreciated that there is a need for a system that can improve the efficiency and performance of pairing strategies that are designed to select among a variety of possible pairings, such as BP strategies.
Disclosure of Invention
Techniques for behavioral pairing in a contact center system are disclosed. In one particular embodiment, the techniques may be realized as a method for behavioral pairing in a contact center system, comprising: determining, by at least one computer processor communicatively coupled and configured to operate in the contact center system, a plurality of agents available to connect to a contact; determining, by the at least one computer processor, a plurality of preferred contact-agent pairings of possible pairings between the contact and the plurality of agents; selecting, by the at least one computer processor, one of the plurality of preferred contact-agent pairs according to a probabilistic model; and outputting, by the at least one computer processor, the selected one of the plurality of preferred contact-agent pairs for contact in the contact center system.
According to other aspects of this particular embodiment, the probabilistic model may be a network flow model for balancing agent utilization, a network flow model for applying agent utilization skewing, a network flow model for optimizing an overall expected value of at least one contact center indicator. Meanwhile, the at least one contact center indicator may be at least one of revenue generation, customer satisfaction, and average processing time.
In accordance with other aspects of this particular embodiment, the probabilistic model may be a network flow model constrained by agent skills and contact skill requirements. At the same time, the network flow model may be adjusted to minimize agent utilization imbalance according to constraints of the agent skills and the contact skill requirements.
In accordance with other aspects of this particular embodiment, the probabilistic model may incorporate expected return values based on an analysis of at least one of historical contact-agent outcome data and contact attribute data.
In another particular embodiment, the techniques may be realized as a system for behavioral pairing in a contact center system, comprising at least one computer processor configured to operate in the contact center system, wherein the at least one computer processor is configured to perform the steps in the above-described method.
In another particular embodiment, the techniques may be implemented as an article of manufacture for behavioral pairing in a contact center system, comprising a non-transitory computer processor-readable medium; and instructions stored on the medium; wherein the instructions are configured to be read from the medium by at least one computer processor configured to operate in the contact center system, thereby causing the at least one computer processor to operate to perform the steps of the above-described method.
The present disclosure will now be described in more detail with reference to specific embodiments as illustrated 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 having access to the teachings herein will recognize additional implementations, modifications, and embodiments, as well as other fields of use, which are within the scope of the present disclosure as described herein, and with respect to which the present disclosure may be of significant utility.
Drawings
In order to facilitate a fuller understanding of the present disclosure, reference is now made to the accompanying drawings, in which like elements are referenced with like numerals. These drawings should not be construed as limiting the present disclosure, but are intended to be exemplary only.
Fig. 1 shows a block diagram of a contact center according to an embodiment of the present disclosure.
FIG. 2 shows an example of a BP payout matrix according to an embodiment of the disclosure.
Fig. 3 illustrates a naive BP utilization moment (according to an embodiment of the disclosure)BP negotiation matrix).
FIG. 4A shows an example of a BP skills based payout matrix according to an embodiment of the disclosure.
Fig. 4B illustrates an example of a BP network flow according to an embodiment of the present disclosure.
Fig. 4C illustrates an example of a BP network flow according to an embodiment of the present disclosure.
Fig. 4D illustrates an example of a BP network flow according to an embodiment of the present disclosure.
Fig. 4E illustrates an example of a BP network flow according to an embodiment of the present disclosure.
Fig. 4F illustrates an example of a BP network flow according to an embodiment of the present disclosure.
Fig. 4G illustrates an example of a BP network flow according to an embodiment of the disclosure.
Figure 5A illustrates an example of a BP skills based payout matrix according to an embodiment of the present disclosure.
Fig. 5B illustrates an example of a BP network flow according to an embodiment of the present disclosure.
Fig. 5C illustrates an example of a BP network flow according to an embodiment of the disclosure.
Fig. 5D illustrates an example of a BP network flow according to an embodiment of the disclosure.
Fig. 5E illustrates an example of a BP network flow according to an embodiment of the disclosure.
Fig. 5F illustrates an example of a BP network flow according to embodiments of the present disclosure.
Fig. 5G illustrates an example of a BP network flow according to an embodiment of the present disclosure.
Fig. 5H illustrates an example of a BP network flow according to an embodiment of the disclosure.
Fig. 5I illustrates an example of a BP network flow according to an embodiment of the present disclosure.
FIG. 6 illustrates a flow chart of a BP skills based payout matrix method according to an embodiment of the disclosure.
Fig. 7A illustrates a flow diagram of a BP network flow method according to an embodiment of the present disclosure.
Fig. 7B shows a flow diagram of a BP network flow method according to an embodiment of the present disclosure.
Fig. 8 shows a flow diagram of a BP network flow method according to an embodiment of the present disclosure.
Fig. 9 shows a flow diagram of a BP network flow method according to an embodiment of the present disclosure.
Detailed Description
A typical contact center algorithmically assigns contacts arriving at the contact center to agents available for handling the contacts. Sometimes, a contact center may have an agent available and wait for a contact (e.g., a phone call, an internet chat session, an email) assigned to an inbound or outbound. At other times, the contact center may have contacts waiting in one or more queues for an agent to become available for distribution.
In some typical contact centers, contacts are assigned to agents that are sorted based on time of arrival, and when these agents become available, the agents receive contacts sorted based on that time. This strategy may be referred to as a "first-in-first-out", "FIFO", or "polling" strategy. In other typical contact centers, other policies may be used, such as "performance-based routing" or "PBR" policies.
In other, more advanced contact centers, an "action pairing" or "BP" policy is used to pair contacts with agents, under which contacts and agents can be intentionally (preferably) paired in a manner that enables subsequent contact agent pairs to be assigned, such that the benefits of FIFO and other policies, such as performance based routing ("PBR") policies, may be exceeded when summing the benefits of all assignments under the BP policy. BP is designed to encourage balanced utilization (or utilization skewness) of agents within the skill queue while still improving overall contact center performance beyond that permitted by FIFO or PBR methods. This is a poor achievement because BP acts on the same call and the same agent as the FIFO or PBR method, providing a substantially uniform utilization of the agent as provided by the FIFO, still improving overall contact center performance. BP is described, for example, in U.S. patent No.9,300,802, the entire contents of which are incorporated herein by reference. Additional information regarding these and other features of a pairing or matching module (also sometimes referred to as a "SATMAP," "routing system," "routing engine," etc.) is described, for example, in U.S. patent No.8,879,715, the entire contents of which are incorporated herein by reference.
The BP strategy may use a one-dimensional ordering of agents and contact types in conjunction with a diagonal strategy for determining preferred pairings. However, this strategy may limit or otherwise limit the types and numbers of variables that the BP strategy may optimize, or may optimize the amount of one or more variables given more degrees of freedom.
In view of the foregoing, it can be appreciated that there is a need for a system that can improve the efficiency and performance of pairing strategies that are designed to select among a variety of possible pairings, such as the BP strategy. Such a system may provide numerous benefits, including in some embodiments optimization based on comparative advantages at runtime; maintaining a uniform or near uniform utilization of the seating; merging the cross-skill models into a single coherent model or a fewer number of coherent models; create more comprehensive, more complex, more capable models, etc. As described in detail below, these techniques may be multi-dimensional (e.g., multivariate) in nature, and linear programming, quadratic programming, or other optimization techniques may be used to determine the preferred contact-agent pairing. Examples of these techniques are described, for example, in Cormen et al, introduction to Algorithms,3rd ed, at 708-68 and 843-897 (Ch.26. "Maximum Flow" and Ch.29"Linear Programming") (2009), and Nocedal and Wright, numerical Optimization, at 448-96 (2006), the entire contents of which are incorporated herein by reference.
Fig. 1 shows a block diagram of a contact center system 100 according to an embodiment of the present disclosure. The description herein describes network elements, computers, and/or components of a system and method for simulating a contact center 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 construed as software that is not implemented on hardware, firmware, or recorded on a processor-readable recordable storage medium (i.e., a module is not software itself). Note that the modules are exemplary. Modules may be combined, integrated, separated, and/or duplicated to support various applications. Further, 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 place of, or in addition to, functions performed at the particular module. Further, modules may be implemented across multiple devices and/or other components, local or remote to each other. Additionally, a module may be removed from one device and added to another device, and/or may be included in both devices.
As shown in fig. 1, the contact center system 100 can include a central switch 110. The central switch 110 may receive an incoming contact (e.g., caller) or support an outgoing connection to the contact via a telecommunications network (not shown). The central switch 110 may include contact routing hardware and software to facilitate routing contacts among one or more contact centers, or to facilitate one or more PBX/ACD or other queuing or switching components, including other internet-based, cloud-based, or otherwise networked contact-agent hardware or software-based contact center solutions.
Such as if there is only one contact center, or only one PBX/ACD routing component in the contact center system 100, then the central switch 110 may not be necessary. If more than one contact center is part of contact center system 100, each contact center may include at least one contact center switch (e.g., contact center switches 120A and 120B). Contact center switches 120A and 120B may be communicatively coupled to center switch 110. In embodiments, various topologies of routing and network components may be configured to implement a contact center system.
Each contact center switch of each contact center may be communicatively coupled to a plurality of agents (or "pools"). Each contact center switch may support a certain number of agent (or "seat") entries at the same time. At any given time, a logged-on agent may be available and waiting to connect to a contact, or a logged-on agent may not be available for a variety of reasons, such as connecting to another contact, performing post-call functions such as recording information about calls, or taking a break.
In the example of fig. 1, central switch 110 routes contacts to one of two contact centers via contact central switch 120A and contact central switch 120B, respectively. Each contact center switch 120A and 120B is shown with two agents, respectively. Agents 130A and 130B may be logged into contact center switch 120A, while agents 130C and 130D may be logged into contact center switch 120B.
Contact center system 100 may also be communicatively coupled to integration services from, for example, third party vendors. In the example of fig. 1, BP module 140 can be communicatively coupled to one or more switches in a system of switches of contact center system 100, such as center switch 110, contact center switch 120A, or contact center switch 120B. In some embodiments, the switches of contact center system 100 may be communicatively coupled to a plurality of BP modules. In some embodiments, the BP module 140 may be embedded within a component of the contact center system (e.g., embedded in or otherwise integrated with a switch, or "BP switch"). The BP module 140 can receive information about agents (e.g., agents 130A and 130B) logged into the switch and information about incoming contacts via another switch (e.g., central switch 110) from the switch (e.g., contact central switch 120A), or, in some embodiments, from a network (e.g., the internet or a telecommunications network) (not shown).
The contact center may include a plurality of companion modules (e.g., a BP module and a FIFO module) (not shown), and one or more of the companion modules may be provided by one or more different vendors. In some embodiments, one or more of the pairing modules may be a component of the BP module 140 or one or more switches, such as the central switch 110 or contact central switches 120A and 120B. In some embodiments, the BP module may determine which pairing module may handle a particular linked pairing. For example, the BP module may alternate between enabling pairing via the BP module and enabling pairing through the FIFO module. In other embodiments, one pairing module (e.g., a BP module) may be configured to emulate other pairing policies. For example, the BP module or a BP component integrated with the BP component in the BP module can determine whether the BP module can use BP pairing or emulated FIFO pairing for a particular association. In this case, "BP on" may refer to the time when the BP module is applying a BP pairing policy, while "BP off" may refer to other times when the BP module is applying a different pairing policy (e.g., FIFO).
In some embodiments, a single pairing module may be configured to monitor and store information about pairings made under any or all pairing policies, whether the pairing policies are handled by separate modules or if some pairing policies are emulated within the single pairing module. For example, the BP module may observe and record data of FIFO pairings made by the FIFO module, or the BP module may observe and record data of emulated FIFO pairings made by the BP module operating in FIFO emulation mode.
FIG. 2 shows an example of a BP payout matrix 200 according to an embodiment of the disclosure. In this simplified, hypothetical computer-generated model of the contact center system, there are three agents (agents 201,202, and 203) and three contact types (contact types 211,212, and 213). Each cell of the matrix indicates a connection between a particular agent and a connection of the indicated type of connection-the "cost (payout)" or expected outcome or expected value of the agent interaction. In a real-world contact center system, there may be tens of agents, hundreds of agents, or more, and there may be tens of contact types, hundreds of contact types, or more.
In the BP payout matrix 200, the payout of interaction between an agent 201 and a contact of contact type 211 is.30 or 30%. The disbursement for agent 201 is.28 for contact type 212 and.15 for contact type 213. The disbursement is.30 for the agent 202 for the contact type 211,.24 for the contact type 212, and.10 for the contact type 213. The expenditure for the agent 203 is.25 for the contact type 211,.20 for the contact type 212 and.09 for the contact type 213.
The payout may represent an expected value of any of a variety of different indicators or optimization variables. Examples of optimization variables include sales conversion, customer retention, customer satisfaction, average processing time metrics, etc., or a combination of two or more indicators. For example, if the BP payout matrix 200 simulates a hold queue in a contact center system, each payout may represent the likelihood that an agent will "hold" or hold a customer of a particular contact type, e.g., there is a.30 (or 30%) chance that an agent 201 will hold a contact determined to be of contact type 211.
In some embodiments, historical contact-agent interaction data may be used to generate a BP disbursement matrix 200 or other similar computer-generated model of the contact center system. For example, the BP payout matrix 200 may incorporate a rolling window of historical data for weeks, months, years, etc. to predict or otherwise estimate the payout for a given interaction between an agent and a type of contact. As the seat personnel change, the model may be updated to reflect the change in the seat personnel, including hiring new seats, hiring existing seats, or training new skills for existing seats. Contact types may be generated based on information about the intended contact and the existing customers, such as Customer Relationship Management (CRM) data, customer attribute data, third party customer data, contact center data, and the like, which may include various types of data, such as demographic and psychographic data, as well as behavioral data such as past purchases or other historical customer information. The BP payout matrix 200 may be updated in real-time or periodically, such as hourly, nightly, weekly, etc., to merge new contact-agent interaction data as it becomes available.
Fig. 3 illustrates an example of a na iotave BP utilization matrix 300 according to an embodiment of the present disclosure. For the simplified, hypothetical computer-generated model of the contact center system for the BP disbursement matrix 200 (FIG. 2), there are three agents (agents 201,202, and 203) and there are three contact types (contact types) 211,212, and 213. In a real-world contact center system, there may be tens of agents, hundreds of agents, or more, and there may be tens of contact types, hundreds of contact types, or more.
Under the BP strategy, agents are preferentially paired with contacts of a particular contact type according to a computer-generated BP model. In an L1 environment, the contact queue is empty, and multiple agents are available, idle, or otherwise prepared and waiting to contact. For example, in a chat scenario, an agent may have the ability to chat with multiple contacts at the same time. In these environments, the agent may be ready to connect to one or more additional contacts while multitasking in one or more other channels, such as email and chat.
In some embodiments, when a contact arrives at a queue or other component of the contact center system, the BP policy analyzes the information about the contact to determine the type of contact (e.g., contact of contact type 211,212, or 213). The BP policy determines which agents are available to connect to the contact and selects, recommends, or otherwise outputs pairing instructions for the most preferred available agents.
In an L2 environment, multiple contacts wait in a queue to connect to an agent, and no agent is available, free, or otherwise ready to connect to a contact. The BP policy analyzes the information about each contact to determine the type of each contact (e.g., one or more of contact types 211,212, or 213). In some embodiments, when an agent becomes available, the BP policy determines which contacts are available to connect to the agent, and selects, recommends, or otherwise outputs pairing instructions for the most preferred available contact.
As shown in the header row of the na iotave BP utilization matrix 300, each agent has an expected availability or target utilization. In this example, the BP policy targets a balanced agent utilization of 1/3 (". 33") for each of the three agents 201,202, and 203. Thus, over time, it is desirable that each agent be utilized equally, or approximately equally. This configuration of BP is similar to FIFO in that both BP and FIFO target no skew or balanced agent utilization.
This configuration of BPs is different from performance-based routing (PBR) because PBR targets skewed or unbalanced agent utilization, intentionally assigning disproportionate connections to relatively high-performing agents. Other configurations of BPs may be similar to PBRs, as other BP configurations may also target skewed agent utilization. Additional information regarding these and other features of skew seating or link utilization (e.g., "kappa" and "rho" functions) is described, for example, in U.S. patent application Ser. Nos. 14/956,086 and 14/956,074, the entire contents of which are incorporated herein by reference.
As shown in the title bar of the na iotave BP utilization matrix 300, each contact type has an expected availability (e.g., frequency of arrival) or target utilization. In this example, the contact of the expected contact type 211 results in a time of 50% (". 50"), the contact of the expected contact type 212 results in a time of 30% (". 30"), and the contact of the expected type contact type 212 results in a time of remaining 20% (". 20").
Each cell of the matrix indicates a target utilization or expected frequency of agent interactions between a particular agent and an indicated contact of the contact type. In the example of the na iotave BP utilization matrix 300, it is desirable to equally assign an agent to each contact type according to the frequency of each contact type. Contacts of type 211 are expected to get 50% of the time in the queue, with approximately 1/3 of the contacts being assigned to each of the agents 201,202, and 203. In general, a connection between connection type 211 and agent 201-an agent interaction occurring approximately 16% (". 16") in time, a connection between connection type 211 and agent 202 occurring approximately 16% in time, and a connection between connection type 211 and agent 203 occurring approximately 16% in time are expected. Similarly, an interaction between a contact of contact type 212 (30% frequency) and each agent 201-203 is expected to occur for a time of about 10% (". 01"), and an interaction between a contact of contact type 213 (20% frequency) and each agent 201-203 is expected to occur for a time of about 7% (".07"), respectively.
Naive BP utilization matrix 300 also represents the approximately same distribution of contact-agent interactions that would occur under a FIFO pairing strategy under which each contact-agent interaction would be equally likely (frequency normalization for each contact type). Under naive BP and FIFO, the target (and expected) utilization of each agent is equal: for each of the three agents 201-203, 1/3 of the agent interaction is contacted.
In summary, the BP payout matrix 200 (fig. 2) and the na iotave BP utilization matrix 300 enable the determination of the expected overall performance of the contact center system by calculating an average payout weighted according to the frequency distribution of each contact-agent interaction shown in the na iotave BP utilization matrix 300: (. 30+.30+. 25) (. 50) (1/3) + (. 28+.24+. 20) (. 30) (1/3) + (. 15+.10+. 09) (. 20) (1/3) ≈ 0.24. Thus, the expected performance of the contact center system under a naive BP or FIFO is about 0.24 or 24%. If the payout represents, for example, a retention rate, the expected overall performance would be a 24% retention rate.
Fig. 4A-4G show examples of more complex BP payout matrices and network flows. In this simplified hypothetical contact center, an agent or contact type can have different combinations of one or more skills (i.e., skill sets), and linear programming based network flow optimization techniques can be applied to improve overall contact center performance while maintaining balanced utilization of agents and contacts.
FIG. 4A illustrates an example of a BP skills based payout matrix 400A according to an embodiment of the disclosure. The hypothetical contact center system represented in the BP skills-based spending matrix 400A is similar to the contact center system represented in the BP spending matrix 200 (fig. 2) so long as there are three agents (agents 401,402, and 403) each having an expected availability/utilization of about 1/3 or.33, and there are three contact types (contact types 411,412, and 413) having an expected frequency/utilization of about 25% (. 15+. 10), 45% (. 15+. 30), and 30% (. 20+. 10), respectively.
However, in this example, each agent has been assigned, trained, or otherwise made available to a particular skill (or, in other example contact center systems, a collection of multiple skills). Skills examples include broad skills such as technical support, billing support, sales, retention, etc.; language skills such as english, spanish, french, etc.; narrower skills such as "level 2 technical support", technical support for Apple iPhone users, technical support for google Android users, and the like; and various other skills.
Agent 401 may be used for connections requiring at least skill 421, agent 402 may be used for connections requiring at least skill 422, and agent 403 may be used for connections requiring at least skill 423.
Also in this example, each type of contact may require one or more of the skills 421-423. For example, callers at a call center may interact with an Interactive Voice Response (IVR) system, a touch-tone menu, or a live operator to determine which skills a particular caller/contact requires for an upcoming interaction. Another way to consider the "skills" of a contact type is the specific need of the contact, such as buying something from an agent with sales skills, or having a technical problem solved by an agent with technical support skills.
In this example, it is expected that.15 or 15% of contacts are contact type 411 and require either skill 421 or skill 422; an expected.15 or 15% of contacts are contact type 412 and require skills 421 or 422; expected.20 or 20% of contacts are contact type 413 and require skills 421 or 422; it is expected that 10 or 10% of contacts are contact type 411 and require skill 422 or skill 423; it is expected that.30 or 30% of contacts are contact type 412 and require skill 422 or skill 423; it is contemplated that 10 or 10% of contacts are contact types 413 and require either skills 422 or skills 423.
In some embodiments, the agent may be required to have a union of all skills (e.g., spanish skills and iPhone technical support skills) determined to be required for a particular contact. In some embodiments, some skills may be preferred but not required (i.e., if no agent with iPhone technical support skills is available immediately or within a threshold time, the contact may be paired with an available Android technical support agent).
Each cell of the matrix indicates the expenditure of a link-agent interaction between a particular agent having a particular skill or set of skills and a link having a particular type and need (skill) or set of needs (set of skills). In this example, an agent 401 with skills 421 may be paired with a contact of any contact type 411,412, or 413 (with a payout of.30, 28, and.15, respectively) when the contact requires at least the skill 421. An agent 402 with skills 422 can be paired with a contact of any contact type 411,412 or 413 (with a payout of. 30,.24,.10,.30,.24, and. 10, respectively) when the contact requires at least the skills 422. An agent 403 with skills 423 may be paired with a contact of any contact type 411,412 or 413 (paying out.25, 20 and.09, respectively) when the contact requires at least the skill 423.
The empty cell represents a combination of contact and agent that will not be paired under this BP pairing strategy. For example, an agent 401 with skills 421 will not be paired with a contact that does not require at least skills 421. In this example, the 18-element payout matrix includes 6 empty elements, and 12 non-empty elements represent 12 possible pairings.
Fig. 4B illustrates an example of a BP network flow 400B according to an embodiment of the disclosure. BP network flow 400B shows agents 401-403 as "sources" on the left side of the network (or graph) and contact types 411-413 for each skill set as "recipients (sink)" on the right side of the network. Each edge in the BP network flow 400B represents a possible pairing between an agent and a contact of a particular type and set of requirements (skills). For example, edge 401A represents a contact-agent interaction between agent 401 and a contact of contact type 411 requiring either skill 421 or skill 422. Edges 401B, 401C, 402A-F, and 403A-C represent other possible contact-agent pairs for their respective agents and contacts/skills as shown.
Fig. 4C illustrates an example of a BP network flow 400C according to an embodiment of the disclosure. The BP network flow 400C is a network/graphical representation of the BP expense matrix 400A (fig. 4A). BP network flow 400C is the same as BP network flow 400B (fig. 4B), except that for clarity, the identifier of each edge is not shown, but rather the payouts for each edge of the agents 401 are shown, e.g., 30 on edge 401A, 28 on edge 401B, and 15 on edge 401C, as well as the corresponding payouts for each edge of the agents 402 and 403.
Fig. 4D illustrates an example of a BP network flow 400D according to an embodiment of the disclosure. BP network flow 400D is identical to BP network flow 400C (fig. 4C), except that for clarity, the skills of each agent 401-403 are not shown, but rather the associated "offers" provided by each agent and the "needs" required by each contact/skill combination. Each agent provides a "supply" (1/3 of the total supply, 1 or 100%, respectively) equivalent to the expected availability or target utilization of each agent. Each contact type/skill requirement corresponds to an expected frequency or target availability of agent supply for each contact type/skill (for 1 or 100% of the total requirement, respectively.15,. 15,.20,.10,.30,. 10). In this example, the total supply and demand are normalized or otherwise configured to be equal to each other, and the capacity or bandwidth along each edge is considered unlimited or otherwise unlimited (i.e., an edge may describe "who may be paired with" rather than "how many" or "how many times"). In other embodiments, there may be a supply/demand imbalance, or there may be quotas or otherwise limited capacity set for some or all of the edges.
Fig. 4E illustrates an example of a BP network flow 400E according to an embodiment of the disclosure. BP network flow 400E is the same as BP network flow 400D (fig. 4D), except for the ease of representation, the supply and demand have been scaled by a factor of 3000. In doing so, the supply per agent is shown as 1000 instead of 1/3, and the total supply is shown as 3000. Similarly, the relative requirements to scale each contact type/skill set, also totals 3000. In some embodiments, no scaling is performed. In other embodiments, the amount of scaling may vary and be greater or less than 3000.
Fig. 4F illustrates an example of a BP network flow 400F according to an embodiment of the disclosure. BP network flow 400F is the same as BP network flow 400E (fig. 4E), except that for clarity, the outlay along each edge is not shown, but rather one solution for BP network flow 400F is shown. In some embodiments, a "maximum (maximum) traffic" or "maximum (max) traffic" algorithm or other linear programming algorithm may be applied to BP network flow 400F to determine one or more solutions for optimizing supply (source) traffic "or" distribution "to meet demand (recipient), which may balance utilization of agents and affiliations.
In some embodiments, the goal may also be to maximize the total expected value of the metric to be optimized. For example, in a sales queue, the metric to be optimized may be conversion, and the maximum flow objective is to maximize the total expected conversion. In an environment where multiple maximum traffic solutions are available, one technique for selecting a solution may be to select a "maximum (maximum) cost" or "maximum (max) cost" solution, i.e., a solution that results in the highest total return at maximum traffic.
In this example, agents 401-403 represent sources, while contact types 411-413 with various skill set combinations represent recipients. In some contact center environments, such as an L2 (contact excess) environment, network flows may be reversed such that contacts waiting in queues are the source providing supplies and possible agents that may become available are the recipients providing demands.
The BP network flow 400F illustrates an optimal traffic solution determined by a BP module or the like. According to this solution, there may be several choices, or random choices: edge 401A (from agent 401 to contact type 411 with skills 421 and 422) has the best flow 0; edge 401B (from agent 401 to contact type 412 with skills 421 and 422) has the best traffic 400; and edge 401C (from agent 401 to contact type 413 with skills 421 and 422) has the best traffic 600. Similarly, the optimal flow rates for the edges 402A-F of the seat 402 are 450,50,0,300,200, and 0, respectively; while the optimal flow rates for edges 403A-C of seat 403 are 0,700 and 300, respectively. As described in detail below, the optimal traffic solution describes the relative proportion of contact-agent interactions (or the relative likelihood of selecting a particular contact-agent interaction) that will achieve a target utilization of agents and contacts based on the expenditure for each pair of agents and contact type/skill set, while also maximizing the expected overall performance of the contact center system.
Fig. 4G illustrates an example of a BP network flow 400G according to an embodiment of the disclosure. BP network flow 400G is the same as BP network flow 400F (fig. 4F), except for the edge where the optimal flow solution is determined to be 0 has been removed for clarity. Under the BP strategy, the agent will not preferably pair with a contact type for which the optimal flow solution is determined to be 0, despite having complementary skills and non-zero expenditure.
In this example, edges 401A, 402C, 402F, and 403A have been removed. The remaining edges represent preferred pairings. Thus, in an L1 (agent excess) environment, when contact comes, it may be preferable to pair with one of the agents for which there is an available preferred pairing. For example, a contact of contact type 411 with skills 421 and 422 may always be preferably paired with an agent 402, requiring a total supply (availability) of 450 units of agent 402. As another example, a contact of contact type 412 with skills 421 and 422 may preferably be paired with an agent 401 at certain times and with an agent 402 at certain times. The total demand for the contact is 450 (based on the expected frequency of arrival of the type of contact/skill) and requires 400 units of supply from the agent 401 and the remaining 50 units of supply from the agent 402.
In some embodiments, when the type/skill association comes in, the BP module or similar component may select an agent 401 or 402 according to the relative requirements (400 and 50) each agent makes. For example, a pseudo-random number generator may be used to randomly select an agent 401 or 402, weighting the random selection according to relative demand. Thus, for each connection of that type/skill, there is a 400/450 (≈ 89%) probability of selecting the agent 401 as the preferred pairing, and a 50/450 (≈ 11%) probability of selecting the agent 402 as the preferred pairing. Over time, many of the connections of that type/skill have been paired using the BP strategy, with about 89% of them preferably paired with the agent 401 and the remaining 11% preferably paired with the agent 402. In some embodiments, the overall target utilization of an agent or the target utilization per contact type/skill may be the "bandwidth" of the agent for receiving a proportional percentage of contacts.
For BP network flow 400G with this solution, the aggregate supply from all agents is expected to meet the aggregate demand of all connections. Thus, a target utilization (herein, a balance utilization) of all agents can be achieved while also achieving a higher expected overall performance in the contact center system based on the disbursements and the relative allocation of agents to contacts along the edge with those disbursements.
FIGS. 5A-I illustrate examples of another BP payout matrix and network flows. For certain configurations of agents and contact types with various skill combinations, the optimal or maximum traffic for a given BP network flow may not fully balance supply and demand. This example is similar to the example of fig. 4A-4G, except that the configured agents and contact types initially result in unbalanced supply and demand. In this simplified hypothetical contact center, quadratic programming based techniques for adjusting target utilization can be applied in conjunction with linear programming based network flow optimization techniques to improve overall contact center performance while maintaining optimal skew utilization between agents and contacts to accommodate unbalanced configurations of agents and contact types.
FIG. 5A depicts an example of a BP skills based payout matrix 500A according to an embodiment of the disclosure. The hypothetical contact center system represented in the BP skills based spending matrix 500A is similar to the contact center system represented in the BP skills based spending matrix 400A (fig. 4) in that there are three agents (agents 501,502, and 503) with initial expected availability/utilization of about 1/3 or.33, respectively. There are two contact types (contact types 511 and 512) with expected frequencies/utilization of about 40% (. 30+. 10) and 60% (. 30+. 30), respectively.
In this example, agents 501 have been assigned, trained, or otherwise made available to skills 521 and 522, and agents 502 and 503 are only available to skills 522. For example, if skill 521 represents a french skill and skill 522 represents a german skill, then agent 501 may be assigned to a contact requiring french or german, while agents 502 and 503 may be assigned only to a contact requiring german and not to a contact requiring french.
In this example, it is expected that.30 or 30% of contacts are contact types 511 and require skills 521; 30 or 30% of contacts are expected to be contact type 512 and require skill 521; 10 or 10% of contacts are expected to be contact type 511 and require skill 522; and an expected.30 or 30% of contacts are contact type 512 and require skill 522.
In this example, the agents 501 may be paired with any association (with payouts.30,. 28,. 30, and.28, as shown in the BP skills based payouts matrix 500A). Agents 502 and 503 with skills 522 only may be paired with contacts of contact types 511 and 512 that require at least skills 522 (with payouts.30,. 24,. 25, and.20, as shown in the BP technology-based payout matrix 500A). As shown by the empty cells in BP skills based payout matrix 500A, agents 502 and 503 will not be paired with a connection that requires only skills 521. The 12-cell payout matrix includes 4 empty cells, and 8 non-empty cells represent 8 possible pairings.
Fig. 5B illustrates an example of a BP network flow 500B according to an embodiment of the present disclosure. Similar to BP network flow 400B (fig. 4B), BP network flow 500B shows agents 501-503 as sources on the left side of the network, while contact types 512 and 5123 for each skill set are shown as recipients on the right side of the network. Each edge in the BP network flow 500B represents a possible pairing between an agent and a contact of a particular type and set of requirements (skills). Edges 501A-D, 502A-B, and 503A-B represent possible contact-agent pairings of their respective agents and contact types/skills as shown.
Fig. 5C illustrates an example of a BP network flow 500C according to an embodiment of the disclosure. The BP network flow 500C is a network representation of the BP payout matrix 500A (fig. 5A). For clarity, the identifier of each edge is not shown, but rather the payouts for each edge are shown, e.g., 30 on edges 501A and 501D, and 28 on edges 501B and 501C, and the corresponding payouts for each edge of the seating 502 and 503.
Fig. 5D illustrates an example of a BP network flow 500D according to an embodiment of the disclosure. The BP network flow 500D shows the relative initial provisioning provided by each agent and the requirements required by each contact type/skill combination. Total supply 1 equals total demand 1.
Fig. 5E illustrates an example of a BP network flow 500E according to an embodiment of the disclosure. For ease of representation, supply and demand have been scaled 3000 times, and for each edge, the maximum flow solution for the initial supply is shown. According to this solution, edge 501A (from agent 501 to contact type 511 with skill 521) has an optimal traffic of 900; edge 501B (from agent 501 to contact type 512 with skill 521) has an optimal traffic of 100; and edges 501C and 501D have an optimal flow of 0. Similarly, the optimal flow rates for the agents 502 are 300 and 700, respectively; and the optimal flows for the agents 503 are 0 and 200, respectively.
According to this solution, the agents 503 are substantially underutilized with respect to the agents 501 and 502. While the agents 501 and 502 are optimized for a total supply of 1000 units each, the agent 503 is expected to use 200 units, or 1/5 of the supply of the agent 503. In a contact center environment, agents 503 may be assigned fewer contacts and more time idle than agents 501 and 502, or agents may be assigned to less preferred contacts, resulting in contact center performance that is lower than predicted by maximum traffic solutions.
Similarly, according to this solution, contacts of contact type 512 that require skills 521 (or "under-service") are substantially underutilized relative to other contact types/skill combinations. While optimizing other contact type/skill combinations for all requirements of 900,300, and 900 units, respectively, it is contemplated that contact type 512 requiring skill 521 receives only 100 units, or 1/9 of the contact type/skill requirement. In a contact center environment, this underutilized contact type/skill combination may experience longer latency relative to other contact types/skill combinations, or may assign a contact to a less preferred agent, resulting in contact center performance that is lower than predicted by maximum traffic solutions.
The solution shown in BP network flow 500E still balances overall supply and demand, but selects agents 503 less often than other peers, and/or is a preferred agent, some contacts may need to wait longer, and/or overall contact center performance may not reach the overall cost expected by the maximum traffic solution.
Fig. 5F and 5G illustrate techniques of some embodiments to adjust relative agent feeds to improve balance of agent and contact utilization in a contact center system with maximum traffic solution imbalance, as in BP network flow 500E (fig. 5E).
Fig. 5F illustrates an example of a BP network flow 500F according to an embodiment of the disclosure. In the BP network flow 500F, agents that share the same skill set have been "collapsed" into a single network node. In this example, agent 502 and agent 503 have been combined into a single node of skill 522, with a total supply of 2000.
Similarly, contact types that share the same skill set have been collapsed into a single network node. In this example, contact types 511 and 512 requiring skill 521 have been combined into a single node of skill 521, with a total requirement of 1800, and contact types 511 and 512 requiring skill 522 have been combined into a single node of skill 522, with a total requirement of 1200.
In addition, the edges have been folded. For example, the four edges emanating from the agents 502 and 503 (as labeled edges 502A, 502B, 503A, and 503B in FIG. 5B) have been collapsed into a single edge emanating from a "super node" for an agent with skill 522 to a "super node" for a contact type requiring skill 522.
At this point, in some embodiments, a quadratic programming algorithm or similar technique may be applied to the collapsed network to adjust the relative supply of agents.
Fig. 5G illustrates an example of a BP network flow 500G according to an embodiment of the disclosure. The BP network flow 500G shows an adjusted agent supply according to a quadratic programming algorithm or a solution of similar techniques. In this example, the provisioning of the agent supernodes for skills 521 and 522 is adjusted from 1000 to 1800 in BP network flow 500F (FIG. 5F), and the provisioning of the agent supernodes for skills 522 is adjusted from 2000 to 1200 in BP network flow 500F.
The total supply may remain unchanged (e.g., 3000 in this example), but the relative supplies of agents of various skill combinations have been adjusted. In some embodiments, the aggregate supply of a single supernode may be evenly distributed among the agents within the supernode. In this example, a 1200 unit supply of agent supernodes for skills 522 may be divided evenly among the agents, 600 units being allocated to each of the agents 502 and 503.
Fig. 5H illustrates an example of a BP network flow 500H according to an embodiment of the disclosure. BP network flow 500H illustrates a maximum traffic solution calculated using the adjusted provisioning shown in BP network flow 500G (fig. 5G). The agent 501 has an adjusted supply of 1800, the agent 502 has an adjusted supply of 600, and the agent 503 has an adjusted supply of 600. According to this solution, edge 501A (from agent 501 to contact type 511 with skill 521) still has an optimal traffic of 900; edge 501B (from agent 501 to contact type 512 with skill 521) now has an optimal traffic of 900; and edges 501C and 501D still have an optimal flow of 0. Similarly, the optimal flows for the agent 502 are now 300 and 300, respectively; and the optimal flow rates for the agents 503 are now 0 and 600, respectively.
Fig. 5I illustrates an example of a BP network flow 500I according to an embodiment of the disclosure. The BP network flow 500I is the same as BP network flow 500H except that for clarity, the edge where the best traffic solution is determined to be 0 has been removed. In this example, edges 501C, 501D, and 503A have been removed.
With the solutions shown in BP network flows 500H and 500I, all contact types/skill combinations can now be fully utilized (fully served).
In addition, overall seat utilization may become more balanced. Under the BP network flow 500E (fig. 5E), the agent 503 may only be used 1/5 of the agents 501 and 502. Thus, agents 501 and 502 are each assigned approximately 45% of the contacts, while agent 503 is assigned only the remaining approximately 10% of the contacts. Under the BP network flow 500H, the agent 501 may be assigned about 60% of the contacts, while the agents 502 and 503 may be assigned about 20% of the remaining contacts, respectively. In this example, the busiest agent (agent 501) receives only three times the connection with the least busy agents (agents 502 and 503) instead of five times the connection.
FIG. 6 illustrates a flow diagram of a BP skills based payout matrix method 600 in accordance with an embodiment of the disclosure. The BP skills based payout matrix method 600 may begin at block 610.
At block 610, historical contact-agent result data may be analyzed. In some embodiments, a rolling window of historical contact-agent result data may be analyzed, such as a one week, one month, ninety days, or one year window. The historical contact-agent result data may include information about various interactions between contacts and agents, including an identifier of which agent communicated with which contact, when the communication occurred, the duration of the communication, and the result of the communication. For example, at a telemarketing call center, the results may indicate whether a sale occurred or the amount of the sale, if any. In the customer hold queue, the result may indicate whether the customer is to be held (or "held") or whether the amount of any incentive offered by the customer is to be held. In the customer service queue, the results may indicate whether the customer's needs are met or whether the problem is resolved, or a score (e.g., net recommendation score or NPS) or representative rating representing customer satisfaction with the contact-agent interaction. After or while analyzing the historical contact-agent result data, the BP skills based spending matrix method 600 may proceed to block 620.
At block 620, the contact attribute data may be analyzed. The contact attribute data may include data stored in one or more Customer Relationship Management (CRM) databases. For example, the CRM database of a wireless telecommunication provider may include information about the type of cell phone used by a customer, the type of contract a customer has signed up, the duration of the customer contract, the monthly price of the customer contract, and the tenure of the customer's relationship with the company. As another example, a bank's CRM database may include information about the types and numbers of accounts held by customers, the average monthly balance of the customer's accounts, and the tenure of the customer's relationship with the company. In some embodiments, the contact attribute data may also include third party data stored in one or more databases obtained from third parties. After or while analyzing the contact attribute data, the BP skills based payout matrix method 600 can proceed to block 630.
At block 630, a skill set may be determined for each agent and each contact type. Examples of skills include broad skills such as technical support, billing support, sales, retention, and the like; language skills such as english, spanish, french, etc.; narrower skills such as "level 2 technical support", technical support for Apple iPhone users, technical support for google Android users, and the like; and various other skills. In some embodiments, there may not be any unique skills, or only one skill may be identified across all agents or all contact types. In these embodiments, there may be only a single "skill set".
In some embodiments, a given contact type may require different skill sets at different times. For example, during a first call to a call center, one type of contact may have technical issues and require an agent with technical support skills, but during a second call, the same contact of the same type may have billing issues and require an agent with customer support skills. In these embodiments, the same contact type may be included more than once, depending on each contact type/skill combination. After determining the skill set, the BP skill-based payout matrix method 600 may proceed to block 640.
At block 640, a target utilization rate may be determined for each agent and an expected rate may be determined for each contact type (or contact type/skill combination). In some L1 environments, it may be targeted to balance agent utilization such that each agent is expected to be assigned an approximately equal number of associations over time. For example, if a contact center environment has four agents, each agent may have a target utilization of 1/4 (or 25%). As another example, if a contact center environment has n agents, each agent may have a target utilization of 1/n (or an equivalent contact percentage).
Similarly, the expected rate for each contact type/skill may be determined based on the actual rate observed in the historical contact-agent result data analyzed at block 610, for example. After determining the target utilization and the expected rate, the BP skills based payout matrix method 600 may proceed to block 650.
At block 650, a payout matrix may be determined having an expected payout for each feasible contact-agent pair. In some embodiments, a contact-to-contact pairing may be feasible if the contact and the contact type have at least one common skill. In other embodiments, a contact-agent pairing may be feasible if the agent has at least all of the skills required for the type of contact. In other embodiments, other heuristics for feasibility may be used.
An example of a payout matrix is the BP skills-based payout matrix 400A described in detail above with reference to fig. 4A. BP skill-based payout matrix 400A includes a set of agents with associated skills and target utilizations, a set of contact types (combined with various skill sets) with an expected frequency determined based on historical contact-agent result data and/or contact attribute data, and a set of non-zero expected payouts for each possible contact-agent pair. After determining the payout matrix, the BP skills-based payout matrix method 600 may proceed to block 660.
At block 660, a computer processor generated model from the payout matrix may be output. For example, a computer processor embedded within or communicatively coupled to a contact center system or a component therein (e.g., a BP module) may output a payout matrix model to be received by another component of the computer processor or the contact center system. In some embodiments, the payout matrix model may be recorded, printed, displayed, transmitted, or otherwise stored for other components of the contact center system or for a human administrator. After outputting the payout matrix model, the BP skills-based payout matrix method 600 may end.
Fig. 7A illustrates a flow diagram of a BP network flow method 700A according to an embodiment of the disclosure. The BP network flow method 700A may begin at block 710.
At block 710, a BP payout matrix may be determined. In some embodiments, the BP payout matrix may be determined using the BP payout matrix method 600 or a similar method. In other embodiments, the BP payout matrix may be received from another component or module. After determining the BP payout matrix, the BP network flow method 700A may proceed to block 720.
At block 720, a target utilization rate may be determined for each agent and an expected rate may be determined for each contact type. In other embodiments, the payout matrices determined at block 710 may incorporate or otherwise include target utilization rates and/or expected rates, such as the payout matrices output by the BP payout matrix method 600, or the BP skills based payout matrix 400A (fig. 4A). After determining the target utilization and the expected rate, the BP network flow method 700A may proceed to block 730, if necessary.
At block 730, agent provisioning and contact type requirements may be determined. As described in detail above with reference to fig. 4D and 4E, each agent may provide a "supply" equivalent to the expected availability or target utilization of each agent (e.g., 1 or 100% of the total supply, 1/3 each, in an environment with three agents). Additionally, for a total demand of 1 or 100%, each contact type/skill may require an agent supply amount equivalent to the expected frequency or target utilization rate for each contact type/skill. The total supply and demand may be normalized or otherwise configured to be equal to each other, and it is believed that the capacity or bandwidth along each edge may be infinite or otherwise unlimited. In other embodiments, there may be a supply/demand imbalance, or there may be quotas or otherwise limited capacity set for some or all edges.
In some embodiments, supplies and demands may be scaled by some factor, such as 1000,3000, etc. In doing so, the supply for each of the three agents may be shown as 1000 instead of 1/3, and the total supply may be shown as 3000. Similarly, the relative requirements of each contact type/skill set may be scaled. In some embodiments, no scaling occurs. After determining the agent provisioning and contact type requirements, the BP network flow method 700A may proceed to block 740.
At block 740, a preferred contact-agent pairing may be determined. As described in detail above with reference to, for example, fig. 4F and 4G, one or more solutions for a BP network flow may be determined. In some embodiments, a "maximum (maximum) traffic" or "maximum (max) traffic" algorithm or other linear programming algorithm may be applied to the BP network flow to determine one or more solutions for optimizing the "traffic" or "allocation" of the supply (source) to meet the demand (recipient). In some embodiments, a "max (max) cost" algorithm may be applied to select the best maximum traffic solution.
In some contact center environments, such as an L2 (contact excess) environment, network flow may be reversed such that contacts waiting in a queue are the source providing supplies, and possible agents that may become available are the recipients providing demands.
The BP network flow may include an optimal traffic solution determined by a BP module or the like. According to the solution, where there may be several choices, or a random choice, some (feasible) edges may have an optimal traffic of 0, indicating that such feasible pairing is not the preferred pairing. In some embodiments, the BP network flow may remove edges representing viable pairings if the pairing is determined not to be a preferred pairing.
Other edges may have non-zero optimal flow, indicating that at least at some times, such feasible pairing is preferred. As detailed above, the optimal flow solution describes the relative proportion of contact-agent interactions (or the relative likelihood of selecting a particular contact-agent interaction) that will achieve the target utilization of the agents and contacts, while also maximizing the expected overall performance of the contact center system in terms of the expenditure for each pair of agents and contact type/skill set.
For some solutions for some BP network flows, a single contact type/skill may have multiple edges flowing into it from multiple agents. In these environments, a contact type/skill may have multiple preferred pairings. Given a choice among multiple agents, the BP network flow indicates that the relative proportion or weighting for one of several agents may be selected each time a contact of that contact type/skill arrives at the contact center. After determining the preferred contact-agent pairing, the BP network flow method 700A may proceed to block 750.
At block 750, a model generated by the computer processor according to the preferred contact-agent pairing can be output. For example, a computer processor embedded within or communicatively coupled to the contact center system or a component therein (e.g., a BP module) can output a preferred pairing model to be received by the computer processor or another component of the contact center system. In some embodiments, the preferred pairing model may be recorded, printed, displayed, transmitted, or otherwise stored for other components of the contact center system or a human administrator. After outputting the preferred pairing model, the BP network flow method 700A can end.
Fig. 7B illustrates a flow diagram of a BP network flow method 700B according to an embodiment of the disclosure. The BP network flow 700B is similar to the BP network flow 700A described above with reference to fig. 7A. The BP network flow method 700B may begin at block 710. At block 710, a BP payout matrix may be determined. After determining the BP payout matrix, the BP payout matrix method 700B may proceed to block 720. At block 720, a target utilization rate may be determined for each agent and an expected rate may be determined for each contact type. After determining the target utilization and the expected rate, the BP network flow method 700B may proceed to block 730, if necessary. At block 730, the agent offer and contact type requirements may be determined. After determining the agent provisioning and contact type requirements, the BP network flow method 700B may proceed to block 735.
At block 735, the agent offers and/or contact requirements may be adjusted to balance agent utilization, or to improve agent utilization balance. As described in detail above with reference to, for example, fig. 5F and 5G, agents that share the same skill set may be "collapsed" into a single network node (or "supernode"). Similarly, contact types that share the same skill set may be collapsed into a single network node. In addition, edges are folded according to their respective supernodes. At this point, in some embodiments, a quadratic programming algorithm or similar technique may be applied to the collapsed network to adjust the relative supply of agents and/or the relative demand of contacts. After adjusting the agent provisioning and/or contact requirements to balance the agent utilization, the BP network flow method 700B may proceed to block 740.
At block 740, a preferred contact-agent pairing may be determined. After determining the preferred contact-agent pairing, the BP network flow method 700A may proceed to block 750. At block 750, a model generated by the computer processor according to the preferred contact-agent pairing can be output. After outputting the preferred pairing model, the BP network flow method 700B can end.
Fig. 8 shows a flow diagram of a BP network flow method 800 according to an embodiment of the present disclosure. The BP network flow method 800 may begin at block 810.
At block 810, available agents may be determined. In a real-world queue of a contact center system, there may be tens, hundreds, or thousands of agents or more employed. At any given time, some of these employed agents may log into the system or otherwise actively shift work. Also at any given time, a small portion of the logged-on agents may be engaged in contact interactions (e.g., calls at a call center), recording the results of recent contact interactions, resting, or otherwise unavailable for incoming contacts. The remainder of the logged-in agent may be free or otherwise available to be allocated. After determining the set of available agents, the BP network flow method 800 may proceed to block 820.
At block 820, a BP model for a preferred contact-agent pair may be determined. In some embodiments, the preferred pairing model may be determined using a BP network flow method 700A (fig. 7A) or 700B (fig. 7B) or similar method. In other embodiments, the preferred pairing model may be received from another component or module.
In some embodiments, the preferred pairing model may include all agents employed for the contact center queue. In other embodiments, the preferred pairing model may include only those agents that are logged into the queue at a given time. In other embodiments, the preferred pair model may include only those agents determined to be available at block 810. For example, referring to fig. 4B, if an agent 403 is not available, some embodiments may use a different preferred pair model that ignores nodes for agent 403 and includes only nodes for agent 401 and agent 402 of the available agent. In other embodiments, the preferred pair model may include nodes for agents 403, but may be modified to avoid generating a non-zero probability of assigning contacts to agents 403. For example, the capacity of the flow from the agent 403 to each compatible contact type may be set to zero.
The preferred pairing model may be pre-computed (e.g., retrieved from a cache or other memory) or computed in real-time or near real-time as agents become available or unavailable, and/or as various types of contacts with various skill requirements arrive at the contact center. After determining the preferred pairing model, the BP network flow method 800 may proceed to block 830.
At block 830, available contacts may be determined. For example, in an L1 environment, multiple agents are available and waiting to be assigned to a contact, and the contact queue is empty. When a contact arrives at the contact center, the contact may be assigned to one of the available agents without waiting. In some embodiments, the preferred pairing model determined at block 820 may be first determined or updated after the available contacts are determined at block 830. For example, referring to fig. 4A-4G, agents 401-403 may be three of dozens or more of agents that are available at exactly a given time. At this point, a BP skills based payout matrix 400A (fig. 4A) may be determined for the three immediately available agents, and a BP network flow 400G (fig. 4G) may be determined for the three immediately available agents based payout matrix 400A of BP skills. Thus, for those three available agents, a preferred pairing model may be determined at that time.
In some embodiments, the preferred pairing model may take into account some or all of the expected contact type/skill combinations, as in, for example, BP network flow 400G, even though the particular contact to be paired is already known to BP network flow method 800, as the contact has already been determined at block 830. After determining available affiliations at block 830 (and in some embodiments, the preferred pairing model has been generated or updated), the BP network flow method 800 can proceed to block 840.
At block 840, at least one preferred contact-agent pair between the available agents and the available contacts may be determined. For example, as shown in BP network flow 400G (fig. 4G), if the available contact is contact type 411 and requires skills 421 or 422, then the preferred pairing is agent 402. Similarly, if the available contact is contact type 412 and requires skills 421 or 422, the preferred pairing would be agent 401 (best flow 400) or agent 402 (best flow 50). After determining at least one preferred contact-agent pairing, the BP network flow method 800 may proceed to block 850.
At block 850, one of at least one preferred contact-agent pair may be selected. In some embodiments, the selection may be random, such as by using a pseudo-random number generator. The likelihood (or probability) of selecting a given one of the at least one preferred contact-agent pair may be based on the statistical likelihood described by the BP model. For example, as shown in BP network flow 400G (FIG. 4G), if the available contact is contact type 412 and requires skills 421 or 422, then the probability of selecting agent 401 is 400/450 ≈ 89%, and the probability of selecting agent 402 is 50/450 ≈ 11%.
If there is only one preferred contact-agent pairing, in some embodiments, random selection may not be needed, as the selection may be trivial. For example, as shown in BP network flow 400G (fig. 4G), if the available contact is contact type 411 and requires skills 421 or 422, then the preferred pairing is always agent 402 and the probability of selecting agent 402 is 450/450=100%. After selecting one of the at least one preferred contact-agent pair, the BP network flow method 800 may proceed to block 860.
At block 860, the selected pairing may be output for connection in the contact center system. For example, a computer processor, such as a BP module, embedded within or communicatively coupled to the contact center system or a component therein may output a preferred pairing selection (or recommended pairing or pairing instruction) to be received by the computer processor or another component of the contact center system. In some embodiments, the preferred pairing selections may be recorded, printed, displayed, transmitted, or otherwise stored for other components of the contact center system or for a human administrator. The receiving component may use the preferred pairing selection to connect the selected agent to the requesting or otherwise determine a paired contact. After outputting the preferred pairing instruction, the BP network flow method 800 can end.
Fig. 9 shows a flow diagram of a BP network flow method 900 according to an embodiment of the disclosure. In some embodiments, the BP network flow method 900 is similar to the BP network flow method 800. While the BP network flow method 800 shows an L1 environment (agent excess), the BP network flow method 900 shows an L2 environment (contacts in queue). The BP network flow method 900 may begin at block 910.
At block 910, available contacts may be determined. In a real-world queue of a contact center system, there may be tens, hundreds, etc. of agents employed. In an L2 environment, all logged-in agents are engaged in contact interactions or are otherwise unavailable. When a contact arrives at the contact center, the contact may be required to wait in a hold queue. There may be tens or more contacts that remain waiting at a given time. In some embodiments, the queue may be ordered in order of arrival time, with the longest waiting contact at the head of the queue. In other embodiments, the queues may be ordered based at least in part on the priority rating or status of the various contacts. For example, a contact designated as "high priority" may be located at or near the head of the queue, ahead of other "normal priority" contacts that have been waiting longer. After determining the set of available contacts waiting in the queue, the BP network flow method 900 may proceed to block 920.
At block 920, a BP model for a preferred contact-agent pair may be determined. In some embodiments, a method similar to BP network flow method 700A (fig. 7A) or 700B (fig. 7B) may be used to determine a preferred pairing model as long as waiting to contact a recipient who provides a supply and becomes available agent provision requirements. In other embodiments, the preferred pairing model may be received from another component or module.
In some embodiments, the preferred pairing model may include all contact types expected to arrive at the contact center queue. In other embodiments, the preferred pairing model may include only those contact type/skill combinations that are present and waiting in the queue at the time the model is requested. For example, consider a contact center system that anticipates three types of contacts X, Y, and Z, but only contacts of types X and Y are currently waiting in a queue. Some embodiments may use a different preferred pairing model that ignores nodes for contact type Z, including nodes that are only used for waiting for contacts of types X and Y. In other embodiments, the preferred pair model may include nodes for contact type Z, but the model is modified to avoid generating a non-zero probability of assigning an agent to a contact of contact type Z. For example, the capacity of the flow from contact type Z to each compatible agent may be set to zero.
The preferred pairing model may be pre-computed (e.g., retrieved from a cache or other memory) or computed in real-time or near real-time as agents become available or unavailable, and/or as various types of contacts with various skill requirements arrive at the contact center. After determining the preferred pairing model, the BP network flow method 900 may proceed to block 930.
At block 930, available agents may be determined. For example, in an L2 environment, multiple contacts are waiting and available for allocation to an agent, and all agents are occupied. When an agent becomes available, the agent may be assigned to one of the waiting contacts without remaining idle. In some embodiments, the preferred pairing model determined at block 920 may be first determined or updated after the available agents are determined at block 830. For example, there may be three contacts waiting in the queue, each with a different skill and type. A BP skills-based payout matrix may be determined for the three instant wait connections and a BP network flow may be determined for the three instant wait connections based on the BP skills payout matrix. Thus, for those three waiting contacts, a preferred pairing model can be determined at that time.
In some embodiments, the preferred pairing model may consider some or all of the potentially available agents even though the particular agent to be paired is already known to the BP network flow method 900 because the agent has already been determined at block 930. After the available agents have been determined at block 930 (and in some embodiments, the preferred pairing model has been generated or updated), the BP network flow method 900 may proceed to block 940.
At block 940, at least one preferred contact-agent pairing among available agents and available contacts may be determined. After determining at least one preferred contact-agent pairing, the BP network flow method 900 may proceed to block 950.
At block 950, one of at least one preferred contact-agent pair may be selected. In some embodiments, the selection may be random, such as by using a pseudo-random number generator. The likelihood (or probability) of selecting a given one of the at least one preferred contact-agent pair may be based on the statistical likelihood described by the BP model. If there is only one preferred contact-agent pairing, random selection may not be needed in some embodiments, as the selection may be trivial. After selecting one of the at least one preferred contact-agent pair, the BP network flow method 900 may proceed to block 960.
At block 960, the selected pairing can be output for connection in the contact center system. For example, a computer processor, such as a BP module, embedded within or communicatively coupled to the contact center system or a component therein may output a preferred pairing selection (or recommended pairing or pairing instruction) to be received by the computer processor or another component of the contact center system. In some embodiments, the preferred pairing selections may be recorded, printed, displayed, transmitted, or otherwise stored for other components of the contact center system or for a human administrator. The receiving component may use the preferred pairing selection to connect the selected agent to the requesting or otherwise determine a paired contact. After outputting the preferred pairing instruction, the BP network flow method 900 may end.
In some embodiments, the BP payout matrix and network flow model may be used in an L3 environment (i.e., multiple agents are available and multiple contacts wait in a queue). In some embodiments, the network flow model may be used to batch pair multiple contact-agent pairs simultaneously. BP pairing in an L3 environment is described in detail, for example, in U.S. patent application Ser. No.15/395,469, the entire contents of which are incorporated herein by reference. In other embodiments, the BP network flow model may be used when the contact center system operates in an L1 and/or L2 environment, while an alternative BP pairing strategy may be used when the contact center system operates in an L3 (or L0) environment.
In the above example, the BP network flow model targets balanced agent utilization (or as close to balance as possible for a particular contact center environment). In other embodiments, skewed or otherwise unbalanced seat utilization may be targeted (e.g., "Kappa" technology), and/or skewed or otherwise unbalanced tie utilization may be targeted (e.g., "Rho" technology). Examples of these techniques are described in detail in, for example, the aforementioned U.S. patent applications 14/956,086 and 14/956,074, including Kappa and Rho techniques, the entire contents of which are incorporated herein by reference.
In some embodiments, such as those in which a BP module (e.g., BP module 140) is fully embedded or otherwise integrated within a contact center switch (e.g., center switch 110, contact center switch 120A, etc.), the switch may perform the BP technique without separate pairing requests and responses between the switch and the BP module. For example, when demand arises, the switch may determine its own cost function or functions that apply to each possible pairing, and the switch may automatically minimize (or, in some configurations, maximize) the cost function accordingly. The switch may reduce or eliminate the need for skill queues or other hierarchical arrangements of agents or contacts; instead, the switch may operate across one or more virtual agent groups or agent sets in a larger agent pool within the contact center system. Some or all aspects of the BP pairing method may be implemented by a switch as needed, including data collection, data analysis, model generation, network flow optimization, and so on.
In some embodiments, such as those that optimize virtual agent groups, the model of agent nodes in a network flow may represent a set of agents with one or more agent skill/type combinations for agents found anywhere within the contact center system, regardless of whether the contact center system assigns the agents to one or more skill queues. For example, the nodes for agents 401,402, and 403 in fig. 4B-4G may represent a virtual agent group, rather than a single agent, and contacts assigned to the virtual agent group may then be assigned to the single agents within the virtual agent group (e.g., random assignment, round-robin assignment, model-based behavioral pairing, etc.). In these embodiments, BPs may be applied to higher level contacts within a contact center system (e.g., center switch 101 in fig. 1) before the contacts are filtered or otherwise assigned to a single skill queue and/or agent group (e.g., contact center switch 120A or contact center switch 120B in fig. 1).
Applying BP early in the process may be advantageous because it avoids the script and other specification techniques that traditional central switches use to decide which queue/switch/VDN a contact should be assigned to. These scripting and other specification techniques may be inefficient and undesirable in terms of optimizing overall contact center performance and achieving desired target agent utilization (e.g., balanced agent utilization, minimum agent utilization imbalance, specified amount agent utilization skew).
At this point, it should be noted that behavioral pairing in a contact center 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, certain electronic components may be used in a behavioral pairing module or similar or related circuitry for implementing functionality associated with behavioral pairing in a contact center system in accordance with the present disclosure as described above. Alternatively, one or more processors operating with the instructions may implement the functionality associated with behavioral pairing in a contact center system as described above in accordance with the present disclosure. If this is the case, it is also within the scope of the disclosure that the instructions may be stored on one or more non-transitory processor-readable storage media (e.g., a magnetic disk or other storage medium) or transmitted to the one or more processors via one or more signals embedded in one or more carrier waves.
The present disclosure is not to be limited in scope by the specific embodiments described herein. Indeed, other various embodiments of the present disclosure and modifications thereof, in addition to those described herein, will be apparent to those of ordinary skill in the art from the foregoing description and accompanying drawings. Accordingly, such other embodiments and modifications are intended to fall within the scope of this disclosure. Moreover, although the present disclosure is described herein in the context of at least one particular implementation in at least one particular environment for at least one particular purpose, those of ordinary skill in the art will recognize that its usefulness is not limited thereto and that the present disclosure may be beneficially implemented in any number of environments for any number of purposes. Accordingly, the following claims should be construed in view of the full breadth and spirit of the present disclosure as described herein.
Claims (15)
1. A method, comprising:
determining, by at least one computer processor communicatively coupled to a contact center system and configured to operate in the contact center system, a set of agents of the contact center system;
determining, by at least one computer processor, a set of contact data for the contact center system;
obtaining, by the at least one computer processor, a plurality of feasible contact-agent pairings based on the set of agents and the set of contact data;
obtaining, by the at least one computer processor, a plurality of contact-agent values, wherein each contact-agent value of the plurality of contact-agent values corresponds to a viable contact-agent pairing of the plurality of viable contact-agent pairings;
determining, by the at least one computer processor, a network flow model for contact-agent pair assignment for the contact center system based on the set of agents, the set of contact data, the plurality of feasible contact-agent pairs, and the plurality of contact-agent values;
obtaining, by the at least one computer processor, a set of contacts available for pairing and a set of agents available for pairing;
selecting, by the at least one computer processor, a set of contact-agent pairings from the plurality of possible contact-agent pairings based on the network flow model; and
establishing, in a switching module of the contact center system, a communication channel between contacts and agents for contact-agent pairs of the set of selected contact-agent pairs.
2. The method of claim 1, further comprising:
determining agent information for each agent in the set of agents, wherein each agent in the set of agents is associated with at least one agent skill of a plurality of agent skills and an agent availability.
3. The method of claim 2, further comprising:
determining contact type information for contact types in the set of contact data, wherein each contact type is associated with an expected availability and at least one skill requirement, wherein each of the at least one skill requirement corresponds to at least one of the plurality of agent skills.
4. The method of claim 3, wherein,
obtaining the plurality of feasible contact-agent pairings is further based on the determined agent information and the determined contact type information.
5. The method of claim 1, wherein,
obtaining the plurality of feasible contact-agent pairings comprises: a payout matrix is determined based on the historical contact-agent result data.
6. The method of claim 1, wherein,
each contact-agent value of the plurality of contact-agent values comprises at least one of: revenue generation, call processing time, and customer satisfaction.
7. The method of claim 1, wherein,
determining the set of contact data for the contact center is based on at least one of: historical contact attribute data, historical customer information, and customer relationship management data.
8. A system, comprising:
at least one computer processor communicatively coupled to a contact center system and configured to operate in the contact center system, wherein the at least one computer processor is further configured to:
determining a set of agents of the contact center system;
determining a set of contact data for the contact center system;
obtaining a plurality of feasible contact-agent pairings based on the set of agents and the set of contact data;
obtaining a plurality of contact-agent values, wherein each contact-agent value of the plurality of contact-agent values corresponds to a viable contact-agent pairing of the plurality of viable contact-agent pairings;
determining a network flow model assigned for contact-agent pairings for the contact center system based on the set of agents, the set of contact data, the plurality of feasible contact-agent pairings, and the plurality of contact-agent values;
obtaining a set of contacts available for pairing and a set of agents available for pairing;
selecting a set of contact-agent pairings from the plurality of possible contact-agent pairings based on the network flow model; and
establishing, in a switching module of the contact center system, a communication channel between contacts and agents for contact-agent pairs of the set of selected contact-agent pairs.
9. The system of claim 8, wherein the at least one computer processor is further configured to:
determining agent information for each agent in a set of agents, wherein each agent in the set of agents is associated with at least one agent skill of the plurality of agent skills and an agent availability.
10. The system of claim 9, wherein the at least one computer processor is further configured to:
determining contact type information for contact types in the set of contact data, wherein each contact type is associated with an expected availability and at least one skill requirement, wherein each of the at least one skill requirements corresponds to at least one of a plurality of agent skills.
11. The system of claim 10, wherein,
obtaining the plurality of feasible contact-agent pairings is further based on the determined agent information and the determined contact type information.
12. The system of claim 8, wherein,
obtaining the plurality of feasible contact-agent pairings includes determining a matrix of payouts based on historical contact-agent result data.
13. The system of claim 8, wherein,
each contact-agent value of the plurality of contact-agent values comprises at least one of: revenue generation, call processing time, and customer satisfaction.
14. The system of claim 8, wherein,
determining the set of contact data for the contact center is based on at least one of: historical contact attribute data, historical customer information, and customer relationship management data.
15. An 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 a contact center system and configured to operate in the contact center system, thereby causing the at least one computer processor to operate to:
determining a set of agents for the contact center system;
determining a set of contact data for the contact center system;
obtaining a plurality of feasible contact-agent pairings based on the set of agents and the set of contact data;
obtaining a plurality of contact-agent values, wherein each contact-agent value of the plurality of contact-agent values corresponds to a viable contact-agent pairing of the plurality of viable contact-agent pairings;
determining a network flow model for contact-agent pair allocation for the contact center system based on the set of agents, the set of contact data, the plurality of feasible contact-agent pairs, and the plurality of contact-agent values;
obtaining a set of contacts available for pairing and a set of agents available for pairing;
selecting a set of contact-agent pairings from the plurality of possible contact-agent pairings based on the network flow model; and
establishing, in a switching module of the contact center system, a communication channel between contacts and agents for contact-agent pairs of the set of selected contact-agent pairs.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/582,223 | 2017-04-28 | ||
| US15/691,106 | 2017-08-30 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK40079352A true HK40079352A (en) | 2023-04-21 |
| HK40079352B HK40079352B (en) | 2025-05-09 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6765023B2 (en) | Technology for behavioral pairing in contact center systems | |
| HK40079352A (en) | Techniques for behavioral pairing in a contact center system | |
| HK40073635A (en) | Techniques for behavioral pairing in a contact center system | |
| HK40073639A (en) | Techniques for behavioral pairing in a contact center system | |
| HK40073637A (en) | Techniques for behavioral pairing in a contact center system | |
| HK40073638A (en) | Techniques for behavioral pairing in a contact center system | |
| HK40035222B (en) | Techniques for behavioral pairing in a contact center system | |
| HK40035222A (en) | Techniques for behavioral pairing in a contact center system | |
| HK40079352B (en) | Techniques for behavioral pairing in a contact center system | |
| HK40073639B (en) | Techniques for behavioral pairing in a contact center system | |
| HK40073635B (en) | Techniques for behavioral pairing in a contact center system | |
| HK1259608A1 (en) | Techniques for behavioral pairing in a contact center system | |
| HK1259608B (en) | Techniques for behavioral pairing in a contact center system |