systems and methods are disclosed for estimating and assigning agent performance characteristics in a call routing center. performance characteristics (e.g., sales rate, customer satisfaction, duration of call, etc.) may be assigned to an agent when the agent has made few calls relative to other agents or otherwise has a large error in their measure of one or more performance characteristics used for matching callers to agents (e.g., via a performance based or pattern matching routing method). A method includes identifying agents of a plurality of agents having a number of calls fewer than a predetermined number of calls (or an error in the performance characteristic exceeding a threshold), assigning a performance characteristic to the identified agents (that is different than the agent's actual performance characteristic), and routing a caller to one of the plurality of agents based on the performance characteristics of the plurality of agents.

Patent
   RE48860
Priority
Aug 26 2010
Filed
Jul 14 2016
Issued
Dec 21 2021
Expiry
Aug 26 2030

TERM.DISCL.
Assg.orig
Entity
unknown
0
301
currently ok
0. 34. A method for pairing contacts and agents in a contact center system comprising:
determining, by at least one computer processor configured to perform contact/agent pairing operations in the contact center system, a measured performance rating of a first agent of a plurality of agents;
assigning, by the at least one computer processor, an adjusted performance rating to the first agent when a calculated error in the measured performance rating exceeds a threshold, wherein the adjusted performance rating is different from the measured performance rating and is based at least in part on regression toward a mean performance measurement of one or more other of the plurality of agents;
pairing, by the at least one computer processor, a contact with the first agent of the plurality of agents based on the adjusted performance rating of the first agent; and
establishing, by the at least one computer processor, a connection between the paired contact and first agent in the contact center system based on the adjusted performance rating of the first agent.
0. 43. A system for pairing contacts and agents in a contact center system comprising:
a routing engine configured to perform contact/agent pairing operations in the contact center system, wherein the routing engine comprises:
at least one computer processor; and
memory storing instructions that, when executed by the at least one computer processor, cause the at least one computer processor to:
determine a measured performance rating of a first agent of a plurality of agents;
assign an adjusted performance rating to the first agent when a calculated error in the measured performance rating exceeds a threshold, wherein the adjusted performance rating is different from the measured performance rating and is based at least in part on regression toward a mean performance measurement of one or more other of the plurality of agents;
pair a contact with the first agent of the plurality of agents based on the adjusted performance rating of the first agent; and
establish a connection between the paired contact and first agent in the contact center system based on the adjusted performance rating of the first agent.
0. 52. An article of manufacture for pairing contacts and agents in a contact center system comprising:
a non-transitory computer processor readable medium; and
instructions stored on the medium;
wherein the instructions are configured to be readable from the medium by at least one computer processor configured to perform contact/agent pairing operations in a routing engine of the contact center system and thereby cause the at least one computer processor to operate so as to:
determine a measured performance rating of a first agent of a plurality of agents;
assign an adjusted performance rating to the first agent when a calculated error in the measured performance rating exceeds a threshold, wherein the adjusted performance rating is different from the measured performance rating and is based at least in part on regression toward a mean performance measurement of one or more other of the plurality of agents;
pair a contact with the first agent of the plurality of agents based on the adjusted performance rating of the first agent; and
establish a connection between the paired contact and first agent in the contact center system based on the adjusted performance rating of the first agent.
0. 1. A computer implemented method for estimating agent performance in a call-center routing environment, the method comprising:
identifying, by one or more computers, one agent from a plurality of agents, wherein the one agent identified has a number of calls fewer than a predetermined number;
computing and assigning, by the one or more computers, a respective assigned outcome performance characteristic to the one identified agent, wherein the assigned outcome performance is different from an actual outcome performance characteristic for the identified agent, and is based at least in part on the performance of one or more other of the agents; and
routing, by the one or more computers, a caller to an agent of the plurality of agents based on respective outcome performance characteristics of the plurality of agents, the outcome performance characteristics including the assigned outcome performance characteristic to the one identified agent.
0. 2. The method of claim 1, wherein the assigned outcome performance characteristic is an average outcome performance characteristic of the plurality of agents.
0. 3. The method of claim 1, wherein the assigned outcome performance characteristic is based at least in part on an average outcome performance characteristic of the plurality of agents.
0. 4. The method of claim 1, wherein the assigned outcome performance characteristic for the one identified agent is based at least in part on agent outcome performance data of one or more agents having similar demographic data as the respective agent.
0. 5. The method of claim 1, wherein the computing and assigning step comprises computing, by the one or more computers, an adjustment to an actual outcome performance characteristic of the one identified agent based on one or more criteria.
0. 6. The method of claim 1, wherein the computing step comprises determining an interpolation between an actual outcome performance characteristic value of the one identified agent and an outcome performance characteristic of the plurality of agents based at least in part on the criterion of a number of calls received by the one identified agent.
0. 7. The method of claim 1, wherein the predetermined number of calls is determined relative to an average number of calls for the plurality of agents.
0. 8. The method of claim 1, wherein the predetermined number of calls is associated with an error threshold in the outcome performance characteristic of the agents.
0. 9. The method of claim 1, wherein the agent outcome performance characteristic comprises a sales rate.
0. 10. The method of claim 1, wherein routing the caller is based on an outcome performance based matching algorithm.
0. 11. The method of claim 1, wherein routing the caller is based on a pattern matching algorithm, and the assigned agent outcome performance characteristic is input into the pattern matching algorithm.
0. 12. A computer implemented method for estimating agent outcome performance in a call-center routing environment, the method comprising:
determining, by one or more computers, respective actual outcome performance characteristics for each of a plurality of agents;
determining, by the one or more computers, an outcome performance characteristic representative of the plurality of agents;
identifying, by the one or more computers, a respective one of the agents having an error in the respective agent's outcome performance characteristic greater than a predetermined threshold;
assigning, by the one or more computers, an outcome performance characteristic for the identified agent which assigned outcome performance is different from the actual outcome performance characteristic for the one identified agent and which is based at least in part on the representative outcome performance characteristic for the plurality of agents; and
routing, by the one or more computers, a caller to one of the plurality of agents based on the outcome performance characteristics, the outcome performance characteristics including the assigned outcome performance characteristic to the identified agent.
0. 13. The method of claim 12, wherein the error comprises a fractional error.
0. 14. The method of claim 12, wherein the assigned outcome performance characteristic is an average outcome performance characteristic of the plurality of agents.
0. 15. The method of claim 12, wherein the assigned outcome performance characteristic is based at least in part on an average outcome performance characteristic of the plurality of agents.
0. 16. The method of claim 12, wherein the assigning step comprises computing, by the one or more computers, an adjustment to an actual outcome performance characteristic of the identified agent.
0. 17. The method of claim 16, wherein the computing step comprises determining an interpolation between an actual outcome performance characteristic value of the respective identified agent and an average outcome performance characteristic of the plurality of agents.
0. 18. The method of claim 12, wherein the predetermined threshold is based on a fractional error of the outcome performance characteristic.
0. 19. The method of claim 12, wherein the agent outcome performance characteristic comprises a sales rate.
0. 20. The method of claim 12, wherein routing the caller is based on an outcome performance based matching algorithm.
0. 21. The method of claim 12, wherein routing the caller is based on a pattern matching algorithm, and the assigned agent outcome performance characteristic is input into the pattern matching algorithm.
0. 22. A system for routing callers to agents in a call center routing environment, the system comprising:
one or more computers configured with computer-readable program code, that when executed, will cause performance of the steps:
identifying, by the one or more computers, one agent from a plurality of agents, wherein the one agent identified has a number of calls fewer than a predetermined number;
computing and assigning, by the one or more computers, a respective outcome performance characteristic to the one identified agent, wherein the assigned outcome performance is different from an actual outcome performance characteristic for the respective identified agent, and is based at least in part on the performance of one or more other of the agents; and
routing, by the one or more computers, a caller to an agent of the plurality of agents based on respective outcome performance characteristics of the plurality of agents, the outcome performance characteristics including the assigned outcome performance characteristic to the one identified agent.
0. 23. A system for routing callers to agents in a call center routing environment, the system comprising:
one or more computers configured with computer-readable program code, that when executed, will cause performance of the steps:
determining, by the one or more computers, respective actual outcome performance characteristics for a plurality of agents;
determining, by the one or more computers, an outcome performance characteristic representative of the plurality of agents;
identifying, by the one or more computers, a respective one of the agents having an error in the respective agent's outcome performance characteristic greater than a predetermined threshold;
assigning, by the one or more computers, an outcome performance characteristic for the identified agent which assigned outcome performance is different from the actual outcome performance characteristic for the one identified agent and which is based at least in part on the representative outcome performance characteristic for the plurality of agents; and
routing, by the one or more computers, a caller to one of the plurality of agents based on the outcome performance characteristics, the outcome performance characteristics including the assigned outcome performance characteristic to the identified agent.
0. 24. A non-transitory computer readable storage medium comprising computer readable instructions for carrying out, when executed by one or more computers, the method:
identifying, by the one or more computers, one agent from a plurality of agents, wherein the one agent identified has a number of calls fewer than a predetermined number;
computing and assigning, by the one or more computers, a respective assigned outcome performance characteristic to the one identified agent, wherein the assigned outcome performance is different from an actual outcome performance characteristic for the identified agent, and is based at least in part on the performance of one or inure other of the agents; and
routing, by the one or more computers, a caller to an agent of the plurality of agents based on respective outcome performance characteristics of the plurality of agents, the outcome performance characteristics including the assigned outcome performance characteristic to the one identified agent.
0. 25. A non-transitory computer readable storage medium comprising computer readable instructions for carrying out, when executed by one or more computers, the method:
determining, by the one or more computers, respective actual outcome performance characteristics for a plurality of agents;
determining, by the one or more computers, an outcome performance characteristic representative of the plurality of agents;
identifying, by the one or more computers, a respective one of the agents having an error in the respective agent's outcome performance characteristic greater than a predetermined threshold;
assigning, by the one or more computers, an outcome performance characteristic for the identified agent which assigned outcome performance is different from the actual outcome performance characteristic for the one identified agent and which is based at least in part on the representative outcome performance characteristic for the plurality of agents; and
routing, by the one or more computers, a caller to one of the plurality of agents based on the outcome performance characteristics, the outcome performance characteristics including the assigned outcome performance characteristic to the identified agent.
0. 26. The method of claim 1, wherein the predetermined number of calls is determined based at least in part on a conversion rate for the plurality of the agents.
0. 27. The method of claim 1, further comprising:
computing, by the one or more computers, a boost of performance based at least in part on a representative number for agent outcome performances of the agents that were selected and based at least in part on the representative number for the agent outcome performances of the agents that would have been selected based on their actual agent performances.
0. 28. The system of claim 22, wherein the predetermined number of calls is determined based at least in part on a conversion rate for the plurality of the agents.
0. 29. The system of claim 22, where the one or more computers are further configured with computer-readable program code, that when executed, will cause performance of the step:
computing, by the one or more computers, a boost of performance based at least in part on a representative number for agent outcome performances of the agents that were selected and based at least in part on the representative number for the agent outcome performances of the agents that would have been selected based on their actual agent performances.
0. 30. The system of claim 22, wherein the assigned outcome performance characteristic for the one identified agent is based at least in part on agent outcome performance data of one or more agents having similar demographic data as the respective agent.
0. 31. The system of claim 22, wherein the assigned outcome performance characteristic is based at least in part on an average outcome performance characteristic of the plurality of agents.
0. 32. The system of claim 22, wherein the computing and assigning step comprises computing, by the one or more computers, an adjustment to an actual outcome performance characteristic of the one identified agent based on one or more criteria.
0. 33. The system of claim 32, wherein the computing step comprises determining an interpolation between an actual outcome performance characteristic value of the one identified agent and an outcome performance characteristic of the plurality of agents based at least in part on the criterion of a number of calls received by the one identified agent.
0. 35. The method of claim 34, wherein the adjusted performance rating is greater than the measured performance rating.
0. 36. The method of claim 34, wherein the adjusted performance rating is a baseline performance rating or an interpolation between the baseline performance rating and the measured performance rating.
0. 37. The method of claim 36, wherein the baseline performance rating is a mean performance rating across the plurality of agents.
0. 38. The method of claim 36, wherein the baseline performance rating is a below-mean performance rating across the plurality of agents.
0. 39. The method of claim 36, wherein a number of contact interactions of the first agent is less than a first threshold number of contact interactions, and wherein the adjusted performance rating comprises the baseline performance rating.
0. 40. The method of claim 36, wherein a number of contact interactions of the first agent is between a first threshold number of contact interactions and a second threshold number of contact interactions, and wherein the adjusted performance rating is between the baseline performance rating and the measured performance rating.
0. 41. The method of claim 40, wherein the second threshold number of contact interactions comprises an average number of contact interactions across the plurality of agents.
0. 42. The method of claim 34, wherein the first agent is a new agent, and wherein the adjusted performance rating comprises the mean performance rating across the plurality of agents.
0. 44. The system of claim 43, wherein the adjusted performance rating is greater than the measured performance rating.
0. 45. The system of claim 43, wherein the adjusted performance rating is a baseline performance rating or an interpolation between the baseline performance rating and the measured performance rating.
0. 46. The system of claim 45, wherein the baseline performance rating is a mean performance rating across the plurality of agents.
0. 47. The system of claim 45, wherein the baseline performance rating is a below-mean performance rating across the plurality of agents.
0. 48. The system of claim 45, wherein a number of contact interactions of the first agent is less than a first threshold number of contact interactions, and wherein the adjusted performance rating comprises the baseline performance rating.
0. 49. The system of claim 45, wherein a number of contact interactions of the first agent is between a first threshold number of contact interactions and a second threshold number of contact interactions, and wherein the adjusted performance rating is between the baseline performance rating and the measured performance rating.
0. 50. The system of claim 49, wherein the second threshold number of contact interactions comprises an average number of contact interactions across the plurality of agents.
0. 51. The system of claim 43, wherein the first agent is a new agent, and wherein the adjusted performance rating comprises the mean performance rating across the plurality of agents.
0. 53. The article of manufacture of claim 52, wherein the adjusted performance rating is greater than the measured performance rating.
0. 54. The article of manufacture of claim 52, wherein the adjusted performance rating is a baseline performance rating or an interpolation between the baseline performance rating and the measured performance rating.
0. 55. The article of manufacture of claim 54, wherein the baseline performance rating is a mean performance rating across the plurality of agents.
0. 56. The article of manufacture of claim 54, wherein the baseline performance rating is a below-mean performance rating across the plurality of agents.
0. 57. The article of manufacture of claim 54, wherein a number of contact interactions of the first agent is less than a first threshold number of contact interactions, and wherein the adjusted performance rating comprises the baseline performance rating.
0. 58. The article of manufacture of claim 54, wherein a number of contact interactions of the first agent is between a first threshold number of contact interactions and a second threshold number of contact interactions, and wherein the adjusted performance rating is between the baseline performance rating and the measured performance rating.
0. 59. The article of manufacture of claim 58, wherein the second threshold number of contact interactions comprises an average number of contact interactions across the plurality of agents.
0. 60. The article of manufacture of claim 52, wherein the first agent is a new agent, and wherein the adjusted performance rating comprises the mean performance rating across the plurality of agents.

Using equation (9), and taking point 1 as the n=0 case, as point 2 as n=N, gives:
R=m×0+c (Point1)
p=m×N+c (Point2)  (10)

From which it follows that:

m = p - R N c = R ( 11 )

Therefore the calculation of adjusted agent performance, padj, for an agent with n calls, where 0<n<N, can be determined as follows:

p adj = p - R N n + R ( 12 )

With continued reference to FIG. 7, in one exemplary process, an average characteristic is determined for a plurality of agents at 702. For example, with the illustrated example described here, R from equation (7) is computed. Further, agents are identified having an error, e.g., a fractional error, exceeding a predetermined threshold value at 704. The agents may be identified by computing equations (1), (2), and (3), for example.

If the error exceeds the threshold, e.g., if e>t, a performance characteristic may be assigned to the identified agents at 706. For example, N may be determined from equation (6) and used to determine an adjusted agent performance, padj, from (12). It is noted that equation 12 provides an adjustment to an actual performance characteristic of the agent, the adjustment based on a liner interpolation between two points. In other examples, however, other interpolations may be used for adjusting/assigning a performance characteristic. Additionally, a substitution of a value unrelated to the agent's actual performance characteristic may be used, e.g., the average rate or some fraction of the average rate.

The final selection or mapping of a caller to an agent based on actual and assigned performance characteristics may then be passed to a routing engine or router for causing the caller to be routed to the agent at 708. It is noted that the described actions of the exemplary methods described do not need to occur in the order in which they are stated and some acts may be performed in parallel. Further, additional matching models for scoring and mapping callers to agents may be used in a similar fashion, and a plurality of matching algorithms may be used and weighted against each other for determining a final selection of a caller-agent pair.

Determining a threshold number of calls or error value in practice may be evaluated and selected in many different manners For example, typically, one would like to set t such that the performance of a routing system is optimized. For example, using a small threshold may increase performance, however, if an unnecessarily small value is used, the system will needlessly reduce performance accuracy for agents who have a total number of calls <N and whose performance is far from the mean.

One manner for determining the effect of and selecting (or changing) a threshold value is with a Monte Carlo simulation. FIGS. 8A-8E illustrate graphs for an exemplary method and Monte Carlo simulation for selecting a desired threshold for estimating agent performance characteristics. In one example, an overall distribution of agent performance is chosen, which can be viewed as the true agent performances, i.e., with no error, as would be found for an infinite sample of calls for each agent. FIG. 8A illustrates an exemplary near normal distribution of 1000 agents with mean AP=0.3 and SD=0.1 in a Monte Carlo simulation (note that the handful of negative performances were set to zero).

For a given number of free agents (shown from the set {2, 5, 10, 20, 40}) and for a given value of t (shown from the set t=0, 0.1, 0.2, . . . , 1) free agents are selected randomly from the above distribution. The agent having the maximum true AP of the set of free agents is determined, and is therefore the correct agent for an exemplary performance based matching algorithm to select.

Next, each of the true agent performances is dithered (i.e., noise or error is intentionally added) to simulate the actually measured agent performances with an error due to the finite sample. For example, the dithering is applied by adding an error term to each agent's AP of N(0, 1):
pDithered=pTrue(1+tN(0,1))  (13)
where pTrue is the true agent performance, and N(μ, σ) is the normal distribution.

From this, one can check that the actually selected agent (i.e., one with maximum dithered agent performance) is the same as the one chosen in step (3), and if not, record the error in performance of the selected agent that occurred. This process can be repeated (e.g., 1,000 or more times) for each combination of number of free agents (e.g., 2, 5, 10, 20, and 40) and value of t. FIG. 8B illustrates the Monte Carlo results for this example; in particular, illustrating the percentage of calls routed to the agent with maximum true AP of the available agents versus t. As one would expect with at of zero, the correct (i.e., highest performing) agent is always chosen and the fraction of correct agents selection declines as t increases. Also, the loss of selection accuracy increases with the number of free agents available.

Another metric one can consider in determining a threshold value is the absolute value of the difference between the true agent performance of the actually selected agent (based on the noisy AP values) and the true agent performance of the agent that would have been selected (had the selection been based on true agent performances). FIG. 8C illustrates absolute value of error in performance of selected agent versus t (where the number of agents increases the mean absolute value of error for a given fraction error in agent performance, as shown).

Additionally, since the range of agent performances available varies between different mapping implementations, another metric includes expressing the error as a fraction of the standard deviation of the agent performance. FIG. 8D illustrates the error of AP of a selected agent measured in standard deviations of AP versus t. As illustrated, as the number of agents increases, the error in performance increases for a given t.

Accordingly, a contact center routing operator may analyze various different metrics in selecting a suitable or tolerable t, and which may further be varied depending on the number of agents, expected available agents, distribution of performance, and so on. Further, other estimation and simulation techniques may be used to assist an operator in setting thresholds.

FIG. 8E illustrates an exemplary impact on the increase (or boost) of a performance based matching process from the Monte Carlo simulation data; in particular, the fraction of boost lost versus t. If one assumes that boost is proportional to the average agent performances of the selected agents, one can compare the true AP's of the agents selected with the AP's of those which would have been selected had the true AP's been known, and thus calculate a fractional decrease in the boost. With this assumption it follows:

Decrease of Boost Mean True AP of Agents Selected from Dithered Data Mean True AP of Agents Selected from True Data ( 14 )

It is noted that FIG. 8E, and the decrease in boost model, is deficient in that it assumes the same level of noise or error for all agents, whereas in a real call center there will be a range of imprecision depending on the accumulated number of calls for each agent. Accordingly, the model and calculations could easily be improved upon by including either an empirical or theoretical distribution of total calls per agent.

Many of the techniques described here may be implemented in hardware or software, or a combination of the two. Preferably, the techniques are implemented in computer programs executing on programmable computers that each includes a processor, a storage medium readable by the processor (including volatile and nonvolatile memory and/or storage elements), and suitable input and output devices. Program code is applied to data entered using an input device to perform the functions described and to generate output information. The output information is applied to one or more output devices. Moreover, each program is preferably implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language.

Each such computer program is preferably stored on a storage medium or device (e.g., CD-ROM, hard disk or magnetic diskette) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described. The system also may be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner.

FIG. 9 illustrates a typical computing system 900 that may be employed to implement processing functionality in embodiments of the invention. Computing systems of this type may be used in clients and servers, for example. Those skilled in the relevant art will also recognize how to implement the invention using other computer systems or architectures. Computing system 900 may represent, for example, a desktop, laptop or notebook computer, hand-held computing device (PDA, cell phone, palmtop, etc.), mainframe, server, client, or any other type of special or general purpose computing device as may be desirable or appropriate for a given application or environment. Computing system 900 can include one or more processors, such as a processor 904. Processor 904 can be implemented using a general or special purpose processing engine such as, for example, a microprocessor, microcontroller or other control logic. In this example, processor 904 is connected to a bus 902 or other communication medium.

Computing system 900 can also include a main memory 908, such as random access memory (RAM) or other dynamic memory, for storing information and instructions to be executed by processor 904. Main memory 908 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 904. Computing system 900 may likewise include a read only memory (“ROM”) or other static storage device coupled to bus 902 for storing static information and instructions for processor 904.

The computing system 900 may also include information storage system 910, which may include, for example, a media drive 912 and a removable storage interface 920. The media drive 912 may include a drive or other mechanism to support fixed or removable storage media, such as a hard disk drive, a floppy disk drive, a magnetic tape drive, an optical disk drive, a CD or DVD drive (R or RW), or other removable or fixed media drive. Storage media 918 may include, for example, a hard disk, floppy disk, magnetic tape, optical disk, CD or DVD, or other fixed or removable medium that is read by and written to by media drive 912. As these examples illustrate, the storage media 918 may include a computer-readable storage medium having stored therein particular computer software or data.

In alternative embodiments, information storage system 910 may include other similar components for allowing computer programs or other instructions or data to be loaded into computing system 900. Such components may include, for example, a removable storage unit 922 and an interface 920, such as a program cartridge and cartridge interface, a removable memory (for example, a flash memory or other removable memory module) and memory slot, and other removable storage units 922 and interfaces 920 that allow software and data to be transferred from the removable storage unit 918 to computing system 900.

Computing system 900 can also include a communications interface 924. Communications interface 924 can be used to allow software and data to be transferred between computing system 900 and external devices. Examples of communications interface 924 can include a modem, a network interface (such as an Ethernet or other NIC card), a communications port (such as for example, a USB port), a PCMCIA slot and card, etc. Software and data transferred via communications interface 924 are in the form of signals which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 924. These signals are provided to communications interface 924 via a channel 928. This channel 928 may carry signals and may be implemented using a wireless medium, wire or cable, fiber optics, or other communications medium. Some examples of a channel include a phone line, a cellular phone link, an RF link, a network interface, a local or wide area network, and other communications channels.

In this document, the terms “computer program product,” “computer-readable medium” and the like may be used generally to refer to physical, tangible media such as, for example, memory 908, storage media 918, or storage unit 922. These and other forms of computer-readable media may be involved in storing one or more instructions for use by processor 904, to cause the processor to perform specified operations. Such instructions, generally referred to as “computer program code” (which may be grouped in the form of computer programs or other groupings), when executed, enable the computing system 900 to perform features or functions of embodiments of the present invention. Note that the code may directly cause the processor to perform specified operations, be compiled to do so, and/or be combined with other software, hardware, and/or firmware elements (e.g., libraries for performing standard functions) to do so.

In an embodiment where the elements are implemented using software, the software may be stored in a computer-readable medium and loaded into computing system 900 using, for example, removable storage media 918, drive 912 or communications interface 924. The control logic (in this example, software instructions or computer program code), when executed by the processor 904, causes the processor 904 to perform the functions of the invention as described herein.

It will be appreciated that, for clarity purposes, the above description has described embodiments of the invention with reference to different functional units and processors. However, it will be apparent that any suitable distribution of functionality between different functional units, processors or domains may be used without detracting from the invention. For example, functionality illustrated to be performed by separate processors or controllers may be performed by the same processor or controller. Hence, references to specific functional units are only to be seen as references to suitable means for providing the described functionality, rather than indicative of a strict logical or physical structure or organization.

The above-described embodiments of the present invention are merely meant to be illustrative and not limiting. Various changes and modifications may be made without departing from the invention in its broader aspects. The appended claims encompass such changes and modifications within the spirit and scope of the invention.

Chishti, Zia, Spottiswoode, S. James P.

Patent Priority Assignee Title
Patent Priority Assignee Title
10116800, Apr 28 2017 AFINITI, LTD Techniques for behavioral pairing in a contact center system
10135987, Jan 28 2008 AFINITI, LTD Systems and methods for routing callers to an agent in a contact center
10284727, Apr 28 2017 AFINITI, LTD Techniques for behavioral pairing in a contact center system
10404861, Apr 28 2017 AFINITI, LTD Techniques for behavioral pairing in a contact center system
5155763, Dec 11 1990 International Business Machines Corp. Look ahead method and apparatus for predictive dialing using a neural network
5206903, Dec 26 1990 AVAYA Inc Automatic call distribution based on matching required skills with agents skills
5327490, Feb 19 1991 INTERVOICE LIMITED PARTNERSHIP A NEVADA LIMITED PARTNERSHIP, COMPOSED OF, AS ITS SOLE GENERAL PARTNER, INTERVOICE GP, INC System and method for controlling call placement rate for telephone communication systems
5537470, Apr 06 1994 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Method and apparatus for handling in-bound telemarketing calls
5702253, Jul 10 1995 Personality testing apparatus and method
5825869, Apr 24 1995 UNIFY, INC Call management method and system for skill-based routing
5903641, Jan 28 1997 AVAYA Inc Automatic dynamic changing of agents' call-handling assignments
5907601, Jun 13 1997 UNIFY, INC Call pacing method
5926538, Feb 11 1997 Genesys Telecommunications Laboratories, Inc Method for routing calls to call centers based on statistical modeling of call behavior
6049603, Sep 24 1997 Call-A-Guide, Inc.; CALL-A-GUIDE, INC Method for eliminating telephone hold time
6052460, Dec 17 1997 AVAYA Inc Arrangement for equalizing levels of service among skills
6064731, Oct 29 1998 AVAYA Inc Arrangement for improving retention of call center's customers
6088444, Apr 11 1997 Inventor Holdings, LLC Method and apparatus for value-based queuing of telephone calls
6163607, Apr 09 1998 AVAYA Inc Optimizing call-center performance by using predictive data to distribute agents among calls
6222919, Sep 12 1994 Wilmington Trust, National Association, as Administrative Agent Method and system for routing incoming telephone calls to available agents based on agent skills
6292555, Sep 19 1997 Fujitsu Limited System, method and storage medium for connection to operator
6324282, Mar 02 2000 INTRADIEM, INC Method and system for delivery of individualized training to call center agents
6333979, Dec 17 1998 AT&T Corp.; AT&T Corp Method and apparatus for assigning incoming communications to communications processing centers
6389132, Oct 13 1999 AVAYA Inc Multi-tasking, web-based call center
6389400, Aug 20 1998 SBC Technology Resources, Inc. System and methods for intelligent routing of customer requests using customer and agent models
6408066, Dec 15 1999 WSOU Investments, LLC ACD skill-based routing
6411687, Nov 11 1997 Mitel Networks Corporation Call routing based on the caller's mood
6424709, Mar 22 1999 Wilmington Trust, National Association, as Administrative Agent Skill-based call routing
6434230, Feb 02 1999 AVAYA Inc Rules-based queuing of calls to call-handling resources
6496580, Feb 22 1999 Wilmington Trust, National Association, as Administrative Agent Method and apparatus for servicing queued requests
6504920, Jun 18 1979 ON-Q TELECOM SYSTEMS CO , INC Method and system for initiating conversations between callers having common interests
6519335, Apr 08 1999 Lucent Technologies Inc. Apparatus, method and system for personal telecommunication incoming call screening and alerting for call waiting applications
6526135, Nov 18 1998 RPX CLEARINGHOUSE LLC Automated competitive business call distribution (ACBCD) system
6535600, Dec 06 1999 AVAYA Inc System for automatically routing calls to call center agents in an agent surplus condition based on service levels
6535601, Aug 27 1998 AVAYA Inc Skill-value queuing in a call center
6570980, Oct 11 1999 Alcatel Method of distributing telephone calls to ordered agents
6587556, Feb 25 2000 RPX Corporation Skills based routing method and system for call center
6603854, Feb 25 2000 RPX Corporation System and method for evaluating agents in call center
6639976, Jan 09 2001 Bellsouth Intellectual Property Corporation Method for parity analysis and remedy calculation
6661889, Jan 18 2000 AVAYA Inc Methods and apparatus for multi-variable work assignment in a call center
6704410, Jun 03 1998 AVAYA Inc System for automatically assigning skill levels to multiple skilled agents in call center agent assignment applications
6707904, Feb 25 2000 RPX Corporation Method and system for collecting reports for call center monitoring by supervisor
6714643, Feb 24 2000 UNIFY GMBH & CO KG System and method for implementing wait time estimation in automatic call distribution queues
6744878, Mar 02 1999 Wilmington Trust, National Association, as Administrative Agent Real-time transaction routing augmented with forecast data and agent schedules
6763104, Feb 24 2000 RPX Corporation Call center IVR and ACD scripting method and graphical user interface
6774932, Sep 26 2000 SPORTSMEDIA TECHNOLOGY CORPORATION System for enhancing the televised broadcast of a golf game
6775378, Oct 25 1999 Wilmington Trust, National Association, as Administrative Agent Blended agent contact center
6798876, Dec 29 1998 [24]7 AI, INC Method and apparatus for intelligent routing of incoming calls to representatives in a call center
6829348, Jul 30 1999 CONCENTRIX CVG CUSTOMER MANAGEMENT DELAWARE LLC System for customer contact information management and methods for using same
6832203, Nov 05 1999 Wilmington Trust, National Association, as Administrative Agent Skills based contact routing
6859529, Apr 12 2000 UNWIRED BROADBAND, INC Method and system for self-service scheduling of inbound inquiries
6895083, May 02 2001 Verizon Patent and Licensing Inc System and method for maximum benefit routing
6922466, Mar 05 2001 CX360, INC System and method for assessing a call center
6937715, Sep 26 2002 AVAYA Inc Contact center management
6956941, Apr 12 2000 UNWIRED BROADBAND, INC Method and system for scheduling inbound inquiries
6970821, Sep 26 2000 Wilmington Trust, National Association, as Administrative Agent Method of creating scripts by translating agent/customer conversations
6978006, Oct 12 2000 InterVoice Limited Partnership Resource management utilizing quantified resource attributes
7023979, Mar 07 2002 PATENT ARMORY INC Telephony control system with intelligent call routing
7039166, Mar 05 2001 CX360, INC Apparatus and method for visually representing behavior of a user of an automated response system
7050566, Jun 13 2003 ASSURANT, INC Call processing system
7050567, Jan 27 2000 AVAYA Inc Call management system using dynamic queue position
7062031, Jun 13 2003 ASSURANT, INC Call processing system
7068775, Dec 02 1998 Wilmington Trust, National Association, as Administrative Agent System and method for managing a hold queue based on customer information retrieved from a customer database
7092509, Sep 21 1999 Microlog Corporation Contact center system capable of handling multiple media types of contacts and method for using the same
7103172, Dec 12 2001 International Business Machines Corporation Managing caller profiles across multiple hold queues according to authenticated caller identifiers
7158628, Aug 20 2003 INTRADIEM, INC Method and system for selecting a preferred contact center agent based on agent proficiency and performance and contact center state
7184540, Nov 26 2002 Wilmington Trust, National Association, as Administrative Agent Personality based matching of callers to agents in a communication system
7209549, Jan 18 2002 Nuance Communications, Inc Method and system for routing calls based on a language preference
7231032, Feb 10 1997 Genesys Telecommunications Laboratories, Inc. Negotiated routing in telephony systems
7231034, Oct 21 2003 Acqueon Technologies, Inc. “Pull” architecture contact center
7236584, Jun 17 1999 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing fair access to agents in a communication center
7245716, Dec 12 2001 International Business Machines Corporation Controlling hold queue position adjustment
7245719, Jun 30 2000 Matsushita Electric Industrial Co., Ltd. Recording method and apparatus, optical disk, and computer-readable storage medium
7266251, Nov 23 2001 Method and apparatus for generating models of individuals
7269253, Mar 07 2002 PATENT ARMORY INC Telephony control system with intelligent call routing
7353388, Feb 09 2004 AVAYA Inc Key server for securing IP telephony registration, control, and maintenance
7398224, Mar 22 2005 Kim A., Cooper Performance motivation systems and methods for contact centers
7593521, Jun 13 2003 Assurant, Inc. Call processing system
7676034, Mar 07 2003 PATENT ARMORY INC Method and system for matching entities in an auction
7725339, Jul 07 2003 INCONTACT, INC Contact center scheduling using integer programming
7734032, Mar 31 2004 AVAYA Inc Contact center and method for tracking and acting on one and done customer contacts
7798876, Jun 01 2006 FINIS, INC Kickboard for swimming
7826597, Dec 09 2005 SBC KNOWLEDGE VENTURES, L P Methods and apparatus to handle customer support requests
7864944, Nov 29 2005 Cisco Technology, Inc. Optimal call speed for call center agents
7899177, Jan 12 2004 T-MOBILE INNOVATIONS LLC Call-routing system and method
7916858, Jun 25 2002 PATENT ARMORY INC Agent training sensitive call routing system
7940917, Jan 24 2007 International Business Machines Corporation Managing received calls
7961866, Jun 02 2006 ALORICA BUSINESS SOLUTIONS, LLC Method and computer readable medium for geographic agent routing
7995717, May 18 2005 Mattersight Corporation Method and system for analyzing separated voice data of a telephonic communication between a customer and a contact center by applying a psychological behavioral model thereto
8000989, Mar 31 2004 AVAYA Inc Using true value in routing work items to resources
8010607, Aug 21 2003 RPX CLEARINGHOUSE LLC Management of queues in contact centres
8094790, May 18 2005 Mattersight Corporation Method and software for training a customer service representative by analysis of a telephonic interaction between a customer and a contact center
8126133, Apr 01 2004 SERENOVA, LLC Results-based routing of electronic communications
8140441, Oct 20 2008 International Business Machines Corporation Workflow management in a global support organization
8175253, Jul 07 2005 SBC KNOWLEDGE VENTURES, L P System and method for automated performance monitoring for a call servicing system
8229102, Mar 06 2003 AT&T Intellectual Property I, L.P. System and method for providing customer activities while in queue
8249245, Nov 13 2007 Amazon Technologies, Inc System and method for automated call distribution
8295471, Jan 16 2009 AFINITI, LTD Selective mapping of callers in a call-center routing system based on individual agent settings
8300798, Apr 03 2006 PATENT ARMORY INC Intelligent communication routing system and method
8359219, Jan 28 2008 AFINITI, LTD Systems and methods for routing callers to an agent in a contact center
8433597, Jan 28 2008 AFINITI, LTD Systems and methods for routing callers to an agent in a contact center
8472611, Nov 06 2008 AFINITI, LTD Balancing multiple computer models in a call center routing system
8565410, Mar 26 2012 AFINITI, LTD Call mapping systems and methods using variance algorithm (VA) and/or distribution compensation
8634542, Dec 09 2008 AFINITI, LTD Separate pattern matching algorithms and computer models based on available caller data
8644490, Aug 29 2008 AFINITI, LTD Shadow queue for callers in a performance/pattern matching based call routing system
8670548, Jan 28 2008 AFINITI, LTD Jumping callers held in queue for a call center routing system
8699694, Aug 26 2010 AFINITI, LTD Precalculated caller-agent pairs for a call center routing system
8712821, Dec 09 2008 AFINITI, LTD Separate matching models based on type of phone associated with a caller
8718271, Jan 28 2008 AFINITI, LTD Call routing methods and systems based on multiple variable standardized scoring
8724797, Aug 26 2010 AFINITI, LTD Estimating agent performance in a call routing center system
8731178, Jan 28 2008 AFINITI, LTD Systems and methods for routing callers to an agent in a contact center
8737595, Jan 28 2008 AFINITI, LTD Systems and methods for routing callers to an agent in a contact center
8750488, Aug 31 2010 AFINITI, LTD Predicted call time as routing variable in a call routing center system
8761380, Feb 28 2012 Avaya Inc. Adaptive estimated wait time predictor
8781100, Jan 28 2008 AFINITI, LTD Probability multiplier process for call center routing
8781106, Aug 29 2008 AFINITI, LTD Agent satisfaction data for call routing based on pattern matching algorithm
8792630, Sep 24 2012 AFINITI, LTD Use of abstracted data in pattern matching system
8824658, Nov 06 2008 AFINITI, LTD Selective mapping of callers in a call center routing system
8831207, Mar 26 2014 Amazon Technologies, Inc Targeted issue routing
8879715, Mar 26 2012 AFINITI, LTD Call mapping systems and methods using variance algorithm (VA) and/or distribution compensation
8903079, Jan 28 2008 AFINITI, LTD Routing callers from a set of callers based on caller data
8913736, Jan 18 2011 Avaya Inc. System and method for delivering a contact to a preferred agent after a set wait period
8929537, Mar 26 2012 AFINITI, LTD Call mapping systems and methods using variance algorithm (VA) and/or distribution compensation
8938063, Sep 07 2006 AVAYA Inc Contact center service monitoring and correcting
8995647, May 20 2013 Conduent Business Services, LLC Method and apparatus for routing a call using a hybrid call routing scheme with real-time automatic adjustment
9020137, Sep 24 2012 AFINITI, LTD Matching using agent/caller sensitivity to performance
9025757, Mar 26 2012 AFINITI, LTD Call mapping systems and methods using bayesian mean regression (BMR)
9215323, Nov 06 2008 AFINITI, LTD Selective mapping of callers in a call center routing system
9277055, Mar 26 2012 AFINITI, LTD Call mapping systems and methods using variance algorithm (VA) and/or distribution compensation
9300802, Jan 28 2008 AFINITI, LTD Techniques for behavioral pairing in a contact center system
9426296, Jan 28 2008 AFINITI, LTD Systems and methods for routing callers to an agent in a contact center
9712676, Jan 28 2008 AFINITI, LTD Techniques for benchmarking pairing strategies in a contact center system
9712679, Jan 28 2008 AFINITI, LTD Systems and methods for routing callers to an agent in a contact center
20010032120,
20020018554,
20020046030,
20020059164,
20020082736,
20020110234,
20020111172,
20020131399,
20020138285,
20020143599,
20020161765,
20020184069,
20020196845,
20030002653,
20030081757,
20030095652,
20030169870,
20030174830,
20030217016,
20030225659,
20040028211,
20040057416,
20040096050,
20040098274,
20040101127,
20040109555,
20040133434,
20040210475,
20040230438,
20040267816,
20050013428,
20050043986,
20050047581,
20050047582,
20050071223,
20050129212,
20050135593,
20050135596,
20050187802,
20050195960,
20050286709,
20060098803,
20060110052,
20060124113,
20060184040,
20060222164,
20060233346,
20060262918,
20060262922,
20070036323,
20070071222,
20070116240,
20070121602,
20070121829,
20070136342,
20070154007,
20070174111,
20070198322,
20070219816,
20070274502,
20080002823,
20080008309,
20080046386,
20080065476,
20080118052,
20080144803,
20080152122,
20080181389,
20080199000,
20080205611,
20080267386,
20080273687,
20090043670,
20090086933,
20090190740,
20090190743,
20090190744,
20090190745,
20090190746,
20090190747,
20090190748,
20090190749,
20090190750,
20090232294,
20090234710,
20090245493,
20090304172,
20090318111,
20090323921,
20100020959,
20100020961,
20100054431,
20100054452,
20100054453,
20100086120,
20100111285,
20100111286,
20100111287,
20100111288,
20100142698,
20100158238,
20100183138,
20110022357,
20110031112,
20110069821,
20110125048,
20120051536,
20120051537,
20120224680,
20120278136,
20130003959,
20130251137,
20130287202,
20140044246,
20140079210,
20140119531,
20140119533,
20140341370,
20150055772,
20150281448,
20160080573,
AU2008349500,
AU2009209317,
AU2009311534,
CN102017591,
CN102301688,
EP493292,
EP949793,
EP1032188,
EP1335572,
JP11098252,
JP2000069168,
JP2000078291,
JP2000078292,
JP2000092213,
JP2000236393,
JP2001292236,
JP2001518753,
JP2002297900,
JP2003187061,
JP2004056517,
JP2004227228,
JP2006345132,
JP2007324708,
JP2011511533,
JP2011511536,
JP2015514371,
JP3366565,
JP5421928,
JP5631326,
JP5649575,
MX316118,
MX322251,
NZ587100,
NZ587101,
NZ591486,
NZ592781,
PH12010501704,
PH12010501705,
RE46986, Sep 24 2012 AFINITI, LTD Use of abstracted data in pattern matching system
RE47201, Sep 24 2012 AFINITI, LTD Use of abstracted data in pattern matching system
WO163894,
WO199917517,
WO2001063894,
WO2006124113,
WO2009097018,
WO2010053701,
WO2011081514,
WO9917517,
/////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Mar 31 2016SATMAP INTERNATIONAL HOLDINGS, LTD AFINITI INTERNATIONAL HOLDINGS, LTD ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0448740847 pdf
Jul 14 2016Afiniti, Ltd.(assignment on the face of the patent)
Apr 03 2017AFINITI INTERNATIONAL HOLDINGS, LTD AFINITI, LTD CHANGE OF NAME SEE DOCUMENT FOR DETAILS 0540460775 pdf
Dec 20 2018AFINITI INTERNATIONAL HOLDINGS, LTD Afiniti Europe Technologies LimitedASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0478330805 pdf
Aug 23 2024AFINITI, LTD VCP CAPITAL MARKETS, LLCPATENT SECURITY AGREEMENT0687930261 pdf
Date Maintenance Fee Events


Date Maintenance Schedule
Dec 21 20244 years fee payment window open
Jun 21 20256 months grace period start (w surcharge)
Dec 21 2025patent expiry (for year 4)
Dec 21 20272 years to revive unintentionally abandoned end. (for year 4)
Dec 21 20288 years fee payment window open
Jun 21 20296 months grace period start (w surcharge)
Dec 21 2029patent expiry (for year 8)
Dec 21 20312 years to revive unintentionally abandoned end. (for year 8)
Dec 21 203212 years fee payment window open
Jun 21 20336 months grace period start (w surcharge)
Dec 21 2033patent expiry (for year 12)
Dec 21 20352 years to revive unintentionally abandoned end. (for year 12)