# Patent

## Title
Frugal user engagement help systems

## Abstract

One embodiment of the present invention provides a system for providing assistance to a user of a product in diagnosing faults in the product. During operation, the system receives, at a help server, data associated with current and/or past operation of the product; performs an optimization to determine a sequence of diagnostic actions that is expected to maximize a net benefit to the user. The sequence of diagnostic actions includes one or more actions that require the user to perform at least one task, and performing the optimization involves accounting for costs to the user for performing the at least one task and savings to the user for correcting the faults. The system then interacts with the user, which involves presenting the sequence of diagnostic actions to the user.

## Background
BACKGROUND
Field
This disclosure is generally related to help systems that rely on user input for diagnosis purposes. More specifically, this disclosure is related to such a help system that is frugal with user engagement.
Related Art
Many current customer-assistance systems that provide assistance for products or services rely on extra information provided or extra steps taken by the customers themselves to help with diagnosis of problems associated with the products or services. For example, when a user experience problems with his computer system, he may use a self-help system available on the website of the product maker to troubleshoot and to fix the problems. Before performing the diagnostics, the self-help system may require the user to place his computer system into a standard configuration. For example, the user may be asked to re-install certain software. Another example can be a call center that collects extra information from a calling customer in order to route the call to specific service personnel. Such an approach reduces the burden on providers of the help systems at the expense of the customers' involvement in diagnostics. In some instances a customer may be asked to take unnecessary steps, just on the off chance that it will save the help provider extra costs. The shift of costs from help providers to customers may often not benefit the customers.
In many applications the help provider may not be motivated to provide a high-quality help system because users of such a system may have already purchased the product or service, and the help system only needs to meet minimum requirements. In such settings a provider may shift to the user, as much as possible, the burden of diagnosis and repair, and the user, having already purchased the product, may have no choice but to bear the extra costs.
Nevertheless, in many markets, particularly those covered by third-party surveys and reputation management systems, the quality of product support is an integral part of the product's overall reputation for quality. In such markets, help systems that provide limited assistance or are too burdensome to users may become an obstacle in attracting more users to adopt the corresponding products or services.
SUMMARY
One embodiment of the present invention provides a system for providing assistance to a user of a product in diagnosing faults in the product. During operation, the system receives, at a help server, data associated with current and/or past operation of the product, and performs an optimization to determine a sequence of diagnostic actions that is expected to maximize a net benefit to the user. The sequence of diagnostic actions includes one or more actions that require the user to perform at least one task, and performing the optimization involves accounting for costs to the user for performing the at least one task and savings to the user for correcting the faults. The system then interacts with the user, which involves presenting the sequence of diagnostic actions to the user.
In a variation on this embodiment, the system further performs an initial testing to determine a baseline operating profile of the product, and compares the received data associated with the current and/or past operation of the product to determine whether the product is degraded.
In a variation on this embodiment, the product includes a heating, ventilation, and air conditioning (HVAC) system. Performing the optimization involves: obtaining a weather prediction, and based on the obtained weather prediction, including in the determined sequence of actions a delaying-to-learn-more action that delays the interaction with the user for a predetermined time.
In a variation on this embodiment, the sequence of diagnostic actions includes one or more of: a survey action, a research action, and an experiment action.
In a variation on this embodiment, the system estimates the cost to the user for performing the at least one task by one or more of: learning a cost model associated with the user, wherein the cost model specifies how the user values his time and the user's preference and skills, asking the user to self-classify, and asking the user to answer a set of questions.
In a variation on this embodiment, the system provides additional incentives to the user in response to the optimization determining that the maximized net benefit to the user is less than a predetermined threshold, thereby motivating the user to remain engaged.
In a variation on this embodiment, interacting with the user further involves presenting to the user explanations of the net benefit, thereby motivating the user to perform the at least one task.



BRIEF DESCRIPTION OF THE FIGURES
FIG. 1 presents a diagram illustrating the architecture of an exemplary frugal user engagement help system (FUEHS), in accordance with an embodiment of the present invention.
FIG. 2 presents a diagram illustrating the architecture of an exemplary help server, in accordance with an embodiment of the present invention.
FIG. 3 presents a flowchart illustrating an exemplary diagnosis process, in accordance with an embodiment of the present invention.
FIG. 4 illustrates an exemplary computer and communication system for implementing a frugal user engagement help system (FUEHS), in accordance with one embodiment of the present invention.



In the figures, like reference numerals refer to the same figure elements.
DETAILED DESCRIPTION
The following description is presented to enable any person skilled in the art to make and use the embodiments, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Overview
Embodiments of the present invention provide a method and a system that provide remote assistance to customers of a product or service. More specifically, when diagnosing a faulty or degraded product, the help system engages the customers in providing information that may be useful to the diagnosis. The help system optimizes the decision for user engagement based on cost of user participation (which is user-dependent and can be learned by the system over time or by using a survey) and the expected benefit to the users. The help system can be triggered by a customer call or a detection of product degradation. At any point of the operation, when there is no possible action that can lead to positive expected benefit to the user, the help system terminates. Note that this termination may leave the problem unresolved; nevertheless the continued operation of the degraded system may be of net benefit to the user (a less efficient air condition is better than no air condition in hot summer days). A future time, when more data is available, may be a better time for diagnosis and repair.
In this disclosure, the term “help system” broadly refers to a system that provides help to customers with products or services. It can include call centers, online tools, and mobile apps.
Frugal User Engagement Help System (FUEHS) for Improving Energy Efficiency of an HVAC System
Many modern energy systems, such as water heaters, refrigerators, and HVAC (heating, ventilation, and air conditioning) systems include control systems that are able to keep these systems functioning well, even when they have partial faults. As these systems degrade, the effective built-in control is able to make sure that there is little impact on perceived performance; instead, the impact is on energy efficiency. For example, a faulty HVAC system may continue to function in terms of regulating the room temperature at the expense of consuming more energy. This additional energy consumption is often buried in energy bills and not directly perceived. Without direct feedback, users are often not motivated to fix the degraded system, thus missing the chance of substantial energy savings. Contact by the utility providers may help the customers find energy savings, but the customers may be particularly sensitive to interaction costs (in terms of time and resources), and may not have strong goals to save energy.
To address such a problem, embodiments of the present invention provide a proactive help system that contacts users based on preliminary evidence (such as a user's smart meter data of a phone call reporting a problem) and is frugal with user engagement thereafter. More specifically, such a frugal user engagement help system (FUEHS) ensures that the user will have net positive expected benefits at each step that expects participation from the user; hence, the user is more motivated to cooperate with the diagnosis and repair process. Although there are other approaches that attempt to diagnose HVAC systems remotely (without sending a technician to a user's home), they generally require significant instrumentation (with specially designed sensors). Note that, although the instrumentation may provide more accurate and rapid diagnosis, it tends to be more expensive and may not be readily available in many cases. Other diagnostic approaches that engage users often do not account for the cost of user participation. In contrast, FUEHS technology provides an online, interactive approach to diagnosis that takes into consideration the cost of user participation. More specifically, this approach focuses on the decision process. At each step, the system assures the users that they are required to invest in the diagnosis because the end result benefits the users. In contrast to instrumentation-heavy solutions, FUEHS uses little instrumentation a priori; instead, additional investigation, tests, and instrumentation are used only when there are compelling potential savings to HVAC performance.
FIG. 1 presents a diagram illustrating the architecture of an exemplary frugal user engagement help system (FUEHS), in accordance with an embodiment of the present invention. In FIG. 1, an FUEHS 100 includes a help server 102 that is coupled to homes 104, 106, and 108 via a network 110. In some embodiments, a home may include a smart meter that is capable of monitoring the performance of an HVAC system and communicating with help server 102. For example, home 104 is equipped with a smart meter 124, which couples to help server 102 via network 110. Note that network 110 may correspond to any type of wired or wireless communication channels capable of coupling together computing nodes, such as smart meters in customer homes (e.g., smart meter 124 in home 104) and help server 102. This includes, but is not limited to, a local area network (LAN), a wide area network (WAN), an enterprise's intranet, a virtual private network (VPN), and/or a combination of networks. In one or more embodiments of the present invention, network 110 includes the Internet. Network 110 may also include phone and cellular phone networks, such as a Global Systems for Mobile Communications (GSM) network or an LTE (long-term evolution) network. In some embodiments, network 110 can be used to gather data and to interact with the users, such as user 114 in home 104.
In some embodiments, a help system operator 112 may interact with users, such as a user 114 in home 104, using various communication techniques, such as telephone (wired or wireless), texting, online chatting, emailing, etc., in order to obtain information from the users and to instruct the users to take certain actions. For example, help system operator 112 may answer a service call from user 114. During the service call, help system operator 112 may, based on an optimization result of help server 102, instruct user 114 to check the airflow of a register of the HVAC system.
Before FUEHS 100 can start to diagnose a faulty product, initial background testing is needed to obtain baseline parameters associated with normal operation of the product. For example, the help system may need to learn the amount of energy an HVAC system consumes under normal working conditions. This background test can be performed by analyzing the smart meter data (either electric or gas). Note that, although the resolution of the smart meter data is often too low to support precise HVAC diagnosis, it provides sufficient information to identify bad trends that justify activation of the diagnostic process. In most cases, the background testing is an analytic operation performed by the provider of the help system, and does not engage or cost anything of the user.
Various analytical methods can be useful for deriving the baseline operating parameters of an HVAC system of a building. For example, the help system can disaggregate the smart meter data to separate the energy usage of the HVAC system from other loads within the building, or use the HVAC electric fan power as a proxy for gas consumption. In some embodiments, the background testing may involve modeling weather effects on the building, so that HVAC degradation can be distinguished from normal weather-related load changes (as hot days lead to an over-worked HVAC system). In some embodiments, the background testing can involve inferring the occupancy of the building, particularly the trend in occupancy, so that HVAC degradation can be distinguished from occupancy-related load changes (especially the effect of more people entering and leaving the building). In some embodiments, the background testing may involve filtering the data to look for degradation of the HVAC system when other energy consumption activity is minimal. For example, overnight data may be more relevant to HVAC operation. When there is no obvious degradation, the help system can determine the baseline operating parameters of the HVAC system in the building.
Upon completion of the background testing, the help system can begin to diagnose faulty or degraded customer systems, such as an HVAC system. Note that, when the HVAC system is operating normally, there is no need to activate the help process of the FUEHS, which involves user engagement. In some embodiments, activation of the help process can be triggered by a number of events, including but not limited to: receiving a user request, and detecting performance degradation and the expected savings resulting from fixing the degradation exceeding a threshold value. It is obvious that, when a user reports (either by calling or making an online request) a problem, the help process should be activated immediately in order to assist the user with diagnosis and/or repairs. On the other hand, as discussed previously, much progressive degradation of HVAC systems will go unnoticed, and can result in significant amounts of energy being wasted. For example, a clogged air filter may lead to lowered HVAC efficiency, and may be ignored by the user. In such a situation, the help process can be automatically triggered (without a service call from the user) if the FUEHS observes the problem and determines that the cost to fix the problem is much less than the potential savings to the user. Using the same air filter example, based on the smart meter data and the previously performed baseline testing, the help system may determine that there is a performance degradation of the HVAC and calculate how much the HVAC has degraded (e.g., by 10%). The FUEHS can also calculate the amount of savings that that can be achieved from fixing the degradation. When the amount exceeds a predetermined threshold value (such as a $100), the help process can be automatically activated. For example, the user may be contacted and asked to check whether the air filter is clogged.
In some embodiments, the FUEHS may periodically (e.g., on a daily or weekly basis) compute the expected net benefit to the user resulting from engaging the user to fix the problem; once the expected benefit is positive, the help process is activated. Note that, although this approach of repeatedly attempting to activate the help process can be computationally more expensive, it has the advantage of taking into account both the savings obtained from repairing the HVAC and the costs of engaging the user.
FIG. 2 presents a diagram illustrating the architecture of an exemplary help server, in accordance with an embodiment of the present invention. In FIG. 2, a help server 200 includes a data-receiving module 202, a data-analysis module 204, a trigger module 206, an action library 208, an optimization module 210, a user-engagement module 212, a termination module 214, and a transfer module 216.
Data-receiving module 202 is responsible for receiving data that is relevant to helping the user. For equipment that consumes utility delivered power (e.g., HVAC, refrigeration systems, etc.), the smart meter data is a good source of information. The data received by data-receiving module 202 may include other types of data, such as weather data or sensor data.
Data-receiving module 202 sends received data to data-analysis module 204 for analysis. Note that, although the received smart meter data cannot provide detailed information related to the current operating conditions of the HVAC system, by analyzing the smart meter data, data-analysis module 204 is able to extract the energy usage trend of the HVAC system. In some embodiments, data-analysis module 204 maintains a baseline profile for the HVAC system. The baseline profile may include the energy usage profile of the HVAC system during different kinds of weather or different seasons of the year. By comparing the current energy usage (or trend of the energy usage) with the baseline profile, data-analysis module 204 can identify certain abnormal (or “bad”) trends. A “bad” or abnormal trend may indicate performance degradation. For example, the baseline profile of an HVAC system may indicate that the energy usage gradually decreases as the seasons change from summer to fall. If data-analysis module 204 observes an upward energy usage trend during the same time period, it may infer that the HVAC is experiencing performance degradation. Data-analysis module 204 may also calculate to what extent the HVAC system has degraded. The output of data-analysis module 204, which can include the identified bad or abnormal trend, is then sent to trigger module 206.
Trigger module 206 determines, based on the output of data-analysis module 204, whether the help process should be activated. In some embodiments, trigger module 206 may evaluate the amount of money that can be saved if the HVAC degradation can be fixed, and determine whether such potential savings exceeds a threshold. If so, trigger module 206 activates optimization module 210 to determine an effective help process to address the degradation. In some cases, the help process engages the user (via user-engagement module 212) during the diagnosing process, and may possibly have the user fix the degraded HVAC system. Other events may also cause trigger module 206 to activate the help process. For example, trigger module 206 may receive a user request (forwarded by user-engagement module 212), and in response to such a request, trigger module 206 activates the help process.
Action library 208 stores a number of actions (user engagements) that can be applied during the help process. These actions are designed to elicit features of the building and the HVAC system, and to differentiate among different failures of the HVAC system. In some embodiments, an action can be specified with a number of features, including but not limited to: a protocol for interacting with the user, cost estimation, and a transformation of the belief representation of the system.
The protocol for interacting with the user specifies how the help system should engage the user. For example, the protocol may specify what questions to ask the user and what responses to collect from the user. The questions and responses facilitate gathering of new data that can be used for diagnosis. In some embodiments, the protocol for interacting with the user indicates the preferred communication channel, such as phone calls, text messages, emails, etc., for interacting with users.
The cost estimation represents the estimated cost of the user performing the action. In some embodiments, the cost may include the time spent by the user performing the action and the burden perceived by the user for performing the action. Note that the cost may be user-specific. For example, a particularly busy user may place more value on his time, and perceive a time-consuming action as a greater burden compared with a different user who has more leisure time. On the other hand, a user who is very sensitive to privacy may find answering the question about household occupancy burdensome. In some embodiments, estimating the cost of actions to a user may involve learning a model (which can be performed within user-engagement module 212) of the user's cost for participation in diagnosis. In some embodiments, the cost model can include a value of the user's time, as well as the user's preferences and skills in performing the actions. In some embodiments, the system allows the user to configure such a cost model. In some embodiments, the learning process happens concurrently with the diagnosis. The system gathers responses from the user while the user is performing the actions in order to establish a cost model. However, because of the need to interact lightly with the user, it might be simpler to ask the user to self-classify, choosing from among a few archetypes. For example, a user can identify himself as a handyman. The system can perform more powerful analytics (while it is not interacting with users) to learn the relevant characteristics of a few archetypes. In some embodiments, such self-identification can be achieved by the user completing a brief survey before or during diagnosis.
The transformation of the belief representation of the system indicates changes to the system based on the newly gathered data and any actions (such as replacing a component) that modify the system. Depending on the implementation of different fault-diagnosis algorithms, there are various belief representations of the system. In some embodiments, the fault-diagnosis process involves using a dependency matrix (D-matrix) or a diagnostic inference model (DIM) to capture the relationship between test outcomes and diagnosis. In such scenarios, the diagnostic system will have potential diagnoses (d1, d2, d3, . . . ), actions or tests (t1, t2, t3, . . . ), and implications ditj. An implication ditj means that diagnosis di will be detected by test tj. If test tj is not true, then diagnosis di can be eliminated. Hence, assuming single fault, a suitable “belief representation” of the system is the set D of remaining possible diagnoses. The initial D includes all possible diagnoses D←(d1, d2, d3, . . . ). One or more of the possible diagnoses may be considered “normal,” and do not require repairs. For an action that corresponds to test tj, the transformation of the belief representation (D) is specified as the set of diagnoses that imply tj; that is, all di such that ditj. Note that there may be more than one diagnosis in the set Dj. If tj is false, the transformation of D consists of deleting certain diagnoses from the initial belief representation: D←D−D∩Dj.
Other diagnosis algorithms may require different belief representations. For example, a Bayesian approach to system identification might use a belief representation that includes the current prior distribution of parameters in the model. For example, the D-matrix described in the previous paragraph may be modified so that the belief update rule is a Bayesian update. More generally, a POMDP (partially observable Markov decision process) approach to diagnosis may use a belief representation b=(b1, b2, b3, . . . ) that is a vector of current probabilities corresponding to the potential diagnoses (d1, d2, d3, . . . ). Other diagnosis approaches are also possible.
There are many actions stored in action library 208. Depending on the actual tasks performed by the user, some can be categorized as survey actions, research actions, experiment actions, and repairing/replacing actions. Moreover, depending on the tools that the user used for performing the actions, some actions are categorized as smartphone actions and actions requiring temporary instrumentation. There are also delaying-to-learn-more actions and provider actions.
A survey action entails asking the user one or more survey questions (by mail, phone or through a smartphone app). The questions that might be useful for HVAC diagnosis include such topics as: changes in occupancy (the arrival of a new baby, or long-term visitors); number of rooms in the building; typical thermostat settings; and kind of HVAC system. In most cases, these questions can be answered easily by the user. One or more questions may be asked as part of a single action. There are tradeoffs between the survey length and frequency. For example, the system can ask only the most relevant questions each time it surveys the user, which may result in more surveys being needed to achieve a correct diagnosis. Alternatively, the system may survey the user less frequently by batching together questions that might arise in the future. In some embodiments, both single and batch surveys can be registered in the action library (with appropriate costs), and the most beneficial strategy will be chosen by optimization module 210 when it performs the decision-theoretic optimization.
A research action asks the user to investigate a certain aspect of the HVAC system, his home, or the environment. Unlike a survey action, where the user might know the answer immediately, a research action typically requires more investigative effort from the user, such as: measuring the outside dimensions of the home, observing shading patterns, counting HVAC registers, checking whether a motor is hot, etc. In action database 208, these actions are often associated with higher costs to the user and, thus, will be used more carefully by the FUEHS.
An experiment action asks the user to perform a simple test, such as an airflow test, a thermal load test, or an HVAC stress test. To perform the airflow test, a user may be asked to place a tissue on a register, and observe whether HVAC activation disturbs the tissue. To perform the thermal load test, a user may be asked to change the blinds from open to closed, and to text a message when the blinds are changed. To perform the stress test, the user may be asked to turn up the thermostat by 4 degrees for two hours, and to text when the thermostat is changed.
A repairing/replacing action asks the user to perform certain simple repair or replacement tasks. For example, a user may be asked to replace an air filter or other components in the HVAC system. Note that sometimes trying the remedy may be the most cost-effective way of testing for a fault. When a repair is used as an action, a delaying-to-learn-more action is appended in order to determine success. In some embodiments, one or more simple repairs can be combined into one action.
Smartphone actions refer to actions that require a smartphone, more specifically the various components on the smartphone, such as camera, GPS, and microphone. For example, certain research actions may ask the user to photograph the HVAC nameplate (obtaining the model number), the outdoor shading on the roof, or the thermostat (during an experiment). A smartphone action may involve the user walking the perimeter of his house (estimating square footage from GPS tracks) or using GPS tracking to estimate occupancy. Another action may involve the user recording sounds of the HVAC system, or airflow at the registers.
Certain actions require specialized instruments. To facilitate such actions, the user is loaned additional sensing equipment, such as: RFID temperature tags, add-on sensors for his phone, and Wi-Fi-enabled temperature and power monitors.
The delaying-to-learn-more actions are similar to the initial background testing. A delaying-to-learn-more action typically includes an additional interval of time to wait for more data for the analytics to improve. For example, weather patterns can be used to predict the rate of occurrence of unusual stress events (e.g., very windy cold days, or hot days with no sun) that will improve the data set beyond the initial set used in the initial background testing. The cost of a delaying-to-learn-more action may include additional degraded operation of the HVAC system, which is balanced by less interaction with the user. In some embodiments, the diagnostic system may rely on weather predictions, such as the prediction of the occurrence of specific weather conditions (particularly hot or cold days) to determine whether a delaying-to-learn-more action could benefit the diagnosis system. In other words, the diagnosis system may determine that it is beneficial to “sleep” while waiting for new data that can be gathered on an extremely hot day, which can be a few days later. Hence, instead of asking the user to take certain actions now, the system temporarily pauses, not engaging the user but relying on background data gathering to make progresses.
Provider actions are actions that are performed by the provider of the help system. For example, the provider might use the cell phone app's location to select and analyze satellite imagery of the building.
In some embodiments, action library 208 can be both expanded and pruned. As operators of a call center discover ways to help users with new problems, new actions can be added to action library 208. Moreover, depending on the diagnostic algorithm, various methods can be used to reduce the size of action library 208 and the complexity of diagnosis computation. For example, using logical analysis, D-matrix tests that can be “covered” by less expensive tests may be deleted from action library 208. Statistical methods can also be used to delete actions that are seldom beneficial, based on data from model-based simulations or from actual usage.
Optimization module 210 is responsible for performing the diagnosis and running a decision-theoretic optimization during the diagnostic process. In other words, at each step of the diagnostic process, a decision is made to optimize the benefit to the user. Note that such decision-theoretic optimization takes into account the cost to users associated with the actions. Various approaches to diagnosis can be used, such as a D-matrix approach or POMDPs.
In some embodiments, the FUEHS uses a POMDP for diagnosis, and optimization module 210 performs a decision-theoretic optimization for a POMDP, represented as a 7-tuple: (S,A,T,R,O,Ω,b0), with each component explained in detail below.
S is the set of states. In the example of HVAC diagnosis, S may include faults and other operating modes of the HVAC system. In some embodiments, states can correspond to multiple faults, or combinations of faults with operating modes of the system. Alternatively, a factored representation may be used for multiple faults. For simplicity, it is assumed here that there is a single normal operating state s0, and each of the other states si corresponds to a single fault di, although it will be understood that this may be expanded to include multiple faults.
A represents a set actions, as described previously.
T indicates the transition probabilities. More specifically, T(s′|s,a) is the conditional probability that action a will cause a transition from state s to s′. In the HVAC diagnostic problem, most of the actions simply observe the state of the system. In other words, if the system is in state si indicating fault di, then it will still have that fault after the action. The action may refine our belief about the state, but it will not change the state. Some actions may temporarily modify the operating mode of the system. For example, the action of raising the thermostat changes the operating mode of the HVAC. For simplicity, it is assumed that such actions just increase the probability of the current state. Some actions will attempt to fix a problem. If the fault is corrected, then S will transition into a normal operating state s0, which is also identified as a terminal state.
R is the “reward” to the user. More specifically, R(s,a) indicates the reward for taking action a in state s. In HVAC diagnosis many of the rewards are slightly negative, corresponding to the cost of the user performing the action. However, once a problem is diagnosed and fixed, a positive reward can be achieved. Optimizing R means that the cheapest (least cost) way is used to reach a diagnosis.
O is the observation of the actions. O(o|a,s′) is the conditional probability of observation o as action a transitions to state s′. In the HVAC diagnosis problem, each action a will have two or more observations o, depending on the state of the system. For practical reasons, given that a user is performing the action, it is beneficial to have “inconclusive” outcomes among the possible observations.
Ω is the space of possible observations. oεΩ.
b0 is a vector of probabilities, one for each state in S. It is the initial belief about the state of the POMDP. In the HVAC diagnosis problem b0 might be the a priori probabilities of the faults.
The classic approach to solving POMDPs is to reduce them to a Markov Decision Problem (MDP) over a belief space consisting of vectors of probabilities (b=(b1, b2, b3, . . . )) that the POMDP is in the corresponding states (s1, s2, s3, . . . ). A solution to a POMDP finds an optimal policy, which prescribes the best action for each belief state. In some embodiments of the present invention, optimization module 210 solves the MDP by value iteration. Note that the best action can be the action that leads to a diagnosis that is the least-cost to the user.
Unfortunately, the size of the representation of the value function can grow exponentially, making it notoriously difficult to solve POMDPs for all but the smallest state spaces. In some embodiments, the system may use a variety of point-based value iteration (PBVI) methods to solve the POMDPs. These methods avoid the potentially exponential growth of the representation of the value function by using heuristic methods to select a subset of points where the value function is represented. Nearby points have lower fidelity representations than a single point, so the solution is only an approximation. However this heuristic approach to solving POMDPs has made the POMDPs much more practical. It will be understood that there are a variety of approximation methods that may be applied to approximate the solution of a POMDP, and that formulation of the problem as a POMDP has benefits even when it is not solved exactly.
In the value iteration approach, the policy (best action) is implicitly represented in the value function, i.e., the best action can be determined by comparing the expected value of the actions using the computed values of their next states. This solution allows additional flexibility in interacting with the user. The user may be presented with more than one possible action to perform next (e.g., the best, the second-best, and the third-best actions) to allow the user flexibility. Likewise, with slight loss of optimality the system may enforce external constraints during action selection (e.g., not asking the user to repeat an action, to avoid frustration, even when it's the best action).
The output of optimization module 210, which can include the determined optimal action, is sent to user-engagement module 212, which interacts with and engages the user during the diagnostic process. In some embodiments, user-engagement module 212 may interact with the user via phone, text, email, or online chatting in order to instruct the user to perform certain actions. Note that, during a diagnostic process, it is particularly important that the user remain engaged with the help system. This is accomplished fundamentally by making each action have a positive expected value for the user, i.e., the expected benefit of fixing the degraded system exceeds the costs to the user of the actions performed. While this is a fundamental property of FUEHS and is ensured by optimization module 210, it may be helpful to give the user continuous indication of this expected benefit. Such continuous indication is often provided to the user via user-engagement module 212.
For many users the concept of an “expected” benefit may not be intuitive or easy to understand. Note that even with a positive expected benefit roughly half the time the operation of the system will result in less than its expected benefit. In some embodiments, to make it easy for users to apprehend the expected benefit, user-engagement module 212 presents to the user representative examples of the possible operation of FUEHS. For example, rather than telling a user that the expected benefit of action ak is $300, user-engagement module 212 may present the user with an example: the suggested action ak can help distinguish a simple repair you can do yourself, such as cleaning the filters, with a benefit of $600, from a service call with a net benefit of $200. Note that, while such an example may not give a precise explanation to the user (for example, it may not explain why ak is better than another action am), it may be easier for the user to appreciate.
In some embodiments, during the diagnostic process, upon determination by optimization module 210 of an optimal action, user-engagement module 212 extracts an “explanation of the expected benefit” from optimization module 210. The extraction procedure will depend on the diagnostic approach used by optimization module 210. For example, an explanation based on informative scenarios (such as the previous example) can be computed using Monte Carlo sampling from the solution of a POMDP. A plurality of scenarios can be generated by sampling paths through the solution of the POMDP, using the optimal policy for choice of actions and drawing randomly from T and O to determine transitions and observations. User-engagement module 212 can then select a few illustrative samples using one or more of the following methods in combination:

    
    
        1) Select samples that illustrate different possible observations resulting from the current action. These samples will show the user how the next action might affect the outcome.
        2) Using the distribution obtained from the Monte Carlo sampling, present examples with benefits at roughly ±σ (variance) in the distribution, to better illustrate to the user the outcome and its uncertainty.
        3) Modify the sampling to favor more likely transitions and observations to find more common and representative samples.
    
    


These approaches to explanation, while less mathematically informative than the expected value, the variance, and the value at risk, can be more concrete and easier for the user to comprehend.
Also note that an action can incur different costs to the provider and the user of the help system. Moreover, there are different rewards (expected benefits) to the provider and user. The FUEHS focuses primarily on treating the user optimally with respect to their cost-benefit, to motivate them to use the system, and to provide a better help system experience. Therefore, optimization module 210 primarily optimizes operations based on the user's costs and rewards. However, it should be understood that the provider's optimization criteria may be appropriately weighted and incorporated into the objective of the optimization.
When the provider has significant rewards for successful diagnosis (e.g., a utility company, under “decoupling” policies in many states, can potentially profit from prompting successful energy savings activity of its customers), it may benefit the provider to offer additional incentives to the user to keep the user engaged during the diagnostic process. This can be adapted to the current state of the diagnosis. For example, in situations where the user's cost-benefit might be weaker (such as the net benefit being less than a threshold value), and his motivation is lagging, an additional incentive can help complete the diagnosis. In some embodiments, the incentive may be in the form of a rebate to utility bills. In some embodiments, optimization module 210 adjusts the rebate value based on the current state of the diagnosis. If the decision-theoretic diagnosis process (run by optimization module 210) predicts that the subsequently required actions provide less benefit to the user, then optimization module 210 can adjust the rebate value upward. User-engagement module 212 conveys the incentive (rebate) to the user at an appropriate time to motivate the user to perform the actions required for diagnosis.
Termination module 214 is responsible for terminating the diagnostic process. In some embodiments, termination module 214 terminates a process in response to the system reaching a diagnosis of the problem that a user can self-repair. For HVAC diagnosis, this would include such things as: cleaning filters, adjusting registers, defrosting external coils, and improving normal airflow near thermostats. In some embodiments, FUEHS includes these repairs as actions in the system, and can try them early in the process to avoid more costly service calls. Termination module 214 may also terminate a diagnostic process by recommending that professional service be called. This may occur when there are still multiple possible diagnoses, even possibilities of user repair, simply because the decision-theoretic optimization run by optimization module 210 determines that the cost-benefit of additional diagnosis is less than a service call. It is also possible for termination module 214 to halt the diagnostic process without suggesting any repair. For example, the HVAC system may have faults, but the degradation is small enough that it is not worth diagnosing at the present time. Note that, while this appears similar to the previously described “delaying-to-learn-more” action, the difference here is that it terminates the FUEHS diagnostic process. When this termination occurs, modifications to the trigger condition for FUEHS must be made to prevent the FUEHS from starting again too soon. Also, as part of the termination, results from certain actions may be archived for future FUEHS processes.
When the diagnostic system terminates with the suggestion that the user call professional HVAC service, transfer module 216 can transfer useful information to the service technician. In some cases the diagnostic system has identified a single fault that requires professional service. This fault can be suggested to the technician. However, it is much more likely that the diagnostic system will terminate with multiple fault possibilities, because the diagnostic process will stop when actions get costly and fewer problems can be fixed by the user. With multiple possibilities, it is unlikely that simply transferring the internal belief representation will be helpful to the service technician. In some embodiments, before transferring the useful information to the service technician, transfer module 216 extracts an “explanation of the belief state,” and then transfers such explanation to the service technician.
The explanation of the belief state may take various forms. If the diagnostic approach is the previously described POMDP, then an explanation of the belief state might be formed by listing (as likely faults) all di with high probability bi. For each such di, the currently completed diagnostic steps (current path) can be traced to identify the largest jump, where bi increased the most along the path. The action that causes the jump is then reported next to bi as a plausible explanation for why di might be likely. In this way, the most compelling evidence for the diagnosis can be selected. In addition, the explanation might also list unlikely diagnoses, which may include dj with low probability bj along with the action that causes the largest decrease in bj. Different diagnostic approaches will require different extraction procedures. For example, the D-matrix approach can form explanations by listing one or more actions that either excluded or included the diagnosis.
FUEHS Diagnosis Process
FIG. 3 presents a flowchart illustrating an exemplary diagnosis process, in accordance with an embodiment of the present invention. During operation, the help system first performs initial background testing by collecting and analyzing measurement data associated with the product that needs help (operation 302). Note that if the product is an HVAC system, the measurement data can include smart meter data. The initial background testing can be essential in determining the baseline energy-usage profile of the HVAC system. Subsequently, the help system continuously receives smart meter data (operation 304), and waits for the trigger condition to be met (operation 306). In some embodiments, the trigger can include a user request, such as a service call. Moreover, the help system may compare current smart meter data with the baseline energy-usage profile (obtained via background testing) in order to identify bad or abnormal trends of the HVAC system. Such a trend often indicates degradation of the HVAC system. The help system can then estimate the amount of savings that can be achieved by fixing the degradation. If such savings exceeds a threshold, the trigger condition is met. Alternatively, the help system may estimate the net benefit to the user. If the net benefit is positive, the trigger condition is met, and the help system starts an FUEHS diagnostic process.
At the beginning of the FUEHS diagnostic process, the help system performs a decision-theoretic optimization to select, from an action library, an optimal action (operation 308). In some embodiments, the optimal action is chosen to maximize the overall benefit to the user. Note that, to do so, the help system takes into consideration both the end result as well as the cost to the user of actions taken. Various diagnostic approaches may be used by the help system, including but not limited to: D-matrix, POMDP, Bayesian networks, system identification, the general diagnostic engine, particle filtering, and any combination thereof. Depending on the diagnostic approach, the decision-theoretic optimization may be performed differently. In some embodiments, heuristic approaches, such as a PBVI method, are used to solve the POMDP optimization problem.
In some embodiments, the help system may determine, based on the optimization outcome, that it is beneficial to halt the system (adopt a delaying-to-learn-more action) for a predetermined time. In further embodiments where an HVAC system is being diagnosed, such a determination may involve obtaining a weather forecast, and waiting for an appropriate weather condition (such as extremely hot or cold days) in order to gather new data under that weather condition. For example, to help system may learn that, based on whether forecast, the atmosphere temperature will be over 90° F. next week, and determines to halt operations until next week. In some embodiments, the help system may halt operations indefinitely until a certain condition (such as the atmosphere temperature being over a threshold value) is met.
Once an action that involves user engagement is chosen, the help system interacts with the user to instruct the user to perform such an action (operation 310). Most actions are lightweight, requiring little effort or skill from the user. Note that, although these lightweight actions may not be precise enough to be systematically used as HVAC diagnostic tools by technicians or customers, when used selectively in combination with the FUEHS, they contribute to overall improvement in diagnostic efficiency.
After the action has taken place, the help system observes the outcome of the action (operation 312). Note that if the action itself is for the user to observe the current status of the system, such as the settings of the thermostat, the help system receives the user report as the outcome of the action.
Based on the outcome of the action, the help system determines whether a termination condition is met (operation 314). The help system terminates under a number of scenarios, such as when a diagnosis is achieved and a simple repair from the user can fix the problem, or when a diagnosis is achieved and the user is asked to contact a professional service technician to fix the problem. Alternatively, the FUEHS process may also be terminated if the optimization determines that, even if there are still multiple possible diagnoses, the cost benefit to the user for continuing the diagnostic process is less than the cost of a service call. Moreover, the help system may also terminate if it finds that the degradation is small enough to not be worth diagnosing at present. If so, the system terminates without recommending repair or contacting service technicians. If no termination condition is met, the help system continues the diagnostic process by running the optimization to determine the next suitable action (operation 308).
If a termination condition is met, the help system may optionally transfer useful information to the service technician (operation 316). This usually happens when the help system recommends contacting service technicians, either after a diagnosis is reached or when there are still multiple possible diagnoses. The system then terminates the FUEHS process (operation 318). Note that when terminating the help system, results from certain actions may be archived in the help system for use of future FUEHS operations.
Computer and Communication System
FIG. 4 illustrates an exemplary computer and communication system for implementing a frugal user engagement help system (FUEHS), in accordance with one embodiment of the present invention. In one embodiment, a computer and communication system 400 includes a processor 410, a memory 420, and a storage device 430. Storage device 430 stores an FUEHS application 432, as well as other applications, such as applications 434 and 436. During operation, FUEHS application 432 is loaded from storage device 430 into memory 420 and then executed by processor 410. While executing the program, processor 410 performs the aforementioned functions. Computer and communication system 400 is coupled to an optional display 440, keyboard 460, and pointing device 470. Computer and communication system 400 is coupled to a network 450.
The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. The computer-readable storage medium includes, but is not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), DVDs (digital versatile discs or digital video discs), or other media capable of storing computer-readable media now known or later developed.
The methods and processes described in the detailed description section can be embodied as code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium.
Furthermore, methods and processes described herein can be included in hardware modules or apparatus. These modules or apparatus may include, but are not limited to, an application-specific integrated circuit (ASIC) chip, a field-programmable gate array (FPGA), a dedicated or shared processor that executes a particular software module or a piece of code at a particular time, and/or other programmable-logic devices now known or later developed. When the hardware modules or apparatus are activated, they perform the methods and processes included within them.
The foregoing descriptions of various embodiments have been presented only for purposes of illustration and description. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention.

## Claims

1. A method for providing assistance to a user of a product in diagnosing faults in the product, comprising:
receiving, at a help server, data associated with current and/or past operation of the product;
performing an optimization to determine a sequence of diagnostic user actions that is expected to maximize a net benefit to the user, wherein the sequence of diagnostic user actions includes one or more of:
a test associated with the product's operation; and
a research action to investigate an aspect of the product or its environment; and
wherein the net benefit to the user accounts for costs to the user for performing a respective diagnostic action and savings to the user for correcting the faults;

presenting the sequence of diagnostic user actions to the user;
receiving a response from the user; and
diagnosing, by the help server, based on the user's response, a likely fault in the product.

2. The method of claim 1, further comprising:
performing an initial testing to determine a baseline operating profile of the product; and
comparing the received data associated with the current and/or past operation of the product to determine whether the product is degraded.

3. The method of claim 1, wherein the product includes a heating, ventilation, and air conditioning (HVAC) system, and wherein performing the optimization involves:
obtaining a weather prediction; and
based on the obtained weather prediction, including in the determined sequence of actions a delaying-to-learn-more action that delays the interaction with the user for a predetermined time.

4. The method of claim 1, wherein the sequence of diagnostic actions further includes a survey action asking the user one or more survey questions.

5. The method of claim 1, wherein maximizing the net benefit to account for costs to the user further comprises estimating the cost to the user for performing the at least one task, wherein the estimated cost includes a value for time spent by the user performing the action, based on one or more of:
learning a cost model associated with the user, wherein the cost model specifies how the user values his time and the user's preference and skills;
asking the user to self-classify; and
asking the user to answer a set of questions.

6. The method of claim 1, further comprising:
providing additional incentives including a rebate to the user in response to the optimization determining that the maximized net benefit to the user is less than a predetermined threshold;
responsive to predicting that a subsequent required action will provide less benefit to the user, increasing a value of the rebate; and
conveying the rebate to the user to motivate the user to perform the actions required for diagnosis.

7. The method of claim 1, wherein presenting the sequence of diagnostic user actions to the user further involves presenting to the user explanations of the net benefit, thereby motivating the user to perform the at least one task.

8. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for providing assistance to a user of a product in diagnosing faults in the product, the method comprising:
receiving, at a help server, data associated with current and/or past operation of the product;
performing an optimization to determine a sequence of diagnostic user actions that is expected to maximize a net benefit to the user, wherein the sequence of diagnostic user actions includes one or more of:
a test associated with the product's operation; and
a research action to investigate an aspect of the product or its environment; and

wherein the net benefit to the user accounts for costs to the user for performing a respective diagnostic action and savings to the user for correcting the faults;
presenting the sequence of diagnostic user actions to the user;
receiving a response from the user; and
diagnosing, by the help server, based on the user's response, a likely fault in the product.

9. The computer-readable storage medium of claim 8, wherein the method further comprises:
performing an initial testing to determine a baseline operating profile of the product; and
comparing the received data associated with the current and/or past operation of the product to determine whether the product is degraded.

10. The computer-readable storage medium of claim 8, wherein the product includes a heating, ventilation, and air conditioning (HVAC) system, and wherein performing the optimization involves:
obtaining a weather prediction; and
based on the obtained weather prediction, including in the determined sequence of actions a delaying-to-learn-more action that delays the interaction with the user for a predetermined time.

11. The computer-readable storage medium of claim 8, wherein the sequence of diagnostic actions further includes a survey action asking the user one or more survey questions.

12. The computer-readable storage medium of claim 8, wherein maximizing the net benefit to account for costs to the user further comprises estimating the cost to the user for performing the at least one task, and wherein the estimated cost includes a value for time spent by the user performing the action, based on one or more of:
learning a cost model associated with the user, wherein the cost model specifies how the user values his time and the user's preference and skills;
asking the user to self-classify; and
asking the user to answer a set of questions.

13. The computer-readable storage medium of claim 8, wherein the method further comprises providing additional incentives including a rebate to the user in response to the optimization determining that the maximized net benefit to the user is less than a predetermined threshold;
responsive to predicting that a subsequent required action will provide less benefit to the user, increasing a value of the rebate; and
conveying the rebate to the user to motivate the user to perform the actions required for diagnosis.

14. The computer-readable storage medium of claim 8, wherein presenting the sequence of diagnostic user actions to the user further involves presenting to the user explanations of the net benefit, thereby motivating the user to perform the at least one task.

15. A computer system for providing assistance to a user of a product in diagnosing faults in the product, comprising:
a processor; and
a storage device coupled to the processor and storing instructions which when executed by the processor cause the processor to perform a method, the method comprising:
receiving, at a help server, data associated with current and/or past operation of the product;
performing an optimization to determine a sequence of diagnostic user actions that is expected to maximize a net benefit to the user, wherein the sequence of diagnostic user actions includes one or more actions that require the user to perform at least one task, of:
a test associated with the product's operation; and
a research action to investigate an aspect of the product or its environment; and

wherein the net benefit to the user accounts for costs to the user for performing a respective diagnostic action and savings to the user for correcting the faults;
presenting the sequence of diagnostic user actions to the user;
receiving a response from the user; and
diagnosing, by the help server, based on the user's response, a likely fault in the product.

16. The computer system of claim 15, wherein the method further comprises:
performing an initial testing to determine a baseline operating profile of the product; and
comparing the received data associated with the current and/or past operation of the product to determine whether the product is degraded.

17. The computer system of claim 15, wherein the product includes a heating, ventilation, and air conditioning (HVAC) system, and wherein performing the optimization involves:
obtaining a weather prediction; and
based on the obtained weather prediction, including in the determined sequence of actions a delaying-to-learn-more action that delays the interaction with the user for a predetermined time.

18. The computer system of claim 15, wherein the sequence of diagnostic actions further includes a survey action asking the user one or more survey questions.

19. The computer system of claim 15, wherein maximizing the net benefit to account for costs to the user further comprises estimating the cost to the user for performing the at least one task, and wherein the estimated cost includes a value for time spent by the user performing the action, based on one or more of:
learning a cost model associated with the user, wherein the cost model specifies how the user values his time and the user's preference and skills;
asking the user to self-classify; and
asking the user to answer a set of questions.

20. The computer system of claim 15, wherein the method further comprises providing additional incentives including a rebate to the user in response to the optimization determining that the maximized net benefit to the user is less than a predetermined threshold;
responsive to predicting that a subsequent required action will provide less benefit to the user, increasing a value of the rebate; and
conveying the rebate to the user to motivate the user to perform the actions required for diagnosis.

21. The computer system of claim 15, wherein presenting the sequence of diagnostic user actions to the user further involves presenting to the user explanations of the net benefit, thereby motivating the user to perform the at least one task.