Technology for data matching in contact center systems

By analyzing the correlation between historical contact interaction and result event time in the contact center system, the high accuracy matching of contact interaction data and result data is achieved, the problem of insufficient data matching accuracy in the prior art is solved, and the efficiency and performance of behavioral pairing strategies are improved.

CN118278698BActive Publication Date: 2025-05-06AFINITI AI LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202410502717.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-11-29
Filing Date
2018-07-18
Publication Date
2025-05-06
Estimated Expiration
2038-07-18

AI Technical Summary

Technical Problem

In contact center systems, prior art is difficult to improve the data matching accuracy of contact interaction data and contact interaction outcome data, thereby affecting the efficiency and performance of behavioral pairing strategies, such as behavioral pairing strategies.

Method used

By using at least one computer processor in the contact center system, the interaction event time associated with the historical contact interaction and the outcome event time associated with the historical contact interaction results are determined, and the historical contact interaction interaction is matched with the historical contact interaction results according to the correlation.

Benefits of technology

The data matching accuracy of contact interaction data and contact interaction result data is improved, thereby improving the efficiency and performance of behavioral pairing strategies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118278698B_ABST
    Figure CN118278698B_ABST
Patent Text Reader

Abstract

A technology for data matching in a contact center system is disclosed. In a specific embodiment, the technology can be implemented as a method for data matching in a contact center system, the method comprising: determining, by at least one computer processor communicatively coupled to the contact center system and configured to operate in the contact center system, an interaction event time associated with a historical contact interaction; determining, by the at least one computer processor, an outcome event time associated with an outcome of the historical contact interaction; analyzing, by the at least one computer processor, the interaction event time and the outcome event time to determine a correlation; and matching, by the at least one computer processor, the historical contact interaction with the historical contact interaction outcome according to the correlation.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of a patent application with application number 201880015592.0 (PCT / IB2018 / 000900), filed on September 3, 2019, with an international filing date of July 18, 2018, and an invention name of “Technology for data matching in contact center systems”.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This international patent application claims priority to U.S. Patent Application No. 15 / 826,093, filed on November 29, 2017, the entire contents of which are incorporated herein by reference as if fully set forth herein. Technical Field

[0004] The present disclosure relates generally to analyzing contact center data and, more particularly, to techniques for data matching in contact center systems. Background Art

[0005] A typical contact center algorithmically assigns contacts that arrive at the contact center to agents that are available to handle those contacts. Sometimes, a contact center may have agents available and waiting to be assigned to an inbound or outbound contact (e.g., a phone call, an Internet chat session, an email). At other times, a contact center may have contacts waiting in one or more queues for agents to become available for assignment.

[0006] In some typical contact centers, contacts are assigned to agents in a sequence based on arrival time, and agents receive contacts in a sequence based on the time those agents become 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 a "performance-based routing" or "PBR" strategy.

[0007] In other more advanced contact centers, contacts are paired with agents using a "behavior pairing" or "BP" strategy, under which contacts and agents may be paired deliberately (preferentially) in a manner that enables subsequent contact-agent pairs to be assigned so that when the benefits of all assignments under the BP strategy are totaled they may exceed the benefits of FIFO and other strategies such as performance-based routing ("PBR") strategies. BP is intended to promote balanced utilization of agents within skill queues, while at the same time improving overall contact center performance beyond what FIFO or PBR approaches allow. This is a remarkable achievement because BP operates on the same calls and the same agents as FIFO or PBR approaches, utilizes agents approximately evenly as FIFO provides, and still improves overall contact center performance. BP is described, for example, in U.S. Patent No. 9,300,802, which is 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, which is incorporated herein by reference.

[0008] BP strategies can use the outcomes of the interactions between contacts and agents to build and iteratively improve pairing models. However, in some typical contact centers, the outcome records may be stored separately and in an unstructured / unrelated manner relative to the information stored about the assignment of contacts to agents.

[0009] In view of the foregoing, it can be appreciated that a system may be needed that improves the accuracy of data matching of contact interaction data and contact interaction outcome data in order to improve the efficiency and performance of pairing strategies thereof that are intended to be selected among multiple possible pairings such as BP strategies. Summary of the invention

[0010] A technology for data matching in a contact center system is disclosed. In a specific embodiment, the technology can be implemented as a method for data matching in a contact center system, the method comprising: determining, by at least one computer processor communicatively coupled to the contact center system and configured to operate in the contact center system, an interaction event time associated with a historical contact interaction; determining, by the at least one computer processor, an outcome event time associated with an outcome of the historical contact interaction; analyzing, by the at least one computer processor, the interaction event time and the outcome event time to determine a correlation; and matching, by the at least one computer processor, the historical contact interaction with the historical contact interaction outcome according to the correlation.

[0011] According to other aspects of this particular embodiment, the interaction event time may be a time window and the achievement event time may be a timestamp.

[0012] According to other aspects of this particular embodiment, the method may further include: extending, by the at least one computer processor, the interaction event time to a longer event duration before analyzing the interaction event time.

[0013] According to other aspects of this particular embodiment, the achievement event time may be outside of the interaction event time.

[0014] According to other aspects of this particular embodiment, the achievement event time may occur after the interaction event time ends.

[0015] According to other aspects of this particular embodiment, the method may further include: retrieving, by at least one computer processor, data for historical contact interactions from a first data source; and retrieving, by the at least one computer processor, data for historical contact interaction outcomes from a second data source different from the first data source.

[0016] According to other aspects of this particular embodiment, the method may further include: discovering, by at least one computer processor, a clock synchronization problem between the first data source and the second data source; and automatically correcting, by at least one computer processor, the clock synchronization problem.

[0017] According to other aspects of this specific embodiment, the method may further include: generating, by at least one computer processor, a contact-agent pairing model based on the matching of the historical contact interactions with the historical contact interaction outcomes for optimizing the contact-agent pairing in the contact center system.

[0018] In accordance with other aspects of this particular embodiment, the method may further include analyzing, by at least one computer processor, low constraints, wherein the low constraints result in a higher match rate and a less accurate match.

[0019] According to other aspects of this particular embodiment, the method may further include analyzing, by at least one computer processor, high constraints, wherein the high constraints result in a lower match rate and a more accurate match.

[0020] According to other aspects of this particular embodiment, the method may further include: determining, by at least one computer processor, a probability that the matching of the historical contact interaction and the historical contact interaction outcome is accurate.

[0021] According to other aspects of this particular embodiment, the method may further include determining, by at least one computer processor, a probability that the plurality of matching historical contact interactions and contact interaction outcomes are accurate.

[0022] In another specific embodiment, the technology can be implemented as a system for data matching in a contact center system, the system including at least one computer processor communicatively coupled to the contact center system and configured to operate in the contact center system, wherein the at least one computer processor is further configured to perform the steps in the above method.

[0023] In another specific embodiment, the technology can be implemented as an article of manufacture for data matching in a contact center system, the article of manufacture comprising a non-transitory processor-readable medium and instructions stored on the medium, wherein the instructions are configured to be readable from the medium by at least one computer processor communicatively coupled to the contact center system 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 method.

[0024] The present disclosure will now be described in more detail with reference to its specific embodiments as shown in the accompanying drawings. Although the present disclosure is described below with reference to specific embodiments, it should be understood that the present disclosure is not limited thereto. Those skilled in the relevant art who obtain the teachings herein will recognize other implementations, modifications, examples, and other fields of use, which are within the scope of the present disclosure described herein and insofar as the present disclosure may have important practicality. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to facilitate a more complete understanding of the present disclosure, reference is now made to the accompanying drawings, in which like elements are represented by like reference numerals. These drawings should not be construed as limiting the present disclosure, but are for illustration only.

[0026] Figure 1 A block diagram of a contact center system according to an embodiment of the present disclosure is shown.

[0027] Figure 2 A block diagram of a contact center system according to an embodiment of the present disclosure is shown.

[0028] Figure 3 A flow chart of a data matching method according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0029] A typical contact center algorithmically assigns contacts that arrive at the contact center to agents that are available to handle those contacts. Sometimes, a contact center may have agents available and waiting to be assigned to an inbound or outbound contact (e.g., a phone call, an Internet chat session, an email). At other times, a contact center may have contacts waiting in one or more queues for agents to become available for assignment.

[0030] In some typical contact centers, contacts are assigned to agents in a sequence based on arrival time, and agents receive contacts in a sequence based on the time those agents become 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 a "performance-based routing" or "PBR" strategy.

[0031] In other more advanced contact centers, contacts are paired with agents using a "behavior pairing" or "BP" strategy, under which contacts and agents may be paired deliberately (preferentially) in a manner that enables subsequent contact-agent pairs to be assigned so that when the benefits of all assignments under the BP strategy are totaled they may exceed the benefits of FIFO and other strategies such as performance-based routing ("PBR") strategies. BP is intended to promote balanced utilization of agents within skill queues, while at the same time improving overall contact center performance beyond what FIFO or PBR approaches allow. This is a remarkable achievement because BP operates on the same calls and the same agents as FIFO or PBR approaches, utilizes agents approximately evenly as FIFO provides, and still improves overall contact center performance. BP is described, for example, in U.S. Patent No. 9,300,802, which is 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, which is incorporated herein by reference.

[0032] BP strategies can use the outcomes of the interactions between contacts and agents to build and iteratively improve pairing models. However, in some typical contact centers, the outcome records may be stored separately and in an unstructured / unrelated manner relative to the information stored about the assignment of contacts to agents.

[0033] In view of the foregoing, it can be appreciated that a system may be needed that improves the accuracy of data matching of contact interaction data and contact interaction outcome data in order to improve the efficiency and performance of a pairing strategy that aims to select among multiple possible pairings such as a BP strategy.

[0034] Figure 1A block diagram of a contact center system 100 according to an embodiment of the present disclosure is shown. The description herein describes network elements, computers, and / or components of systems and methods 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 interpreted as software that is not implemented on hardware, firmware, or recorded on a processor-readable and recordable storage medium (i.e., the module itself is not software). It should be noted that modules are exemplary. Modules may be combined, integrated, separated, and / or replicated to support various applications. In addition, instead of or in addition to the functions performed at a particular module, the functions performed at a particular module described herein may be performed at one or more other modules and / or performed by one or more other devices. In addition, modules may be implemented across multiple devices and / or other components that are local or remote to each other. In addition, a module may be removed from one device and added to another device and / or may be included in both devices.

[0035] like Figure 1 As shown, 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 with contacts via a telecommunications network (not shown). The central switch 110 may include contact routing hardware and software for facilitating routing of contacts among one or more contact centers or for facilitating routing of contacts to 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.

[0036] The central switch 110 may not be required, such as if there is only one contact center in the contact center system 100 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). 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.

[0037] Each contact center switch of each contact center may be communicatively coupled to a pool (or "pool" of agents). Each contact center switch may support a certain number of agents (or "seats") that are logged in at the same time. At any given time, a logged in agent may be available and waiting to be connected to a contact, or a logged in agent may be unavailable for any of a number of reasons, such as being connected to another contact, performing some post-call function such as recording call-related information, or taking a break.

[0038] exist Figure 1 In the example of FIG. 1 , the central switch 110 routes the contact to one of two contact centers via the contact center switch 120A and the contact center switch 120B, respectively. Each of the contact center switches 120A and 120B is shown with two agents. Agents 130A and 130B can log in to the contact center switch 120A, and agents 130C and 130D can log in to the contact center switch 120B.

[0039] The contact center system 100 may also be communicatively coupled to integration services from, for example, third-party vendors. Figure 1 In an example of the present invention, the data matching module 140 can be communicatively coupled to one or more switches in the switch system of the contact center system 100, such as the central switch 110, the contact center switch 120A, or the contact center switch 120B. In some embodiments, the switches of the contact center system 100 can be communicatively coupled to multiple data matching modules. In some embodiments, the data matching module 140 can be embedded within a component of the contact center system (e.g., embedded in a switch or "BP switch" or otherwise integrated with a switch or "BP switch"). The data matching module 140 can receive information about agents logged into the switch (e.g., agents 130A and 130B) and about incoming contacts from a switch (e.g., the contact center switch 120A) via another switch (e.g., the central switch 110), or in some embodiments, can receive the information from a network (e.g., the Internet or a telecommunications network) (not shown).

[0040] The contact center may include multiple pairing modules (e.g., BP modules and FIFO modules) (not shown), and one or more pairing modules may be provided by one or more different suppliers. In some embodiments, one or more pairing modules may be components of the data matching module 140 or one or more switches such as the central switch 110 or the contact center switches 120A and 120B. In some embodiments, the BP module may determine which pairing module may handle the pairing of a particular contact. For example, the BP module may alternately implement pairing via the BP module and implement pairing with the FIFO module. In other embodiments, a pairing module (e.g., a BP module) may be configured to simulate other pairing strategies. For example, a BP module or a BP component integrated with a BP component in the BP module may determine whether the BP module may use BP pairing or simulated FIFO pairing for a particular contact. In this case, "BP on" may refer to the time when the BP module applies the BP pairing strategy, and "BP off" may refer to other times when the BP module applies a different pairing strategy (e.g., FIFO).

[0041] In some embodiments, whether pairing strategies are handled by separate modules or if some pairing strategies are simulated within a single pairing module, the single pairing module can be configured to monitor and store information related to pairings made under any or all pairing strategies. For example, the BP module can observe and record data related to FIFO pairings made by the FIFO module, or the BP module can observe and record data related to simulated FIFO pairings made by the BP module operating in FIFO simulation mode.

[0042] Figure 2 FIG. 2 shows a block diagram of a contact center system 200 according to an embodiment of the present disclosure. The contact center system 200 may be a system that is connected to the contact center system 100 ( Figure 1 ) of the same contact center system with additional modules and storage databases illustrating examples of how data may be transmitted and stored throughout the contact center system.

[0043] In the example of the contact center system 200, four example storage systems are shown: a historical assignment database 210, a contact center database 220, a customer relationship management ("CRM") database 230, and an achievement record database 240. In some embodiments, some types of data stored in these databases may be stored in the same or different databases. Some databases may not exist, and other databases not shown may exist. In some embodiments, the database may be communicatively coupled to the contact center system from a remote (e.g., cloud-based) data center via a network connection. In other embodiments, the database may be co-located with certain contact center equipment within the premises. Various databases are shown as being communicatively coupled to various contact center system components. For example, the contact center switch 120A is shown as being communicatively coupled to the aforementioned four databases. In some embodiments, the contact center switch 120A or other contact center system components may be communicatively coupled to more or fewer databases.

[0044] Consider a contact waiting for assignment at contact center switch 120A: When a contact is paired (i.e., assigned) and connected to an agent such as agent 130A, some information about the assignment may be stored in contact center system 200. For example, a record of the assignment may be stored in historical assignment database 210 and / or contact center database 220. The record may include an identifier for the contact (e.g., phone number, customer identifier, email address), an identifier for the agent (e.g., agent ID, agent name), a timestamp of the date and time the assignment was made, and other information related to the assignment. In some embodiments, the record may include additional information about the contact's journey through the contact center system, such as an interactive voice response ("IVR") or, in the example of a telephone call, tactile menu selections that the contact may have made before being assigned to agent 130A.

[0045] In some embodiments, historical allocation database 210 may also track which of several pairing strategies (e.g., BP or FIFO) was used to make an allocation or whether an allocation was an optimal choice or a constrained choice, such as when a service level agreement has been exceeded for the contact. In some embodiments, one or more databases such as historical allocation database 210 may be provided by a third party provider such as a BP provider.

[0046] When a contact is disconnected from the contact center system (e.g., the call is hung up), the contact center switch 120A can record additional information in the historical distribution database 210 and / or the contact center database 220. For example, the contact center switch 120A can be configured to store the disconnection time or duration of the interaction in one of the databases.

[0047] In the example of the contact center system 200, the contact center switch 120A and / or the agent 130A are communicatively coupled to the agent desktop system 25 or otherwise connected to the agent desktop system 250. In some embodiments, the agent desktop system 250 is a computer processor-implemented system for managing various agent tasks. For example, the agent desktop system 250 can allow the agent 130A to indicate when the agent 130A is logged into the contact center system 200, when the agent 230A is occupied by a contact interaction (or multiple simultaneous interactions such as chat-based interactions in some embodiments), when the agent 130A is idle or otherwise available for another contact interaction, and when the agent 130A is unavailable (e.g., resting, offline).

[0048] In some embodiments, the agent desktop system 250 may present information related to the contact or contact interaction to the agent 130A during the interaction. For example, the agent desktop system 250 may present information from the CRM database 230 related to the customer relationship of the contact with the agent 130A's company, or the agent desktop system 250 may present information from the contact center database 220 related to the contact's previous interactions with the contact center system 200.

[0049] In some embodiments, during and / or after the interaction, the agent 130A can use the agent desktop system 250 to enter information related to the outcome of the interaction. For example, the agent 130A can type notes into the agent desktop system 250, which can be stored in the contact center database 220 for reference during future interactions. In the case of a sales queue environment, the agent 130A can enter a sales transaction. Data related to the sales transaction can be stored in, for example, the outcome record database 240 and / or the CRM database 230. In some cases, data related to sales can be transmitted to an operations center or operations system. In the case of a customer support queue environment, the agent 130A can update the contact record in one of the databases to reflect the resolution of the call, such as a refund or preferential credit, a service upgrade or downgrade, a service cancellation, or request a dispatch center system to arrange a "truck roll" or field service to handle the contact's support request.

[0050] In any of these cases, the agent desktop system 250 may record the timestamp associated with the achievement record in the achievement record database 240 or into another record in the CRM database 230 or other database. In some scenarios, the timestamp associated with the agent completing the achievement record (such as a sales transaction) may be during the contact interaction. In other scenarios, the timestamp associated with the agent completing the achievement record may be after the contact interaction ends.

[0051] For example, consider a contact that arrives at contact center switch 120A at 10:00 AM. The BP pairing module instructs contact center switch 120A to pair the contact with an agent 130A that is available to be assigned to the contact. Contact center switch 120A connects the contact to agent 130A at 10:02 AM, and the interaction begins. During the interaction, the contact decides to purchase a new phone. Agent 130A uses agent desktop system 250 to record the transaction, completing the transaction at 10:10 AM. Agent 130A then disconnects the call at 10:12 AM. After the call is disconnected, agent 130A enters some additional comments in agent desktop system 250.

[0052] The pairing of contacts with agents 130A by BP policies may have been recorded in historical assignment database 210. For example, the date, start time, and end time and / or duration of the contact interaction event may have been recorded in contact center database 220. The fact that a sale was completed and the type and amount of the sale, the date and time of the sale, and the identity of the contact and agent who completed the sale may have been recorded in effort record database 240. Information related to the contact, such as the type of newly purchased phone, may have been recorded in CRM database 230. Hundreds or thousands of similar contact interactions may be recorded in a real-world contact center system with tens, hundreds (or more) of agents over the actual course of an hour or day.

[0053] In the example of the contact center system 200, the data matching module 140 is communicatively coupled to each of the historical assignment database 210, the contact center database 220, the CRM database 230, and the effort record database 240. In some embodiments, the BP module may need to generate a new pairing model, update an existing pairing model with new data, or benchmark the performance of a BP strategy with the performance of other strategies such as FIFO or PBR. In these embodiments, the data matching module 140 can retrieve and match data from at least two disparate or unstructured data sources. In some embodiments, each database may contain structured data; however, the data may not be structured or otherwise related to or linked to data in another database or other storage location. In addition, in some environments, a database storage on one system may be in a different time zone or otherwise out of sync with another database storage on another system.

[0054] The data matching module 140 may use various techniques for mapping or matching events recorded in one database with corresponding events recorded in another database. For example, in a call center domain (assuming one caller per agent at a given time), call start and end times and an identifier of the agent on the call may establish a call event across all databases. Additionally, sometimes a call event may extend beyond a recorded end / disconnect time, such as when an agent takes time to complete a transaction or other record update process after being disconnected from a call. The various heuristics or other techniques used by the data matching module 140 may vary from one process or scenario to the next and across different contact center systems.

[0055] For example, the data matching heuristics may add two minutes (or more or less) to the end time of a call event to account for the time it took the agent to enter the effort into the system after the call ended. If agent 130A recorded a sale at 9:30 AM, it may be correct to match that effort to a call that ended at 9:29 AM.

[0056] As another example, a data matching heuristic may be to refuse to match sales effort records that occurred before the recorded call start time. If agent 130A records a sale at 11:18 AM, it should not match a call that did not start until 11:19 AM.

[0057] In some cases, there may be multiple candidate outcome records for a given call event, or vice versa. In these cases, data matching module 140 can determine the probability that a given pair of candidate outcomes and interaction events are a correct match. Data matching module 140 can select the pair with the highest probability of being correct. In some environments, there is the possibility that multiple outcomes are associated with one or more interactions. In these environments, data matching module 140 can perform a one-to-many or many-to-many mapping of outcomes to interactions.

[0058] As another example, a data matching heuristic may reject a match to a sales effort record that occurred relatively early in the interaction. If a call was made at 11:19-11:31 AM, and a sale was recorded at 11:20 AM, the time of the sale falls within the time window of the call. However, a minute after the call was initiated, the sale is unlikely to occur soon, as the call will continue for another 11 minutes. This candidate match may be rejected entirely, or otherwise given a very low probability of correctness, and the search may continue for a more likely match. For example, another agent may have answered the call at 11:08-11:21 AM. The sales effort at 11:20 AM is more likely to have occurred during another call.

[0059] In other embodiments, the data matching module 140 can assign probabilities to candidate outcomes and interaction events. Even if only one such pair is found for a given interaction event, the match can be accepted or rejected, depending on whether the probability exceeds a predetermined threshold (e.g., greater than 50%, 90%, 99.99% chance of the match being correct).

[0060] In some embodiments, low constraints on the analysis by the data matching module 140 may produce a higher match rate, which provides more data but less accurate data. In other embodiments, a high constraint analysis (i.e., rejecting more matches) may produce a lower match rate, which provides less data but more accurate data. For a given degree of constraint and a given mapping due to a given constraint, the data matching module 140 may determine a measure of the match rate and / or a measure of the accuracy of the matched data.

[0061] In some embodiments, some databases communicatively coupled to the contact center system 200 may have incorrect or incomplete records. The data matching module 140 may be trained to identify and flag potential data problems. For example, it is unlikely that sales are zero for an experienced agent. If the performance record database indicates that the agent has zero sales, it is more likely that an error occurred when recording the agent's identity rather than that the agent was stuck at a 0% conversion rate during the agent's shift. The data matching module 140 may flag the problem so that the contact center system 200 can analyze the problem or submit the problem to a contact center system administrator for troubleshooting.

[0062] As another example, if the time from the first call to the last call of a shift recorded in the contact center database or historical assignment database does not approximately match the time from the first sale to the last sale recorded in the effort recording database, there may be a problem with the way the data is recorded. If the effort recording database indicates that the contact center did not make any sales during the last two hours of the shift despite normal call volume, it is more likely that an error occurred when recording the sales in the effort recording database. Again, the data matching module 140 can detect and report this type of data inconsistency.

[0063] As another example, the data matching module 140 may detect that an agent appears to have completed a sale outside the time window of the agent's shift. If the agent's shift ends at 3:00 p.m., but the effort record database shows that the agent completed a sale at 5:37 p.m., the data matching module 140 may flag and report the inconsistency.

[0064] Figure 3 A flow chart of a data matching method 300 according to an embodiment of the present disclosure is shown. The data matching method 300 may begin at block 310 .

[0065] At block 310, an interaction event time associated with a historical contact interaction may be determined. For example, such as data matching module 140 ( Figure 1 and 2 ) can be matched with the data from the historical allocation database 210 ( Figure 2 ) and / or contact center database 220 ( Figure 2 ). The data matching module may determine an event time of the interaction. If the interaction is a telephone call, the event time may be a combination of the start date and time of the call and the end date and time of the call. After determining the interaction event time associated with the historical contact interaction (or multiple historical contact interactions), the data matching method 300 may proceed to block 320.

[0066] At block 320, an achievement event time associated with a historical contact interaction achievement may be determined. For example, the data matching module may retrieve the achievement event time from a database such as a CRM database 230 ( Figure 2 ) and / or achievement record database 240 ( Figure 2 ) from various databases. The data matching module can determine an outcome (or "result") time for the interaction outcome. If the interaction is a phone call in a sales queue, the interaction outcome event time can be the time when the sales transaction is completed. Depending on the circumstances, the sales transaction can be completed, for example, during the call (e.g., before but close to the end time of the call), or it can be completed shortly after the end time of the call. After determining the outcome event time associated with the historical contact interaction outcome / result (or multiple historical contact interaction outcomes), the data matching method 300 can proceed to box 330. In some embodiments, box 320 can be performed before box 310 or in parallel with box 310.

[0067] At block 330, the one or more interaction event times determined at block 310 may be analyzed in conjunction with the one or more outcome event times determined at block 320 to determine a correlation between a pair of interaction event times and outcome event times. In some environments, additional data fields may be used to eliminate certain candidate pairs or increase the probability / likelihood that a candidate pair is a correct match. For example, if agent identifiers are stored in the interaction database and the outcome database, an agent identifier field may be used to eliminate pairs where the agent identifiers do not match. The data matching module may apply various heuristics and other statistical analysis or machine learning techniques to the data set to determine, for example, the correlation between the interaction event times and the outcome event times described above. Figure 2 After determining one or more correlations of one or more candidate pairs of interaction event times and outcome event times, the data matching method 300 may proceed to block 340 .

[0068] At block 340, one or more candidate pairs may be considered to be correctly matched (e.g., if the correlation or probability of correctness exceeds a predetermined threshold degree of likelihood). The historical contact interaction outcomes may be matched with the historical contact interactions. The matched pairs of interactions and interaction outcomes may be processed (or stored for later processing) by the data matching module or another module (such as a BP module or a benchmarking module) to create or improve a pairing model or evaluate the performance of one pairing strategy against another. After one or more pairs of historical contact interaction outcomes are matched with the historical contact interactions, the data matching method 300 may end. In some embodiments, the data matching method 300 may return to block 310 to further process new or otherwise additional interaction events and outcome events.

[0069] At this point it should be noted that data matching in a contact center system according to the present disclosure as described above may involve, to some extent, processing of input data and generation of output data. The input data processing and output data generation may be implemented in hardware or software. For example, specific electronic components may be employed in a behavior pairing module or similar or related circuitry as described above for implementing the functionality associated with data matching in a contact center system according to the present disclosure. Alternatively, one or more processors operating in accordance with instructions may implement the functionality associated with data matching in a contact center system according to the present disclosure as described above. If this is the case, it is within the scope of the present disclosure that these instructions may be stored on one or more non-transitory processor-readable storage media (e.g., disks or other storage media) or transmitted to one or more processors via one or more signals embodied in one or more carrier waves.

[0070] The present disclosure is not limited in scope to the limitations of the specific embodiments described herein. In fact, in addition to those described herein, it will be apparent to those of ordinary skill in the art from the foregoing description and accompanying drawings that various other embodiments and modifications of the present disclosure may be disclosed. Thus, these other embodiments and modifications are intended to fall within the scope of the present disclosure. In addition, although the present disclosure is described herein in the context of at least one specific implementation in at least one specific environment for at least one specific 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. Therefore, the claims set forth below should be interpreted in light of the full scope and spirit of the present disclosure as described herein.

Claims

1. A method for data matching in a contact center system, comprising: determining, by at least one computer processor in a data matching module communicatively coupled to at least one switch of the contact center system and configured to perform data matching operations in the contact center system, interaction event times associated with historical contact interactions from a contact center database, wherein the contact center database is communicatively coupled to the data matching module; determining, by the at least one computer processor, an achievement event time associated with historical contact interaction achievements from an achievement record database, wherein the achievement record database is communicatively coupled to the data matching module; determining, by the at least one computer processor, a data matching heuristic for the contact center system, wherein the data matching heuristic comprises a threshold time difference between the interaction event time and the achievement event time; determining, by the at least one computer processor, whether the historical contact interaction resulted in the historical contact interaction outcome based on the data matching heuristics; and The at least one computer processor matches the historical contact interaction with the historical contact interaction outcome based on determining that the historical contact interaction resulted in the historical contact interaction outcome, wherein the contact center database and the outcome record database have different, unrelated structures.

2. The method according to claim 1, wherein: The interaction event time is associated with a disconnection time for a historical contact interaction.

3. The method according to claim 1, wherein: The achievement event time is a timestamp.

4. The method according to claim 1, further comprising: determining a pairing strategy associated with the historical contact interaction; determining an amount of allocation selection associated with the pairing strategy when pairing the historical contact interactions; as well as The performance of the pairing strategy is benchmarked based at least in part on the amount of allocation selections.

5. The method according to claim 1, wherein: The achievement event time occurs after the interaction event time.

6. The method according to claim 1, further comprising: retrieving, by the at least one computer processor, data for the historical contact interactions from a first data source; as well as Data for the historical contact interaction outcomes is retrieved, by the at least one computer processor, from a second data source different than the first data source.

7. The method according to claim 6, further comprising: discovering, by the at least one computer processor, a clock synchronization problem between the first data source and the second data source; as well as The clock synchronization problem is automatically corrected by the at least one computer processor.

8. The method according to claim 1, further comprising: The at least one computer processor generates a contact-agent pairing model based on the matching of the historical contact interactions and the historical contact interaction outcomes, for optimizing contact-agent pairing in the contact center system.

9. A system for data matching in a contact center system, comprising: at least one computer processor in the data matching module, the data matching module being communicatively coupled to at least one switch of the contact center system and configured to perform data matching operations in the contact center system, wherein the at least one computer processor is further configured to: determining an interaction event time associated with a historical contact interaction from a contact center database, wherein the contact center database is communicatively coupled to the data matching module; determining an achievement event time associated with historical contact interaction achievements from an achievement record database, wherein the achievement record database is communicatively coupled to the data matching module; determining a data matching heuristic for the contact center system, wherein the data matching heuristic comprises a threshold time difference between the interaction event time and the achievement event time; determining, based on the data matching heuristic, whether the historical contact interaction resulted in the historical contact interaction outcome; and Based on determining that the historical contact interaction resulted in the historical contact interaction outcome, the historical contact interaction is matched with the historical contact interaction outcome, wherein the contact center database and the outcome record database have different and unrelated structures.

10. The system according to claim 9, wherein: The interaction event time is associated with a disconnection time for a historical contact interaction.

11. The system according to claim 9, wherein: The achievement event time is a timestamp.

12. The system according to claim 9, wherein: The at least one computer processor is further configured to: determining a pairing strategy associated with the historical contact interaction; determining an amount of allocation selection associated with the pairing strategy when pairing the historical contact interactions; and The performance of the pairing strategy is benchmarked based at least in part on the amount of allocation selections.

13. The system according to claim 9, wherein: The achievement event time occurs after the interaction event time.

14. The system according to claim 9, wherein: The at least one computer processor is further configured to: retrieving data for the historical contact interactions from a first data source; and Data for the historical contact interaction outcomes is retrieved from a second data source different from the first data source.

15. The system of claim 14, wherein: The at least one computer processor is further configured to: discovering a clock synchronization problem between the first data source and the second data source; and The clock synchronization problem is automatically corrected.

16. The system of claim 9, wherein: The at least one computer processor is further configured to: Based on the matching of the historical contact interactions and the historical contact interaction outcomes, a contact-agent pairing model is generated to optimize the contact-agent pairing in the contact center system.

17. An article of manufacture for data matching in a contact center system, comprising: a non-transitory processor-readable medium; as well as instructions, the instructions being stored on the medium, wherein the instructions are configured to be readable from the medium by at least one computer processor in a data matching module in at least one switch communicatively coupled to the contact center system and configured to perform data matching operations in the contact center system and thereby cause the at least one computer processor to operate to: determining an interaction event time associated with a historical contact interaction from a contact center database, wherein the contact center database is communicatively coupled to the data matching module; determining an achievement event time associated with historical contact interaction achievements from an achievement record database, wherein the achievement record database is communicatively coupled to the data matching module; determining a data matching heuristic for the contact center system, wherein the data matching heuristic comprises a threshold time difference between the interaction event time and the achievement event time; determining, based on the data matching heuristic, whether the historical contact interaction resulted in the historical contact interaction outcome; and Based on determining that the historical contact interaction resulted in the historical contact interaction outcome, the historical contact interaction is matched with the historical contact interaction outcome, wherein the contact center database and the outcome record database have different and unrelated structures.

Citation Information

Patent Citations

  • Call mapping systems and methods using variance algorithm (VA) and / or distribution compensation

    US8879715B2

  • Techniques for behavioral pairing in a contact center system

    US9300802B1

  • Systems and methods for routing callers to an agent in a contact center

    CN101986801A

  • Contact center and queuing machine and calling processing method of contact center

    CN104253911A