WO2001027803A2 - Electronic shopping management: intervention - Google Patents

Electronic shopping management: intervention Download PDF

Info

Publication number
WO2001027803A2
WO2001027803A2 PCT/US2000/028553 US0028553W WO0127803A2 WO 2001027803 A2 WO2001027803 A2 WO 2001027803A2 US 0028553 W US0028553 W US 0028553W WO 0127803 A2 WO0127803 A2 WO 0127803A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
intervention
task
site
web
Prior art date
Application number
PCT/US2000/028553
Other languages
French (fr)
Other versions
WO2001027803A3 (en
Inventor
Elizabeth B. Charnock
Philip Chang
Original Assignee
Troba, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Troba, Inc. filed Critical Troba, Inc.
Priority to AU13337/01A priority Critical patent/AU1333701A/en
Publication of WO2001027803A2 publication Critical patent/WO2001027803A2/en
Publication of WO2001027803A3 publication Critical patent/WO2001027803A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present invention relates generally to web-site end-user experience management, and more particularly, to actively intervening in the end-user's use of a web-site in order to aid the end-user.
  • the e-commerce industry is growing at an astonishing rate. More and more companies are creating web-based stores or their warehouse equivalents in which their customers and partners can shop.
  • One of the advantages of e-commerce, which the e-commerce industry counts on, is that shopping online improves the efficiency and convenience of the shopping experience for their customers.
  • Their business models often require a gross reduction in the number of call center salespersons, in order to provide more attractive pricing than can be offered in the "brick & mortar" world.
  • such intervention whether by a human being or by some software, can provide feedback to the web-site regarding how the end-users of the web-site use and/or misuse the site Based on this information, the web-site owners can better design their site and improve their business
  • intervention occurs only when the end-user chooses to seek some help by, for instance, pressing on a "help” or “chat” icon or link.
  • intervention occurs in an intrusively active manner. That is, an intervention agent may intervene (for instance, by starting a live chat) regardless of whether or not the end-user desires such intervention.
  • intervention occurs based on a set of business rules. For instance, one "business rule" may be for an intervention to occur if the day of the week is a Tuesday, and the end-user is a woman.
  • business rule may be for an intervention to occur if the day of the week is a Tuesday, and the end-user is a woman.
  • intervention is not based on an assessment of end-user moods and/or an analysis of when any specific end-users need help.
  • the present invention provides a method and system for offering assistance to end- users in their use of web-sites, based on an assessment of the mood states of the end-users.
  • the end-users may or may not accept such an offer.
  • the present invention is a method and system for providing feedback to the web-site owners regarding end-user behavior on the web-site.
  • the intervention agent can operate in several different modes. These include the queued intervention mode, the fully manual intervention mode, the fully automated intervention mode, and the cross-site application intervention mode.
  • the queued intervention mode the selection of the which end-users will be picked for intervention, and which intervention agent they will be assigned to, is performed by the system.
  • the fully manual intervention mode a human operator determines which specific end-user he wants to assist.
  • an automated intervention agent determines what tasks to propose to the end-user.
  • the automated intervention agent interfaces with one or more of the fully manual intervention agent, a knowledge management/automated technical support system provided by various third parties, the third party search engine in use by the site, a third party natural language engine using an ontology, and a personalization engine of the web site.
  • the automated intervention agent can be thought of as gluing these different elements to the task model and making them function according to its dictates.
  • the intervention agent can be used across multiple different web-sites.
  • a dialogue with an end-user may be initiated when it is observed that the end-user is in an angry, confused, or bored state, and/or an end-user has been in one of these states for longer than a predetermined amount of time.
  • Such deductions regarding the end-user's level of satisfaction can be made by following various algorithms based on the end-user's behavior on the web-site.
  • the end-user may allocate specific tasks to the intervening agent, and a dialogue may occur with the end-user when any such task is completed, or when there is a problem with the completion of one of the tasks.
  • regular status reports may also be generated for the business knowledgeable user.
  • the intervening agent can be implemented in software.
  • a web-site specific web browser plug-in appears to an end-user when she enters the home page of the web-site.
  • This agent offers assistance to the end-user in using the website.
  • This agent also provides the web-site owners with information about the end-user, and information regarding the end-user's behavior on the web-site.
  • the automated interface can also be a web application or a voice enabled application.
  • a human operator may intervene in an end-user's use of a web-site, and help answer specific questions that the end-user may have.
  • Such a human operator can also provide the web-site owners with information about the end- user, and information regarding the end-users behavior on the web-site.
  • Contact may also be initiated with an end-user after she has left the web-site. For instance, an end-user may later be contacted by email. Again, such contact could either be conducted by software, or by a human operator. Further, such contact could provide incentives for the end-user to return to the web-site at a later time, such as by providing coupons specific to the web-site.
  • Figure 1 is a block diagram illustrating an embodiment of a system in accordance with the present invention.
  • Figure 2 is an example of a task graph created by the task model creator.
  • Figure 3 is a block diagram illustrating the various states in which an end-user can be.
  • Figure 4 is a flowchart illustrating an overview of the intervention agent in one embodiment of the present invention.
  • Figure 5 illustrates one embodiment of the functionality of the queued intervention mode.
  • Figure 6 illustrates the architecture of the retrospective system 400 in one embodiment of the present invention
  • Fig. 1 illustrates a system in accordance with one embodiment of the present invention.
  • the system comprises a task model creator 110, a heuristics determinator 120, and an intervention agent 130. Each of these components is described in detail below.
  • the task model creator 1 based on input from a business knowledgeable user, defines and manages the different tasks on a web-site, and their relationships with each other.
  • the task model creator 110 also inputs a business knowledgeable user's edits for the different tasks. This information is used by the heuristics determinator 120.
  • end-user state is assessed based on the specific tasks and/or the sequences of tasks attempted by the end-users Further, in one embodiment, it is important to evaluate end-user behavior within its context For example, someone d ⁇ vmg in reverse m a d ⁇ veway is quite normal, but on an interstate highway would be extremely abnormal and inappropriate
  • a task is a real-world user goal It can be thought of as the reason that the end-user came to a specific web-site in the first place. Some examples of tasks are “Book a Plane Ticket,” “Buy a Concert Ticket,” and “Register for Free Email " In some embodiments of the present invention, tasks must contain two or more steps, in order for successful completion of the task to be measurable, and to be distinguishable from the unsuccessful case A task step is not an end-user goal itself, but is something that must be done in order to complete the task Some examples of task steps are “Provide Credit Information,” “Enter Contact Info,” and “Ve ⁇ fy Purchase Order " Further, it is to be noted that some tasks (“supertasks”) may contain other tasks (“subtasks”) An example of this would be the supertask "Plan a Vacation” containing subtasks such as "Reserve a Hotel Room,” “Rent a Car” and so on
  • Tasks have certain key relationships to one another These relationships, coupled with certain key attributes of tasks such as their dollar value to the merchant, determine the optimal navigational structure for the site
  • the task model creator identifies tasks, and assembles a task graph Details regarding task relationships and attributes, how tasks and their steps can be identified, and how task graphs can be constructed, are provided in the copending application entitled "Electronic Shopping Management Task Models" which is hereby incorporated by reference herein
  • a task graph is a non-acyclic directed graph depicting the relationships between the va ⁇ ous tasks in a web-site
  • a task graph may be constructed "blindly" - that is, without any input from any human
  • a task graph may be constructed with some input from business knowledgeable users
  • a task graph may be constructed based on the observed behavior of end-users
  • Links between va ⁇ ous tasks that end-users are expected to traverse, as well as various task hierarchies are depicted a task graph
  • Links and nodes in the graph may each have a different importance to the business, and are therefore designated differently in visual representations of the graph on this basis.
  • certain virtual links may also appear in task graphs in several scenarios.
  • One scenario in which a virtual link can appear is when a statistically significant number of users backtrack from page B to page A. In such a situation a virtual link is created from page B to page A in one embodiment.
  • Another scenario in which a virtual link can appear is when end- users frequently traverse a path from page A to page H to page B .
  • an edge is between page A and page B in one embodiment.
  • a virtual link can be inserted in when end-users traverse a spiral path.
  • a corresponding cycle is inserted into the task graph. It is to be noted that the task graph need not be acyclic.
  • Fig. 2 illustrates an example of a task graph.
  • the $100 task is clearly the most valuable one to the merchant, since the other tasks pictured are valued at $20 or less.
  • T e shortest - and hence best - path to the $100 blessed egress is from the home page -> A -> B -> $100 blessed egress.
  • a blessed egress is a step that if reached by the user signifies successful completion of the task.
  • blessed egresses do not have any "next steps.” It is to be noted that there may be more than one such blessed egress for any task. Referring again to Fig. 2, it can be seen that a slightly longer, and therefore less good path is from home page -> A -> C -> D -> $100 blessed egress.
  • the heuristics determinator 120 uses data collected from various sources, and interprets it to deduce the states that the end-users are in, by employing several heuristics.
  • the heuristics determinator 120 also requires input from the task model creator 110, since several of the heuristics used to determine the end-users' state use information (such as the tasks, steps in each task, task graphs, etc.) are provided by the task model creator 110.
  • end-user states 302 can include 'mood' states 304 and 'general' states 306.
  • the first type of state is exclusive in one embodiment; that is, the system cannot determine that an end-user is in more than one mood state concurrently (i.e. they are both 'bored' and 'angry' at the same time). However, they may concurrently be in a general state 306 as well; for example "shopping,” meaning that they have added an item to their shopping cart.
  • each end-user is in exactly one mood state 304 and one or more general states 306.
  • the different embodiments of the present invention use consistent mood labels to describe certain patterns of actions by end- users.
  • the four mood states are Happy (Satisfied) 312, Confused 314,
  • the general states are Shopping 322, Purchased 324, and several different states of Dead 326. As mentioned above, these states of the customer are deduced by using several algorithms on the data obtained from various sources. End-users are assessed to be in one of the mood states and one or more of the general states described above based on observation of their behavior on the web-site, and by the application of specific heuristics to these observations. The details of the various states, and the specific heuristics that are applied to determine each of these states is discussed in detail in the copending application number , entitled "Electronic Shopping Management: User
  • the intervention agent 130 can initiate a dialog with an end-user when the intervention agent 130 decides that it is desirable to do so. This could be, for instance, when an end-user is identified as having entered one of the 'bad' mood states, or as having been in one of the bad mood states for more than a predetermined amount of time.
  • the intervention agent 130 can operate in several different modes. As illustrated in Fig. 4 these include the Queued Intervention Agent 402, the Fully Manual Intervention Agent 404, the Fully Automated Intervention Agent 406, and the Cross-Site Applications Intervention Agent 408. Each of these Intervention Agents interacts with the Intervention Server 400, and is described in detail below. For further details regarding Fig. 4, please also refer to copending application number entitled "Electronic Shopping Management: User States” which is hereby incorporated by reference herein .
  • End-User Interface 640 is described.
  • the end-user user interface is a visible observer agent that appears in the end-user's browser.
  • This end-user interface can be for instance a small applet or
  • ActiveX control has the ability to establish communication with the intervention agent.
  • the end-user interface is voice enabled.
  • the end user interface is an applet that is downloaded into the browser.
  • the user interface represents a single room that corresponds to the end user's current task step in the task graph.
  • the end user can see other end users who are currently on the same step as pictographic character representations.
  • an end user can ask for peer advice by clicking on the other end users to initiate contact such as a chat session.
  • this end-user interface is entirely passive in both appearance and action until either the end-user clicks on it, or the end-user has definitively entered one of the bad states, or an operator decides to initiate contact with the end-user.
  • the decision of intervention coming from the intervention agent will trigger a change in the state of the end-user interface if it is currently visible in the end- user's browser.
  • an animated figure will start to wave with the linked caption underneath "Would you like some help?"
  • a contextually specific suggestion is provided directly underneath the waving figure This increases the credibility of the animated figure For instance, if there is an obvious "next step" suggestion, that will appear as a link m the end-user's browser
  • a live chat window will be brought up in the end-user's browser only if the end-user expresses a desire to engage in a live chat (for instance, by clicking on the link "Would you like some help 9 " or on the animated figure above it)
  • the end-user is still provided with the decision-making power regarding whether or not to engage m a chat
  • This is very analogous to a real world store — customers do not want to be tailed from the moment they enter the store, but they are very happy to see that clerk standing behind them at the moment that they want to ask a question or desire assistance
  • the intervention is therefore context approp ⁇ ate. If the end-user does not wish to accept the intervention, nothing further will happen in the end-user interface
  • the intervention can also be requested by the end-user himself
  • the p ⁇ mary application of the system is mood-state-t ⁇ ggered intervention
  • end-users who are familiar with the intervention capability may wish from time to time to invoke it at will They may do this by clicking on an icon, a link, or a panic button in the end-user user interface, regardless of their current mood state
  • Such users will be automatically labeled as "confused" by the system This is because the end-user would be unlikely to be requesting assistance unless he both a) had a particular goal in mind, and b) was not entirely sure how to best proceed towards that goal
  • end- users are put into a general processing queue (i.e they are ' enqueued" 502) based on several factors desc ⁇ bed below
  • the queue may also be reordered (I e the end-users are "requeued” 504) dynamically, based on the several factors described below They are then removed (I e they are "dequeued” 506) from this queue either when a human operator is assigned to attend to them, or when they are no longer considered appropriate candidates for intervention.
  • the dispatch module determines, in one embodiment, which human operator's queue, if any, the dequeued 506 end-users should be inserted into.
  • queued intervention mode 402 may include multiple processing queues instead of one general processing queue. Such processing queues could be split up according to task, end-user profile type, etc. Various forms of round robin scheduling could be applied to ensure balanced processing.
  • an Intervention Server 400 performs many functions related to intervention. It is to be noted that the Intervention Server 400 may be utilized in some of the other intervention modes as well.
  • the Intervention Server 400 communicates with the heuristics determinator 120, which queries the retrospective system's database 420 to obtain information on the different tasks, task types, and a slew of important statistics about completions, fall-outs, mood states, and so on.
  • the Intervention Server 400 could communicate directly with the RTDCS Router.
  • the Intervention Server 400 combines data collected from various data sources, with task data and session statistics from the retrospective system 420.
  • the Intervention Server 400 consults the heuristics determinator 120 to compute mood state information for the tracked sessions.
  • the Intervention Server 400 will process requests and provide services to clients (e.g., the Application Server 440) about the sessions being tracked.
  • clients e.g., the Application Server 440
  • the Intervention Server 400 can provide business knowledgeable users with a real time stream of end-user sessions.
  • the Intervention Server 400 also services requests from third party Application Servers 440 for session mood state information.
  • the Intervention Server 400 can schedule and queue manual requests for intervention from the a business knowledgeable user' s user interface 630 or an Application Server 440. Likewise, the Intervention Server 400 can automatically schedule and queue a request to either an automated intervention agent or a human intervention agent.
  • the Intervention Server 400 uses "reservation pools” to assign a Quality of Service guarantee based on the factors of "delay bound” and "fair share.”
  • Delay bound is a guarantee that for a particular time period the real waiting time will be within a pre- specified limit.
  • Fair share is a concept in which each reservation pool receives service in proportion to its fraction of a resource and does not monopolize that resource. Quality of service requirements is expressed as a fraction of each system resource.
  • the Intervention Server 400 may run any number of reservation pools based on end-user profile type (e.g., Platinum User, Gold User, Regular User) or other criteria provided by the Task model creator 110, and provides many types of resources (e.g., Human Intervention Agents, Automated Intervention Agents), which are reserved and scheduled independently.
  • end-users are enqueued 502 in a general processing queue in order to determine the order in which intervention should occur for various end-users.
  • end-users are preemptively enqueued once there is the first indication of a possible problem, but before a bad mood state would be definitely flagged by the retrospective system.
  • the probability of the bad state diagnosis being accurate is one of the primary attributes of items in the queue as far as determining priority of dispatching to an operator.
  • no matter how light the traffic is an end-user with a bad mood state diagnosis that is not confirmed (i.e. is of too low a probability), cannot be dequeued for dispatch to an operator. This serves to ensure the appropriate nature of the intervention.
  • the different types of bad mood states may be treated differently. Boredom 316 may not be considered as serious a problem as confusion 314 or anger 318, and therefore may be treated somewhat differently. An argument can be made that such end-users did not have a specific goal, and were therefore relatively unlikely to have been serious prospects, at least during that particular visit.
  • the system may be configured in such a way that bored end-users are not even marked for intervention. In one embodiment, the system may be configured to only process bored end-users for intervention during light load periods.
  • the structure of records in the processing queue is moderately complex. This is due to the number of different variables that come into play in order to compute the various probabilities, and hence the correct priority level to assign to each end- user in the queue.
  • Each record is structured as follows. In one embodiment, with the exception of possibly end-user ID, end-user profile type, and Intervention History Value, all of the information in a record is on a per session basis only. In another embodiment, it could span an amount of time specified by the administrator, assuming that there is a mechanism in place to reliably identify end-users uniquely across sessions.
  • Intervention History Value is 0 if there have been no prior known interventions for a specific end-user. Each time an intervention occurs for this end-user, the value of this variable is decremented or incremented by 1, depending on whether or not the intervention was successful. From the fields in Table 1, two additional fields are derived:
  • Age This is the total amount of time the end-users have spent collectively in the bad states during this visit. In one embodiment, age is used as a limiting factor, since past a certain statistically determined age, the rest of it may be rendered meaningless. Therefore within each priority level discussed below, the end-users are sorted by age, with the oldest being serviced first. It is to be noted that in one embodiment, age is also factored into the priority, insofar as the age is one of the factors that determines the probability of both a mood state judgement, and a task completion likelihood. In fact:
  • Priority This is the priority that is assigned to the different end-users. In one embodiment, this is calculated in one of three different ways, depending on which value the system has been configured to with respect to trading off between avoiding angry users and maximizing task completions. These three ways are described below:
  • Priority 1 if end-user is detected in an angry state with a probability of .9 or higher
  • Priority 2 if end-user is detected in an angry state with a probability of between .8 and .9
  • Priority 3 if end-user is detected as being in any state in which there is a probability of .5 or higher that she is or will become angry, given the historical record or the end-user is detected as confused with a probability of .9 or higher
  • Priority 4 if end-user is detected as being confused with a probability of between .8 or .9, or the end-user is bored, with a probability of .9 or higher.
  • Priority 5 if end-user is detected as being in any state in which the probability is higher than .5 that she is or will become confused, or the end-user is bored, with a probability of between .8 and .9.
  • Priority 1 if the probability that the end-user will successfully complete the task is .7 or better, and the task is business critical for that profile of end-user.
  • end-user profiles it is to be noted that in one embodiment, if a user is of more than one end-user profile, the most important one wins.
  • business critical is defined according to the task For details regarding business critical tasks and end-user profiles, please refer to copending application number entitled "Electronic Shopping Management: Task
  • Priority 2 if the probability of completing is .7 or higher but the task is not business critical for that type of end-user, or the probability is .4 or higher for a business critical case.
  • an end-user has to be in an angry or confused mood state to be considered for intervention since one may not want to intervene on end-users with higher completions rates.
  • every person who is bored, confused, or angry could be a candidate for intervention.
  • Methods 1. and 2. above can be combined in some way.
  • priorities can be calculated by trading off equally between these two extremes. In one embodiment, this is the default priority calculation for the system.
  • the two variations of priority 1 are merged.
  • the second priority 2 is merged with the first priority 3; the second priority 3 is merged with the first priority 6.
  • the merging is performed, in one embodiment, by an OR operation.
  • the end-user might be put into different bins under each of the two extreme methods, the one that would push them to the highest priority is the one that is used.
  • a business knowledgeable user can specify a mixed priority scheme, so that, for example, assisting or staving off end-users from becoming angry is the top priority for one task, while maximizing completion rate is the top priority for another task.
  • the priority for that user must be calculated so that she can be enqueued 502 in the right location in the queue. Once the priority has been calculated, the user will be inserted into the queue within that priority set, according to her "age" attribute.
  • end-users may then be dynamically requeued 504. This could be because, after an end-user has been inserted in the general processing queue, her mood state may change, or her currently suspected mood state may not be confirmed. The task she is engaged in may also change. And, with each such change, her order in the queue must be re-evaluated.
  • the following are some of the ways that an end-user could get requeued/dequeued from the main processing queue:
  • an end-user can then be dequeued 506 from the general processing queue, and be assigned to an operator's queue.
  • the end-user must be definitively flagged as being in one of the three bad states of angry 318, bored 316, or confused 314 at the time he is signaled for intervention.
  • the end-user must be definitively flagged as being in one of the three bad states of angry 318, bored 316, or confused 314 at the time he is signaled for intervention.
  • the end-user's state information is reconfirmed within a time interval 't' prior to signaling for intervention.
  • the value of 't' is determined by the mean time between end-user events. To this end, a "last checked" timestamp is part of the record for each enqueued end-user.
  • the visible observer agent in their browser will be flagged; as described in the user interface section, the character in the applet frame will wave to get the user's attention, asking if they'd like some help. If the end-user does not respond to the animated figure, in one embodiment, her name will not be dispatched to a human operator. Thus, while the animated figure indicates to the end-user that the system believes that she may be in need of some assistance, the end-user actually determines whether or not to interact with the human operator. If the end-user continues not to respond to the animated figure, eventually, the end-user will be removed from the queue when she leaves the site, successfully completes the current task, etc.
  • an end-user indicates a willingness to participate in a live chat session with a human operator
  • a different set of rules apply.
  • such an end-user will be removed from the main processing queue by a dispatch module, which will route the end-user into the queue for a particular human operator.
  • the queuing can be seen as a panel on the customer intervention screen.
  • Such routing of end-users in batches into individual operator queues is based, at least in part, on Human Computer Interaction (HCI) motivations. It is important for the human operator to see that he has a queue building up, since this will reinforce the need for efficiency. It can also help the operator to do some forward mental preparation for a particular task or customer type.
  • HCI Human Computer Interaction
  • Which operator a particular end-user gets routed to is determined by the dispatch module in the following manner in one embodiment. It is to be noted that, in some embodiments, the end-users may be routed by the dispatch module to an automated intervention agent rather than to a human operator.
  • the set of currently available human operators who are qualified to service the particular end-user given her end-user profile and current task is ranked according to:
  • the dispatcher takes these three dimensions into account as follows
  • the batch of end-users that are pending for routing to operators are sorted according to the total length of time they have been in a bad state du ⁇ ng their current visit This allows multiple, but discontinuous flaggings of bad mood states to be factored in
  • the end-users with the longest times are dealt with first, and will be dispatched to the properly qualified operators with the shortest time remaining to process the cu ⁇ ent entries on their individual queues, since such users may be the most impatient
  • the dispatcher will try to assign a business-critical end-user to an operator with a statistically high success rate, it will by the same token attempt to avoid assigning a non-business-critical end-user to a high success rate operator
  • the limiting factor is the total time that the end-user is likely willing to wait This time can be estimated through p ⁇ or observation A reasonable initial default time can be specified (e g , 2 minutes) To get the live chat session initiated p ⁇ or to this time that the end-user is likely willing
  • an operator may offer some reward to such end-users for waiting.
  • adding more end-users from the main processing queue can stop entirely. Alternately, such adding can be restricted to only highest priority end-users until the backlog clears. Alternately, if the fully automated intervention system is available, lower priority (or even if need be higher priority) end-users can be offloaded to it.
  • the business knowledgeable user' s user interface 630 allows the following items to be configured:
  • Operators & Their Qualifications which tasks, task types, and end-user profiles they may service.
  • the user interface allows specification of which operators are designated as supervisors.
  • supervisor operators have the ability to manually re-reroute end users to different operators. They can also manually declare an intervention a success. This might occur, for example, if the end-user was assisted successfully, but the result was that it was quickly determined that the item that the end-user wanted was no longer for sale on the site.
  • Each reserved pool may have a priority. It may also have the attribute of whether or not resources can be stolen from it for a higher priority reserved pool.
  • Boredom can simply be treated as one of the bad states. Yet another possibility is to treat it as one of the bad states only if the operator load is not too great. The various ways in which boredom can be treated is discussed in greater detail above.
  • Maximum Number of Failed Interventions Per End-user This is the maximum number of failed human interventions that any single end-user is allowed before he is deemed an unsuitable candidate for intervention. In one embodiment, this number could be set to a default value (e.g., 3). In another embodiment, it can be computed statistically. If a reliable cross-session end-user uniquing scheme is in place, this can be specified as a lifetime maximum, or per some unit of time (e.g., 6 months). In one embodiment, different limits can be specified for each end-user profile. It is to be noted that such a threshold may also be defined for the fully automated agent mode. The defined threshold may be different for the different modes. Such a threshold also helps the system make itself immune from malicious service outage attacks.
  • the business knowledgeable user can use the user interface 630 to determine priorities and queuing behavior in order to align most closely with the business objectives of the site. For example, a particular task might be extremely lucrative to the website owner if completed, so even if there is a quite low chance that a particular end-user who initiates the task will complete it, end-user intervention may be warranted. Feedback to Task Model
  • the task graph will be modified by the construction of new edges, and various other adjustments will be made, as a result of a statistically significant number of successful "transports" of disgruntled users by operators between two nodes in the graph that were otherwise unconnected.
  • modification of task graphs please refer to copending application number , entitled “Electronic Shopping Management:
  • end-users are dispatched to a particular operator for observation, regardless of their mood state history or current state.
  • all events for these end-users are streamed directly from the Intervention Server 400 for representation on the business knowledgeable user interface.
  • the criteria used in selecting an operator include the qualifications of the different operators, and matching business critical end-users to the historically most effective operators. Within these constraints, end-users may be randomly assigned to different operators in order to balance the load.
  • the Intervention Server 400 negotiates with the Real Time Data Collection Sources (RTDCS), which is a type of data collector, in order to keep the number and kind of end-users being displayed on screen reasonable, and in keeping with the business objectives.
  • RTDCS Real Time Data Collection Sources
  • the Intervention Server 400 queries the retrospective system' s database 420 for the data necessary to properly enqueue end-users into the processing queue.
  • the retrospective system 400 is the part of the system that does not have real time quality of service guarantees on it.
  • Fig. 6 illustrates the architecture of the retrospective system 400 in one embodiment of the present invention.
  • the retrospective system comprises browsers 602, a sighted constructor 604, a web-site 606 hosting the intervention agent, a log sniffer 610, a database 420, a task model creator 1 10. a business knowledgeable user's user interface 630, and an end-user's user interface 640.
  • the sighted constructor is described in detail in copending application number entitled “Electronic Shopping Management: Task Models” which is hereby incorporated by reference herein.
  • the log sniffer is described in copending application number entitled “Electronic Shopping Management: User States” which is hereby incorporated by reference herein.
  • the business knowledgeable user's user interface 630, and the end-user's user interface 640 are described throughout this application.
  • the database 420 is an internal data store where task and persistent information that the retrospective system 400 needs is stored. From this data, the Intervention Server 400 creates reservation pools based on the types of end-user profiles and computes an initial reservation of resources based on statistical data to assign to each session. The Intervention Server 400 also contacts the RTDCS to request sessions to track. For each session presented to the Intervention Server 400 by the RTDCS, the Intervention Server 400 determines the type of end-user profile(s) associated with the session and checks the appropriate reservation pool to determine if enough reservations are available. If so, then the Intervention Server 400 accepts the session. If not, in one embodiment, the Intervention Server 400 will perform admission control and reject the session, renegotiate the Quality Of Service Guarantee of sessions underutilizmg resources to reallocate reservations, or temporarily steal resources from a less important underutilized reservation domain to increase reservations.
  • the Intervention Server 400 makes calls to the heuristics determinator 120 to obtain mood state information. It also may re-query the retrospective system for certain information, such as task completion statistics and fallout statistics. If the session has successfully completed many tasks, then the session can be marked as a good session and have a low probability of needing intervention. It also becomes a candidate for having its resource reservation reduced at a future point in case of system overload.
  • third party integration permits other application servers to request an intervention.
  • Such application servers can also access to current mood state and task presence data.
  • Such integration can provide access to the various fields and records in the general processing queue.
  • a variety of different kinds of reports are generated by the report generator. These include:
  • Certainty values are presented for the task graph and user demographic population data being complete.
  • the intervention system keeps track of the number of end- users requiring intervention. If for all user demographics, end-users all require the same percentage of intervention or have the task completion rates, then the certainty level of the different user populations being complete might be low because different types of populations should have different characteristics. There is a high likelihood of a missing user population or a missing task.
  • an operator also called a human intervention agent selects an end-user to initiate a live chat with.
  • a business knowledgeable user's user interface 630 depicts the various tasks on a web-site identified in the task model as buildings, and the task steps constituting each of these tasks as rooms in the buildings.
  • the end-users are depicted as little animated characters moving around from step to step and from task to task.
  • human operators can click on characters representing end-users in order to manually select an end-user for a proactive live chat session.
  • a special target and grab cursor is provided for this purpose, so as to facilitate the operator' s selection of the right end-user. If such a selected end-user is in the general queue, she will have the highest possible dequeueing priority. In one embodiment, she will be removed from the general queue immediately.
  • the human intervention agent first determines whether, in her assessment, an end-user needs help.
  • an individual human intervention agent is designated to provide service for a particular task, or for a particular set of products. In traditional call centers, operators handle a queue of customers, one at a time.
  • the real-time user interface has a separate panel that presents information about the next predetermined number (for instance, ten) of customers m the queue
  • the panel presents this information in a tabular manner
  • such a table includes a visual representation of the end-user's current mood state, the end-user profile type, end-user type if known (for example, Repeat Customer, Repeat browser), the end-user's name if known, the name of the task the end-user appears to be trying to complete, and the amount of time he has been in a 'bad' state
  • a button to request the initiation of a live chat may be included
  • business critical tasks or end-user types will be highlighted
  • For more details regarding the business knowledgeable user's user interface please refer to the copending application number entitled "Electronic Shopping
  • the end-users' mood state information is presented graphically, and will animate for a few frames if changed in order to highlight the change for the human intervention agent This allows the human intervention agent to jump ahead in the queue if she deems it necessary For instance, she may jump ahead the queue if she sees that, for example, an end-user slightly further down in the queue is becoming increasingly agitated
  • the dispatcher will dispatch the end-user to the queue of the operator who clicked on them This may not be the case, however, if the operator is designated as a supervisor In that event, she may specify another operator to be the recipient, she may also opt to specify the fully automated intervention mode 406, if it is available In one embodiment any such re-routed users are automatically given highest p ⁇ o ⁇ ty for an automated intervention agent
  • a summary window for that end-user is brought up
  • clicking on an end-user also has the effect of spotlighting that end-user for easier visual tracking
  • the human intervention agent solicits a live chat with a disgruntled end-user by pressing the button.
  • a chat panel with the following additional features will appear on the human intervention agent's desktop: 1) any information about the specific end-user from registration or other databases; 2) the end- user's current mood state, previous tasks attempted and completed, and time spent on the various tasks by the end-user; and 3) a choice list of links to different tasks and task steps. In one embodiment, this list is used to specify and push out the suggested step or task to the user.
  • the human intervention agent provides feedback to the system regarding her interaction with the end-user. .
  • the results of the interaction are stored in a database that can then be accessed by all parts of the system.
  • the human intervention agent indicates to the system whether one or more of the suggested steps were indeed the ones desired by the end- user.
  • the human intervention agent can also indicate her own perspective regarding which step confused the end-user. This information is fed back to the task model.
  • the empirical task graph may be modified in this way.
  • especially problematic nodes and links can be reported in the activity reports. For details on the refinement of the task graphs and reporting of problematic activity, please refer to the copending application number entitled "Electronic Shopping Management: Task Models" which is hereby incorporated by reference herein.
  • the fully automated intervention mode 406 there is no human operator involved.
  • the fully automated intervention mode 406 can be implemented as a browser plug-in. It is to be noted, however, that the automated intervention agent is not limited to being a browser plug-in.
  • an embodiment of the automated interface can also be a web application or a voice enabled application.
  • a window pops p on the end-user's screen, containing a new implicit query which is generated as a result of each new query that the end- user performs, or has the intervention agent perform on its behalf.
  • synonyms that are neither specializations nor generalizations of the stems determined by a stemmer that appeared in the user's query will be substituted for the words that did appear. This is known as an "echo.” Its purpose is to either confirm to the end-user that he is receiving the right results, or to provide a cue that indeed the system interpreted the end-user's request in a way that the end-user did not intend.
  • the echo always contains the same words as the end-user's query did, the end-user will soon learn to ignore it because it is redundant.
  • the end-user can respond in one of the following ways:
  • Task Models which is hereby incorporated by reference herein.
  • the search is re-performed with the desired generalization, specialization, or sibling substituted for the original stem.
  • the automated intervention agent interfaces with zero or more of the following other elements a) the fully manual intervention mode 404, b) a knowledge management/automated technical support system provided by va ⁇ ous third parties, c) the search engine m use by the site, available from a va ⁇ ety of third parties, d) a natural language engine that makes use of an ontology, also available from a va ⁇ ety of third parties, e) the personalization engine of the web site.
  • the search engine m use by the site, available from a va ⁇ ety of third parties
  • a natural language engine that makes use of an ontology, also available from a va ⁇ ety of third parties
  • the personalization engine of the web site In a sense it can be thought of as gluing these different elements to the task model and making them function according to its dictates
  • this window pops up m the end-user's browser
  • this window has three different incarnations, one for each "bad" mood state which are desc ⁇ bed below It is to be noted that in one embodiment, in all of the following discussions involving the ordering of returned results, where there is any literal or statistical tie between results, the task - or in some instances step - that is of greater importance in the task model always wins The three different incarnations are as follows
  • the purpose of the window is to offer a selection of possible goals for the users In one embodiment, this is done m two ways
  • (T) the set of tasks that are related to tasks whose steps the end-user entered du ⁇ ng this visit, but which the end-user never entered du ⁇ ng this visit
  • the tasks m this set are presented to the end-user
  • the order in which the tasks are presented to the end-user is determined, m one embodiment, by how many times they appear in the set In one embodiment, if there are fewer than a predetermined number (e.g , three) of tasks in this set, additional tasks are displayed at random In one embodiment, these additional tasks are both a) business c ⁇ tical for that type of end-user and b) must not have been visited du ⁇ ng the current session by the end-user
  • the maximum number of tasks to display is configurable m one embodiment •
  • the tasks to be displayed to the end-user can also be determined through integration with a personalization engine (e.g., BroadVision, ATG Dynamo, etc.), if one is available, that through various mechanisms such as user segmentation, business rules or statistical correlations between page views, determines
  • the tasks proposed to the end-user may be determined by using a probabilistic approach based on prior end-user performance, when the task or task step was last revised, or when a promotion started or stopped. In one embodiment, if statistically significant differences in end-user behavior were detected, based on the day of the week and/or hour of the day, time may be another element in the probability calculation.
  • a probabilistic approach could be used, which is based on the completion rate of tasks when performed as the (N + l)th task within sessions in which any N-l other tasks were performed. For example, it is found that website users who have attempted five tasks then complete the buy a book task with the highest probability. If the bored user has attempted five tasks, then we should suggest the buy a book task be attempted.
  • the end-user if the end-user selects any of the offered tasks, her browser will be driven to the starting step of the selected task. In one embodiment, the end-user may continue to use the window as long as he likes. The tasks that the end-user selects are checked off in one embodiment, and moved to the bottom of the list. In one embodiment, the amount of information about each task that is shown to the end-user is configurable. Information to show includes: Task name, task description, image, announcements, etc.
  • the confused end-user has a goal which she is having difficulty accomplishing.
  • the purpose of the intervention is thus assisting the user in achieving that goal.
  • every task (and its description) that has been visited by the end- user during the sequence of confused actions is presented to the end-user.
  • other tasks that are of the same task type may also be presented to the end-user.
  • the end-user is provided with a list of such unordered or partially ordered steps that are of a higher order than the user's current step to choose from.
  • the set of all tasks which are related to those visited during the sequence of confused actions is presented to the end-user. Assume that the set of tasks and steps presented to the end-user is 'T' .
  • the tasks are ordered according to the number of the relationships below they have to the locus of confusion. For details regarding how the locus of confusion is determined, please refer to copending application number which is hereby incorporated by reference herein. (If there is no locus of confusion, then current task is proposed.) In one embodiment, task 't' will be proposed if the end-user appears to be confused while performing task 'a' and at least one of the following is true:
  • Task a and task t are both subtasks of some other task q
  • Task a and task t are both supertasks of some other task q
  • Task a is a subtask of task t 5) Task a is a supertask of task t
  • the intervention agent 130 will invoke a knowledge management / automated customer help application, if one is available to it. The intervention agent 130 will not appear itself.
  • the intervention agent 130 will first attempt searches with a smaller number of keywords than were originally entered by the end-user. For example, if the end-user ' s original search string was ⁇ dog AND cat AND chicken>, the intervention agent 130 will attempt all of the following searches to see if it can come up with one or more productive ones. (In one embodiment, "productive" is defined to be more than zero results, but less than some reasonable configured number, 10 for example):
  • searches with the greatest number of keywords intact may be treated as most relevant; searches with a smaller number of keywords intact may be truncated if the maximum displayed number has been reached.
  • common "stop" words such as prepositions and articles are removed from quoted searches.
  • the quotes are removed, and, if the search engine supports it, a lexical nearness operator is substituted.
  • a stem search is performed instead of a literal search if the site's search engine permits it. If this approach fails, more specialized stems or words will be replaced one at a time with more generalized versions of themselves as specified in an ontology. For example, a reference to a "skyscraper" might be replaced with a reference to a "building,” and then the intervention agent 130 will retry the search. The order in which available generalizations are applied is motivated by the number of steps in which the stem of the generalization appears in tasks that are in 'T.' It will stop once the maximum number of results number has been reached.
  • the fully automated intervention mode 406 may also offer the user a pre-addressed (and pre-titled with the search string) email window to send mail with a question to the merchant The occurrence will be logged for reporting purposes along with all other data for that task and customer type
  • the end-user's query is pre-processed as described above and the returned results are simply relevance ranked by the site's search engine, if the search engine offers this functionality
  • the list is truncated at the maximum number of results to display mark
  • results whose stem profiles contain all of the stems in the end-user's initial query are returned If this results in less than a predetermined number (e g , three) results being returned, any stems other than the p ⁇ mary verb and noun are discounted, and the search is re-run If, however, there are still too many results being returned, in one embodiment, the end-user will be prompted with specializations of the stems in their search to choose from Which specializations are used will depend, in one embodiment, on which specializations' stems co-occur in the stem profiles with the stems the end-user entered in their query This narrowing process can be performed as many times as is needed In one embodiment, the automated intervention agent indow remains open until the user chooses to explicitly dismiss it Therefore, different specializations may be pursued by the user, one after another
  • an intervention agent window with a display of ranked returned task steps appears, in which the task name and step name of each returned result appears.
  • This window may also contain a search textbox that the end-user may use to ask the intervention agent to help him modify or refine his search.
  • the end-user can click on a character to get further information.
  • the character also animates. In addition to waving to get the end-user's attention initially, it may scowl when it does not find any results for a particular end-user query, or may hang its head if the results returned are rejected by the end-user as not being useful. In one embodiment, it can smile when the results are deemed useful by the end-user. It may be pictured as going online itself, or looking through books or papers when looking for results.
  • the set of tasks or task steps that can be proposed to the end-users includes: 1) unordered or partially ordered steps whose order is after the end-user's current step in the current task, if this task is partially or wholly unordered; 2) other tasks that are of the same "task type" as the current task, where this type was configured explicitly for use in this way. This will typically be a small enough number of possibilities that it will not need to be truncated. In one embodiment, if there is a non-trivial form or other barrier in the way to getting to a higher ordered step that the end-user selected, the end-user will instead be taken to the step which contains the barrier.
  • the fully automated intervention agent will simply select at random a predetermined number (e.g., 3) of tasks that were related to tasks visited by the end-user during this session, including the current tasks. This is essentially a graceful failure mode - the end-user is already angry, and is likely to leave the site.
  • the system operates on the assumption that there is not much more harm that can be done at that point, and so it does not hurt to guess. If the end-user does end up selecting one of these options, it is a desirable result for the system.
  • the intervention agent will offer the end-user a human operator to assist the end-user, if this option is available to it. Otherwise, in one embodiment, a window with the little character in it will appear informing the end-user that it is very sorry, but it does not know how to help them. It may also offer the end-user a pre-addressed (and pre-titled with the current task name) email window to send email with a question to the merchant or web-site owner. In one embodiment, such occu ⁇ ences will be logged for reporting purposes.
  • NLP Natural Language Processing
  • the Natural Language enhanced version of the end-user's user interface 640 takes one of two forms: a) the same as the "plain” form but with an additional area for the system to generate text, and an additional text box for entering natural language - or regular keyword - queries as well as "yes", “no” and “I don't know” or “maybe” responses; or b) a simplified version that contains only the little character and the text box.
  • the NLP version of the end-user interface behaves exactly as the plain version does, with the functionality added by the NLP capability which is described below.
  • the end-user may specify what they would like to do by either clicking on controls, or by typing into the query textbox and hitting the return key. In one embodiment, if the two forms are in conflict, the latest one entered by the end-user is the one acted upon by the system.
  • the approach is entirely spoken or natural language independent. In one embodiment, all that is required is a search engine that operates in the language in question and an ontology in the language in question. It is to be noted that the same approach described here could be taken for voice-based applications.
  • the behavior of the NLP end-user's user interface 640 is highly dependent on the end-user's current mood state. Regardless of the mood state, however, in one embodiment, the goal is to motivate the end-user to enter a natural language query that can then be compared to the stem profiles of different tasks to help locate the task - or task step - that best embodies the end-user's desired goal
  • extracting stem profiles please refer to copending application number XXX entitled "Electronic Shopping Management Task Models" which is hereby incorporated by reference herein Having end-users do expressive (1 e not just a single unconnected keyword or two) searches to get them quickly to the right location is one of the best ways to increase website navigation efficiency
  • the NLP version end-user interface 640 of the intervention agent In order to begin its interactions with the end-user, the NLP version end-user interface 640 of the intervention agent generates an implicit query on the basis of the end-user's current mood state and recent task history du ⁇ ng the current session In one embodiment, when the little character in the automated intervention agent window first waves to the end-user in order to get her attention, an interrogative form of the implicit query appears under the character In another embodiment, the character "speaks" the question instead
  • the interrogative forms include "What are you looking to do today 7 ", "Is there anything special you might be interested in 9 " and so on
  • the implicit que ⁇ es are built out of the verb noun pairs that correspond to each task in the set 'T ' They are simply created by appending a question mark to the verb noun pair with any stopped out word(s) that appeared between the verb and noun m a link For example "Rent a Car,” but not “Rent my Car” unless the word "my” had appeared in a link between the verb rent and the noun car
  • ellipsis is used to avoid needless and distracting repetition
  • the list of implicit queries contained "Buy a Computer,” “Buy a P ⁇ nter” "Buy a Laptop”
  • the shared element "buy a” may be abstracted out and the va ⁇ ous types of things that could be bought would appear as a bulletized list directly underneath So, this information could be presented to the end-user in the system's text area as follows - for example What can I help you with today 7 Buying a Computer P
  • the end-user then hopefully types a response into the textbox provided for this purpose
  • all common stop words are removed from the response
  • the end-user types back a direct verb noun stem match that matches only one task, his browser is d ⁇ ven directly to that task - whether or not that task had anything to do with anything the end-user visited du ⁇ ng the current session If the response matches more than one task, in one embodiment, the end-user will be re-presented with only the differentiating parts of the task name
  • the NLP intervention agent will present the end-user with the desc ⁇ ptions of the two tasks to help him choose the ⁇ ght one
  • any stems past the initial verb noun combination are eliminated unless it turns out that these additional stems are needed to uniquely identify a task, in which case they are added back in If only one of the stems matches, the same process is followed If the number of task steps returned as a result is too large, only tasks that have the highest density occurrence of the stem will get returned
  • the confused state 314 is handled m a manner similar to that of the bored state 316 Some of the differences are discussed below
  • the highest weight will be given in sorting search results to a) partially ordered steps of a higher order than the end-user's current step m the cu ⁇ ent task; b) unordered steps in the same task; c) tasks of the same task type (if the type was configured for this use); d) related tasks.
  • this task or step will be presented at the top of the returned results list.
  • the angry state 318 is handled in a manner similar to that of the confused state 314. However, the handling of the angry state 318 differs from the handling of the confused state 314 in the following ways-
  • the NLP intervention Upon one failed suggestion, the NLP intervention will offer up a human operator, if one is available to it. Also, in one embodiment, no more than a predetermined number (e.g., 3) task steps are returned.
  • a predetermined number e.g., 3
  • NLP interface can be verbose, the NLP tone for an angry end-user is terse. This is based on the assumption that since the end-user is agitated, the fewer words the better.
  • the feedback to the task model for the fully automated intervention mode 406 is the same as for the fully manual intervention mode 404. However, in some embodiments, more feedback may be provided to revise the task graphs in the automated intervention mode 406, as a result of the NLP end-user interface 640.
  • the reports generated for the fully automated intervention mode 406 are similar to those generated for the queued intervention mode 404, with the following additions:
  • the a business knowledgeable user's user interface 630 for the fully automated intervention mode 406 is intended, in one embodiment, to be used only by users with technical know-how.
  • the interface permits the business knowledgeable user to configure several factors, such as:
  • NLP tone e.g., verbose/formal, informal/friendly
  • tone impacts the number of words that are used in forms like interrogatories. For example, it impacts whether ancillary words such as "please” and unnecessary adjectives (i.e. "nice") are used.
  • Boredom can simply be treated as one of the bad states. Yet another possibility is to treat it as one of the bad states only if the operator load is not too great. The various ways in which boredom can be treated is discussed in greater detail above.
  • Maximum Number of Failed Interventions Per End-user This is the maximum number of failed automated interventions that any single end-user is allowed before they are deemed undesirable from an intervention point of view. In one embodiment, this can be hard set. In another embodiment, it will be computed statistically. If a reliable cross-session user uniquing scheme is in place, this can be specified as a lifetime maximum, or per some unit of time (e.g. 6 months). In one embodiment, different limits can be specified for each end- user profile. As previously noted, an upper limit must be specified in order to protect the system against malicious service outage attacks.
  • the same kind of intervention approaches discussed above can be taken across an arbitrary number of websites.
  • the websites must be actively cooperating with one another.
  • each cooperating site is allowing data collectors access to its networks and/or logfiles, or alternately, the extranets are configured in such a way that they may share processing resources.
  • data collectors please refer to copending application number , entitled "Electronic Shopping Management: User
  • the first variant is very similar to the single site version, except that instead of covering one site, it covers N many sites.
  • the task graph used in the cross site intervention mode has one root node for each site in question, rather than just one root node overall. It is to be noted that in both this case, and the single site case, there can be conflicting tasks. For example, a site might offer several very different ways to purchase airplane tickets, each of which is really a variant of the same abstract task. While the merchant or web site owner might have a preference for one of these methods over another (perhaps one is more lucrative), the end-user performing any of them is considered an acceptable outcome in one embodiment.
  • the end-user may specify a preference for a particular site. If she has done this, the site for which a preference was expressed will win over a site for which no such preference was expressed, even if the task implementation on that site is qualitatively worse.
  • the second variant is very different in usage, although its basic concept is similar to the first one.
  • the individual instances of intervention agents send their data back to a database that is hosted by the web site hosting the intervention agent 130.
  • intervention agent 130 would seek to gather end-user profile data for the end-user if it did not already have it.
  • the default is that the end-user will be asked for the information needed to construct a valid end-user profile for the site from which the intervention agent instance originated, if such information had not already previously been gathered.
  • the intervention agent 130 can be used to define a repetitive task, one that is executed at specific intervals from a given start time and date.
  • the intervention agent 130 can execute such repetitive tasks automatically at the specified times. Over time, such data could be productized in various reports, including cross-site usability benchmarks, correlations to best (and worst) practices in web design, etc.
  • the data regarding the effectiveness of the task offerings on different sites could be used by the intervention agent 130 to direct end-users to the proven best implementation(s) of the task.
  • the intervention agent 130 initiates a dialog using an echo to offer the most common variants of the end-user's apparent goal.
  • An echo can be better understood by briefly discussing natural language interfaces for conventional search engines. Natural language interfaces typically have several vectors of operation. These include: verbosity, politeness, and formality. Most natural language interfaces have what is known as an "echo" feature, in which the end-user's query is slightly rephrased as a declarative statement and is returned as a preface to the result set. In conventional search engines, the purpose of the echo is to confirm that the end-user's intention was accurately understood and acted upon by the system. However, in some embodiments of the present invention, an echo of an implicit query that is generated by the system is what initiates the dialog with the disoriented user.
  • the intervention agent 130 can contact an end-user after the end-user has left the site. In particular, this may be done if an end-user has left the site after having been (or while being) in the confused 314, bored, 316, or angry 318 mood states and there is a known way to contact the end-user (e.g., via email).
  • Such end-users may symbolically get placed in a "morgue.”
  • a number of different visualizations to this effect may be provided in the business knowledgeable user's user interface 630 so as to not be offensive to any particular culture.
  • the intervention agent 130 can establish contact with such end-users.
  • email can be sent to the end-user to try to lure them back to the site.
  • Such email may contain, for example, coupons or discounts on relevant merchandise that could be used at the web-site. Alternately, or in addition, such emails could solicit end-user feedback on improving the site.
  • the intervention agent 130 determines whether or not to contact end-users after they have left the web-site.
  • One attribute that may be considered is which bad mood states the end-user experienced in his use of the web-site.
  • Another attribute is whether the end-user left the site when in one of the bad states.
  • Yet another attribute is which tasks the end-user attempted or completed during a specific session.
  • the business knowledgeable user can specify a separate email for each mood state, for each task, for each end-user profile, or for the combination of mood state, task, and end-user profile.
  • the business knowledgeable user can also decide whether to include or exclude people who a) left the site in a bad state, but only after they had successfully completed a task, b) had at some point during their visit gotten into any one of the bad states but had reemerged from it and successfully completed a task, c) similarly, but without completing a task.

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method and system for offering context-specific assistance to end-users in their use of web sites, based on an assessment of the mood states of the end-users. The end-users may or may not accept such an offer. In addition, the present invention is a method and system for providing feedback to the web-site owners regarding end-user behavior on the web-site. The intervention agent can operate in four different modes: the queued intervention mode, the fully manual intervention mode, the fully automated intervention mode, and the cross site applications intervention mode. The intervention agent communicates with the intervention server, which in turn, communicates with the heuristics determinator, which provides it with end-user mood state information. The intervention agent also communicates with the task model creator, which provides it with task model information. When an end-user is determined to be in an angry, bored, or confused mood state, the intervention agent offers assistance to the end-user. In addition, the intervention agent may also be assigned repetitive tasks to perform at specific times. The intervention agent may operate at one specific web site, or across several web sites. Contact may also be initiated by the intervention agent with an end-user after she has left the web-site.

Description

ELECTRONIC SHOPPING MANAGEMENT: INTERVENTION
RELATED APPLICATIONS
This application claims the benefit, under 35 U.S.C. § 1 19(e), of Provisional
Application Number 60/159,226, entitled "Method and Apparatus for Electronic Shopping Management" filed on October 13, 1999, by Elizabeth B. Charnock, Loki Der Quaeler, Philip Chang, Jesse Burns, Mishkin Berteig, and Curtis Thompson, and incorporates that application by reference in its entirety.
This application also claims the benefit, under 35 U.S.C. § 119(e), of Provisional
Application Number 60/201,183, entitled "Electronic Shopping Management" filed on May 2, 2000, by Elizabeth B. Charnock, Loki Der Quaeler, Philip Chang, Jesse Burns, Mishkin Berteig, Curtis Thompson, and Mark Yu-Hung Lin, and incorporates that application by reference in its entirety.
This application is related to copending U.S. application serial number , entitled "Electronic Shopping Management: Task Models" filed on October
13, 2000, by Elizabeth Charnock, Jesse Burns, Philip Chang, and Fabien Gerard Norbert Hertschuh, which is incorporated by reference herein in its entirety.
This application is related to copending U.S. application serial number , entitled "Electronic Shopping Management: User States" filed on October
13, 2000, by Elizabeth Charnock, Loki Der Quaeler, Philip Chang, Jesse Burns, Curtis Thompson, Michel Henri Guzy, Fabien Gerard Norbert Hertschuh, and Wenxin Mao, which is incorporated by reference herein in its entirety. This application is related to copending U.S. application serial number , entitled "Electronic Shopping Management: User Interface" filed on
October 13, 2000, by Elizabeth Charnock, Loki Der Quaeler, Mark Yu-hung Lin, and Curtis Thompson, which is incorporated by reference herein in its entirety.
BACKGROUND
Technical Field
The present invention relates generally to web-site end-user experience management, and more particularly, to actively intervening in the end-user's use of a web-site in order to aid the end-user.
Background of the Invention
The e-commerce industry is growing at an astounding rate. More and more companies are creating web-based stores or their warehouse equivalents in which their customers and partners can shop. One of the advantages of e-commerce, which the e-commerce industry counts on, is that shopping online improves the efficiency and convenience of the shopping experience for their customers. Their business models often require a gross reduction in the number of call center salespersons, in order to provide more attractive pricing than can be offered in the "brick & mortar" world.
However, despite the numerous advantages that e-commerce businesses potentially have over conventional stores, e-commerce businesses also face some problems that are unique to them. Floor managers in conventional stores can physically observe potential customers, assess their "moods" or satisfaction states, and help them if the floor managers perceive that they could use such help. For instance, in conventional stores, floor managers or other staff can assess when a customer appears confused, by interpreting cues such as a customer standing still for a few moments while looking in different directions. It is of tremendous value to a business to be able to assess such "moods" of customers, since this mood-assessment can help the floor managers to intervene at opportune times. For instance, if a customer is perceived as being confused, a floor manager could approach the customer and ask what she is looking for. or whether the floor manager could help her in any way. The customer could then elaborate on the reasons for her confusion, or ask the floor manager where a specific item is located Such timely and appropπate intervention by floor managers in physical stores is extremely important for customer satisfaction, especially if the customer being "pleased" translates into a greater probability or amount of purchase during that visit, and an increased likelihood of return visits
This kind of intervention, however, has not been readily available for e-commerce businesses E-commerce executives have very little understanding, if any, of the moods of their customers (also called "end-users"), and of when and how to help their end-users with appropπate intervention
In the intensely competitive field of e-commerce, only companies that can observe customer behavior and implement timely and appropπate intervention, will have the most user-fπendly web-sites Only then will their web-sites keep customers happy and satisfied, and make it easy for them to navigate through the web-site, to locate what they need, and to perform desired tasks Such companies increase their chances of surviving and succeeding in the world of e-commerce Customers may find no use for other companies that do not make such changes, especially when the customers have other, better options, available to them
In many cases, the foregoing discussion also applies to web-sites that are attached to existing "bπck & mortar" companies, as these sites are increasingly expected to generate revenue, demonstrate profitability, or at least results that warrant their continued existence For example, some web-sites may exist solely for the purposes of providing technical support or other forms of customer assistance These web-sites are often justified by their being a more cost efficient way of conducting business But they will only continue to exist if customers are willing to use them The willingness of customers to use a web-site is, in turn, often dependent on whether they are able to use the web-site effectively to get the help they need.
In addition, such intervention, whether by a human being or by some software, can provide feedback to the web-site regarding how the end-users of the web-site use and/or misuse the site Based on this information, the web-site owners can better design their site and improve their business
In some conventional systems, intervention occurs in a completely passive manner
That is, it may be possible for an end-user to obtain some kind of assistance (either from software, or from some human). However, such "intervention" occurs only when the end-user chooses to seek some help by, for instance, pressing on a "help" or "chat" icon or link. In other types of conventional systems, intervention occurs in an intrusively active manner. That is, an intervention agent may intervene (for instance, by starting a live chat) regardless of whether or not the end-user desires such intervention.
In some conventional systems, intervention occurs based on a set of business rules. For instance, one "business rule" may be for an intervention to occur if the day of the week is a Tuesday, and the end-user is a woman. However, such intervention is not based on an assessment of end-user moods and/or an analysis of when any specific end-users need help.
Accordingly, it is desirable to provide a system and method for assessing the satisfaction levels of end-users of a web-site at different points in their traversal of the website, and, based on such assessment, offering timely and appropriate assistance to a end-user, which the end-user may or may not accept. Further, there exists a need for a system and method for providing the web-site with information regarding end-user behavior.
SUMMARY OF THE INVENTION
The present invention provides a method and system for offering assistance to end- users in their use of web-sites, based on an assessment of the mood states of the end-users. The end-users may or may not accept such an offer. In addition, the present invention is a method and system for providing feedback to the web-site owners regarding end-user behavior on the web-site.
The intervention agent can operate in several different modes. These include the queued intervention mode, the fully manual intervention mode, the fully automated intervention mode, and the cross-site application intervention mode. In the queued intervention mode, the selection of the which end-users will be picked for intervention, and which intervention agent they will be assigned to, is performed by the system. In the fully manual intervention mode, a human operator determines which specific end-user he wants to assist. In the fully automated intervention mode, an automated intervention agent determines what tasks to propose to the end-user. In one embodiment, the automated intervention agent interfaces with one or more of the fully manual intervention agent, a knowledge management/automated technical support system provided by various third parties, the third party search engine in use by the site, a third party natural language engine using an ontology, and a personalization engine of the web site. In a sense, the automated intervention agent can be thought of as gluing these different elements to the task model and making them function according to its dictates. In the cross-site application intervention mode, the intervention agent can be used across multiple different web-sites.
In the different embodiments of the present invention, a dialogue with an end-user may be initiated when it is observed that the end-user is in an angry, confused, or bored state, and/or an end-user has been in one of these states for longer than a predetermined amount of time. Such deductions regarding the end-user's level of satisfaction can be made by following various algorithms based on the end-user's behavior on the web-site. In yet other embodiments, the end-user may allocate specific tasks to the intervening agent, and a dialogue may occur with the end-user when any such task is completed, or when there is a problem with the completion of one of the tasks. In addition, regular status reports may also be generated for the business knowledgeable user.
In one embodiment of the present invention, the intervening agent can be implemented in software. A web-site specific web browser plug-in appears to an end-user when she enters the home page of the web-site. This agent offers assistance to the end-user in using the website. This agent also provides the web-site owners with information about the end-user, and information regarding the end-user's behavior on the web-site. In another embodiment, the automated interface can also be a web application or a voice enabled application.
In another embodiment of the present invention, a human operator may intervene in an end-user's use of a web-site, and help answer specific questions that the end-user may have. Such a human operator can also provide the web-site owners with information about the end- user, and information regarding the end-users behavior on the web-site.
Contact may also be initiated with an end-user after she has left the web-site. For instance, an end-user may later be contacted by email. Again, such contact could either be conducted by software, or by a human operator. Further, such contact could provide incentives for the end-user to return to the web-site at a later time, such as by providing coupons specific to the web-site. BRIEF DESCRIPΉON OF THE DRAWINGS
Figure 1 is a block diagram illustrating an embodiment of a system in accordance with the present invention.
Figure 2 is an example of a task graph created by the task model creator.
Figure 3 is a block diagram illustrating the various states in which an end-user can be.
Figure 4 is a flowchart illustrating an overview of the intervention agent in one embodiment of the present invention.
Figure 5 illustrates one embodiment of the functionality of the queued intervention mode.
Figure 6 illustrates the architecture of the retrospective system 400 in one embodiment of the present invention
DETAILED DESCRIPΉON OF THE INVENTION
Embodiments of the present invention are now described with reference to figures where like reference numbers indicate identical or functionally similar elements.
Fig. 1 illustrates a system in accordance with one embodiment of the present invention. The system comprises a task model creator 110, a heuristics determinator 120, and an intervention agent 130. Each of these components is described in detail below.
Task Model Creator 110
In one embodiment, the task model creator 1 10, based on input from a business knowledgeable user, defines and manages the different tasks on a web-site, and their relationships with each other. The task model creator 110 also inputs a business knowledgeable user's edits for the different tasks. This information is used by the heuristics determinator 120. In some embodiments of the present invention, end-user state is assessed based on the specific tasks and/or the sequences of tasks attempted by the end-users Further, in one embodiment, it is important to evaluate end-user behavior within its context For example, someone dπvmg in reverse m a dπveway is quite normal, but on an interstate highway would be extremely abnormal and inappropriate
A task is a real-world user goal It can be thought of as the reason that the end-user came to a specific web-site in the first place Some examples of tasks are "Book a Plane Ticket," "Buy a Concert Ticket," and "Register for Free Email " In some embodiments of the present invention, tasks must contain two or more steps, in order for successful completion of the task to be measurable, and to be distinguishable from the unsuccessful case A task step is not an end-user goal itself, but is something that must be done in order to complete the task Some examples of task steps are "Provide Credit Information," "Enter Contact Info," and "Veπfy Purchase Order " Further, it is to be noted that some tasks ("supertasks") may contain other tasks ("subtasks") An example of this would be the supertask "Plan a Vacation" containing subtasks such as "Reserve a Hotel Room," "Rent a Car" and so on
Tasks have certain key relationships to one another These relationships, coupled with certain key attributes of tasks such as their dollar value to the merchant, determine the optimal navigational structure for the site The task model creator identifies tasks, and assembles a task graph Details regarding task relationships and attributes, how tasks and their steps can be identified, and how task graphs can be constructed, are provided in the copending application entitled "Electronic Shopping Management Task Models" which is hereby incorporated by reference herein
A task graph is a non-acyclic directed graph depicting the relationships between the vaπous tasks in a web-site In some embodiments, a task graph may be constructed "blindly" - that is, without any input from any human In some embodiments, a task graph may be constructed with some input from business knowledgeable users In some embodiments, a task graph may be constructed based on the observed behavior of end-users For details regarding the various types of task graphs, please refer to the copending application entitled "Electronic Shopping Management Task Models" which is hereby incorporated by reference herein
Links between vaπous tasks that end-users are expected to traverse, as well as various task hierarchies are depicted a task graph Links and nodes in the graph may each have a different importance to the business, and are therefore designated differently in visual representations of the graph on this basis. Apart from links that end-users are expected to traverse, certain virtual links may also appear in task graphs in several scenarios. One scenario in which a virtual link can appear is when a statistically significant number of users backtrack from page B to page A. In such a situation a virtual link is created from page B to page A in one embodiment. Another scenario in which a virtual link can appear is when end- users frequently traverse a path from page A to page H to page B . In such a situation an edge is between page A and page B in one embodiment. Another scenario where a virtual link can be inserted in when end-users traverse a spiral path. In one embodiment, a corresponding cycle is inserted into the task graph. It is to be noted that the task graph need not be acyclic.
Fig. 2 illustrates an example of a task graph. In Fig. 2, the $100 task is clearly the most valuable one to the merchant, since the other tasks pictured are valued at $20 or less. T e shortest - and hence best - path to the $100 blessed egress is from the home page -> A -> B -> $100 blessed egress. A blessed egress is a step that if reached by the user signifies successful completion of the task. By definition, blessed egresses do not have any "next steps." It is to be noted that there may be more than one such blessed egress for any task. Referring again to Fig. 2, it can be seen that a slightly longer, and therefore less good path is from home page -> A -> C -> D -> $100 blessed egress. However, a much worse path from the merchant's vantage point is: home page -> A -> C -> G -> the $10 blessed egress, since he realizes only 1/10 the value he would from the better outcome. The lines extending from home page -> E - > G -> $10 blessed egress, and from home page -> A -> C -> G -> $10 blessed egress indicate where the observed constructor 230 has detected significant differences between end-user behavior and the behavior preferred by the merchant, and in support of which the site was probably designed.
The behavior of end-users is assessed, in some embodiments of the present invention, with reference to the paths traversed by them on the task graphs. This will be discussed in more detail below.
Heuristics determinator 120
The heuristics determinator 120 uses data collected from various sources, and interprets it to deduce the states that the end-users are in, by employing several heuristics.
The details regarding how data is collected, and the various sources from which it is collected are included in copending application number . entitled "Electronic Shopping
Management: User States" which is hereby incorporated by reference herein. In addition, the heuristics determinator 120 also requires input from the task model creator 110, since several of the heuristics used to determine the end-users' state use information (such as the tasks, steps in each task, task graphs, etc.) are provided by the task model creator 110.
As illustrated in Fig. 3, in one embodiment of the present invention, end-user states 302 can include 'mood' states 304 and 'general' states 306. The first type of state is exclusive in one embodiment; that is, the system cannot determine that an end-user is in more than one mood state concurrently (i.e. they are both 'bored' and 'angry' at the same time). However, they may concurrently be in a general state 306 as well; for example "shopping," meaning that they have added an item to their shopping cart. Specifically, in one embodiment, at any time "t", each end-user is in exactly one mood state 304 and one or more general states 306.
Although "mood" is an inherently subjective word, the different embodiments of the present invention use consistent mood labels to describe certain patterns of actions by end- users. In one embodiment, the four mood states are Happy (Satisfied) 312, Confused 314,
Bored (Distracted/Disengaged) 316, and Angry (Unhappy) 318. The confused 314, bored 316, and angry 318 mood states are considered undesirable for the web-site. These are sometimes referred to as the "bad" mood states. The general states are Shopping 322, Purchased 324, and several different states of Dead 326. As mentioned above, these states of the customer are deduced by using several algorithms on the data obtained from various sources. End-users are assessed to be in one of the mood states and one or more of the general states described above based on observation of their behavior on the web-site, and by the application of specific heuristics to these observations. The details of the various states, and the specific heuristics that are applied to determine each of these states is discussed in detail in the copending application number , entitled "Electronic Shopping Management: User
States" which is hereby incorporated by reference herein.
Intervention Agent 130
In one embodiment, the intervention agent 130 can initiate a dialog with an end-user when the intervention agent 130 decides that it is desirable to do so. This could be, for instance, when an end-user is identified as having entered one of the 'bad' mood states, or as having been in one of the bad mood states for more than a predetermined amount of time.
In the different embodiments of the present invention, the intervention agent 130 can operate in several different modes. As illustrated in Fig. 4 these include the Queued Intervention Agent 402, the Fully Manual Intervention Agent 404, the Fully Automated Intervention Agent 406, and the Cross-Site Applications Intervention Agent 408. Each of these Intervention Agents interacts with the Intervention Server 400, and is described in detail below. For further details regarding Fig. 4, please also refer to copending application number entitled "Electronic Shopping Management: User States" which is hereby incorporated by reference herein .
Before discussing each of these different modes of the intervention agent 130 in detail, the End-User Interface 640 is described.
End-Users' User Interface 640
In one embodiment, the end-user user interface is a visible observer agent that appears in the end-user's browser. This end-user interface can be for instance a small applet or
ActiveX control and has the ability to establish communication with the intervention agent. In one embodiment, the end-user interface is voice enabled.
In one embodiment, the end user interface is an applet that is downloaded into the browser. The user interface represents a single room that corresponds to the end user's current task step in the task graph. The end user can see other end users who are currently on the same step as pictographic character representations. In one embodiment, an end user can ask for peer advice by clicking on the other end users to initiate contact such as a chat session.
In another embodiment, this end-user interface is entirely passive in both appearance and action until either the end-user clicks on it, or the end-user has definitively entered one of the bad states, or an operator decides to initiate contact with the end-user.
In one embodiment, the decision of intervention coming from the intervention agent will trigger a change in the state of the end-user interface if it is currently visible in the end- user's browser. In one embodiment, in the end-user's browser, an animated figure will start to wave with the linked caption underneath "Would you like some help?" In one embodiment, when possible, a contextually specific suggestion is provided directly underneath the waving figure This increases the credibility of the animated figure For instance, if there is an obvious "next step" suggestion, that will appear as a link m the end-user's browser
In on embodiment, a live chat window will be brought up in the end-user's browser only if the end-user expresses a desire to engage in a live chat (for instance, by clicking on the link "Would you like some help9" or on the animated figure above it) Thus, while the chat is initiated by a human intervention agent based on her assessment of the need for an intervention, the end-user is still provided with the decision-making power regarding whether or not to engage m a chat This is very analogous to a real world store — customers do not want to be tailed from the moment they enter the store, but they are very happy to see that clerk standing behind them at the moment that they want to ask a question or desire assistance The intervention is therefore context appropπate. If the end-user does not wish to accept the intervention, nothing further will happen in the end-user interface
In one embodiment, the intervention can also be requested by the end-user himself While the pπmary application of the system is mood-state-tπggered intervention, end-users who are familiar with the intervention capability may wish from time to time to invoke it at will They may do this by clicking on an icon, a link, or a panic button in the end-user user interface, regardless of their current mood state Such users will be automatically labeled as "confused" by the system This is because the end-user would be unlikely to be requesting assistance unless he both a) had a particular goal in mind, and b) was not entirely sure how to best proceed towards that goal
The Different Modes of the Intervention Agent 130:
Queued Intervention Mode 402
In the queued intervention mode 402, human operators interact with end-users However, the queuing of end-users, and the selection of which end-users will be handled by which operators is automated
As depicted in Fig 5, in one embodiment of the queued intervention mode 402, end- users are put into a general processing queue (i.e they are ' enqueued" 502) based on several factors descπbed below The queue may also be reordered (I e the end-users are "requeued" 504) dynamically, based on the several factors described below They are then removed (I e they are "dequeued" 506) from this queue either when a human operator is assigned to attend to them, or when they are no longer considered appropriate candidates for intervention. The dispatch module determines, in one embodiment, which human operator's queue, if any, the dequeued 506 end-users should be inserted into.
Other embodiments of the queued intervention mode 402 may include multiple processing queues instead of one general processing queue. Such processing queues could be split up according to task, end-user profile type, etc. Various forms of round robin scheduling could be applied to ensure balanced processing.
In one embodiment, an Intervention Server 400 performs many functions related to intervention. It is to be noted that the Intervention Server 400 may be utilized in some of the other intervention modes as well. At startup, the Intervention Server 400 communicates with the heuristics determinator 120, which queries the retrospective system's database 420 to obtain information on the different tasks, task types, and a slew of important statistics about completions, fall-outs, mood states, and so on. In another embodiment, the Intervention Server 400 could communicate directly with the RTDCS Router. Next, the Intervention Server 400 combines data collected from various data sources, with task data and session statistics from the retrospective system 420. For a detailed discussion of the various types of data sources, please refer to copending application number , entitled "Electronic Shopping Management: User States" which is hereby incorporated by reference herein. The Intervention Server 400 consults the heuristics determinator 120 to compute mood state information for the tracked sessions. The Intervention Server 400 will process requests and provide services to clients (e.g., the Application Server 440) about the sessions being tracked. For example, the Intervention Server 400 can provide business knowledgeable users with a real time stream of end-user sessions. The Intervention Server 400 also services requests from third party Application Servers 440 for session mood state information. The Intervention Server 400 can schedule and queue manual requests for intervention from the a business knowledgeable user' s user interface 630 or an Application Server 440. Likewise, the Intervention Server 400 can automatically schedule and queue a request to either an automated intervention agent or a human intervention agent.
In one embodiment, the Intervention Server 400 uses "reservation pools" to assign a Quality of Service guarantee based on the factors of "delay bound" and "fair share." Delay bound is a guarantee that for a particular time period the real waiting time will be within a pre- specified limit. Fair share is a concept in which each reservation pool receives service in proportion to its fraction of a resource and does not monopolize that resource. Quality of service requirements is expressed as a fraction of each system resource. The Intervention Server 400 may run any number of reservation pools based on end-user profile type (e.g., Platinum User, Gold User, Regular User) or other criteria provided by the Task model creator 110, and provides many types of resources (e.g., Human Intervention Agents, Automated Intervention Agents), which are reserved and scheduled independently.
Referring back to Fig. 5, it can be seen that end-users are enqueued 502 in a general processing queue in order to determine the order in which intervention should occur for various end-users. In order to make the processing as efficient as possible, end-users are preemptively enqueued once there is the first indication of a possible problem, but before a bad mood state would be definitely flagged by the retrospective system. In one embodiment, the probability of the bad state diagnosis being accurate is one of the primary attributes of items in the queue as far as determining priority of dispatching to an operator. Further, in one embodiment, no matter how light the traffic is, an end-user with a bad mood state diagnosis that is not confirmed (i.e. is of too low a probability), cannot be dequeued for dispatch to an operator. This serves to ensure the appropriate nature of the intervention.
In one embodiment, the different types of bad mood states (i.e. confusion 314, boredom 316, and anger 318) may be treated differently. Boredom 316 may not be considered as serious a problem as confusion 314 or anger 318, and therefore may be treated somewhat differently. An argument can be made that such end-users did not have a specific goal, and were therefore relatively unlikely to have been serious prospects, at least during that particular visit. In one embodiment, the system may be configured in such a way that bored end-users are not even marked for intervention. In one embodiment, the system may be configured to only process bored end-users for intervention during light load periods.
In one embodiment, the structure of records in the processing queue is moderately complex. This is due to the number of different variables that come into play in order to compute the various probabilities, and hence the correct priority level to assign to each end- user in the queue. Each record is structured as follows. In one embodiment, with the exception of possibly end-user ID, end-user profile type, and Intervention History Value, all of the information in a record is on a per session basis only. In another embodiment, it could span an amount of time specified by the administrator, assuming that there is a mechanism in place to reliably identify end-users uniquely across sessions.
The various fields in a record in one embodiment are in Table 1 below.
Figure imgf000015_0001
Table 1
In one embodiment, "Intervention History Value" is 0 if there have been no prior known interventions for a specific end-user. Each time an intervention occurs for this end- user, the value of this variable is decremented or incremented by 1, depending on whether or not the intervention was successful. From the fields in Table 1, two additional fields are derived:
Age: This is the total amount of time the end-users have spent collectively in the bad states during this visit. In one embodiment, age is used as a limiting factor, since past a certain statistically determined age, the rest of it may be rendered meaningless. Therefore within each priority level discussed below, the end-users are sorted by age, with the oldest being serviced first. It is to be noted that in one embodiment, age is also factored into the priority, insofar as the age is one of the factors that determines the probability of both a mood state judgement, and a task completion likelihood. In fact:
P )i{ i e Xj }) where xi is i'h variable and Xt is the corresponding candidate set for xt which will potentially lead user i to a certain mood state.
Priority: This is the priority that is assigned to the different end-users. In one embodiment, this is calculated in one of three different ways, depending on which value the system has been configured to with respect to trading off between avoiding angry users and maximizing task completions. These three ways are described below:
1. If avoiding end-users getting angry and/or trying to prevent them from leaving the site while angry is deemed most important by the business knowledgeable user for the web-site, the following priorities are assigned:
• Priority = 1 if end-user is detected in an angry state with a probability of .9 or higher
• Priority = 2 if end-user is detected in an angry state with a probability of between .8 and .9
• Priority = 3 if end-user is detected as being in any state in which there is a probability of .5 or higher that she is or will become angry, given the historical record or the end-user is detected as confused with a probability of .9 or higher
• Priority = 4 if end-user is detected as being confused with a probability of between .8 or .9, or the end-user is bored, with a probability of .9 or higher.
• Priority = 5 if end-user is detected as being in any state in which the probability is higher than .5 that she is or will become confused, or the end-user is bored, with a probability of between .8 and .9.
• Priority = 6 for anything else
2. If trying to maximize task completions is deemed most important by the business knowledgeable user of the web-site, the following priorities are assigned: • Priority = 1 if the probability that the end-user will successfully complete the task is .7 or better, and the task is business critical for that profile of end-user. With respect to the end-user profiles, it is to be noted that in one embodiment, if a user is of more than one end-user profile, the most important one wins. Also, in one embodiment, business critical is defined according to the task For details regarding business critical tasks and end-user profiles, please refer to copending application number entitled "Electronic Shopping Management: Task
Models" which is hereby incorporated by reference herein.
• Priority = 2 if the probability of completing is .7 or higher but the task is not business critical for that type of end-user, or the probability is .4 or higher for a business critical case.
• Priority = 3 anything else
In one embodiment, an end-user has to be in an angry or confused mood state to be considered for intervention since one may not want to intervene on end-users with higher completions rates. In another embodiment every person who is bored, confused, or angry could be a candidate for intervention. 3. Methods 1. and 2. above can be combined in some way. In one embodiment, priorities can be calculated by trading off equally between these two extremes. In one embodiment, this is the default priority calculation for the system. The two variations of priority 1 are merged. The second priority 2 is merged with the first priority 3; the second priority 3 is merged with the first priority 6. The merging is performed, in one embodiment, by an OR operation. In one embodiment, where the end-user might be put into different bins under each of the two extreme methods, the one that would push them to the highest priority is the one that is used. In one embodiment, a business knowledgeable user can specify a mixed priority scheme, so that, for example, assisting or staving off end-users from becoming angry is the top priority for one task, while maximizing completion rate is the top priority for another task.
In one embodiment, before an end-user can be enqueued 502, the priority for that user must be calculated so that she can be enqueued 502 in the right location in the queue. Once the priority has been calculated, the user will be inserted into the queue within that priority set, according to her "age" attribute.
Referring again to Fig. 5, it can be seen that end-users may then be dynamically requeued 504. This could be because, after an end-user has been inserted in the general processing queue, her mood state may change, or her currently suspected mood state may not be confirmed. The task she is engaged in may also change. And, with each such change, her order in the queue must be re-evaluated.
In one embodiment, the following are some of the ways that an end-user could get requeued/dequeued from the main processing queue:
• She has left the site(s) covered by the system. In this case, she is dequeued entirely.
• She has successfully completed the cuπent task. In this case, she is dequeued entirely.
• She has returned to a happy mood state, but without completing the current task. In this case, she is reinserted in the queue at its tail. This is because there is some reason to believe that she may experience difficulty a second time. • She has transitioned from either angry -> confused, or confused -> bored, or for that matter angry -> bored. In this case, she will be reinserted in the queue as someone who has been in the lesser bad state for the full length of time. This is to give such end-users a somewhat lower priority than those who were angry the whole time, for example.
• It has been statistically too long a time to flag them for intervention; the conditional probability of a successful intervention is too low to merit the opportunity cost of the intervention.
Referring back to Fig. 5, it can be seen that an end-user can then be dequeued 506 from the general processing queue, and be assigned to an operator's queue.
In one embodiment, the end-user must be definitively flagged as being in one of the three bad states of angry 318, bored 316, or confused 314 at the time he is signaled for intervention. For details regarding how moods of end-users can be flagged, please refer to copending application number entitled "Electronic Shopping Management: User
States" which is hereby incorporated by reference herein. In one embodiment, "definitive" implies a probability of almost 1 that the end-user is in a certain mood states. However, a business knowledgeable user of the web-site can specify that a probability as low as .67 may suffice. In one embodiment, the end-user's state information is reconfirmed within a time interval 't' prior to signaling for intervention. In one embodiment, the value of 't' is determined by the mean time between end-user events. To this end, a "last checked" timestamp is part of the record for each enqueued end-user.
Once an end-user is flagged for dequeueing 506, the visible observer agent in their browser will be flagged; as described in the user interface section, the character in the applet frame will wave to get the user's attention, asking if they'd like some help. If the end-user does not respond to the animated figure, in one embodiment, her name will not be dispatched to a human operator. Thus, while the animated figure indicates to the end-user that the system believes that she may be in need of some assistance, the end-user actually determines whether or not to interact with the human operator. If the end-user continues not to respond to the animated figure, eventually, the end-user will be removed from the queue when she leaves the site, successfully completes the current task, etc.
If, on the other hand, an end-user indicates a willingness to participate in a live chat session with a human operator, a different set of rules apply. In one embodiment, such an end- user will be removed from the main processing queue by a dispatch module, which will route the end-user into the queue for a particular human operator. The queuing can be seen as a panel on the customer intervention screen. Such routing of end-users in batches into individual operator queues is based, at least in part, on Human Computer Interaction (HCI) motivations. It is important for the human operator to see that he has a queue building up, since this will reinforce the need for efficiency. It can also help the operator to do some forward mental preparation for a particular task or customer type.
Which operator a particular end-user gets routed to, is determined by the dispatch module in the following manner in one embodiment. It is to be noted that, in some embodiments, the end-users may be routed by the dispatch module to an automated intervention agent rather than to a human operator. The set of currently available human operators who are qualified to service the particular end-user given her end-user profile and current task is ranked according to:
• Whether they are qualified to service both that particular type of end-user and the current task, or whether they are qualified for only one or the other. Operators who are qualified on both axes are given a higher rating than those who are only qualified on only one.
• The time taken to process the end-users who are currently in the individual queue of each operator. This number is calculated by using historical processing time data for that particular operator, and considers both the task and end-user type for each end-user in the queue. If there is insufficient data on a particular operator, the calculation is based on the historical average for all operators, again considering the task and end-user profile type, if there is a sufficient historical sample to do so. It is to be noted that in one embodiment, the construct of 'task type' can be used to roll up smaller, similar tasks for purposes of computation For details regarding task types, please refer to copending application number entitled "Electronic Shopping Management Task Models" which is hereby incorporated by reference herein
• Historical success rate This is assessed as whether either a) the end-user successfully completed the task he was currently engaged in when he was first flagged for intervention, or b) he started, and then successfully completed, a different task that was suggested by the operator This can be configured to be calculated as a per task, per task type, per customer profile type, or global percentage The success rate is matched up to the business importance of the end-user's profile as specified in the task model More specifically, if the end-user's profile is deemed business critical for the task that he is engaging in, the end-user is given highest pπoπty for the operators with the highest success rates If an end-user's profile was deemed business cπtical for the site as a whole, and the end-user has been clearly flagged as being in an angry or confused state, he will also get highest pπoπty for the most successful operators
In one embodiment, the dispatcher takes these three dimensions into account as follows The batch of end-users that are pending for routing to operators are sorted according to the total length of time they have been in a bad state duπng their current visit This allows multiple, but discontinuous flaggings of bad mood states to be factored in The end-users with the longest times are dealt with first, and will be dispatched to the properly qualified operators with the shortest time remaining to process the cuπent entries on their individual queues, since such users may be the most impatient The dispatcher will try to assign a business-critical end-user to an operator with a statistically high success rate, it will by the same token attempt to avoid assigning a non-business-critical end-user to a high success rate operator However, the limiting factor is the total time that the end-user is likely willing to wait This time can be estimated through pπor observation A reasonable initial default time can be specified (e g , 2 minutes) To get the live chat session initiated pπor to this time that the end-user is likely willing to wait, such constraints as matching business cπtical end-users to the best operators may be dropped The system can also be configured to ignore the qualifications of an operator for a particular end-user or task type duπng times of high load If one operator processes his queue much slower than expected on a given occasion with the result that end-users in his queue might not get processed withm the desired time some of these end-users can be reshuffled automatically by the dispatcher if there are other operators available who could process these end-users within the desired time span Finally, if it is clear that not all the end-users that had been placed in individual operator queues can be processed in the needed amount of time, in one embodiment, the lower priority end-users will be signaled in their browser that they may have to wait a bit longer than expected. In one embodiment, an operator may offer some reward to such end-users for waiting. In order to ensure that these patient end-users will get processed in a reasonably timely way, adding more end-users from the main processing queue can stop entirely. Alternately, such adding can be restricted to only highest priority end-users until the backlog clears. Alternately, if the fully automated intervention system is available, lower priority (or even if need be higher priority) end-users can be offloaded to it.
In one embodiment, when such backlogs occur, all data involving it is reported in reports presented to business knowledgeable users. Such data can include: the number and kind of end-users who were not flagged for intervention during the partial service outage, what tasks these end-users were currently in at the time, the cost of the lost interventions (as calculated by the differences between similar cases where there were interventions), whether any individual operators were disproportionately responsible for the slowdown, whether there were a smaller than average number of operators, or operators with particular qualifications during that time span, etc.
Business Knowledgeable User' s User Interface
In one embodiment, the business knowledgeable user' s user interface 630 allows the following items to be configured:
• Operators & Their Qualifications: which tasks, task types, and end-user profiles they may service. Also, the user interface allows specification of which operators are designated as supervisors. In one embodiment, these supervisor operators have the ability to manually re-reroute end users to different operators. They can also manually declare an intervention a success. This might occur, for example, if the end-user was assisted successfully, but the result was that it was quickly determined that the item that the end-user wanted was no longer for sale on the site.
• Reserved pools of operators for specific end-user profile types: This is a means of literally taking certain operators, or a certain number of qualified operators off the market, except for dealing with end-users of a particular end-user profile. Each reserved pool may have a priority. It may also have the attribute of whether or not resources can be stolen from it for a higher priority reserved pool.
• Whether only qualified operators, or all operators, may service end-users during times of peak load. • Whether to worry only about angry end-users or only about maximizing sales, or a combination of the two (on a per task, task type, or per customer profile type basis). This is discussed in detail above, in the context of assigning priorities.
• Handling of Boredom: Boredom can simply be treated as one of the bad states. Yet another possibility is to treat it as one of the bad states only if the operator load is not too great. The various ways in which boredom can be treated is discussed in greater detail above.
• Calculate operator performance by task or roll up to task type.
• Modification of some of the probability thresholds.
• Specify what action to take when end-users agree to wait longer for an intervention (for example, provide a discount).
• Specify what action to take in event of an end-user getting timed out in the queue, for example, sending of a particular email to the end-user. .
• Initial title of character frame in end-user user interface.
• Maximum Number of Failed Interventions Per End-user: This is the maximum number of failed human interventions that any single end-user is allowed before he is deemed an unsuitable candidate for intervention. In one embodiment, this number could be set to a default value (e.g., 3). In another embodiment, it can be computed statistically. If a reliable cross-session end-user uniquing scheme is in place, this can be specified as a lifetime maximum, or per some unit of time (e.g., 6 months). In one embodiment, different limits can be specified for each end-user profile. It is to be noted that such a threshold may also be defined for the fully automated agent mode. The defined threshold may be different for the different modes. Such a threshold also helps the system make itself immune from malicious service outage attacks.
In some embodiments, the business knowledgeable user can use the user interface 630 to determine priorities and queuing behavior in order to align most closely with the business objectives of the site. For example, a particular task might be extremely lucrative to the website owner if completed, so even if there is a quite low chance that a particular end-user who initiates the task will complete it, end-user intervention may be warranted. Feedback to Task Model
In one embodiment, the task graph will be modified by the construction of new edges, and various other adjustments will be made, as a result of a statistically significant number of successful "transports" of disgruntled users by operators between two nodes in the graph that were otherwise unconnected. For details regarding modification of task graphs, please refer to copending application number , entitled "Electronic Shopping Management:
Task Models" which is hereby incorporated by reference herein.
In another embodiment, end-users are dispatched to a particular operator for observation, regardless of their mood state history or current state. In such an embodiment, all events for these end-users are streamed directly from the Intervention Server 400 for representation on the business knowledgeable user interface. The criteria used in selecting an operator include the qualifications of the different operators, and matching business critical end-users to the historically most effective operators. Within these constraints, end-users may be randomly assigned to different operators in order to balance the load.
Further, in one embodiment, the Intervention Server 400 negotiates with the Real Time Data Collection Sources (RTDCS), which is a type of data collector, in order to keep the number and kind of end-users being displayed on screen reasonable, and in keeping with the business objectives. For details regarding the RTDCS, please refer to copending application number , entitled "Electronic Shopping Management: User States" which is hereby incorporated by reference herein.
At startup, in one embodiment, the Intervention Server 400 queries the retrospective system' s database 420 for the data necessary to properly enqueue end-users into the processing queue. The retrospective system 400 is the part of the system that does not have real time quality of service guarantees on it.
Fig. 6 illustrates the architecture of the retrospective system 400 in one embodiment of the present invention. The retrospective system comprises browsers 602, a sighted constructor 604, a web-site 606 hosting the intervention agent, a log sniffer 610, a database 420, a task model creator 1 10. a business knowledgeable user's user interface 630, and an end-user's user interface 640. The sighted constructor is described in detail in copending application number entitled "Electronic Shopping Management: Task Models" which is hereby incorporated by reference herein. The log sniffer is described in copending application number entitled "Electronic Shopping Management: User States" which is hereby incorporated by reference herein. The business knowledgeable user's user interface 630, and the end-user's user interface 640 are described throughout this application.
The database 420 is an internal data store where task and persistent information that the retrospective system 400 needs is stored. From this data, the Intervention Server 400 creates reservation pools based on the types of end-user profiles and computes an initial reservation of resources based on statistical data to assign to each session. The Intervention Server 400 also contacts the RTDCS to request sessions to track. For each session presented to the Intervention Server 400 by the RTDCS, the Intervention Server 400 determines the type of end-user profile(s) associated with the session and checks the appropriate reservation pool to determine if enough reservations are available. If so, then the Intervention Server 400 accepts the session. If not, in one embodiment, the Intervention Server 400 will perform admission control and reject the session, renegotiate the Quality Of Service Guarantee of sessions underutilizmg resources to reallocate reservations, or temporarily steal resources from a less important underutilized reservation domain to increase reservations.
In one embodiment, for each session tracked, the Intervention Server 400 makes calls to the heuristics determinator 120 to obtain mood state information. It also may re-query the retrospective system for certain information, such as task completion statistics and fallout statistics. If the session has successfully completed many tasks, then the session can be marked as a good session and have a low probability of needing intervention. It also becomes a candidate for having its resource reservation reduced at a future point in case of system overload.
Note that the implementation of the real-time a business knowledgeable user' s user interface 630 does differ somewhat between the retroactive case and the real-time case, since immediate updating is critical in the latter case but not the former. Therefore, certain types of things that do not add to the operator's ability to quickly visually select the most important customers are removed from the rendering loop. For example, the snoozing guards, details of the mood animation that are not helpful for visual discrimination etc, are removed. For details regarding the business user' s interface, please refer to copending application number entitled "Electronic Shopping Management: User Interface" which is hereby incorporated by reference herein. Third Party Integration
In the different modes of the intervention agent 130 discussed, third party integration permits other application servers to request an intervention. Such application servers can also access to current mood state and task presence data. Such integration can provide access to the various fields and records in the general processing queue.
Report Generator
In one embodiment, a variety of different kinds of reports are generated by the report generator. These include:
• Operator Performance
♦ Average time spent per end-user
- By end-user profile
By task or task type
Successful outcomes vs. unsuccessful outcomes
♦ Number of end-users processed per unit time
By end-user profile
- By task or task type
• Successful outcomes vs. unsuccessful outcomes. For successful outcomes:
Percent of upsells (i.e. the end-user started in a lower dollar or goodness value task, but ended up completing a higher dollar or goodness value task in the same session. For details regarding assigning dollar values to problems, please refer to copending application number entitled "Electronic Shopping Management: User
States" which is hereby incorporated by reference herein.) Percent of cross-sells (i.e. the number of times one or more related tasks were also successfully completed during the same session. For details regarding related tasks, please refer to copending application number entitled "Electronic
Shopping Management: Task Models" which is hereby incorporated by reference herein.)
• System Performance per unit time
♦ Number of end-users enqueued
♦ Number of end-users dequeued
♦ Percent of users that needed processing that received it
♦ Average length of time end-users spent in queue after being definitively flagged as being in a bad mood state
♦ Percent of Successful Outcomes
By Task or Task type
By customer profile type
• Enriched Sighted Constructor Reports (For details regarding sighted constructor reports, please refer to copending application number entitled "Electronic Shopping
Management: Task Models" which is hereby incorporated by reference herein.)
Task(s) that required a significantly above the norm number of interventions
Tasks(s) that required a noticeable number of multiple interventions per end-user.
- Which task(s) the end-users in question were actually trying to perform
The cost of the problems with respect to what the intervention cost, in addition to any other costs already being ascribed to these problems. For details regarding assigning dollar values to problems, please refer to copending application number entitled "Electronic Shopping Management: User States" which is hereby incorporated by reference herein. Task(s) that required more than one intervention during a session's attempted completion of the task.
Certainty values are presented for the task graph and user demographic population data being complete. The intervention system keeps track of the number of end- users requiring intervention. If for all user demographics, end-users all require the same percentage of intervention or have the task completion rates, then the certainty level of the different user populations being complete might be low because different types of populations should have different characteristics. There is a high likelihood of a missing user population or a missing task.
- Any end-user comments that operators flagged for inclusion
II. Fully Manual Intervention Mode 404
In the fully manual intervention mode 404, an operator (also called a human intervention agent) selects an end-user to initiate a live chat with.
In one embodiment, a business knowledgeable user's user interface 630 depicts the various tasks on a web-site identified in the task model as buildings, and the task steps constituting each of these tasks as rooms in the buildings. The end-users are depicted as little animated characters moving around from step to step and from task to task. For details regarding the business knowledgeable user's visual user interface, please refer to copending application number entitled "Electronic Shopping Management: User Interface" which is hereby incorporated by reference herein. In one embodiment, human operators can click on characters representing end-users in order to manually select an end-user for a proactive live chat session. In one embodiment, a special target and grab cursor is provided for this purpose, so as to facilitate the operator' s selection of the right end-user. If such a selected end-user is in the general queue, she will have the highest possible dequeueing priority. In one embodiment, she will be removed from the general queue immediately.
In one embodiment, the human intervention agent first determines whether, in her assessment, an end-user needs help. In one embodiment, an individual human intervention agent is designated to provide service for a particular task, or for a particular set of products. In traditional call centers, operators handle a queue of customers, one at a time. In one embodiment of the present invention, a similar methodology is followed In order to best accommodate this, the real-time user interface has a separate panel that presents information about the next predetermined number (for instance, ten) of customers m the queue In one embodiment, the panel presents this information in a tabular manner In one embodiment, such a table includes a visual representation of the end-user's current mood state, the end-user profile type, end-user type if known (for example, Repeat Customer, Repeat browser), the end-user's name if known, the name of the task the end-user appears to be trying to complete, and the amount of time he has been in a 'bad' state A button to request the initiation of a live chat may be included In one embodiment, business critical tasks or end-user types will be highlighted For more details regarding the business knowledgeable user's user interface, please refer to the copending application number entitled "Electronic Shopping
Management User Interface" which is hereby incorporated by reference herein
In one embodiment, as an end-user leaves her current task, leaves the site, or reverts to a better mood state, her information will be updated, or removed from the panel accordingly The latter will cause the end-user's row and the ones below it to update with information from the next end-user in the queue In one embodiment, the end-users' mood state information is presented graphically, and will animate for a few frames if changed in order to highlight the change for the human intervention agent This allows the human intervention agent to jump ahead in the queue if she deems it necessary For instance, she may jump ahead the queue if she sees that, for example, an end-user slightly further down in the queue is becoming increasingly agitated
In one embodiment, the dispatcher will dispatch the end-user to the queue of the operator who clicked on them This may not be the case, however, if the operator is designated as a supervisor In that event, she may specify another operator to be the recipient, she may also opt to specify the fully automated intervention mode 406, if it is available In one embodiment any such re-routed users are automatically given highest pπoπty for an automated intervention agent
In one embodiment, while the operator is waiting for the chat to be established, a summary window for that end-user is brought up There may be a "cancel" button on the summary window, which the operator can click on in case she selected the end-user m error In addition, clicking on an end-user also has the effect of spotlighting that end-user for easier visual tracking The human intervention agent solicits a live chat with a disgruntled end-user by pressing the button. If the end-user agrees to the live chat, in one embodiment, a chat panel with the following additional features will appear on the human intervention agent's desktop: 1) any information about the specific end-user from registration or other databases; 2) the end- user's current mood state, previous tasks attempted and completed, and time spent on the various tasks by the end-user; and 3) a choice list of links to different tasks and task steps. In one embodiment, this list is used to specify and push out the suggested step or task to the user.
If a chat session occurs, in one embodiment, the human intervention agent provides feedback to the system regarding her interaction with the end-user. . In one embodiment, the results of the interaction are stored in a database that can then be accessed by all parts of the system. For instance, in one embodiment, the human intervention agent indicates to the system whether one or more of the suggested steps were indeed the ones desired by the end- user. The human intervention agent can also indicate her own perspective regarding which step confused the end-user. This information is fed back to the task model. Specifically, the empirical task graph may be modified in this way. In addition, especially problematic nodes and links can be reported in the activity reports. For details on the refinement of the task graphs and reporting of problematic activity, please refer to the copending application number entitled "Electronic Shopping Management: Task Models" which is hereby incorporated by reference herein.
III. Fullv Automated Intervention Mode 406
In the fully automated intervention mode 406, there is no human operator involved. In one embodiment, the fully automated intervention mode 406 can be implemented as a browser plug-in. It is to be noted, however, that the automated intervention agent is not limited to being a browser plug-in. For example, an embodiment of the automated interface can also be a web application or a voice enabled application.
In one embodiment of the present invention, a window pops p on the end-user's screen, containing a new implicit query which is generated as a result of each new query that the end- user performs, or has the intervention agent perform on its behalf. However, after the generation of the first implicit query, synonyms that are neither specializations nor generalizations of the stems determined by a stemmer that appeared in the user's query will be substituted for the words that did appear. This is known as an "echo." Its purpose is to either confirm to the end-user that he is receiving the right results, or to provide a cue that indeed the system interpreted the end-user's request in a way that the end-user did not intend. However, if the echo always contains the same words as the end-user's query did, the end-user will soon learn to ignore it because it is redundant.
Along with any successful return of results, a character representing the automated intervention agent will ask (via text or voice) whether the returned results were what the end- user wanted. A variety of phrases can be used to this end, such as: "Are these what you wanted?"
In one embodiment, the end-user can respond in one of the following ways:
• By selecting the thing he is interested in using the controls in the automated intervention agent window.
• By typing in "yes" or some equivalent such as "yup." In this event, the system may respond with the question "which ones?" If the user then selects more than one, additional browser windows will be spawned for each request as needed.
By typing in "no" or some equivalent such as "nope." In this event, the system may try an alternate approach, as discussed below.
• By typing in an answer that indicates uncertainty, for example "maybe," "don't know", etc. In one embodiment, this is treated by the system as "no."
• By responding with any response that indicates that he wants a generalization, specialization, or sibling of one of the stems that appeared in either the initial query or in any of the stem profiles of returned results. For details regarding semantic analysis, please refer to copending application number entitled "Electronic Shopping
Management: Task Models" which is hereby incorporated by reference herein. In this case, the search is re-performed with the desired generalization, specialization, or sibling substituted for the original stem.
• By entering a query that has nothing to do with the previous query. In this case, the new query is run by the system. • By enteπng some query that is unintelligible to the system This case is discussed below
In one embodiment, the automated intervention agent interfaces with zero or more of the following other elements a) the fully manual intervention mode 404, b) a knowledge management/automated technical support system provided by vaπous third parties, c) the search engine m use by the site, available from a vaπety of third parties, d) a natural language engine that makes use of an ontology, also available from a vaπety of third parties, e) the personalization engine of the web site. In a sense it can be thought of as gluing these different elements to the task model and making them function according to its dictates
In the fully automated intervention mode 406, when the intervention agent tries to contact the end-user, and if the end-user accepts the intervention, a window pops up m the end-user's browser In one embodiment, this window has three different incarnations, one for each "bad" mood state which are descπbed below It is to be noted that in one embodiment, in all of the following discussions involving the ordering of returned results, where there is any literal or statistical tie between results, the task - or in some instances step - that is of greater importance in the task model always wins The three different incarnations are as follows
1 The Bored 316 Mood State
Since the defining characteπstic of boredom is the lack of an apparent goal, the purpose of the window is to offer a selection of possible goals for the users In one embodiment, this is done m two ways
• Let (T) = the set of tasks that are related to tasks whose steps the end-user entered duπng this visit, but which the end-user never entered duπng this visit In one embodiment, the tasks m this set are presented to the end-user The order in which the tasks are presented to the end-user is determined, m one embodiment, by how many times they appear in the set In one embodiment, if there are fewer than a predetermined number (e.g , three) of tasks in this set, additional tasks are displayed at random In one embodiment, these additional tasks are both a) business cπtical for that type of end-user and b) must not have been visited duπng the current session by the end-user The maximum number of tasks to display is configurable m one embodiment • The tasks to be displayed to the end-user can also be determined through integration with a personalization engine (e.g., BroadVision, ATG Dynamo, etc.), if one is available, that through various mechanisms such as user segmentation, business rules or statistical correlations between page views, determines what content an end-user might like to see based on their page view history. In one embodiment, a system in accordance with the present invention will roll up page view data from the personalization engine into the steps they belong in.
In another embodiments, when an end-user is detected to be in a bored 316 mood state, the tasks proposed to the end-user may be determined by using a probabilistic approach based on prior end-user performance, when the task or task step was last revised, or when a promotion started or stopped. In one embodiment, if statistically significant differences in end-user behavior were detected, based on the day of the week and/or hour of the day, time may be another element in the probability calculation.
In yet another embodiment, a probabilistic approach could be used, which is based on the completion rate of tasks when performed as the (N + l)th task within sessions in which any N-l other tasks were performed. For example, it is found that website users who have attempted five tasks then complete the buy a book task with the highest probability. If the bored user has attempted five tasks, then we should suggest the buy a book task be attempted.
In one embodiment, if the end-user selects any of the offered tasks, her browser will be driven to the starting step of the selected task. In one embodiment, the end-user may continue to use the window as long as he likes. The tasks that the end-user selects are checked off in one embodiment, and moved to the bottom of the list. In one embodiment, the amount of information about each task that is shown to the end-user is configurable. Information to show includes: Task name, task description, image, announcements, etc.
2. The Confused Mood State 314
The confused end-user has a goal which she is having difficulty accomplishing. The purpose of the intervention is thus assisting the user in achieving that goal.
In one embodiment, every task (and its description) that has been visited by the end- user during the sequence of confused actions (including the current one), is presented to the end-user. In addition, other tasks that are of the same task type may also be presented to the end-user. In another embodiment, if the current task is unordered or partially ordered, the end- user is provided with a list of such unordered or partially ordered steps that are of a higher order than the user's current step to choose from. In yet another embodiment, the set of all tasks which are related to those visited during the sequence of confused actions is presented to the end-user. Assume that the set of tasks and steps presented to the end-user is 'T' .
In one embodiment, if the number of possibilities exceeds the pre-configured maximum number of tasks to display concurrently (e.g. 7,) the tasks are ordered according to the number of the relationships below they have to the locus of confusion. For details regarding how the locus of confusion is determined, please refer to copending application number which is hereby incorporated by reference herein. (If there is no locus of confusion, then current task is proposed.) In one embodiment, task 't' will be proposed if the end-user appears to be confused while performing task 'a' and at least one of the following is true:
1) Task a and task t are often performed together
2) Task a and task t are both subtasks of some other task q
3) Task a and task t are both supertasks of some other task q
4) Task a is a subtask of task t 5) Task a is a supertask of task t
In one embodiment, if accesses to steps of step type "help" were what led to the confused state, the intervention agent 130 will invoke a knowledge management / automated customer help application, if one is available to it. The intervention agent 130 will not appear itself.
In one embodiment, if search-related difficulties led to the end-user's confused state, the following course correction is performed, depending on the type of difficulty encountered with the searches:
a) Too few Returned Task Steps
If the search yielded too few results, the intervention agent 130 will first attempt searches with a smaller number of keywords than were originally entered by the end-user. For example, if the end-user's original search string was < dog AND cat AND chicken>, the intervention agent 130 will attempt all of the following searches to see if it can come up with one or more productive ones. (In one embodiment, "productive" is defined to be more than zero results, but less than some reasonable configured number, 10 for example):
• Dog AND cat
• Chicken AND cat
• Chicken AND dog
• Dog
• Cat
• Chicken
If more than one of these searches is productive, the results from the productive searches are uniqued and merged in one embodiment. Searches with the greatest number of keywords intact may be treated as most relevant; searches with a smaller number of keywords intact may be truncated if the maximum displayed number has been reached.
In one embodiment, common "stop" words such as prepositions and articles are removed from quoted searches. In addition, the quotes are removed, and, if the search engine supports it, a lexical nearness operator is substituted. Further, in one embodiment, a stem search is performed instead of a literal search if the site's search engine permits it. If this approach fails, more specialized stems or words will be replaced one at a time with more generalized versions of themselves as specified in an ontology. For example, a reference to a "skyscraper" might be replaced with a reference to a "building," and then the intervention agent 130 will retry the search. The order in which available generalizations are applied is motivated by the number of steps in which the stem of the generalization appears in tasks that are in 'T.' It will stop once the maximum number of results number has been reached.
If this approach also fails, in one embodiment, the fully automated intervention mode
406 will offer the end-user a human operator to assist her if this option is available. If not, in one embodiment, a window with a little character in it will appear informing the end- user that the site doesn't seem to offer "X", where "X" is a search string representative of the end-user's difficulties. In one embodiment, the exact contents of "X" are determined by selecting any query that contained the most frequently occurring verb noun pair among the related queries. Failing this, "X" could be any query that contains the most frequently occurring stem. Failing this, "X" could be based on a stem that is the generalization for the greatest number of stems possible, at least 2 being required Failing this, "X' could be a query that is selected at random by the system The fully automated intervention mode 406 may also offer the user a pre-addressed (and pre-titled with the search string) email window to send mail with a question to the merchant The occurrence will be logged for reporting purposes along with all other data for that task and customer type
In one embodiment, if the problem with the search results was that the results that were returned were not what the end-user was after a very similar approach is taken The only difference is that results that the end-user indicated were not of interest are removed from the list (and from all subsequent results lists shown to that end-user during the current session) An exception may be made to this if a particular result is the only one can that can be deπved from the approaches herein descπbed
b) Too Many Returned Task Steps
If the problem with the returned task steps is that too many results are obtained, one embodiment, the end-user's query is pre-processed as described above and the returned results are simply relevance ranked by the site's search engine, if the search engine offers this functionality In one embodiment, the list is truncated at the maximum number of results to display mark
In another embodiment, only results whose stem profiles contain all of the stems in the end-user's initial query are returned If this results in less than a predetermined number (e g , three) results being returned, any stems other than the pπmary verb and noun are discounted, and the search is re-run If, however, there are still too many results being returned, in one embodiment, the end-user will be prompted with specializations of the stems in their search to choose from Which specializations are used will depend, in one embodiment, on which specializations' stems co-occur in the stem profiles with the stems the end-user entered in their query This narrowing process can be performed as many times as is needed In one embodiment, the automated intervention agent indow remains open until the user chooses to explicitly dismiss it Therefore, different specializations may be pursued by the user, one after another
In one embodiment, if an acceptable number of results are obtained, an intervention agent window with a display of ranked returned task steps appears, in which the task name and step name of each returned result appears. This window may also contain a search textbox that the end-user may use to ask the intervention agent to help him modify or refine his search. At any time, the end-user can click on a character to get further information. In one embodiment, the character also animates. In addition to waving to get the end-user's attention initially, it may scowl when it does not find any results for a particular end-user query, or may hang its head if the results returned are rejected by the end-user as not being useful. In one embodiment, it can smile when the results are deemed useful by the end-user. It may be pictured as going online itself, or looking through books or papers when looking for results.
3. Angry Mood State 318
As is the case with the confused 314 state, the goal is presumed to be near at hand when an end-user is determined to be in an angry mood state 318. Unlike the case with confused 314 state though, end-users in the angry 318 state are presumed to already be in an agitated state, and hence have a shorter than usual attention span.
In one embodiment, in the case of angry end-users, the set of tasks or task steps that can be proposed to the end-users includes: 1) unordered or partially ordered steps whose order is after the end-user's current step in the current task, if this task is partially or wholly unordered; 2) other tasks that are of the same "task type" as the current task, where this type was configured explicitly for use in this way. This will typically be a small enough number of possibilities that it will not need to be truncated. In one embodiment, if there is a non-trivial form or other barrier in the way to getting to a higher ordered step that the end-user selected, the end-user will instead be taken to the step which contains the barrier.
If this approach leaves the system with no valid options to present to the end-user, in one embodiment, the fully automated intervention agent will simply select at random a predetermined number (e.g., 3) of tasks that were related to tasks visited by the end-user during this session, including the current tasks. This is essentially a graceful failure mode - the end-user is already angry, and is likely to leave the site. Thus in one embodiment, the system operates on the assumption that there is not much more harm that can be done at that point, and so it does not hurt to guess. If the end-user does end up selecting one of these options, it is a desirable result for the system.
3 If search-related problems were what led to the angry 318 state of the end-user, an approach similar to the one for confusion will be taken. However, in one embodiment, a much smaller number of task steps (e.g., 3) will be shown, because the end-user is already in an agitated state.
If all approaches have failed, in one embodiment, the intervention agent will offer the end-user a human operator to assist the end-user, if this option is available to it. Otherwise, in one embodiment, a window with the little character in it will appear informing the end-user that it is very sorry, but it does not know how to help them. It may also offer the end-user a pre-addressed (and pre-titled with the current task name) email window to send email with a question to the merchant or web-site owner. In one embodiment, such occuπences will be logged for reporting purposes.
End-User's User Interface: Natural Language Processing (NLP) Version
In one embodiment, the Natural Language enhanced version of the end-user's user interface 640 takes one of two forms: a) the same as the "plain" form but with an additional area for the system to generate text, and an additional text box for entering natural language - or regular keyword - queries as well as "yes", "no" and "I don't know" or "maybe" responses; or b) a simplified version that contains only the little character and the text box.
In the former case, the NLP version of the end-user interface behaves exactly as the plain version does, with the functionality added by the NLP capability which is described below. In this version, the end-user may specify what they would like to do by either clicking on controls, or by typing into the query textbox and hitting the return key. In one embodiment, if the two forms are in conflict, the latest one entered by the end-user is the one acted upon by the system.
It is to be noted that the approach is entirely spoken or natural language independent. In one embodiment, all that is required is a search engine that operates in the language in question and an ontology in the language in question. It is to be noted that the same approach described here could be taken for voice-based applications.
Like the manual intervention interface, the behavior of the NLP end-user's user interface 640 is highly dependent on the end-user's current mood state. Regardless of the mood state, however, in one embodiment, the goal is to motivate the end-user to enter a natural language query that can then be compared to the stem profiles of different tasks to help locate the task - or task step - that best embodies the end-user's desired goal For details regarding extracting stem profiles, please refer to copending application number XXX entitled "Electronic Shopping Management Task Models" which is hereby incorporated by reference herein Having end-users do expressive (1 e not just a single unconnected keyword or two) searches to get them quickly to the right location is one of the best ways to increase website navigation efficiency
In order to begin its interactions with the end-user, the NLP version end-user interface 640 of the intervention agent generates an implicit query on the basis of the end-user's current mood state and recent task history duπng the current session In one embodiment, when the little character in the automated intervention agent window first waves to the end-user in order to get her attention, an interrogative form of the implicit query appears under the character In another embodiment, the character "speaks" the question instead
The following discusses the generation of implicit queπes for the different mood states
1 The Bored Mood State 316
When the end-user is determined to be m a bored mood state 316, the interrogative forms include "What are you looking to do today7", "Is there anything special you might be interested in9" and so on
The implicit queπes are built out of the verb noun pairs that correspond to each task in the set 'T ' They are simply created by appending a question mark to the verb noun pair with any stopped out word(s) that appeared between the verb and noun m a link For example "Rent a Car," but not "Rent my Car" unless the word "my" had appeared in a link between the verb rent and the noun car In one embodiment, if all tasks m 'T' share either the same verb or the same noun, ellipsis is used to avoid needless and distracting repetition For example, if the list of implicit queries contained "Buy a Computer," "Buy a Pπnter" "Buy a Laptop" the shared element "buy a" may be abstracted out and the vaπous types of things that could be bought would appear as a bulletized list directly underneath So, this information could be presented to the end-user in the system's text area as follows - for example What can I help you with today7 Buying a Computer Pπnter - Laptop
The end-user then hopefully types a response into the textbox provided for this purpose In one embodiment, all common stop words are removed from the response In one embodiment, if the end-user types back a direct verb noun stem match that matches only one task, his browser is dπven directly to that task - whether or not that task had anything to do with anything the end-user visited duπng the current session If the response matches more than one task, in one embodiment, the end-user will be re-presented with only the differentiating parts of the task name In one embodiment, if two or more tasks have identical names, the NLP intervention agent will present the end-user with the descπptions of the two tasks to help him choose the πght one
If the end-user types in a more complex phrase that contains additional stems, any stems past the initial verb noun combination are eliminated unless it turns out that these additional stems are needed to uniquely identify a task, in which case they are added back in If only one of the stems matches, the same process is followed If the number of task steps returned as a result is too large, only tasks that have the highest density occurrence of the stem will get returned
In one embodiment, if the end-user types back a response that matches nothing, the same technique is used as is used to resolve confused searches
2 The Confused Mood State 314
In one embodiment, the confused state 314 is handled m a manner similar to that of the bored state 316 Some of the differences are discussed below
Interrogative forms for the confused state 314 include "What would you like to do7", "What are you trying to do", "Can I help you with", "Can I assist you in" and so on
For an end-user in a confused state 314, in one embodiment, the highest weight will be given in sorting search results to a) partially ordered steps of a higher order than the end-user's current step m the cuπent task; b) unordered steps in the same task; c) tasks of the same task type (if the type was configured for this use); d) related tasks.
In one embodiment, if the pπmary verb noun pair match a search that highly correlated historically to a particular task or step, this task or step will be presented at the top of the returned results list.
3 The Angry Mood State 318
In one embodiment, the angry state 318 is handled in a manner similar to that of the confused state 314. However, the handling of the angry state 318 differs from the handling of the confused state 314 in the following ways-
Interrogative forms include: "Try this instead'"
Upon one failed suggestion, the NLP intervention will offer up a human operator, if one is available to it. Also, in one embodiment, no more than a predetermined number (e.g., 3) task steps are returned.
Also, in contrast to the handling of an end-user in the confused state 314, where the
NLP interface can be verbose, the NLP tone for an angry end-user is terse. This is based on the assumption that since the end-user is agitated, the fewer words the better.
Bootstrapping From Manual Mode
It is to be noted that, prior to any intervention capability being made available, the observed and actual task graphs are likely to have roughly the same number of edges in them. For a detailed discussion of the observed and actual task graphs, please refer to copending application number entitled "Electronic Shopping Management: Task Models" which is hereby incorporated by reference herein This is because the most common way to form a new edge in the observed task graph is with traversals performed through searches.
Since the search functionality on many sites is constrained in various ways, so too are the non- obvious paths between steps that, from the vantage point of certain - or even many - end- users, may be unexpectedly desirable to end-users Thus, such newly constructed edges are of great significance if both they a) occur with a statistically significant frequency, and b) result in successful task completions. They are therefore given preference when automated path resolution is performed.
Feedback to Task Model
The feedback to the task model for the fully automated intervention mode 406 is the same as for the fully manual intervention mode 404. However, in some embodiments, more feedback may be provided to revise the task graphs in the automated intervention mode 406, as a result of the NLP end-user interface 640.
Report Generator
The reports generated for the fully automated intervention mode 406 are similar to those generated for the queued intervention mode 404, with the following additions:
• Comparison data between the different approaches of the intervention modes is reported. This comparison includes both effectiveness data as well as cost per intervention data.
• In the fully automated intervention mode 406, in one embodiment, a vastly increased number of searches are taken into account in the reports; further the searches are more expressive than the usual 1 to 2 keyword searches because they are confirmed queries on task phrases. This data is not only used to update the task graph and do problem blame assessment (the details of these can be found in copending application number XXX entitled "Electronic Shopping Management: Task Models" which is hereby incorporated by reference herein), the data can reasonably be presented in the report as the "top N things that end-users come to the site wanting to do." The value of N can be configured by the business knowledgeable user. Or it can be determined statistically; the proverbial 80/20 rule applies (e.g., 20% of end-users are responsible for 80% of the operators' time).
Business knowledgeable user's user interface 630
The a business knowledgeable user's user interface 630 for the fully automated intervention mode 406 is intended, in one embodiment, to be used only by users with technical know-how. The interface permits the business knowledgeable user to configure several factors, such as:
• Whether to use the plain version of the end-user's user interface 640, or the NLP version.
• NLP tone (e.g., verbose/formal, informal/friendly): In one embodiment, tone impacts the number of words that are used in forms like interrogatories. For example, it impacts whether ancillary words such as "please" and unnecessary adjectives (i.e. "nice") are used.
• Whether or not to include the option to invoke a human operator.
• Handling of Boredom: Boredom can simply be treated as one of the bad states. Yet another possibility is to treat it as one of the bad states only if the operator load is not too great. The various ways in which boredom can be treated is discussed in greater detail above.
• Whether to calculate system performance by task or roll up to task type: This includes collapsing different tasks of the same task step in order to impact how the returned query results are ordered. In one embodiment, the business knowledgeable user can specify that some task types will be thus "rolled up" while others will not be.
• Maximum number of concurrent active agent sessions.
• The modifying of some of the probability thresholds.
• Specify what action to take in event of an end-user getting timed out in the queue, for example, sending of a particular email via the email API
• Initial title of character frame in end-user's user interface 640.
• Specification of reservation pools for automated agents rather than human operators
• Maximum Number of Failed Interventions Per End-user: This is the maximum number of failed automated interventions that any single end-user is allowed before they are deemed undesirable from an intervention point of view. In one embodiment, this can be hard set. In another embodiment, it will be computed statistically. If a reliable cross-session user uniquing scheme is in place, this can be specified as a lifetime maximum, or per some unit of time (e.g. 6 months). In one embodiment, different limits can be specified for each end- user profile. As previously noted, an upper limit must be specified in order to protect the system against malicious service outage attacks.
TV. Cross Site Intervention Mode 408
In the cross site intervention mode 408, the same kind of intervention approaches discussed above can be taken across an arbitrary number of websites. In one embodiment, there are two high level variants of this. In the first variant, the websites must be actively cooperating with one another. Specifically, each cooperating site is allowing data collectors access to its networks and/or logfiles, or alternately, the extranets are configured in such a way that they may share processing resources. For details regarding data collectors, please refer to copending application number , entitled "Electronic Shopping Management: User
States" which is hereby incorporated by reference herein. In the second variant, if enough end-users are choosing to download and use a site-independent intervention agent on an ongoing basis, sites need not agree to cooperate, since data in this case is being provided directly from the site hosting the intervention agent 130.
The first variant is very similar to the single site version, except that instead of covering one site, it covers N many sites. One difference, however, is that the task graph used in the cross site intervention mode has one root node for each site in question, rather than just one root node overall. It is to be noted that in both this case, and the single site case, there can be conflicting tasks. For example, a site might offer several very different ways to purchase airplane tickets, each of which is really a variant of the same abstract task. While the merchant or web site owner might have a preference for one of these methods over another (perhaps one is more lucrative), the end-user performing any of them is considered an acceptable outcome in one embodiment.
In the first variant, where the merchants or web-site owners have agreed to cooperate with one another, a similar logic applies. One difference, however, is that in one embodiment, if and only if there is a statistical tie between two tasks on different sites, should the end-user be sent to the version of the task on the site they are currently on. This is because of the context shift that occurs due to things like differing look & feel between various sites.
However, in one embodiment, the end-user may specify a preference for a particular site. If she has done this, the site for which a preference was expressed will win over a site for which no such preference was expressed, even if the task implementation on that site is qualitatively worse.
The second variant is very different in usage, although its basic concept is similar to the first one. The individual instances of intervention agents send their data back to a database that is hosted by the web site hosting the intervention agent 130. Note that intervention agent 130 would seek to gather end-user profile data for the end-user if it did not already have it. In one embodiment, the default is that the end-user will be asked for the information needed to construct a valid end-user profile for the site from which the intervention agent instance originated, if such information had not already previously been gathered.
Similarly, all task model data would be stored in this central database, including both human verified task models as well as automatically generated ones. The data is not used to assess traffic, since it is presumed that only a very small fraction of the end-users on any non- participating site would be using an intervention agent. But while quantitative assessment may not be done this way, qualitative assessment can be with a large enough sample of data. Such data from non-participating sites, in one embodiment, is then used for two distinct purposes:
• To determine which sites seem to have the most empirically effective offerings of particular tasks.
• To improve upon the automatically constructed task graph. Once a statistically significant sample of end-users has been obtained for a site, "likely" task paths that have no occurrences are removed automatically from the graph, while task paths with a very high number of statistical occurrences become automatically defined as tasks. The names of such tasks are determined by the techniques discussed in detail in copending patent application number , entitled "Electronic Shopping Management: Task Models" which is hereby incorporated by reference herein. If an empirically detected task is very similar to, but not the same as, a "likely" task, the regular expressions are corrected to reflect the empirical reality. It is to be noted that in one embodiment, sites that do have task models defined in the system would benefit since the intervention agent 130 will favor tasks based on their probability factor. In one embodiment, the probability factor can never be 1 for automatically detected tasks, whereas it is 1 by definition when defined by a human. Some Other Functionality of the Intervention Agent 130
In one embodiment, the intervention agent 130 can be used to define a repetitive task, one that is executed at specific intervals from a given start time and date. The intervention agent 130 can execute such repetitive tasks automatically at the specified times. Over time, such data could be productized in various reports, including cross-site usability benchmarks, correlations to best (and worst) practices in web design, etc. In addition, the data regarding the effectiveness of the task offerings on different sites could be used by the intervention agent 130 to direct end-users to the proven best implementation(s) of the task.
If the heuristics determinator 120 assesses that the end-user is in a confused 314 or angry 318 mood state, the intervention agent 130 initiates a dialog using an echo to offer the most common variants of the end-user's apparent goal. An echo can be better understood by briefly discussing natural language interfaces for conventional search engines. Natural language interfaces typically have several vectors of operation. These include: verbosity, politeness, and formality. Most natural language interfaces have what is known as an "echo" feature, in which the end-user's query is slightly rephrased as a declarative statement and is returned as a preface to the result set. In conventional search engines, the purpose of the echo is to confirm that the end-user's intention was accurately understood and acted upon by the system. However, in some embodiments of the present invention, an echo of an implicit query that is generated by the system is what initiates the dialog with the disoriented user.
Email Integration:
In one embodiment, it is possible to capture the identity of end-users who left the site in one of the "bad" mood states, if such end-users were registered members, or whose contact information was available for some other reason. In one embodiment, the intervention agent 130 can contact an end-user after the end- user has left the site. In particular, this may be done if an end-user has left the site after having been (or while being) in the confused 314, bored, 316, or angry 318 mood states and there is a known way to contact the end-user (e.g., via email). In such a situation, such end-users may symbolically get placed in a "morgue." A number of different visualizations to this effect may be provided in the business knowledgeable user's user interface 630 so as to not be offensive to any particular culture. For details regarding the user interface, please refer to copending application number entitled "Electronic Shopping Management: User Interface" which is hereby incorporated by reference herein. The intervention agent 130 can establish contact with such end-users. In one embodiment, email can be sent to the end-user to try to lure them back to the site. Such email may contain, for example, coupons or discounts on relevant merchandise that could be used at the web-site. Alternately, or in addition, such emails could solicit end-user feedback on improving the site.
In determining whether or not to contact end-users after they have left the web-site, the intervention agent 130 considers several attributes. One attribute that may be considered is which bad mood states the end-user experienced in his use of the web-site. Another attribute is whether the end-user left the site when in one of the bad states. Yet another attribute is which tasks the end-user attempted or completed during a specific session.
In one embodiment of the business knowledgeable user's interface to do this, the business knowledgeable user can specify a separate email for each mood state, for each task, for each end-user profile, or for the combination of mood state, task, and end-user profile. The business knowledgeable user can also decide whether to include or exclude people who a) left the site in a bad state, but only after they had successfully completed a task, b) had at some point during their visit gotten into any one of the bad states but had reemerged from it and successfully completed a task, c) similarly, but without completing a task.
From the above description, it will be apparent that the present invention disclosed herein provides a novel and advantageous method and system for intervening in end-users' use of web sites. The foregoing discussion discloses and describes merely exemplary methods and embodiments of the present invention. As will be understood by those familiar with the art, the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. In addition, it will be noted by one skilled in the art that the organization and placement of the areas in figures depicting user interfaces, are merely illustrative, and are not limited by the present invention. Variations in the placement, size, and shape of the areas would be readily apparent to those of skill in the art of user interface design. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Claims

We claim:
1. A computer implemented method for assisting an end-user in his use of a web-site, the method comprising: receiving a task model for the web site; receiving data regarding satisfaction level of the end-user based on observed end- user behavior; based on the task model and the satisfaction level of the end-user, initiating an intervention in the end-user's use of the web site.
2. The method of claim 1, wherein initiating an intervention in the end-user's use of the web site comprises: displaying an animated icon on the end-user's screen.
3. The method of claim 2, wherein initiating an intervention in the end-user's use of the web site further comprises: displaying context specific text along with the animated icon.
4. The method of claim 1, further comprising: receiving an indication from the end-user regarding the initiation of intervention; responsive to the end-user indicating that the end-user desires the intervention, intervening in the end-user's use of the web-site.
5. The method of claim 1, wherein the initiating of the intervention occurs when the data regarding satisfaction level of the end-user indicates that the end-user is angry.
6. The method of claim 1, wherein the initiating of the intervention occurs when the data regarding satisfaction level of the end-user indicates that the end-user is bored.
7. The method of claim 1, wherein the initiating of the intervention occurs when the data regarding satisfaction level of the end-user indicates that the end-user is confused.
8. A system for assisting an end-user in his use of a web-site, the system comprising: an intervention server for communicating with a heuristics determinator to obtain the end-user' s mood states, and with a task model creator to obtain a task model of the web-sites; and an intervention agent communicatively coupled to the intervention server for intervening in the end-user's use of the web-site.
9. The system of claim 8, wherein the intervention agent is a queued intervention agent.
10. The system of claim 8, wherein the intervention agent is a fully manual intervention agent.
11. The system of claim 8, wherein the intervention agent is a fully automated intervention agent.
12. The system of claim 8, wherein the intervention agent is a cross-site application intervention agent.
PCT/US2000/028553 1999-10-13 2000-10-13 Electronic shopping management: intervention WO2001027803A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU13337/01A AU1333701A (en) 1999-10-13 2000-10-13 Electronic shopping management: intervention

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15922699P 1999-10-13 1999-10-13
US60/159,226 1999-10-13
US20118300P 2000-05-02 2000-05-02
US60/201,183 2000-05-02

Publications (2)

Publication Number Publication Date
WO2001027803A2 true WO2001027803A2 (en) 2001-04-19
WO2001027803A3 WO2001027803A3 (en) 2002-11-14

Family

ID=26855764

Family Applications (4)

Application Number Title Priority Date Filing Date
PCT/US2000/028476 WO2001027801A2 (en) 1999-10-13 2000-10-13 Electronic shopping management: user interface
PCT/US2000/028570 WO2001027850A2 (en) 1999-10-13 2000-10-13 Electronic shopping management: user states
PCT/US2000/028553 WO2001027803A2 (en) 1999-10-13 2000-10-13 Electronic shopping management: intervention
PCT/US2000/028566 WO2001027849A2 (en) 1999-10-13 2000-10-13 Electronic shopping management: task models

Family Applications Before (2)

Application Number Title Priority Date Filing Date
PCT/US2000/028476 WO2001027801A2 (en) 1999-10-13 2000-10-13 Electronic shopping management: user interface
PCT/US2000/028570 WO2001027850A2 (en) 1999-10-13 2000-10-13 Electronic shopping management: user states

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/US2000/028566 WO2001027849A2 (en) 1999-10-13 2000-10-13 Electronic shopping management: task models

Country Status (2)

Country Link
AU (4) AU1333701A (en)
WO (4) WO2001027801A2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003281413A1 (en) * 2002-07-05 2004-01-23 Compudigm International Limited Method and system of customer data visualisation
TW200418901A (en) * 2003-02-25 2004-10-01 Du Pont Process for the manufacture of polyester via hydrogenation treatment of recycled diol
WO2005083571A1 (en) * 2004-03-01 2005-09-09 Izuki Corporation A method of controlling the operation of a computing system arranged to interact with other entities
US7774713B2 (en) 2005-06-28 2010-08-10 Microsoft Corporation Dynamic user experience with semantic rich objects
US9754274B1 (en) 2009-06-09 2017-09-05 Monetate, Inc. Single tag method for webpage personal customization
WO2013088307A1 (en) * 2011-12-16 2013-06-20 Koninklijke Philips Electronics N.V. History log of user's activities and associated emotional states
WO2017212466A1 (en) * 2016-06-08 2017-12-14 Walkme Ltd. Autonomous behavior reasoning analysis

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0649087A2 (en) * 1993-10-19 1995-04-19 New Media Development Association Computer system
WO1998003907A2 (en) * 1996-07-19 1998-01-29 Microsoft Corporation Intelligent user assistance facility

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0649087A2 (en) * 1993-10-19 1995-04-19 New Media Development Association Computer system
WO1998003907A2 (en) * 1996-07-19 1998-01-29 Microsoft Corporation Intelligent user assistance facility

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ENCARNACAO, L. MIGUEL: "Multi-Level User Support through adaptive Hypermedia: A Highly Application-Independent Help Component" ACM, 6 January 1997 (1997-01-06), pages 187-194, XP000731444 *
JOHN, BONNIE E. ; D.E. KIERAS: "The GOMS Family of User Interface Analysis Techniques: Comparison and Contrast" ACM TRANSACTIONS ON COMPUTER-HUMAN INTERACTION, vol. 3, no. 4, 1 December 1996 (1996-12-01), pages 320-351, XP002211609 *
LIEBERMANN, HENRY: "Autonomous Interface Agents" ACM, 22 March 1997 (1997-03-22), pages 67-74, XP000069711 *

Also Published As

Publication number Publication date
AU1333801A (en) 2001-04-23
WO2001027801A8 (en) 2002-01-24
AU1206501A (en) 2001-04-23
WO2001027850A8 (en) 2002-01-24
WO2001027849A8 (en) 2002-01-24
AU1432601A (en) 2001-04-23
WO2001027803A3 (en) 2002-11-14
WO2001027849A9 (en) 2002-05-30
WO2001027849A2 (en) 2001-04-19
WO2001027801A2 (en) 2001-04-19
WO2001027850A2 (en) 2001-04-19
AU1333701A (en) 2001-04-23

Similar Documents

Publication Publication Date Title
US10296939B2 (en) Dynamic reconfiguration of web pages based on user behavioral portrait
Lasecki et al. Chorus: a crowd-powered conversational assistant
US10171655B2 (en) Method for assembling a business process and for orchestrating the process based on process beneficiary information
US8636515B2 (en) System and method for automated end-user support
US8095411B2 (en) Guided procedure framework
US20130166331A1 (en) Method and Apparatus for Improved Control Over On-Line Reservations of Rental Vehicles
US20050044008A1 (en) Systems and methods to facilitate selling of products and services
US10664868B2 (en) Systems and methods for providing personalized proactive interaction
WO1999018514A1 (en) System enabling a salesperson to chat with a customer browsing the salesperson&#39;s web site
AU2003299853A1 (en) Systems and methods to facilitate selling of products and services
CA2371445A1 (en) Customer lead management system
WO2001027803A2 (en) Electronic shopping management: intervention
EP1080436A2 (en) Process and system for reading contents of an electronic shopping cart
US20200320602A1 (en) Web service system and method
US20070060357A1 (en) Method Apparatus and System for permitting the self-service of established casino players to new casino destinations in the Gaming Industry via a Wide Area Network
KR20070120021A (en) System and method for on-line stock trading counselling
Gosha QueueAdmin: The Effects of an Advance Queue Management System on Barbershop Administration
Ballin Been there, done that: a personalised mobile agent system for the next generation of call centres
Debenham et al. Intelligent environments for next-generation e-markets
US20080293479A1 (en) Method for the selective display, review, pricing, recommendation and acceptance of free goods and services requiring varying scales of play at a casino via the World Wide Web
Anderer Marketing on the Internet and the implications of new technologies: Marketing strategies for Business-to-Consumer Electronic Commerce and the strategic implications of software agents and XML

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: COMMUNICATION PURSUANT TO RULE 85A (1) EPC EPO FORM 1217N DATED 14.04.03

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP