-
2018-11-20
15/438,325
2017-02-21
US 10,135,986 B1
2018-11-20
-
-
Quynh H Nguyen
Wilmer Cutler Pickering Hale and Dorr LLP
2037-02-21
Smart Summary: Techniques for evaluating how well contacts are paired with agents in a contact center are being developed. A computer system analyzes contact data and sorts it into different types. It then measures how effectively this sorting was done. Based on the quality of this sorting, the system creates a model to improve the pairing of contacts and agents. This method aims to enhance overall performance in contact centers beyond traditional strategies like FIFO or performance-based routing. 🚀 TL;DR
Techniques for behavioral pairing model evaluation in a contact center system are disclosed. In one particular embodiment, the techniques may be realized as a method for behavioral pairing model evaluation in a contact center system and communicatively coupled to the operating system comprising determining, by at least one computer processor configured to operate in the contact center system, contact data; partitioning, by the at least one computer processor, the contact data into a first plurality of types; determining, by the at least one computer processor, a first measure of the quality of the partitioning of the contact data into the first plurality of types; and outputting, by the at least one computer processor, a computer-processor generated behavioral pairing model based on the quality of the partitioning.
Get notified when new applications in this technology area are published.
H04M3/5232 » CPC main
Automatic or semi-automatic exchanges; Systems providing special services or facilities to subscribers; Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers Centralised arrangements for recording messages; Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing Call distribution algorithms
H04M3/523 IPC
Automatic or semi-automatic exchanges; Systems providing special services or facilities to subscribers; Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers Centralised arrangements for recording messages; Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
This disclosure generally relates to model evaluation for pairing contacts and agents in contact centers and, more particularly, to techniques for behavioral pairing model evaluation in a contact center system.
A typical contact center algorithmically assigns contacts arriving at the contact center to agents available to handle those contacts. At times, the contact center may have agents available and waiting for assignment to inbound or outbound contacts (e.g., telephone calls, Internet chat sessions, email). At other times, the contact center may have contacts waiting in one or more queues for an agent to become available for assignment.
In some typical contact centers, contacts are assigned to agents ordered based on time of arrival, and agents receive contacts ordered based on the time when those agents became available. This strategy may be referred to as a “first-in, first-out”, “FIFO”, or “round-robin” strategy. In other typical contact centers, other strategies may be used, such as “performance-based routing”, or a “PBR” strategy.
In other, more advanced contact centers, contacts are paired with agents using a “behavioral pairing”, or a “BP” strategy, under which contacts and agents may be deliberately (preferentially) paired in a fashion that enables the assignment of subsequent contact-agent pairs such that when the benefits of all the assignments under a BP strategy are totaled they may exceed those of FIFO and other strategies such as performance-based routing (“PBR”) strategies. BP is designed to encourage balanced utilization of agents within a skill queue while nevertheless simultaneously improving overall contact center performance beyond what FIFO or PBR methods will allow. This is a remarkable achievement because BP acts on the same calls and same agents as FIFO or PBR methods, utilizes agents approximately evenly as FIFO provides, and yet improves overall contact center performance. BP is described in, e.g., U.S. Pat. No. 9,300,802, which is incorporated by reference herein. Additional information about these and other features regarding the pairing or matching modules (sometimes also referred to as “SATMAP”, “routing system”, “routing engine”, etc.) is described in, for example, U.S. Pat. No. 8,879,715, which is incorporated herein by reference.
A BP strategy may develop a model of contact types, for which expected performance gains over other pairing strategies may be determined. However, model generation and validation may be time-consuming and resource-intensive, or they may benefit from manual intervention or fine-tuning.
In view of the foregoing, it may be understood that there is a need for a system that enables improving behavioral pairing model selection to improve the efficiency and performance of pairing strategies that are designed to choose among multiple possible pairings.
Techniques for behavioral pairing model evaluation in a contact center system are disclosed. In one particular embodiment, the techniques may be realized as a method for behavioral pairing model evaluation in a contact center system comprising determining, by at least one computer processor communicatively coupled to and configured to operate in the contact center system, contact data; partitioning, by the at least one computer processor, the contact data into a first plurality of types; determining, by the at least one computer processor, a first measure of the quality of the partitioning of the contact data into the first plurality of types; and outputting, by the at least one computer processor, a computer-processor generated behavioral pairing model based on the quality of the partitioning.
In accordance with other aspects of this particular embodiment, partitioning the contact data comprises applying, by the at least one computer processor, locality sensitive hashing (LSH) to the contact data.
In accordance with other aspects of this particular embodiment, the contact data may be divided into training contact data and test contact data.
In accordance with other aspects of this particular embodiment, partitioning the contact data comprises applying, by the at least one computer processor, a randomized set of partitions.
In accordance with other aspects of this particular embodiment, the method may further comprise partitioning, by the at least one computer processor, the contact data into a second plurality of types different from the first plurality of types; determining, by the at least one computer processor, a second measure of the quality of the partitioning of the contact data into the second plurality of types; and selecting, by the at least one computer processor, one of the first plurality of types and the second plurality of types having a higher measure of the quality of the partitioning by comparing the first and second measures of the quality of the partitioning, wherein the computer-processor generated behavioral pairing model may be based on the selected one of the first plurality of types and the second plurality of types.
In accordance with other aspects of this particular embodiment, the selected one of the first and second plurality of types is expected to provide a greater increase in expected contact center performance than the other of the first and second plurality of types.
In accordance with other aspects of this particular embodiment, the method may further comprise applying, by the at least one computer processor, the behavioral pairing model to at least one contact and at least one available agent within the contact center system using a behavioral pairing strategy.
In another particular embodiment, the techniques may be realized as a system for behavioral pairing model evaluation in a contact center system comprising at least one computer processor communicatively coupled to and configured to operate in the contact center system, wherein the at least one computer processor is configured to perform the steps in the above-discussed method.
In another particular embodiment, the techniques may be realized as an article of manufacture for behavioral pairing model evaluation in a contact center system 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 and configured to operate in the contact center system and thereby cause the at least one computer processor to operate to perform the steps in the above-discussed method.
The present disclosure will now be described in more detail with reference to particular embodiments thereof as shown in the accompanying drawings. While the present disclosure is described below with reference to particular 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.
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 illustrative only.
FIG. 1 shows a block diagram of a contact center according to embodiments of the present disclosure.
FIG. 2A depicts an example of contact data according to embodiments of the present disclosure.
FIG. 2B shows an example of a behavioral pairing model according to embodiments of the present disclosure.
FIG. 3A shows an example of a behavioral pairing model according to embodiments of the present disclosure.
FIG. 3B shows an example of a behavioral pairing model according to embodiments of the present disclosure.
FIG. 4 shows a flow diagram of a BP model evaluation method according to embodiments of the present disclosure.
A typical contact center algorithmically assigns contacts arriving at the contact center to agents available to handle those contacts. At times, the contact center may have agents available and waiting for assignment to inbound or outbound contacts (e.g., telephone calls, Internet chat sessions, email). At other times, the contact center may have contacts waiting in one or more queues for an agent to become available for assignment.
In some typical contact centers, contacts are assigned to agents ordered based on time of arrival, and agents receive contacts ordered based on the time when those agents became available. This strategy may be referred to as a “first-in, first-out”, “FIFO”, or “round-robin” strategy. In other typical contact centers, other strategies may be used, such as “performance-based routing”, or a “PBR” strategy.
In other, more advanced contact centers, contacts are paired with agents using a “behavioral pairing”, or a “BP” strategy, under which contacts and agents may be deliberately (preferentially) paired in a fashion that enables the assignment of subsequent contact-agent pairs such that when the benefits of all the assignments under a BP strategy are totaled they may exceed those of FIFO and other strategies such as performance-based routing (“PBR”) strategies. BP is designed to encourage balanced utilization of agents within a skill queue while nevertheless simultaneously improving overall contact center performance beyond what FIFO or PBR methods will allow. This is a remarkable achievement because BP acts on the same calls and same agents as FIFO or PBR methods, utilizes agents approximately evenly as FIFO provides, and yet improves overall contact center performance. BP is described in, e.g., U.S. Pat. No. 9,300,802, which is incorporated by reference herein. Additional information about these and other features regarding the pairing or matching modules (sometimes also referred to as “SATMAP”, “routing system”, “routing engine”, etc.) is described in, for example, U.S. Pat. No. 8,879,715, which is incorporated herein by reference.
A BP strategy may develop a model of contact types, for which expected performance gains over other pairing strategies may be determined. However, model generation and validation may be time-consuming and resource-intensive, or they may benefit from manual intervention or fine-tuning.
In view of the foregoing, it may be understood that there is a need for a system that enables improving behavioral pairing model selection to improve the efficiency and performance of pairing strategies that are designed to choose among multiple possible pairings.
FIG. 1 shows a block diagram of a contact center system 100 according to embodiments of the present disclosure. The description herein describes network elements, computers, and/or components of a system and method for simulating contact center systems 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. Modules, however, are not to be interpreted as software which is not implemented on hardware, firmware, or recorded on a processor readable recordable storage medium (i.e., modules are not software per se). It is noted that the modules are exemplary. The modules may be combined, integrated, separated, and/or duplicated to support various applications. Also, a function 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 instead of or in addition to the function performed at the particular module. Further, the modules may be implemented across multiple devices and/or other components local or remote to one another. Additionally, the modules may be moved 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 may include a central switch 110. The central switch 110 may receive incoming contacts (e.g., callers) or support outbound connections to contacts via a telecommunications network (not shown). The central switch 110 may include contact routing hardware and software for helping to route contacts among one or more contact centers, or to one or more PBX/ACDs or other queuing or switching components, including other Internet-based, cloud-based, or otherwise networked contact-agent hardware or software-based contact center solutions.
The central switch 110 may not be necessary such as if there is only one contact center, or if there is only one PBX/ACD routing component, in the contact center system 100. If more than one contact center is part of the contact center system 100, each contact center may include at least one contact center switch (e.g., contact center switches 120A and 120B). The contact center switches 120A and 120B may be communicatively coupled to the central switch 110. In embodiments, various topologies of routing and network components may be configured to implement the contact center system.
Each contact center switch for each contact center may be communicatively coupled to a plurality (or “pool”) of agents. Each contact center switch may support a certain number of agents (or “seats”) to be logged in at one time. At any given time, a logged-in agent may be available and waiting to be connected to a contact, or the logged-in agent may be unavailable for any of a number of reasons, such as being connected to another contact, performing certain post-call functions such as logging information about the call, or taking a break.
In the example of FIG. 1, the central switch 110 routes contacts to one of two contact centers via contact center switch 120A and contact center switch 120B, respectively. Each of the contact center switches 120A and 120B are shown with two agents each. Agents 130A and 130B may be logged into contact center switch 120A, and agents 130C and 130D may be logged into contact center switch 120B.
The contact center system 100 may also be communicatively coupled to an integrated service from, for example, a third-party vendor. In the example of FIG. 1, pairing model evaluation module 140 may be communicatively coupled to one or more switches in the switch system of the contact center system 100, such as central switch 110, contact center switch 120A, or contact center switch 120B. In some embodiments, switches of the contact center system 100 may be communicatively coupled to multiple pairing model evaluation modules (e.g., a BP model evaluation module). In some embodiments, pairing model evaluation module 140 may be embedded within a component of a contact center system (e.g., embedded in or otherwise integrated with a switch). The pairing model evaluation module 140 may receive information from a switch (e.g., contact center switch 120A) about agents logged into the switch (e.g., agents 130A and 130B) and about incoming contacts via another switch (e.g., central switch 110) or, in some embodiments, from a network (e.g., the Internet or a telecommunications network) (not shown).
A contact center may include multiple pairing modules (e.g., a BP module and a FIFO module) (not shown), and one or more pairing modules may be provided by one or more different vendors. In some embodiments, one or more pairing modules may be components of pairing model evaluation module 140 or one or more switches such as central switch 110 or contact center switches 120A and 120B. In some embodiments, a pairing model evaluation module may determine which pairing module may handle pairing for a particular contact. For example, the pairing model evaluation module may alternate between enabling pairing via the BP module and enabling pairing with the FIFO module. In other embodiments, one pairing module (e.g., the BP module) may be configured to emulate other pairing strategies. For example, a pairing model evaluation module, or a pairing model evaluation component integrated with BP components in the BP module, may determine whether the BP module may use BP pairing or emulated FIFO pairing for a particular contact. In this case, “BP on” may refer to times when the BP module is applying the BP pairing strategy, and “BP off” may refer to other times when the BP module is applying a different pairing strategy (e.g., FIFO).
In some embodiments, regardless of whether pairing strategies are handled by separate modules, or if some pairing strategies are emulated within a single pairing module, the single pairing module may be configured to monitor and store information about pairings made under any or all pairing strategies. For example, a BP module may observe and record data about FIFO pairings made by a FIFO module, or the BP module may observe and record data about emulated FIFO pairings made by a BP module operating in FIFO emulation mode.
FIG. 2A depicts an example of contact data according to embodiments of the present disclosure. In the example of FIG. 2A, each point plotted on the contact data graph 200A represents a contact or, in some embodiments, historical contact outcome data. For simplicity, the example shows the contacts in a two-dimensional space. The dimensions “x” and “y” may represent a variety of different variables or other properties associated with a contact or a historical contact interaction outcome. For example, “x” may represent an expected likelihood that a contact will purchase a particular product or service from a contact center's agent in a sales queue, and “y” may represent an expected duration of a contact interaction (e.g., an expected handle time for a call).
In the example of FIG. 2A, “x” and “y” are continuous variables, scaled or otherwise normalized within the range (−10.0, 10.0). In this simplified, hypothetical example, a positive “x” value may represent a contact that is more likely than not to make a purchase, whereas a negative “x” value may represent a contact that has a less than 50% likelihood of making a purchase. Similarly, a positive “y” value may represent a contact expected to have a relatively “long” interaction (duration above a certain threshold number of minutes or seconds), whereas a negative “y” value may represent a contact expected to have a relatively “short” interaction (duration below the threshold number of minutes or seconds).
In some embodiments, more than two dimensions may be represented in higher n-dimensional space (or “hyperspace”), such as three-dimensional, four-dimensional, or higher. Each contact (or contact interaction outcome) may be represented by an n-dimensional point (x, y, z, . . . , n). In this simplified example, two-dimensional space is used to make the system easier to visualize for the purpose of the present disclosure; however, the system may function in the same way for more complex, higher-dimensional datasets.
FIG. 2B shows an example of a behavioral pairing model 200B according to embodiments of the present disclosure. Under a BP strategy, contacts may be paired with agents based on information about the contacts in queue and the available agents that is known or inferred by the system. In some embodiments, a BP strategy may group (or “segment” or “cluster”) individual contacts as they arrive at the contact center system, according to rules or predicates derived from the BP model.
In the example of FIG. 2B, contacts may be segmented into one of four contact types, as shown in the BP model 200B in quadrants 210B, 220B, 230B, and 240B. Quadrant 210B (positive x; positive y) includes contacts expected to take a relatively long time and buy a product. Quadrant 220B (positive x; negative y) includes contacts expected to take a relatively short time and buy a product. Quadrant 230B (negative x; negative y) includes contacts expected to take a relatively short time and not buy a product. Quadrant 240B (negative x; positive y) includes contacts expected to take a relatively long time and not buy a product.
In some situations, a contact may have an apparently neutral value in one or more dimensions (i.e., x equals 0, y equals 0, or both x and y equal 0). In some embodiments, a BP model may arbitrarily assign these contacts to a cluster or type on one side or the other of the “dividing line” (or dividing plane in 3D space or hyperplane in hyperspace). For example, BP model 200B may determine that contacts have a 50% likelihood to buy something (just as likely as not, or neutral) may be grouped with contacts having a positive x value (more likely than not to buy something), or the BP model 200B may determine that these contacts may be grouped with contacts having a negative x value (more likely to not buy anything). In other embodiments, a BP pairing module may randomly assign a neutral contact along one or more dimensions to either side of the dividing line, plane, hyperplane, etc.
In the simplified example of FIG. 2B, only two dividing lines are shown, which segment contacts into one of four contact types (2 dimensions raised to the power of 2 dividing lines). In another example, three, four, or more (i.e., “m”) dividing lines may be used, dividing contacts into 8, 16, . . . , 2m contact types. Similarly, in three-dimensional space with only two dividing planes, contacts may be segmented into one of four contact types, and n-dimensional hyperspace may be divided by m hyperplanes into 2m contact types. In this example, all dividing lines intersect the origin at (0, 0), or (0, 0, . . . , 0) for hyperplanes intersecting the origin in higher-dimensional space. In other examples, some or all dividing lines or hyperplanes may intersect at other points. In this example, all regions are divided by straight lines (or flat hyperplanes). In other examples, regions may be divided by nonlinear curves or curved hyperplanes.
This type of contact segmentation may include techniques relating to locality sensitive hashing (“LSH”), also known as locality sensitive clustering. More information about LSH may be found in, for example, Chen et al., “Enhanced Locality Sensitive Clustering in High Dimensional Space,” TRANS. ON ELEC. AND ELECTRONIC MATERIALS, Vol. 15, No. 3, pp. 125-29 (Jun. 25, 2014), hereby incorporated by reference in its entirety.
The process may be similar to a “nearest neighbor” process, by which contacts that are similar to one another (e.g., separated by relatively small distances in n-dimensional space) may be assumed to have similar behavior suitable for a BP strategy. One distinction between LSH and nearest-neighbor grouping is that a given dividing line/hyperplane may separate two contacts into different groups even if they would have otherwise been considered nearest neighbors and therefore would otherwise have been expected to behave in a similar manner to one another. In practice, an inefficiency that may arise due to separating neighboring contacts into separate clusters may be offset by the overall performance gain for the contact center system as a whole due to relatively efficient overall clustering of most of the contacts entering the contact center system.
The performance of a particular LSH-based BP model may depend on the quality of the fit to available contact data (e.g., customer relationship management or CRM data) and historical contact outcome data. FIG. 3A shows an example of a behavioral pairing model 300A according to embodiments of the present disclosure. In the example of FIG. 3A, two dividing lines are used to segment 2D contact data into four clusters 310A, 320A, 330A, and 340A. Cluster 310A contains the most contacts, followed by cluster 330A which also contains many contacts. Cluster 320A contains only a small handful of contacts, and cluster 340A does not contain any contacts at all. Thus, BP model 300A may have relatively poor performance compared to other possible divisions.
FIG. 3B shows an example of a BP model 300B according to embodiments of the present disclosure. In the example of FIG. 3B, two dividing lines are used to segment 2D contact data into four clusters 310B, 320B, 330B, and 340B. In contrast to BP model 300A, the contact data in BP model 300B is segmented into relatively more uniform clusters 310B-340B. Thus, BP model 300B may have relatively better predictability power for future contacts with similar features as those defined by the clusters 310B-340B. Better predictability power may lead, in turn, to relatively higher performance compared to other possible divisions such as BP model 300A.
In some embodiments, a technique for selecting dividing lines may be to choose lines manually that appear to segment the contact data in meaningfully or statistically useful ways. For example, the segmentation of the data in BP model 200B (FIG. 2B)—which used dividing lines along the two axes (x=0 and y=0)—may appear to offer a relatively good segmentation of the contact data shown in BP model 200B. However, a relatively simple division such as dividing along the axes in 2D or higher-dimensional space may not also offer an optimal or even a preferred solution, given the contact data found in the model.
In other embodiments, a technique for selecting dividing lines may be to search algorithmically for a statistically optimal segmentation. Depending on the techniques used, such as finely-tuned decision trees or hierarchical clustering greedy algorithm may lead to high accuracy but may also be time consuming and/or computationally resource intensive, especially as the number of dimensions and the amount of contact data increase.
In other embodiments, LSH with randomized trials may offer a preferred balance between good-to-high accuracy while remaining relatively computationally fast. FIG. 4 shows a flow diagram of a BP model evaluation method 400 according to embodiments of the present disclosure that use LSH with randomized trials. BP model evaluation method may begin at block 410.
At block 410, training and test sets of contact data may be determined. For example, contact data may include customer relationship management (CRM) data, demographic data, psychographic data, or other data sources about contacts. In some embodiments, historical contact interaction outcome data may also be used. For example, a range of data such as a one week, one month, one year, etc. may include information about which contacts interacted with which agents, when, for how long, what the outcome was, and more. Any contact data available may be divided into training and test data subsets. For example, a training subset of data may be used when considering randomized trials of LSH dividers, and test data subsets may be subsequently used to validate the BP model including the preferred set of LSH dividers. After determining contact data, including training and test sets of contact data, BP model evaluation method may proceed to block 420.
At block 420, random LSH dividers may be determined. In some embodiments, each random trial may be conducted serially, such as on a single thread or core. In other embodiments, multiple random trials may be conducted in parallel across multiple threads or processor cores. In some embodiments, LSH dividers may be assumed to intersect through the origin. In the case of two-dimensional space, LSH dividers may be lines of the form Ax+By=0, wherein the coefficients A and B may be set at random. In some embodiments, a random trial will ensure that each random set of coefficients is unique so that each divider is distinct from the others within a single trial. In some embodiments, the number of LSH dividers may be predetermined to a certain number of dividers such as one, two, three, or more dividers. The number of dividers/clusters may be scaled proportionally according to the size of the dataset and/or the variability of data within the dataset. After determining a set of random LSH dividers for a trial, BP model evaluation method 400 may proceed to block 430.
At block 430, the random LSH dividers may be applied to the training data (and, in some embodiments, test data) to analyze the contact data. For example, individual points of contact data may be segmented into one of the clusters defined by the boundaries of the LSH dividers. For example, in 2D space, all points lying “above” a given divider line may be assigned a “1” for that line, and points lying “below” the given divider line may be assigned a “0” for that line. If a point falls on the line itself, the point may be designated as part of the region above or below the divider line in any of a number of suitable ways (e.g., always considered above, always considered below, randomly assigned above or below). The particular technique of assigning a “1” or “0” for each divider line according to some embodiments enables a binary representation for each cluster, using a bitstring in which the i-th bit represents the position of the cluster or contact point with respect to the i-th divider line. After analyzing the training or test contact data according to the random trial of LSH dividers, BP model evaluation method may proceed to block 440.
At block 440, BP model evaluation method 400 may check for an adequate degree of fit in some embodiments, and/or an adequate number of iterations in some embodiments. For example, in some embodiments, the quality of the random trial may be measured or otherwise estimated by calculating a weighted average of the product of the standard deviations of contact data's x, y, . . . , n positions over the clusters defined by the random trial. In other embodiments, other heuristics or measurements may be used to assess the quality of the random trial.
In some embodiments, if the quality of the random trial exceeds a threshold degree of adequate fit, BP model evaluation method 400 may proceed to block 450 using the current random trial, which is the first random trial identified to have a sufficient/adequate degree of fit.
In other embodiments, BP model evaluation method 400 may return to block 420 to run additional random trials until a predetermined number of random trials (iterations) have been tested. In some embodiments, BP model evaluation method 400 may run for the predetermined number of iterations regardless of the degree of fit measured for any individual trial. After an adequate number of trials have run, BP model evaluation method 400 may proceed to block 450 using the random trial that provided the highest/best degree of fit.
At block 450, the selected trial of random LSH dividers may be used to construct a BP model. In some embodiments, the constructed BP model may be validated further using test data (not shown), such as test data subsets determined at block 410. After the BP model has been constructed or validated, BP model evaluation method 400 may end.
In some embodiments, a graphical or command line user interface may be provided to configure, setup, or control the BP model evaluation method 400. For example, controls may be provided to select the contact data (e.g., database), select the date range of data to use, select the percentage of data to use for training for test sets, select the number of randomized trials or iterations to test, select the number of LSH dividers to define in each trial, etc.
In some embodiments, a graphical or tabular user interface may be provided to display the results of the BP model evaluation method 400. For example, the interface may display information about the data being applied; the quality of the LSH trials (e.g., the “lift” or performance improvement that the model is expected to provide to the contact center system); a visualization or 2D projection of the size and type of LSH clusters defined in the best trial, and a list of IF/THEN/ELSE, predicates, or other formulae for defining or applying the LSH dividers/clusters to contact data in script or other computer program code.
The constructed BP model may be loaded or otherwise applied to a BP module operating within the contact center system. For example, if a contact (e.g., caller) arrives in a contact center system (e.g., call center), the BP module may determine data about the contact/caller, apply the BP model to the contact data to assign the contact to one of the clusters according to the LSH technique defined by the BP model. Subsequently, a BP strategy may be used to pair the contact of the assigned type/cluster to an available agent preferred according to a BP strategy. The paired contact and agent may then be connected for communication or other type of interaction within the contact center system.
At this point it should be noted that behavioral pairing model evaluation in a contact center system in accordance with the present disclosure as described above may involve the processing of input data and the generation of output data to some extent. This input data processing and output data generation may be implemented in hardware or software. For example, specific electronic components may be employed in a behavioral pairing model evaluation module or similar or related circuitry for implementing the functions associated with pairing model evaluation in a contact center system in accordance with the present disclosure as described above. Alternatively, one or more processors operating in accordance with instructions may implement the functions associated with BP in a contact center system in accordance with the present disclosure as described above. If such is the case, it is within the scope of the present disclosure that such 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 one or more processors via one or more signals embodied 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 and modifications to the present disclosure, in addition to those described herein, will be apparent to those of ordinary skill in the art from the foregoing description and accompanying drawings. Thus, such other embodiments and modifications are intended to fall within the scope of the present disclosure. Further, although the present disclosure has been 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 claims set forth below should be construed in view of the full breadth and spirit of the present disclosure as described herein.
1. A method for behavioral pairing model evaluation in a contact center system comprising:
determining, by at least one computer processor communicatively coupled to and configured to operate in the contact center system, contact data;
partitioning, by the at least one computer processor, the contact data into a first plurality of types;
determining, by the at least one computer processor, a first measure of the quality of the partitioning of the contact data into the first plurality of types;
partitioning, by the at least one computer processor, the contact data into a second plurality of types different from the first plurality of types;
determining, by the at least one computer processor, a second measure of the quality of the partitioning of the contact data into the second plurality of types;
selecting, by the at least one computer processor, one of the first plurality of types and the second plurality of types having a higher measure of the quality of the partitioning by comparing the first and second measures of the quality of the partitioning;
outputting, by the at least one computer processor, a computer-processor generated behavioral pairing model based on the quality of the partitioning, wherein the computer-processor generated behavioral pairing model is based on the selected one of the first plurality of types and the second plurality of types; and
establishing, by the at least one computer processor, in a switch module of the contact center system, a communication channel between communication equipment of a contact and communication equipment of an agent based at least in part upon the computer-processor generated behavioral pairing model.
2. The method of claim 1, wherein partitioning the contact data comprises applying, by the at least one computer processor, locality sensitive hashing (LSH) to the contact data.
3. The method of claim 1, wherein the contact data is divided into training contact data and test contact data.
4. The method of claim 1, wherein partitioning the contact data comprises applying, by the at least one computer processor, a randomized set of partitions.
5. The method of claim 1, wherein the selected one of the first and second plurality of types is expected to provide a greater increase in expected contact center performance than the other of the first and second plurality of types.
6. The method of claim 1, further comprising:
applying, by the at least one computer processor, the behavioral pairing model to at least one contact and at least one available agent within the contact center system using a behavioral pairing strategy.
7. A system for behavioral pairing model evaluation in a contact center system comprising:
at least one computer processor communicatively coupled to and configured to operate in the contact center system, wherein the at least one computer processor is configured to:
determine contact data;
partition the contact data into a first plurality of types;
determine a first measure of the quality of the partitioning of the contact data into the first plurality of types;
partition the contact data into a second plurality of types different from the first plurality of types;
determine a second measure of the quality of the partitioning of the contact data into the second plurality of types;
select one of the first plurality of types and the second plurality of types having a higher measure of the quality of the partitioning by comparing the first and second measures of the quality of the partitioning;
output a computer-processor generated behavioral pairing model based on the quality of the partitioning, wherein the computer-processor generated behavioral pairing model is based on the selected one of the first plurality of types and the second plurality of types; and
establish, in a switch module of the contact center system, a communication channel between communication equipment of a contact and communication equipment of an agent based at least in part upon the computer-processor generated behavioral pairing model.
8. The system of claim 7, wherein partitioning the contact data comprises applying locality sensitive hashing (LSH) to the contact data.
9. The system of claim 7, wherein the contact data is divided into training contact data and test contact data.
10. The system of claim 7, wherein partitioning the contact data comprises applying a randomized set of partitions.
11. The system of claim 7, wherein the selected one of the first and second plurality of types is expected to provide a greater increase in expected contact center performance than the other of the first and second plurality of types.
12. The system of claim 7, wherein the at least one computer processor is further configured to:
apply the behavioral pairing model to at least one contact and at least one available agent within the contact center system using a behavioral pairing strategy.
13. An article of manufacture for behavioral pairing model evaluation in a contact center system 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 and configured to operate in the contact center system and thereby cause the at least one computer processor to operate so as to:
determine contact data;
partition the contact data into a first plurality of types;
determine a first measure of the quality of the partitioning of the contact data into the first plurality of types;
partition the contact data into a second plurality of types different from the first plurality of types;
determine a second measure of the quality of the partitioning of the contact data into the second plurality of types;
select one of the first plurality of types and the second plurality of types having a higher measure of the quality of the partitioning by comparing the first and second measures of the quality of the partitioning;
output a computer-processor generated behavioral pairing model based on the quality of the partitioning, wherein the computer-processor generated behavioral pairing model is based on the selected one of the first plurality of types and the second plurality of types; and
establish, in a switch module of the contact center system, a communication channel between communication equipment of a contact and communication equipment of an agent based at least in part upon the computer-processor generated behavioral pairing model.
14. The article of manufacture of claim 13, wherein partitioning the contact data comprises applying locality sensitive hashing (LSH) to the contact data.
15. The article of manufacture of claim 13, wherein the contact data is divided into training contact data and test contact data.
16. The article of manufacture of claim 13, wherein partitioning the contact data comprises applying a randomized set of partitions.
17. The article of manufacture of claim 13, wherein the selected one of the first and second plurality of types is expected to provide a greater increase in expected contact center performance than the other of the first and second plurality of types.
18. The article of manufacture of claim 13, wherein the at least one computer processor is further caused to operate so as to:
apply the behavioral pairing model to at least one contact and at least one available agent within the contact center system using a behavioral pairing strategy.