The present invention relates to automated, end-user support systems. In particular, but not by way of limitation, the present invention relates to systems and methods for integrating live end-user support with automated support.
The Internet and ecommerce Web sites are radically altering the way that many businesses operate. In particular, ecommerce Web sites are altering the relationship between buyers and sellers. Sellers, for example, can realize substantial cost savings by moving buyers from their brick-and-mortar stores to their ecommerce Web sites. Unfortunately, the full potential of these ecommerce Web sites is not being realized because of poor customer experiences while using them.
Statistics show that the majority of sales initiated on an ecommerce Web site are abandoned before completion. Often these transactions are abandoned because the customer has reached some impasse such as a site navigation problem or an unanswered product question. Some businesses address these customer issues by providing live customer support. Live customer support, however, is relatively expensive and, thus, negates much of the cost savings offered by ecommerce. Additionally, when live customer support only provides for email response, customers often abandon transactions before receiving an email response.
Because live customer support is relatively expensive, many businesses elect to use online, non-live support either exclusively or in conjunction with some type of live help. Most of these types of non-live support systems are form-based instruction manuals. In other words, the customer is given a list of frequently asked questions (FAQs) from which to select. Assuming that the customer's question is in the list of FAQs, these types of support systems return the corresponding answer in a text-based format. Rather than navigate such an instruction manual, many users simply terminate the transaction or contact the live customer support. In either case, the business associated with the ecommerce Web site loses important revenue.
Some non-live support systems attempt to present an animated character to address the customer's issues. These characters are generally little more than animated instruction manuals and lack the “look and feel” of live help. Again, rather than deal with such an annoying and unhelpful character, many customers terminate the transaction or contact live customer support. Moreover, these present systems are generally rigid and typically cannot be easily transported from one ecommerce site to another. Thus, these present non-live systems are not only unsatisfactory from the customer's perspective, they are expensive to develop and modify from the ecommerce business's perspective.
As ecommerce becomes more competitive, successful businesses will retain a higher percentage of customers while spending a minimum amount of money on customer support. Businesses are losing precious revenues because present technologies do not sufficiently minimize customer support costs while retaining customers. Accordingly, a system and method are needed to address the above-mentioned and other shortfalls in present technology.
Exemplary embodiments of the present invention that are shown in the drawings are summarized below. These and other embodiments are more fully described in the Detailed Description section. It is to be understood, however, that there is no intention to limit the invention to the forms described in this Summary of the Invention or in the Detailed Description. One skilled in the art can recognize that there are numerous modifications, equivalents and alternative constructions that fall within the spirit and scope of the invention as expressed in the claims.
In one embodiment, the present invention, provides a system and method for integrating an intelligent, automated support system with a live support system to thereby provide economical end-user support. For example, such a system could include a live support system, an automated support server, and a knowledge database. Other implementations can also include report modules and data collection modules.
In one implementation, the automated support server can provide both just-in-time help and/or cobrowsing through an automated agent that is displayed in the end-user's browser window. (Note that the end-user can include both customers and any other type of user.) The just-in-time help is initiated by the end-user and is used to address a particular problem that the end-user might have. For example, as an end-user navigates a Web site, questions may arise regarding a product. The end-user can activate the automated agent associated with the Web site to find an answer to that question. Once the automated agent has answered the question, the automated agent can be terminated.
Alternatively, the automated agent can cobrowse with the end-user. In this cobrowsing implementation, the automated agent does not merely answer a question and then go away. Rather, in a cobrowsing situation, the automated agent is persistently with the end-user while the end-user navigates the corresponding Web site. For example, the automated agent could cobrowse with the end-user to aid the end-user in configuring a new computer. The automated agent would collect information regarding the intended uses for the computer, budget constraints, and other helpful information and would make recommendations based upon that collected information. When the end-user selects a particular monitor, for example, the cobrowsing automated agent can automatically recommend an appropriate driver card or recommend a different monitor that better addresses the end-user's needs.
Whether operating in just-in-time mode or in cobrowsing mode, the automated agent can be configured to receive data from the end-user and to respond accordingly. In other words, the automated agent can behave much like a live agent. To simulate a live agent, the automated agent can assume one of a series of roles. For example, the automated agent could be assigned a greeting role, an orientation role, a customer support role, a process accompaniment role, etc. These roles are reusable units that define the goal of the automated agent and the bounds of its behavior.
Each role can include a set of skills that manage the exchange of data between the end-user and the automated agent. Skills can be separated into two categories: social skills and input/output (I/O) control. Social skills provide the automated agent with lifelike characteristics such as speech, gestures, mannerisms, memory and movements. The I/O control provides the automated agent with the ability to retrieve data responsive to actions by the end-user, manipulate that data as needed and provide it to the end-user in a usable form. For example, the automated agent could include an order-status-retrieval skill that retrieves order-status data from a shipping database responsive to a request from the end-user and informs the end-user of the relevant order status.
Based upon input from the end-user, an appropriate skill associated with the automated agent can also access a knowledge database and determine a response that addresses the end-user's question. The appropriate response may include a single step of providing an answer to a frequently asked question or it may include a multi-step, multi-branch action that guides the end-user through a series of actions. For example, if the end-user needs help in configuring a new computer, the knowledge database may contain a configuration tree of all the possible configurations. As the end-user selects one option, the automated agent, through a configuration skill, can navigate the tree to present the end-user with the next set of options. Based upon the end-user's intended uses and/or budget, the automated agent can identify preferred options within each set of options.
In one embodiment, when the automated agent cannot address the end-user's questions or when alternative support is more appropriate, an alternative support session, e.g., a live support session, a prerecorded support session, an email response, a chat session, etc., can be initiated either by the automated agent or by the end-user. Any data collected or used by the automated agent can be passed, for example, to the live agent, thereby providing a somewhat seamless transition from the automated agent to the live agent. Additionally, the automated agent can pass to the live agent any data related to the automated agent's attempts to address the end-user's questions.
After the live agent has addressed the end-user's questions, the live agent can pass the end-user back to the automated agent. Just as if the automated agent were a live agent, the automated agent can remember the end-user and the end-user's previous support sessions. In certain embodiments, the automated agent is even aware of the actions that the live agent initiated to address the end-user's questions, thereby allowing the automated agent to resume a support session at the proper point.
In one implementation, questions addressed by the live agents are recorded and used to improve the knowledge database so that the automated agent can address those issues in the future without the aid of a live agent. For example, if a particular question is repeatedly referred from the automated agent to the live agents, that question and corresponding answer can be added to the knowledge database. The next time that the automated agent is presented with that question, it can retrieve the proper answer from the knowledge database and not involve the live agent. Alternatively, if that question and answer are already in the knowledge database, the placement of that question relative to other issues addressed by the automated agent can be changed. For example, the question and answer can be added to a list of frequently asked questions that is presented immediately by the automated agent.
Although the present invention is generally described with regard to product sales, it should not be limited thereto. The end-user support described above can be used in virtually any industry. For example, the automated agent could be used by the financial industry, the service industry, and the like. Moreover, the automated agent need not be Web based. In some embodiments, the automated agent is loaded directly onto an end-user's computer. From there, the automated agent can, for example, troubleshoot software and hardware issues.
As previously stated, the above-described embodiments and implementations are for illustration purposes only. Numerous other embodiments, implementations, and details of the invention are easily recognized by those of skill in the art from the following descriptions and claims.
Various objects and advantages and a more complete understanding of the present invention are apparent and more readily appreciated by reference to the following Detailed Description and to the appended claims when taken in conjunction with the accompanying Drawings wherein:
Referring now to the drawings, where like or similar elements are designated with identical reference numerals throughout the several views, and referring in particular to
The automated agent is preferably generated by the automated support server 120 and is generally aware of the end-user's personal information, metadata associated with the content provider 115, the end-user's navigation location within a Web site, and navigation events initiated by the end-user 105. For example, if the end-user 115 follows a particular link in a Web page provided by the content provider 115, the automated agent—via the automated support server 120—can be aware of that fact and can also be aware of the next page from the content provider 115 that will be displayed for the end-user 105. Through this awareness of navigation events, the automated agent provides the end-user with an interactive and intelligent support session rather than just a list of questions and answers.
To generate the automated agent and to drive its interaction with the end-user 105, the automated support server 120 can use information stored in the knowledge database 125. This information can include data about the end-user 105, predefined character traits of the automated agent, and/or interaction management data. Further, this type of information can include role definitions and skill definitions. For example, the automated agent can be associated with a particular role such as greeter, product advisor, process accompaniment, customer service, etc., that define the boundaries of the automated agent's behavior. Each of these roles includes a possibly distinct set of skills that manage the automated agent's interaction with the end-user 105. One set of skills might define the social aspects of the automated agent and another set of skills might manage the flow of data between the automated agent, the knowledge database 125, and the end-user 105. For example, a “get order status” skill could retrieve order information from the end-user 105, pass that information to the knowledge database 125, receive corresponding order status information from the knowledge database 125, and provide that order status information to the end-user 105.
If the end-user 105 needs additional help or if the automated agent determines that an alternative support session is necessary or would be beneficial, the automated agent can automatically escalate the help session to involve, for example, live agents at a call center 130 or at any other location. The live support session could be conducted through the live support server 135 with video and/or audio streaming, chat sessions, Voice-over-IP channels, and/or email. The live support sessions can also be conducted through a traditional phone call routed to the call center 130 through, for example, a public switch telephone network (PSTN) 140.
When a live help session is initiated, the live agent can access the knowledge database 125 and/or the automated support server 120 to collect data about the end-user 105 and the end-user's session with the automated support server 120. Accordingly, the transition from the automated agent to the live agent can be somewhat seamless. Additionally, the live agent can work in conjunction with the automated agent to address the end-user's questions. In this implementation, the automated agent could run in the background and not be visible to the end-user 105. Even though it is not necessarily visible, the automated agent can gather information, for example, about the end-user's present location within a Web page and subsequent navigation events. This information can be passed to the live agent to provide a more complete understanding of the end-user's situation.
Additionally, once the live agent has addressed the end-user's question, the end-user 105 can be passed back to the automated agent, i.e., the automated support server 120. The automated agent can remember the end-user's previous session and interact with the end-user 105 accordingly. In some implementations, the automated agent can even be provided with details related to the end-user's interaction with the live agent. Thus, the transition from the live agent back to the automated agent could appear virtually seamless to the end-user 105.
To improve the responsiveness of the automated agent, details regarding end-users' sessions can be logged and analyzed. In particular, the details regarding the interaction between live agents and end-users 105 can be logged and analyzed. For example, when the automated agent refers an end-user 105 to a live agent, the question raised by the end-user 105 can be recorded. This question and a corresponding answer can then be added to the knowledge database 125 so that the automated agent can answer the question in the future without the aid of a live agent. In other implementations, an event record is created when an end-user 105 terminates the automated agent before the end-user's question is addressed. These event records can be aggregated to determine if the automated agent is being unresponsive and to determine what updates should be made to the knowledge database 125 or to the automated support server 120.
Referring now to
As (or after) the end-user 105 interacts with the live support system 135, data regarding the interaction can be collected and recorded in the data collection module 150 by the report and analysis module 155. This information can be analyzed to identify needed enhancements to the automated support server 155. For example, the report and analysis module 155 can determine that a new frequently asked question and its corresponding answer should be added to the knowledge database 125, thereby allowing the automated agent to answer that question without the aid of a live agent. In other implementations, the report and analysis module 155 can recommend enhancements to the live support system 135, network configurations, marketing tactics, automated agent presentations, etc. Additionally, the report and analysis module 155 can track usage of the automated support server 120 and/or live support system 135 for modeling and/or billing purposes.
Referring now to
The end-user's question, its answer, and any appropriate comments can then be recorded in the data collection module 150 (step 175). When a meaningful sample of questions has been collected, the report and analysis module 155 can retrieve necessary data from the data collection module 150 and determine if any of the questions being handled by the live support system 135 are better suited for the automated support server 120 (step 180). If so, an update for the automated support server 120 is identified and implemented (step 185). Likewise, the report and analysis module can create an improved plan for live agents to address particular questions.
Referring now to
Still referring to
The profiler application 210 of the automated support server 120 includes a roles module 220, a skills module 225, and an interpreter module 230. The roles module 220 includes reusable definitions for each role that an automated agent can be assigned. Similarly, the skills module 225 includes the definitions for each skill that can be assigned to a role. The interpreter module 230 is responsible for invoking the appropriate role and skill in response to end-user 105 initiated events. For example, the interpreter module 230 could initially invoke a greeting role for the automated agent and assign the appropriate skills to that role.
The actual character definitions, social rules, character dialogue, and other relevant data are contained in the resource data module 215, which generally corresponds to at least portions of the knowledge database 125 of
Referring now to
Additionally, the automated support server 120 can cause the content from the content provider 115 to be refreshed (step 275). However, to circumvent the consistent page domain security requirement, the annotation server 200 masks the content from the content provider 115 so that it appears to originate from the same domain as the automated agent (step 275). This masking process is described in greater detail with relation to
In addition to displaying the automated agent alongside the content from the content provider 115, the automated support server 120 can also display a list of options on the browser window from which the end-user 105 can choose. Responsive to the end-user 105 choosing one of the listed options, the automated support server 120 can access the resource data 215 within the automated support server 120 and determine the proper response (steps 280 and 285). That response can be displayed in the browser window (step 290).
Referring now to
By circumventing the consistent page domain security requirement, the annotation server 120 allows data to be exchanged by the frames even though they originate from different domains. (As previously described, the automated agent generally originates from the automated support server's domain and the content frame originates from the content provider's domain.) First, event information 315 can be passed from the content frame 305 to the automated agent frame 300. For example, if the end-user 105 selects a link being displayed in the content frame 305, corresponding event information 315 can be passed from the content frame 305 to the automated agent frame 300 where it is available to the annotation server 120 and the automated agent. Second, commands 320 can be passed from the annotation server 120 to the content frame 305. For example, the automated agent (or live agent) can actively guide the end-user 105 by following links being displayed in the content frame 305.
The role of the annotation server 120 in enabling these two types of data exchanges is illustrated by the flowchart in
When the end-user 105 selects a link (step 360) within the content frame 305 the annotation server determines if the link is encoded (step 365). Assuming that the link was previously encoded, a corresponding fetch request 120 is sent to the annotation server 120 rather than to the content provider 115 (step 360). The annotation server 120 then decodes (step 380) the link and forwards the fetch request to the content provider 115. The content provider 115 returns the requested page to the annotation server 120 (step 335), which encodes the identifier of the returned page and identifies and encodes the appropriate links in the returned page (steps 340 and 345). When the end-user 105 selects a link that was not previously encoded, the corresponding fetch request is routed according to the link and is not necessarily routed the annotation server 120 (step 370).
In an alternate embodiment, links associated with the automated agent and its menus can be encoded so that their domain matches the domain of the content from the content provider. Moreover, encoding can be avoided if the automated agent is hosted by the content provider. In such an implementation, both the automated agent and the content could originate from the same domain.
In conclusion, the present system provides, among other things, a system and method for providing automated end-user support. Those skilled in the art, however, can readily recognize that numerous variations and substitutions may be made in the invention, its use and its configuration to achieve substantially the same results as achieved by the embodiments described herein. Accordingly, there is no intention to limit the invention to the disclosed exemplary forms. Many variations, modifications and alternative constructions fall within the scope and spirit of the disclosed invention as expressed in the claims.
This application claims priority from the U.S. Provisional Patent Application No. 60/281,637, entitled Integrated Automated and Live Electronic Customer Service Application and Method, filed on Apr. 5, 2001. This application is related to the following commonly owned and assigned U.S. patents, all of which are expressly incorporated herein by reference: U.S. Pat. No. 6,201,948, entitled Agent Based Instruction System and Method, andU.S. Pat. No. 5,727,950, entitled Agent Based Instruction System and Method.
Number | Name | Date | Kind |
---|---|---|---|
3829088 | Pahlas | Aug 1974 | A |
4451985 | Pullman | Jun 1984 | A |
D276626 | Lockwood | Dec 1984 | S |
4567359 | Lockwood | Jan 1986 | A |
RE32115 | Lockwood et al. | Apr 1986 | E |
D286956 | Lockwood | Dec 1986 | S |
4793810 | Beasley, Jr. | Dec 1988 | A |
5002491 | Abrahamson et al. | Mar 1991 | A |
5059127 | Lewis et al. | Oct 1991 | A |
5204813 | Samph et al. | Apr 1993 | A |
5208869 | Holt | May 1993 | A |
5211563 | Haga et al. | May 1993 | A |
5251268 | Colley et al. | Oct 1993 | A |
5261823 | Kurokawa | Nov 1993 | A |
5267865 | Lee et al. | Dec 1993 | A |
5294229 | Hartzell et al. | Mar 1994 | A |
5302132 | Corder | Apr 1994 | A |
5309355 | Lockwood | May 1994 | A |
5310349 | Daniels et al. | May 1994 | A |
5337141 | Egli et al. | Aug 1994 | A |
5397865 | Park | Mar 1995 | A |
5441415 | Lee et al. | Aug 1995 | A |
5444774 | Friedes | Aug 1995 | A |
5458494 | Krohn et al. | Oct 1995 | A |
5513991 | Reynolds et al. | May 1996 | A |
5513994 | Kershaw et al. | May 1996 | A |
5576951 | Lockwood | Nov 1996 | A |
5594791 | Szlam et al. | Jan 1997 | A |
5630025 | Dolby et al. | May 1997 | A |
5636036 | Ashbey | Jun 1997 | A |
5708798 | Lynch et al. | Jan 1998 | A |
5710887 | Chelliah et al. | Jan 1998 | A |
5721845 | James et al. | Feb 1998 | A |
5727950 | Cook et al. | Mar 1998 | A |
5743746 | Ho et al. | Apr 1998 | A |
5745765 | Paseman | Apr 1998 | A |
5781914 | Stork et al. | Jul 1998 | A |
5788504 | Rice et al. | Aug 1998 | A |
5788508 | Lee et al. | Aug 1998 | A |
5810605 | Siefert | Sep 1998 | A |
5825651 | Gupta et al. | Oct 1998 | A |
5826031 | Nielsen | Oct 1998 | A |
5827070 | Kershaw et al. | Oct 1998 | A |
5844554 | Geller et al. | Dec 1998 | A |
5877966 | Morris et al. | Mar 1999 | A |
5904485 | Siefert | May 1999 | A |
5907706 | Brodsky et al. | May 1999 | A |
5909589 | Parker et al. | Jun 1999 | A |
5918217 | Maggioncalda et al. | Jun 1999 | A |
5920848 | Schutzer et al. | Jul 1999 | A |
5947747 | Walker et al. | Sep 1999 | A |
5956709 | Xue | Sep 1999 | A |
5963953 | Cram et al. | Oct 1999 | A |
5974446 | Sonnenreich et al. | Oct 1999 | A |
5978648 | George et al. | Nov 1999 | A |
6002854 | Lynch et al. | Dec 1999 | A |
6012051 | Sammon, Jr. et al. | Jan 2000 | A |
6032129 | Greef et al. | Feb 2000 | A |
6035283 | Rofrano | Mar 2000 | A |
6055569 | O'Brien et al. | Apr 2000 | A |
6070142 | McDonough et al. | May 2000 | A |
6091930 | Mortimer et al. | Jul 2000 | A |
6162060 | Richard et al. | Dec 2000 | A |
6201948 | Cook et al. | Mar 2001 | B1 |
6237035 | Himmel et al. | May 2001 | B1 |
6256620 | Jawahar et al. | Jul 2001 | B1 |
6259445 | Hennum et al. | Jul 2001 | B1 |
6321209 | Pasquali | Nov 2001 | B1 |
6343329 | Landgraf et al. | Jan 2002 | B1 |
6356284 | Manduley et al. | Mar 2002 | B1 |
6427063 | Cook et al. | Jul 2002 | B1 |
6434619 | Lim et al. | Aug 2002 | B1 |
6542897 | Lee | Apr 2003 | B2 |
6553413 | Leighton et al. | Apr 2003 | B1 |
6557006 | Headrick et al. | Apr 2003 | B1 |
6658464 | Reisman | Dec 2003 | B2 |
6694314 | Sullivan et al. | Feb 2004 | B1 |
6727927 | Dempski et al. | Apr 2004 | B1 |
6950852 | Kobayaghi et al. | Sep 2005 | B1 |
20010032140 | Hoffman | Oct 2001 | A1 |
20020052778 | Murphy et al. | May 2002 | A1 |
20020118220 | Lui et al. | Aug 2002 | A1 |
20020119435 | Himmel et al. | Aug 2002 | A1 |
20020130895 | Brandt et al. | Sep 2002 | A1 |
20020174106 | Martin | Nov 2002 | A1 |
20030009385 | Tucciarone et al. | Jan 2003 | A1 |
20030164859 | Evans | Sep 2003 | A1 |
20040088345 | Zellner et al. | May 2004 | A1 |
Number | Date | Country |
---|---|---|
0 496 492 | Jan 1992 | EP |
0 496 492 | Jan 1992 | EP |
0 829 996 | Mar 1997 | EP |
0 829 996 | Mar 1998 | EP |
WO 9744767 | Nov 1997 | WO |
WO 9832107 | Jul 1998 | WO |
WO 9901826 | Jan 1999 | WO |
WO 0029977 | May 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20020146668 A1 | Oct 2002 | US |
Number | Date | Country | |
---|---|---|---|
60281637 | Apr 2001 | US |