Abstract:
The present invention is directed to a method and system for routing contacts in a contact center based on a number of factors including the value or nature of items in an order of the customer associated with the contact. The invention is particularly useful in E-commerce web-sites in which electronic orders are generated by the customer.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     The present application is related to U.S. Provisional patent application Ser. No. 60/200,520, filed on Apr. 27, 2000, and entitled “WAIT TIME PREDICTION ARRANGEMENT FOR NON-REAL-TIME CUSTOMER CONTACTS”; U.S. patent application Ser. No. 09/641,403, filed Aug. 17, 2000, and having the same title; and U.S. patent application Ser. No. 09/669,257, filed concurrently herewith and entitled “AN ARRANGEMENT FOR CONTROLLING THE VOLUME AND TYPE OF CONTACTS IN AN INTERNET CALL CENTER”, each of which is incorporated herein by this reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to routing contacts based on predetermined criteria and specifically to routing contacts in an Internet call center. 
     BACKGROUND OF THE INVENTION 
     E-commerce web-sites are becoming increasingly popular with consumers as an efficient, convenient and low cost way to shop for merchandise. In a typical E-commerce web-site, the customer&#39;s web browser accesses web pages provided by the web-site&#39;s web server. The customer can add merchandise to be purchased to a “shopping cart” by clicking on an icon. The shopping cart is a data structure typically stored on the customer&#39;s computer or on the web server. When the customer desires to complete the order, the data structure is forwarded along with a cookie identifying the customer to the web server which processes the order. 
     Each year hundreds of millions dollars of potential business are lost in E-commerce web-sites due to the failure of a customer to complete an order. Studies have shown that a significant number of shopping carts in E-commerce web-sites are abandoned because the customer is unable to obtain timely or appropriate service from the Internet call center supporting the web-site. In many cases, the customer has questions before he can complete the order which can only be answered by speaking with a working agent at the Internet call center. In other cases, the customer must speak to a working agent at the Internet call center to complete the order. 
     SUMMARY OF THE INVENTION 
     These and other needs are addressed by the methods and architectures of the present invention. The invention is generally directed to the routing of a contact to a contact center based on one or more of the identification of a customer, a file address associated with the customer, the historical business relationship with the customer, an estimated business value of the customer, one or more of the items in an order or collection of item(s) of the customer, and/or a value of one or more of the items in the collection of item(s). This information is typically used to decide on the quality and/or skills of the agent needed to service the contact and/or the prioritization of the contact to provide more desirable customers with lower queue wait times. 
     In a first embodiment of the present invention, a method for routing contacts in a contact center is provided that includes the steps of: 
     (a) evaluating a collection of one or more items (e.g., a data structure such as a shopping cart, an electronic order such as a fax, a webform, e-mail text, voice call, VoIP, text chat, electronic documents, voice message, etc.) of a customer, e.g., to identify at least one of (i) at least one item in the collection and (ii) a value of at least one item in the collection; and 
     (b) routing a contact of the customer to at least one of a working agent and queue in the contact center based at least one of (i) and (ii). As will be appreciated, the contact can be in the form of a voice communication or an electronic communication, such as e-mail, fax, webform, VoIP, and voice message. The use of the value of item(s) in the collection and/or type(s) of item(s) in the collection to determine the quality and skills of the agent to service the customer and/or to prioritize the contact should curtail abandonment of high-value transactions and thereby reduce overall business losses. 
     In one configuration, the collection of one or more items is an electronic order accessed via a network by a computational component associated with the contact center. The computational component can be an applet or similar software architecture. As will be appreciated, an applet is an application program, such as an application program that is downloaded automatically through a World Wide Web browser and executed on the recipient&#39;s computer. This configuration is particularly useful in E-commerce web-sites associated with an Internet contact center. 
     In a configuration for the Internet, the steps typically preceding the routing step are: 
     (a) providing the customer with at least one web page that describes (or lists) one or more items; and 
     (b) clicking on an icon on the at least one web page. The icon can be a contact icon, an icon associated in some way with an item (e.g., clicking on the icon causes the item to be added to a shopping cart, wish cart, or wish list). As used herein, a “web page” is a file of information made available for viewing, such as a file made available for viewing on the World Wide Web, and typically seen by the user as a page of information on the screen, and an “icon” is a picture or figure or symbol on a display that represents a particular object, operation and/or group of files. 
     In another configuration, the method includes the step of comparing (i) and/or (ii) with predetermined information (e.g., a file or set of one or more items and/or a value) to determine the objective or destination of the routing step. The objective of the routing step, for example, is a queue or a working agent. 
     In another embodiment, a system for servicing contacts in a contact center is provided that includes: 
     (a) evaluating means (e.g., software) for evaluating a collection of one or more items of a customer to determine at least one of (i) one or more item(s) in the collection and (ii) a value(s) of one or more item(s) in the collection; and 
     (b) routing means (e.g., software) for routing a contact of the customer to at least one of a working agent and queue in the contact center based on (i) and/or (ii). 
     In yet another embodiment, a system for servicing contacts in a contact center is provided that includes: 
     (a) an evaluator for evaluating a collection of one or more items of a customer to determine at least one of (i) one or more item(s) in the collection and (ii) the value(s) of one or more item(s) in the collection; and 
     (b) a router for routing a contact of the customer to at least one of a working agent and queue in the contact center based on (i) and/or (ii). 
     The above-described embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a contact center according to a first embodiment of the present invention; 
         FIG. 2  is a flowchart depicting a method of operation of the contact center according to a second embodiment of the present invention; and 
         FIG. 3  is a flowchart depicting a method of operation of the contact center according to a third embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  shows an illustrative embodiment of the present invention. A contact center comprises a central server  10  (such as a modified version of the CRM Central 2000 Server™ of Lucent Technologies, Inc.), a set of data stores or databases  12  containing contact or customer related information and other information that can enhance the value and efficiency of the contact, and a plurality of servers, namely a fax server  24 , a web server  20 , an email server  16 , and other servers  13 , a private branch exchange PBX  28  (or private automatic exchange PAX), a plurality of working agents  14  operating computer work stations, such as personal computers, and/or telephones or other type of voice communications equipment, all interconnected by a local area network LAN (or wide area network WAN)  36 . The fax server  24 , web server  20  and email server  16  are connected via communication connections  40  to an Internet and/or intranet  44 . The other servers  13  can be connected via optional communication lines  22 ,  32  to the PBX  28  and/or Internet or intranet  44 . As will appreciated, other servers  13  could include a scanner (which is normally not connected to the PBX  28  or Internet or intranet  44 ), interactive voice recognition IVR software, VoIP software, video call software, voice messaging software, an IP voice server, and the like. The PBX  28  is connected via a plurality of trunks  18  to the public switch telecommunication network PSTN  48  and to the fax server  24  and telephones of the agents  14 . As will be appreciated, faxes can be received via the PSTN  48  or via the Internet or intranet  44  by means of a suitably equipped personal computer. The PBX  28 , fax server  24 , email server  16 , web server  20 , and database  12  are conventional. 
     In the architecture of  FIG. 1  when the central server  10  forwards a voice contact to an agent, the central server  10  also forwards information from databases  12  to the agent&#39;s computer work station for viewing (such as by a pop-up display) to permit the agent to better serve the customer. 
     As will be appreciated, the central server  10  is notified via LAN  36  of an incoming real-time or non-real-time contact by the telecommunications component (e.g., PBX  28 , fax server  24 , email server  16 , web server  20 , and/or other server  13 ) receiving the incoming contact. The incoming contact is held by the receiving telecommunications component until the central server  10  forwards instructions to the component to forward the contact to a specific station or agent  14 . The server  10  distributes and connects these contacts to stations  14  of available agents based on set of predetermined criteria. The agents  14  process the contacts sent to them by the central server  10 . 
     The memory  30  includes a plurality of sets  38  of call queues  42  and  46 . Each set  38  of call queues  42  and  46  conventionally serves and holds contacts for a different work type and/or for real- versus non-real-time contacts. In the depicted embodiment, queues  42  serve non-real-time contacts while queues  46  serve real-time contacts. This embodiment is particularly suited for a Customer Relationship Management (CRM) environment in which customers are permitted to use any media to contact a business. In a CRM environment, both real-time and non-real-time contacts must be handled and distributed with equal efficiency and effectiveness. Within each set  38  of queues  42  and  46 , each queue holds contacts of a different priority and/or different type (e.g., e-mail, fax, electronic or paper documents, webform submissions, voice messages, voice calls, VoIP calls, text chat, video calls, and the like). The priority of a contact is determined according to well known predefined criteria. Depending upon the type of contact (e.g., voice, e-mail, fax, electronic or paper documents, etc.), the priority of a contact is determined according to well known predefined criteria, as set forth in copending U.S. application Ser. No. 09/669,257 “An Arrangement for Controlling the Volume and Type of Contacts in an Internet Call Center”, filed concurrently herewith, which is incorporated herein by this reference, and/or as set forth below. 
     Each queue  42  and  46  normally functions as a first-in, first-out (FIFO) buffer memory, and includes a plurality of entries, or positions  50 , each for identifying a corresponding one enqueued contact. The position  50  at the head of the queue is considered to be position 1, the next subsequent position  50  to be position number 2, and so forth. 
     Memory  30  further includes an estimated wait time (EWT) function, (or waiting time predictor)  54 . As its name implies, this function determines an estimate of how long a contact that is placed in a queue  42  or  46  will have to wait before being delivered to an agent  14  for servicing. The estimate is derived separately by EWT function  54  for each queue  42  or  46  of each set  38 . 
     For real-time contacts, the estimate is based on the average rate of advance of calls through positions  50  of the contacts&#39; corresponding queue  46 . An illustrative implementation of EWT function  54  for real-time contacts is disclosed by U.S. Pat. No. 5,506,898. 
     For non-real-time contacts, the estimate is determined differently than for real-time contacts. The technique(s) for estimating the EWT is set forth in copending U.S. Provisional Application entitled “WAIT TIME PREDICTION ARRANGEMENT FOR NON-REAL-TIME CUSTOMER CONTACTS” having Ser. No. 60/200,520 and a filing date of Apr. 27, 2000, and in copending U.S. patent application Ser. No. 09/641,403, filed concurrently herewith and having the same title, and which are incorporated herein by this reference. The system records the time at which each item is serviced from its respective queue. The advance time is then calculated by measuring the time interval between the time of servicing of a first item in the first position  50  at the head of the queue and the time of servicing of a second, later item in the second position. Stated another way, the advance time is determined by the following equation:
 
Advance Time=(the time of servicing of the second item)−(the time of servicing of the first item).
 
The weighted average advance time WAT can then be determined using the advance time, the Estimated Wait Time EWT using the WAT.
 
     To guard against substantial fluctuations in the advance time from certain types of events, a filter  58  is provided. The processor  34  sets an indicator  62  when a predetermined type of event occurs and the filter  58  discards the advance time associated with the marked item. Predetermined types of events are as follows: 
     (a) The respective queue has no working agents available for servicing items from the queue. This event occurs, for example, after normal working hours when the contact center is unstaffed. Non-real-time contacts will remain in the queue during the unstaffed period. 
     (b) The respective queue is empty. This event occurs, for example, during quiet periods in which there are no items in the queue. 
     (c) The system clock is changed. This event occurs, for example, when the system clock is changed to or from daylight savings time. Non-real-time contacts may remain in the queue during the clock change. 
     (d) The system is nonoperational. This event occurs, for example, when the system is down for a time and then rebooted. Non-real-time contacts may persist in the queue during the period the system is shut down. 
     (e) The agent defers the servicing of an enqueued item. 
     Memory  30  can further include a contact-selection (SEL) function  26 . Function  26  is conventional in that, for each contact at the head of a queue, it determines, for real-time a current or oldest wait time or CWT, the weighted average advance time WAT, the expected wait time EWT, and/or the predicted wait time PWT (which is the sum of the CWT and WAT), and, for each available agent, it selects a contact from queues  42  and/or  46  for connection to and handling by that agent. This feature is further described in U.S. Pat. No. 5,905,793, which is incorporated herein by this reference. 
     In  FIG. 1 , the center  10  is shown as being connected via communication lines  40  to a plurality of interfaces  51   a - d  (e.g., graphical user interfaces, etc.) between a customer and the contact center. As will be appreciated, communication lines  40  can alternatively conduct voice energy from a contacting entity. 
     The center  10  can be connected to a web server  20  to provide collections (or files) of information stored in the memory (not shown) of the web server  20  for viewing by a contacting entity via trunks  40  and interfaces  51 . As will be appreciated, the files of information, such as web pages, can include features such as contact icons or informational messages to facilitate service of the contacting entity by the contact center  10 , and/or information regarding merchandise and/or services for sale to the contacting entity. 
     To prioritize contacts, particularly contacts related to potential business sales, the memory  30  includes a router  80  for routing contacts to the appropriate queue  42  or  46  and a comparer  84  for providing input to the router  80  relating to the relative priority of each such contact. 
     Each interface  51   a - d  is typically a computer, such as a personal computer, that includes a memory  70  and attached processor  74 . The memory  70  includes a web browser  76 , one or more web pages  78 , a data structure  82 , such as a shopping cart, for recording items (goods or services) selected by the customer for possible purchase, an identifier  86 , such as a cookie, that is unique to the customer and is referenced in some manner by the data structure  82 , and an evaluator  90 , such as an applet, for examining or evaluating the contents of the data structure  82  in response to a signal from the contact center  10 . As will be appreciated, a “cookie” is information that is stored on a user&#39;s computer by a browser, typically at the request of software at a web-site. Web-sites typically use cookies to recognize users who have previously visited them. 
     The operation of the router  80  and comparer  84  will now be described with reference to  FIGS. 1 and 2 . After a customer has viewed one or more web pages  78  and selected one or more items that have been recorded in the data structure  82 , the customer in box  100  sends a message to the contact center  10 , such as by clicking on an icon on a web page. The signal may itself be a contact for handling by a working agent  14  or initiate a contact with a working agent  14 . For example, the signal may contain the data structure  82  and attached cookie  86  and seek processing or completion of an order. Alternatively, the signal could be a request for assistance via a voice or electronic contact. Examples include an IP call from the customer&#39;s computer to the agent&#39;s computer, a voice call through a voice network that operates in collaboration with a datalink, escorted browsing of the customer by the agent over an IP link, a direct voice contact with an agent, and the like. In that event, the working agent or the customer could initiate the contact. For example, the customer can call the contact center or click a contact icon to cause the working agent to initiate a call to the customer. 
     In box  104 , the evaluator  90  determines the value of one or more items in the data structure  82 . The evaluator  90  could, for example, determine the total value of the items in the data structure  82 . Alternatively or at the same time, the evaluator  90  could determine the value of the highest value item in the data structure  82 . Other permutations are possible, such as determining the average value of items in the data structure  82 . The evaluator  90  can perform this step in response to the clicking of the button in box  100  and/or continuously or periodically during the customer&#39;s viewing of web pages  78 . In any event, the evaluator  90  forwards a signal to the comparer  84  via trunk  40  containing the results of the examination of the data structure  82 . 
     In decision diamond  108 , the comparer  84  compares the value of the item(s) in the data structure  82  with a first predetermined value. In this case, the predetermined value is shown as being $200, though any value can be used depending upon the application. If the value of the item(s) in the data structure  82  equals or exceeds the first predetermined value, the router  80  in box  112  assigns a high priority to the contact or signal and directs the contact to a high priority route point or queue. As will be appreciated, the route point is referred to as a Vector Directory Number or VDN in the Definity® architecture of Lucent Technologies, Inc. 
     If the value of the item(s) in the data structure  82  is less than the first predetermined value, the processor  34  proceeds to decision diamond  116  in which the comparer  84  compares the value of the item(s) in the data structure to a second, lower predetermined value. In this case, the predetermined value is shown as being $50, though any value can be used depending upon the application. If the value of the item(s) in the data structure  82  equals or exceeds the first predetermined value, the router  80  in box  120  assigns a medium priority to the contact or signal and directs the contact to a medium priority route point or queue. 
     If the value of the item(s) in the data structure  82  is less than the first predetermined value, the router  80  in box  124  assigns a low priority to the contact or signal and directs the contact to a low priority route point or queue. 
       FIG. 3  depicts another mode of operation for the architecture of  FIG. 1 . In this architecture, the evaluator  90  examines the nature or type of items in the data structure  82  to pair the customer with a working agent having the skills to deal with the items and/or complete the order and/or to determine a priority to be assigned to the customer. In box  150 , the evaluator  90  examines the data structure  82  to identify the type or nature of items therein. In decision diamond  154 , the comparer  84  determines if the items include a first type of item. Although the flowchart uses books as the first type of item, any type of item can be used. If the items include a first type of item, the router  80  in box  158  directs the contact to a queue or route point having agents skilled to service that type of item. In decision diamond  162 , the comparer  84  determines if the items include a second type of item. Although the flowchart uses CD&#39;s as the second type of item, any type of item can be used. If the items include a second type of item, the router  80  in box  166  directs the contact to a second queue or route point having agents skilled to service that type of item. In decision diamond  170 , the comparer  84  determines if the items include a third type of item. Although the flowchart uses toys as the third type of item, any type of item can be used. If the items include a third type of item, the router in box  174  directs the contact to a third queue or route point having agents skilled to service that type of item. In the event that the data structure  82  does not contain any of the first, second, and third items, the router  80  in box  178  directs the contact to a generic (fourth) queue or route point for which no special skills of an agent are required. 
     As will be appreciated, the architecture of  FIG. 3  can be used to identify item types having a high priority or desirability for servicing. For example, certain types of items can have a high success rate for completing sales, a high success rate for cross-selling other items and/or inventory is over-stocked. Alternatively, the architecture can be used to identify low priority items or items that are less desirable for servicing. For example, certain types of items can have a low success rate for completing sales, a low success rate for cross-selling other items and/or a low availability in inventory. 
     A number of variations and modifications of the invention can be used. It would be possible to provide for some features of the invention without providing others. For example in one alternative embodiment, the router can use information other than or in addition to that set forth above in prioritizing or directing the contact to a pertinent queue. Such information includes one or more of the identification of a customer, a file address associated with the customer (e.g., a cookie), the historical business relationship (or prior business volume) with the customer, and/or an estimated business value of the customer. For example, the latter factor could include the type of entity, wealth or financial resources of the entity and/or geographical location of the entity. In another alternative embodiment, the evaluator analyzes an electronic message, such as a webform, or an e-mail message and determines a value associated with an actual or potential (nonelectronic) order and/or items in the order to permit the router to rout the contact accordingly. In another embodiment, the evaluator input determines the type of request for contact. For example, the router may for high priority contacts cause the agent to contact the customer and for low priority contacts request the customer to call the agent. 
     The present invention, in various embodiments, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, subcombinations, and subsets thereof. Those of skill in the art will understand how to make and use the present invention after understanding the present disclosure. The present invention, in various embodiments, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments hereof, including in the absence of such items as may have been used in previous devices or processes, e.g. for improving performance, achieving ease and\ or reducing cost of implementation. 
     The foregoing discussion of the invention has been presented for purposes of illustration and description. The foregoing is not intended to limit the invention to the form or forms disclosed herein. Although the description of the invention has included description of one or more embodiments and certain variations and modifications, other variations and modifications are within the scope of the invention, e.g. as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative embodiments to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.