Title of Invention

"METHOD AND SYSTEM FOR DISTRIBUTING CUSTOMER CONTACTS TO A TRANSACTION PROCESSING ENTITY OF A TRANSACTION PROCESSING SYSTEM"

Abstract Disclosed is a method for distributing customer contacts to a transaction processing entity of a transaction processing system. The method includes predicting a time for assignment of a customer contact to a transaction processing entity in the transaction processing system. In an alternative embodiment, the method also includes finding a transaction processing entity that is available to process the customer contact and routing the customer contact to the found transaction processing entity. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that may allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims, 37 CFR 1.72(b).
Full Text BACKGROUND OF THE INVENTION
The invention relates to method and system for distributing customer contacts to a transaction processing entity of a transaction processing system, and pertains generally to communication systems and, more particularly, to transaction processing systems.
Communications systems with customer contact centers are known. Such
systems are typically used as a means of distributing customer contacts, such as telephone calls, among a group of agents of an organization, As customer contacts are made with customers utilizing a communications network, such as a public switched telephone network (PSTN), the communications system directs the customer contacts to its agents based upon some algorithm. For example, a communications system such as an automatic call distributor (ACD), a private branch exchange (PBX), or a central office exchange service (Centrex) may recognize a call target based upon an identity of an incoming trunk line and route the call accordingly.
Businesses, service organizations, and other entities may use customer contact centers to process telephone calls, email messages and voice mail contacts for marketing, sales, product support, and other customer service functions. Agents of the customer contact center may communicate with a customer to handle inquiries, process billing orders, and perform research. In essence, the agents provide the wide array of services that the companies that use them require. Thus, the effectiveness and efficiency of a customer contact center may depend on agent communications.
1A

However, the present format is limited. Currently, an agent is limited in the ways that the agent may contact a customer using communication other than the telephone. For example, when an agent contacts a customer using the telephone, a predictive dialing system may aid the agent in contacting the customer. The predictive dialing system performs the mechanical tasks of establishing contact with the customer and assigning the call to an available agent, If, however, the agent wishes to contact a customer using data applications, e.g. chat, the agent is unable to initiate contact with the customer without first having the customer contact the agent. For example, a customer may send an email to the agent requesting that the agent chat via the Internet with the customer at 1 ;00pm. After the initial email communication, the agent may then be able to set up an Internet chat communication at 1:00pm, For communicating with many customers, the current format is inefficient and ineffective. The current fonnat requires the agent to spend more time trying to establish contact with a customer than actually communicating with the customer using a data application. Accordingly, a need exists for a system and method for predictive customer contacts.
SUMMARY
Under one embodiment of the invention, disclosed is a method for distributing customer contacts to a transaction processing entity of a transaction processing system. The method includes predicting a time for assignment of a customer contact to at least one transaction processing entity in the transaction processing system. In an alternative embodiment, the method also includes finding a transaction processing entity to handle the customer contact and routing the customer contact to the found transaction processing entity.

According to the invention there is provided a system for distributing at least one customer contact to at least one transaction processing entity of a transaction processing system comprising:
a predictive customer manager to distribute the at least one customer contact to the at least one transaction processing entity when the at least one transaction processing entity is available to process the customer contact; and
a router that connects the at least one customer contact to the at least one available transaction processing entity.
Other embodiments, features, and advantages of the invention will be apparent to one with skill in the art upon examination of the following figure and detailed description. It is intended that all such additional embodiments, features, and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims.
4^
2A

BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING
The components in the figure are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the figure, like reference numerals designate corresponding parts throughout the different views,
FIG. 1 illustrates a block diagram of a transaction processing system in accordance with an embodiment of the invention.
DETAILED DESCRIPTION
FIG. 1 depicts a block diagram of an exemplary embodiment of a transaction processing system 10 which may be used to route customer contacts across multiple access channels to a customer contact center 12. The customer contact center 12 may be defined as a communication technology that enables customers and agents of an enterprise to communicate across multiple access channels, including but not limited to telephone, Internet, radio, cellular, satellite, cable, facsimile, email, web and vide*o. As shown in FIG, 1, the customer contact center 12 may be described with reference to an automatic call distributor (ACD) 18. As is known in the art, a PBX, Centrex system or other system capable of incoming and/or outgoing communications may also be used in place of the ACD 18. Implementing a customer contact center 12 with any suitable switching system is considered to be equivalent and variations will not be further discussed. In addition, the customer contact center 12 is also often identified by other terms including call center, connected call center, customer care center, customer communications center and services center,
As used herein, a customer contact may be based on any suitable communications connection including, but not limited to, a switched circuit connection (i.e., through a public switched telephone network (PSTN)) or a packet data connection (e.g., through the Internet). A switched circuit connection (also sometimes referred to simply as a "telephone connection" in the telephony arts) refers to a dedicated channel existing between two parties. As used herein, a packet data connection does not necessarily represent a physical connection, but may simply be the possession and concurrent use by two users of the other user's identifier (e.g. IP address).
In the illustrated embodiment, customer contacts may be received from a customer 46 and may be routed to a selected transaction processing entity (e.g., agent
3

stations 20, 22, or interactive voice response unit (not shown)) of the transaction processing system 10. Further, customer contacts with customer 46 may be established and initiated by the customer contact center 12. In either case, customer contacts may be placed through the ACD 18 and may be routed by matrix switch 36 of the ACD IS to a console 24; 28 or terminal 26, 30 of the agent station 20, 22. Customer contacts through the Internet 44 may occur as a data application, e.g. email, instant message, chat session, file tTansfcr, and teleconference. Further, the customer contacts may include voice over IP (VOIP) telephony calls.
In an illustrative embodiment, a predictive customer contact manager (PCC.M) 14 performs the function of predicting the distribution of customer contacts to agent stations 20, 22. For example, to perform customer contact campaigns, customer lists may be maintained in a database of the host 34. The CPU 40 of the host 34 may initiate customer contacts to a customer 46 on a customer list maintained in a database of the host 34 by establishing Internet 44 communication between the customer contact center 12 and the customer 46 In an illustrative embodiment, the PCCM 14 receives customer 46 information, including contact data, from the host 34 and establishes contact with the customer 46. The contact data may include an email address, a chat room identifier, a telephone number, best-time-to contact information, discussion group name, and an IP address. For example, a customer list for baseball enthusiasts may contain a discussion group name and email addresses which the PCCM 14 may use to establish a chat session with specific baseball enthusiasts at a specific discussion group after the Chicago White Sox and Cubs play a baseball game. Specifically, knowing the discussion group name and.email address of a chat user allows the customer contact center 12 to establish a packet data connection between the customer contact center 12 and the customer 46.
In an illustrative embodiment, a software function entitled "MakeMediaCalT is utilized to establish communication with a customer using the Internet 44. MakeMediaCall may execute on the host 34, the PCCM 14, or the ACD 18. In an illustrative embodiment, MakcMediaCall executes on the host 34 and provides the interface between the Internet 44 and the PCCM 14. Further, the host 34 serves as an interface to transfer data between the Internet 44 and The customer contact center 12.
4

Specifically, MakeMediaCall connects to a data application server, e.g. a web server, an email server, a FTP server, etc, on an appropriate port and enters an IP address or domain name to establish a connection to the customer 46.
The host 34 receives information from the Internet 44 indicating whether the connection to the customer 46 is unavailable or "live," The host 34 in turn provides the status information to the PCCM 14. If the PCCM 14 is notified of ajive customer contact, the customer contact may be routed to a transaction processing entity (e.g., agent stations 20, 22] based upon customer contact associated information (e.g., the IP address of the customer 46). Customer contact associated Information may be used by the CPU 40 as a means of routing the customer contact. As used herein, customer contact associated information may include IP address, ANT, DNIS, call duration, call disconnect, email address, credit card information, items in a shopping basket, caller entered digits, holding time, average speed of answer, handling time, inter and local exchange carriers of the call, response time, and wrap-up codes.
If the customer 46 is an existing cusxomer, the host 34 may identify the customer in its database using the customer contact associated information. If the customer 46 is not an existing customer, then die host 34 may route the customer contact based upon the context (e.g., an identity of a website visited, a webpage from which a query originates, an identity of the e-mail address within the system 10 which receives a query, etc). Further, customer contacts may be routed based upon any of a number of predetermined criteria (e.g., the number called, the identity of the customer, the local of the customer, the time of day* etc).
In addition, the PCCM 14 retrieves information regarding the customer contact center 12 from the ACD 18. For example, information such as the number of agents who are logged in, the identity of the agents logged in, etc. is downloaded to the PCCM 14 from the ACD IS. If the PCCM 14 is notified of a live customer contact, the PCCM 14 determines whether an agent is available by retrieving information from the ACD 18 regarding whether the agent is logged on, is not currently engaged in a customer contact, and has set the agent status to available. If two or more agents are available, the customer contact may he assigned to the agent who has been available for the longest time.
5

Having selected an agent, the PCCM 14 provides control codes to the ACD is indicating the agent station 20, 22 to which the customer contact will be tiansferred These control codes arc provided to a control input port of the ACD 18, so that the ACD 18 may transfer the customer contact TO The appropriate agent station 20, 22 The ACD 18 may provide a signal to the agent station 20, 22 indicating that the transfer of a live customer contact may follow immediately This prepares the agent to respond to Oic customer 46 *s though the agent has heard it. Where the customer contact is an email message, the email message may be forwarded in its entirety to the selected agent Where the customer contact is in the form of a web telephony session, the host 34 may, for example, forward the IP address of the requestor to the selected agent Where the host 34 is able to identify customer records, those records may be presented to the agent along with the email, web telephony request or Internet query
While the customer contact is being transferred to the agent station, ihe host 34 may simultaneously transfer data records to the agent's station 20, 22. The agent station 20, 22 may display basic customer information (e.g., email identifier) which allows the agent to establish the identity of the customer before proceeding further with the customer contact. After providing the customer's identity, the terminal of the agent station may display more detailed information for processing the customer contact and may provide input fields into which the agent can enter responses to predetermined questions
In distributing customer contacts to transaction processing entities, a predictive scheduling method may be utilized. Predictive scheduling may result in utilizing the customer contact center 12 more efficiently The goal of scheduling is to maximize the rime that an agent spends engaged in customer contact communication and to minimize the frequency with which a live customer contact is established when no agent available to attend to the communication. Unattended customer contacts may be placed in a queue, so that agents are assigned to the queue on a first-in, first-out (FIFO) basis as an agent become available
In operation, a system administrator of the customer contact center 12 may select initial operating parameters for predictive scheduling. The two main parameters tliat are used as to measure the quality of service are 1 j the rime a customer must wait for an
6

agent after the transaction processing system establishes connection and 2) the percentage of time that each agent spends engaged in communication with customers. It is desirable to minimize the maximum time that a customer must wait while maximizing the number of agents that are attending to customers at any given time. These goals, however, are conflicting. If the queue of waiting customer contacts is empty then agents are likely to be idle while if agents axe being fully utilized, it is likely that customers are spending excessive amounts of time waiting for an agent to become available. To be effective, the aim of predictive scheduling is to achieve a balance between these two competing goals.
In an illustrative embodiment, the PCCM 14 may perform predictive scheduling of customer contacts in a customer contact center 12. In doing so, the PCCM 14 may require that a system administrator of the customer contact center 12 enter initial estimates for the average connecting time and the average time spent by an agent per customer contact. Typically, the average connecting time includes actual time spent establishing the connection by the host 34 or the PCCM 14 plus the time spent waiting for the customer 46 to answer. Failed customer contacts (e.g. unavailable) may be included in the average. The average time spent by the agent per customer contact may include a brief period between customer contacts known as "wrap up," during which the agent is not available to answer additional customer contacts. During this period, the agent may take a short break or may finish any data entry associated with the last customer contact. These estimates may initially be provided using modeling data or estimates based on results from other installations.
Further, the PCCM 14 may require that the system administrator determine the number of agents currently available to receive customer contacts and the number of customer contacts that can be initiated by the customer contact center 12. Based upon these determinations, an initial average queue waiting time is computed. From this information, the PCCM 14 may perform automatic calculations to determine when a new customer contact may be initiated. For example, whenever a customer 46 has answered a customer contact, an agent has began or has completed a communication, the number of active agents or the number of customer contacts has changed, the PCCM 14 recalculates the parameters for average connecting time and the average time a
7


customer waits for an agent after answering.
Further, the PCCM 14 may employ predictive scheduling which is based upon a time homogeneous Markov process, also known as a birth and death process. To form a prediction of when to assign a customer contract to an agent, the model defines -thei behavior of the customer contact center 12 in terms of its current state without regard to the details of its history at each previous point in time.

The general steady-state behavior of the homogeneous Markov process is described by equations (1) and (2):

Equation 1

Equation 2
where n = the number of customer contacts in the queue
L(n)=the arrival rate withn customer contacts in the queue M(n)=the departure rate with n customer contacts in the queue P(n)=ihe probability that n customer contacts are in queue
Assuming that live customer contacts, i.e. those that are answered by customers, enter the queue according to a Poisson process, L defines a constant input rate for all values of n. Agents become available and respond to live customer contacts according to an exponential distribution, M. There are a limited number of agents, S, and a limit N on the number of customer contacts in queue. Thus, the maximum number of attended plus unattended customer contacts at any time is given by (S+N). The equations (3), (4) and (5) define the probabilities of having a given number of customer contacts in the customer contact center 12.
8



From these equations, equations (6), (7) and (8) can be derived which define the probability of having n customer contacts in the customer contact center 12 which includes customer contacts in the queue and being handled by agents.

Equation 6


where R=L /M.
Next a half interval technique for selecting a value for N (the maximum number of customer contacts in the queue) is utilized. Initial ranges are determined for N, setting the minimum value at 1 and the maximum value at twice the number of agents. The initial value of N is set equal to the midpoint of the range, This value and the process values are applied to the above equations to determine the probability density

function, P, for the number of customer contacts in the customer contact center 12, the probability, P(0), that the customer contact center 12 is empty and the probability, P(N-S)f that the customer contact center 12 is ftjll. From these probability values, the expected queue wait time, the expected number of customer contacts, the expected queue length, the expected number of busy agents, and the expected number of customer contacts served may be calculated.
Using these txpscted values, the range for N is reduced by half to converge on the N value which satisfies the minimum agent busy-time constraint. If the expected number of busy agents is greater than the target value, then the range for the number N (the maximum number of customer contacts in the queue) may be decreased, so that the new range maximum is set to the old midpoint. If the target number of busy agents was not met, then the range for N is increased so that there is a larger pool of customer contacts available for the idle agents and the new range minimum is set to the old midpoint. If the required average number of busy agents is met exactly, then the final minimum value for N is established. This value represents the smallest maximum queue size that meets the agent busy time requirement.
Next, a second range reduction process is performed to converge on the maximum queue size which complies with the allowable queue waiting rime constraint. Given a constant number of agents, the expected queue waiting rime- over the interval is directly proportional to the number of customer contacts in the queue. Consequently, the expected queue waiting time is equal to the number of customer contacts in the queue. This process is essentially the same as the process outlined for calculating the N value which satisfies the agent busy time constraint except that, during each iteration, if the expected maximum queue delay exceeds the preset maximum queue delay, the now range maximum is set to the old midpoint and if the expected maximum queue delay is less than the preset maximum delay value, the new range minimum is set to the old midpoint. If the expected waiting time matches the maximum waiting time then the final maximum value tbrN is established
If the expected watting time does not match the maximum waiting rime Uien range reduction is repeated until the difference between the maximum queue waiting time and [he minimum queue waiting time is unity. The maximum queue length is set to
10

the average of the minimum and maximum queue waiting times. This maximum queue length represents a queue length at which the expected queue delay equals the desired maximum queue delay. Using these calculated values, the range for N is reduced to converge upon the N value which satisfies the desired expected # of busy agents. Range reduction is repeated until the difference between the minimum number of busy agents and the maximum number of busy agents is unity. The final value for N is set to the average of the final minimum value and the final maximum value. This value represents a desired queue length which makes a compromise between the maximum wait in the queue and the minimum number of busy agents.
The PCCM 14 counts the current number of unattended customer contacts in the queue and compares the cuirent number of unattended customer contacts in the queue to the newly updated desired value of N. If the actual value is less than the desired value, more customer contacts are established. If the actual value exceeds that desired number of customer contacts, then the predictive customer contact system does not attempt to establish any further customer contacts until a new value for N has been calculated. By using predictive scheduling the PCCM 14 determines when to attempt to establish customer contacts so that an agent may be available to handle the customer contact.
In an alternative embodiment, contextual information regarding the customer contact is employed to enhance predictive scheduling of customer contacts. For example, where the customer contact is a data application, e.g. chat, that is delivered to the agent terminal 26, 30, the chat session may be carried on a data channel of ACD 18. Contextual information may be extracted so as to determine whether the chat session may soon end, For example, contextual information such as '"bye" or "adios" signal the PCCM 14 regarding the end of a conversation even before the communication session is disconnected. Contextual information"may include message length, session time, email content, and shopping cart items.
While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible that are within the scope of this invention.
i}



WE CLAIM:

1. A method for distributing customer contacts to a transaction processing entity of a
transaction processing system, such method comprising:
predicting a time for assignment of at least one customer contact to at least one
transaction processing entity in the transaction system; ^finding the at least one transaction processing entity to process the customer ^contact; and
routing the at least one customer contact to the found at least one transaction processing entity.
2. The method as claimed in claim 1, wherein predicting comprises modeling the
transaction processing system as a time homogeneous Markov process of customer contacts

entering and leaving the transaction processing system so that the assignment of a customer
contact occurs when the at least one transaction processing entity is available to process the
customer contact.
3. The method as claimed in claim 1, wherein the customer contact comprises at least
one of chat session, telephone call, cellular call, radio call, satellite call, cable connection,
facsimile, email, web session, instant message, Internet data application, voice over Internet
Protocol call, and teleconference.
4. The method as claimed in claim 1, wherein the transaction processing system
comprises a database of customer contact data wherein the data comprises at least one of
email address, a chat room identifier, a telephone number, best time to contact information,
discussion group name, and IP address.
12

5. The method as claimed in claim 1, wherein the transaction processing entity
comprises a host computer for interfacing between the customer and the at least one
transaction processing entity.
6. The method as claimed in claim 5, wherein the host computer interfaces to a data
application server.
7. The method as claimed in claim 5, wherein the host computer interfaces to at least
one of a telephone, Internet, radio, cellular satellite, cable, facsimile, email, web, and video
medium.
8. The method as claimed in claim 1, wherein the transaction processing entity
comprises at least one of an agent, an agent station, a console, a terminal, and an interactive
voice response unit.
9. The method as claimed in claim 1, wherein predicting comprises utilizing contextual
information to determine whether when a customer contact communication may end.
10. The method as claimed in claim 1, wherein finding a transaction processing entity
comprises retrieving agent availability information from an automatic call distributor of the
transaction processing system.
11. The method as claimed in claim 1, wherein routing comprises searching a database of
customer contacts to determine whether the customer contact is an existing customer of the
transaction processing system.
12. The method as claimed in claim 1, wherein routing comprises sending customer
contact associated information along with the customer contact to a found at least one
transaction processing entity.
13



processing entity of a transaction processing system comprising:

13. The method as claimed in claim 3, wherein pqiinecj&n^sEperformed by a matrix
switch of an automatic calldlistributor.
14. A system for distributing at least one customer contact to ar least one transaction
a predictive customer manager to distribute the at least one customer contact to thesM: least one transaction processing entity when the at least one transaction processing entity is available to process the customer contact; and
a router that connects the at least one customer contact to the at least one available transaction processing entity.
15. The system as claimed in claim 14, wherein the predictive customer contact manager
is adapted to model the transaction processing system as a time homogeneous Markov
process of customer contacts entering and leaving jhe transaction processing system.
16. The system as claimed in claim 14, wherein the transaction processing entity
comprises at least one of an agent, an agent station, a console, a terminal, and an interactive
voice response unit.
17. The system as claimed in claim 14, wherein the predictive customer contact manager
is adapted to interface to a data application server.
18. The system as claimed in claim 14, wherein the router comprises a matrix switch of
an automatic call distributor.
19. The system as claimed in claim 15, wherein the predictive customer contact manager
comprises a contextual analyzer to determine when a customer contact communication may
end.
14

particularly with reference to the accompanying drawing.
Dated this 23rd day of September, 2002.
20. The system as claimed in claim 14, wherein the predictive customer contact manager
is adapted to interface to at least one of telephone, Internet, radio, cellular satellite, cable,
facsimile, email, web, and video.
21. The system as claimed in claim 14, wherein the predictive customer contact manager
is adapted to interface with an automatic call distributor.
22. The system as claimed in claim 21, wherein the automatic call distributor is adapted
to provide agent availability information to the predictive customer contact manager.
23. The system as claimed in claim 14, wherein the customer contact comprises at least
one of a telephone call, Voice over IP telephone call, chat session, email, instant messaging
session, and teleconference.
24. The system as claimed in claim 14, having a database of customer contacts that is
adapted to provide the predictive customer contact manager with customer contact data.
25. A system for distributing at least one customer contact to at least one transaction
processing entity of a transaction processing system, substantially as herein described,


15
Disclosed is a method for distributing customer contacts to a transaction processing entity of a transaction processing system. The method includes predicting a time for assignment of a customer contact to a transaction processing entity in the transaction processing system. In an alternative embodiment, the method also includes finding a transaction processing entity that is available to process the customer contact and routing the customer contact to the found transaction processing entity. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that may allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims, 37 CFR 1.72(b).

Documents:

00556-cal-2002-abstract.pdf

00556-cal-2002-claims.pdf

00556-cal-2002-correspondence.pdf

00556-cal-2002-description(complete).pdf

00556-cal-2002-drawings.pdf

00556-cal-2002-form-1.pdf

00556-cal-2002-form-18.pdf

00556-cal-2002-form-2.pdf

00556-cal-2002-form-3.pdf

00556-cal-2002-form-5.pdf

00556-cal-2002-g.p.a.pdf

00556-cal-2002-letters patent.pdf

00556-cal-2002-priority document.pdf

556-CAL-2002-CORRESPONDENCE 1.1.pdf

556-CAL-2002-FORM-27-1.pdf

556-CAL-2002-FORM-27.pdf

556-CAL-2002-FROM 27.pdf

586-CAL-2002-FORM-27.pdf


Patent Number 200936
Indian Patent Application Number 556/CAL/2002
PG Journal Number N/A
Publication Date 19-Jan-2007
Grant Date 19-Jan-2007
Date of Filing 23-Sep-2002
Name of Patentee ROCKWELL ELECTRONIC COMMERCE CORPORATION
Applicant Address 300 BAUMAN COURT, WOOD DALE, ILLINOIS 60191,
Inventors:
# Inventor's Name Inventor's Address
1 DEZONNO ANTHONY J 233 PINEWOOD LANE BLOOMINGDALE,ILLINOIS 60108,
2 FECHALOS WILLIAM 5 SOUTH 730 RIDGEVIEW LANE NAPERVILLE,ILLINOIS 60540
PCT International Classification Number H 04M 3/523
PCT International Application Number N/A
PCT International Filing date
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 09/964,103 2001-09-26 U.S.A.
2 10/078,049 2002-02-19 U.S.A.