Embodiments are directed to providing users of tax preparation applications with personalized interview experiences.
Embodiments are directed to determining whether a certain tax situation or topic applies to a user by asking a subset of a set of questions that would normally be asked of the user to reach the same conclusion.
Certain embodiments are directed to generating different kinds of rules that are selectively executed in view of a user's answers to presented questions to invalidate at least one generated rule, eliminate at least one question associated with an invalidated rule, and determine which question to present to a user for determining whether a tax situation or topic applies to the user in view of generated rules that were not invalidated.
Certain embodiments are directed to transforming sequence-dependent data structures into sequence independent rules that can be executed to select various questions for presentation to the user in various sequences based in part upon how the user responds to questions rather than being constrained or limited by pre-determined sequences of sequence dependent data structures.
Certain embodiments are directed to eliminating or invalidating rules that are generated according to embodiments when user inputs or answers provided by the user are insufficient to execute a generated rule to make a determination or conclusion regarding whether a tax topic or question applies to the user, thus reducing the number of generated rules that may be subsequently selected for execution to determine whether a tax situation or topic applies to a user of a tax preparation application.
Certain embodiments are directed to executing multiple transformations of representations of questions and answers pertaining to a tax situation or topic in order to generate multiple rule sets. Generated rule sets are used to eliminate questions that can be asked, select a question from a set of remaining questions based on application of generated rules, leading to eventual execution of a generated rule that results in a determination of whether the tax situation or topic applies to the user.
Certain embodiments are directed to generating personalized interview experiences for users of a tax preparation application utilizing generated decision rules and generated meta rules based on or derived from generated decision rules. A decision rule generated according to embodiments comprises or specifies elements, inputs, operands or conditions that must be satisfied before that decision rule can be executed to make a determination whether a tax situation or topic is applicable to the user. Meta rules are rules about or derived from the decision rules. Meta rules may be used to invalidate decision rules such that corresponding questions are not available to be selected for presentation to the user, and identify which elements are required for a decision rule to execute in order to determine which question to select for presentation to the user.
Certain embodiments are directed to generating personalized interview experiences for users of a tax preparation application by employing a rule-based method and system in which one or more rules and are invalidated such that at least one question that would normally be presented to the user according to a pre-determined sequence (e.g., according to a pre-defined tree structure or flow chart utilized by the tax preparation application) is not presented to the user.
Certain embodiments are directed to generating multiple rule sets including decision and meta rule sets, each metal rule set including at least one meta rule utilized to invalidate at least one decision rule such that a question corresponding to the invalidated decision rule that would normally be presented to the user according to a pre-determined order or sequence (e.g., of a tree structure or flow chart) is not presented to the user. According to embodiments, if a decision rule is not executed, it may be invalidated and eliminated from subsequent consideration by a meta data rule to narrow or focus which decision rule should be selected and executed next. Rule execution, decision rule invalidation, selection of the next rule and execution of the next rule can be repeated as additional user input is received until a remaining decision rule is eventually executed resulting in determining whether a tax situation or topic applies to the user.
The sequence of questions selected utilizing rules generated according to embodiments may be different compared to the sequence of questions specified by a pre-determined sequence of questions of a fixed or static tree structure, a flow chart or a directed graph based thereon. Further, according to embodiments, certain generated rules may be executed to invalidate or eliminate at least one other generated rule and eliminate one or more questions that would have otherwise been asked of the user according to the pre-determined sequence. Thus, embodiments may involve asking only certain questions reflected in the tree structure, flow chart or directed graph, and doing so in a sequence that differs from pre-determined sequences defined by those data structures. This may be due to one or more generated rules being executed to eliminate or skip over one or more questions that would have otherwise been presented to the user according to a pre-determined sequence.
Embodiments provide for transforming data structures defining pre-determined sequences of questions and answers into independent rules used to generate rules and that can be used to select various questions in various sequences so as to not be constrained by pre-determined sequences from which they were derived. Further, by executing certain generated rules to invalidate certain other generated rules, the scope of questions associated the remaining subset of potentially executable rules is reduced or narrowed.
One embodiment is directed to a computer-implemented method for generating a personalized interview experience for a user of a tax preparation application for determining whether a tax return topic applies to the user. The method comprises a computer receiving first user input in response to a first question presented to the user and determining whether at least one generated rule of a first rule set is executable utilizing the first user input in order to determine whether the tax return topic is applicable to the user. When no generated rule of the first rule set can be executed using the first user input, at least one generated rule of the first rule set is invalidated by executing of at least one generated rule of another rule set. Otherwise, when at least one generated rule of the first rule set can be executed, that generated rule is executed to determine whether the tax return topic is applicable to the user.
A further embodiment is directed to a computer-implemented method for generating a personalized interview experience for a user of a tax preparation application for determining whether a tax topic applies to the user and comprises generating a plurality of decision rules. Decision rules are based at least in part upon a first representation of questions pertaining to the tax return topic. Execution of each decision rule generates a result indicative of whether the tax topic applies. A plurality of meta-level rules is generated based at least in part upon the plurality of decision rules. The method further comprises the computer determining whether at least one decision rule can be executed based on a first user input provided in response to a first question presented to the user. When no decision rule can be executed based on the first user input, the computer executes at least one meta rule to invalidate at least one decision rule thereby resulting in a first subset of decision rules, and determining a second question to select and present to the user based at least in part upon at least one other meta rule involving at least one decision rule of the subset. Otherwise, the at least one decision rule is executed to determine whether the tax topic applies to the user.
A further embodiment is directed to a computer-implemented method for generating a personalized interview experience for a user of a tax preparation application for determining whether a tax topic applies to the user and comprises a computer generating a first rule set based at least in part upon a first representation of questions pertaining to the tax topic. The method further comprises the computer generating second and third rule sets based at least in part upon the generated first rule set. The method further comprises the computer receiving a first user input in response to a first question presented to the user and determining whether any rule of the first rule set can be executed based on the first user input. If not, at least one rule of the second rule set to invalidate at least one rule of the first rule set, thereby resulting in a first subset of the first rule set. The method further comprises the computer determining a second question to present to the user based at least in part upon at least one rule of the third rule set involving at least one rule of the first subset. Otherwise, when it is determined that a rule of the first rule set can be executed, that rule is executed and generates a result indicative of whether the tax topic applies to the user.
Other embodiments are directed to articles of manufacture or computer program products comprising a non-transitory computer readable medium comprising one or more instructions which, when executed by a computer, causes the computer to execute a process for generating a personalized interview experience for a user of a tax preparation application for determining whether a tax topic applies to the user.
Yet other embodiments are directed to systems for determining which questions to present to a user of a tax preparation application or determining whether a tax topic applies to the user. System embodiments may comprise or involve a computer configured to execute method embodiments, by execution of a personalization module that is in communication with an interface manager, a rule engine and one or more data stores for a fact cache for storing user input or responses and generated rules. For example, the personalization module is configured to generate a first rule set, or a decision rule set, based at least in part upon a first representation of questions pertaining to the tax topic. The first representation may be a decision table derived from or based on a directed graph, which is derived from or based on a flow chart of questions and answers for a tax situation or topic. The personalization module also generates a second rule set and a third rule set, both of which are meta rule sets, based at least in part upon the generated first rule set. The personalization module is configured to present questions selected by execution of generated rules and receive answers from the user of the tax preparation application. The personalization module is also configured to process user inputs or answers to determine whether any decision rule of the first rule set can be executed based on the first user input. If not, the rule engine executes at least one rule of the generated second rule set to invalidate at least one rule of the generated first rule set resulting in a first subset of the first rule set. The personalization module is configured to determine a second question to present to the user based at least in part upon at least one rule of the third rule set involving at least one rule of the first subset. Otherwise, when a decision rule of the first rule set can be executed, the rule engine executes that rule and generates a result indicating whether the tax topic applies to the user.
In a single or multiple embodiments, the first representation utilized to generate the plurality of decision rules is a decision table. Each decision rule is executable to generate a result indicating whether the tax topic applies to the user. According to one embodiment, respective rules of the first rule set are based on respective rows of the decision table. A generated rule of the first rule set is generated for each row of the decision table such that a number of rows in the table may be the same as a number of rules in the first rule set.
The decision table may be received by the computer or rule invalidation module and subsequently processed, or generated thereby, e.g., based at least in part upon a second representation of questions pertaining to the tax topic such as a directed graph. In the directed graph, which may also be generated by the computer, a beginning node and intermediate nodes correspond to respective questions, inter-node connections correspond to respective answers to respective questions, and a terminal node of the directed graph is a result node indicating whether the tax topic applies to the user. The directed graph may be derived from or based at least in part upon a third representation of questions pertaining to the tax topic such as a flow chart. The flow chart includes a pre-determined, static sequence of questions or decision blocks and respective answers. Beginning and intermediate nodes of the directed graph are based on respective questions or decisions blocks of the flow chart, and respective connections of the directed graph are based on respective answers to respective questions or decision blocks of the flow chart.
In a single or multiple embodiments, each rule of the selected first subset following invalidation of at least one rule of the first rule set is a rule that cannot be executed based only upon inputs received thus far, but may potentially be executed later based at least in part upon the received first user input and at least one other user input.
In a single or multiple embodiments, the second generated rule set and the third generated rule set, as meta data rules about the generated first rule set, do not include any rule that is executable to generate a result indicating whether the tax topic applies to the user. The second rule set comprises a first meta data rule set based at least in part upon the first rule set, and the third rule set comprises a second meta data rule set based at least in part upon the first rule set.
In a single or multiple embodiments, rules of the first meta rule set are based at least in part upon inverses of respective elements of respective rules of the first rule set. According to embodiments, the computer parses rules of the first rule set to determine respective elements of respective rules of the first rule set, or the inputs required in order for respective rules of the first rule set to execute. For each element of each rule of the first rule set, the inverse of the element is determined, and each rule of the first meta rule set specifies how at least one rule of the first rule set is invalid based at least in part upon at least one determined inverse. According to one embodiment, each rule of the first meta rule set or second rule set involves an inverse of a single element, which may be used to invalidate one or multiple decision rules, or rules of the first rule set. In the context of the table upon which rules of the first rule set or based, execution of a rule of the first meta rule sets results in “crossing out” rows of the decision table based on or derived from the directed graph.
In a single or multiple embodiments, rules of the second meta rule set or third rule set, indicate which inputs are needed in order for respective rules of the first rule set to be valid and executable.
In a single or multiple embodiments, generated rules are used to select which questions to present to a user and eventually lead to execution of a decision rule that generates a result that indicates whether a tax topic is applicable to the user, such as whether the user qualifies for a tax deduction or a tax credit. The result of execution of a decision rule may also indicate that a subsequent action should be executed, such as populating a tax form with data of answers previously received, determining which interview screens to present to the user so that the user can then be presented with all of the questions regarding the determined tax topic. Thus, embodiments may be used to determine which tax topic applies, and then initiate presentation of a pre-determined sequence of interview screens of the tax preparation application that include other, more detailed questions about that tax topic. Thus, with embodiments, certain tax topics may be eliminated by having the user answer a small number of questions rather than requiring the user to answer a larger number of questions and/or complete other forms or worksheets in order to reach the same conclusion. Execution of a decision rule indicating that a tax topic applies may also result in notifying the user that a different version of the tax preparation application should be utilized.
In a single or multiple embodiments, as additional questions are presented to the user and additional answers or user inputs are received, so long as no rule of the first rule set is executed utilizing the received inputs or answers, the computer continues to determine whether any rule of the first subset can be executed based on received inputs thus far. Each time a rule of the first subset cannot be executed, at least one rule of the second rule set is executed to invalidate at least one rule of the first subset resulting in a further, more refined, smaller subset of the first rule set, and determining a subsequent question to present to the user based at least in part upon at least one rule of the third rule set involving at least one rule of the more refined, smaller subset.
In a single or multiple embodiments, rules are generated for a tax topic as summarized in a flow chart, and multiple transformations result in generation of rules of the first rule set for each tax topic and generation of meta rules for each tax topic.
In a single or multiple embodiments, a sequence of questions determined by application of generated rules is different compared to sequence specified by a representation such as a flow chart from which certain generated rules were indirectly derived. Further, the sequence of questions may be different compared to a pre-determined sequence of questions programmed within the tax preparation application for that tax return topic. Moreover, according to embodiments utilizing generated rules, the sequence of questions may be different compared to a pre-determined sequence of questions specified by paths through a directed graph derived from the flow chart, and from which decision rules are determined. Moreover, questions within a directed graph path may be eliminated according to embodiments. Embodiments are operable to skip questions within a directed graph path, and the sequence of questions that is eventually generated is not pre-determined, unlike a flow diagram or paths through a directed graph defining a pre-determined sequence.
The foregoing and other aspects of embodiments are described in further detail with reference to the accompanying drawings, in which the same elements in different figures are referred to by common reference numerals, wherein:
Embodiments are directed to providing users of tax preparation applications personalized interview experiences and determining whether a certain tax topic applies to a user by asking a subset of a set of questions that would normally be asked of the user to reach the same conclusion. Embodiments transform pre-determined sequences of questions and answers generated by tax preparation applications, which may be in the form of flow diagrams, into expressions of rules generated according to embodiments and executed to select questions to present to users of a tax preparation application to provide a personalized user experience. Thus, rather than requiring a user to step through each question of a pre-determined sequence of questions in order to conclude that a particular tax situation or topic applies to the user, embodiments can eliminate pre-determined sequence constraints and reach the tax topic conclusion while invalidating generated rules in order to eliminate corresponding questions, even when those questions would have otherwise been asked of the user according to the pre-determined sequence.
For example, referring to
As another example, referring to
Referring to
With embodiments, decision and meta rules are generated indirectly from an initial flow chart or pre-determined sequence and are used to invalidate certain decision rules and eliminate associated questions, while selecting more relevant questions without constraints or restrictions of the initial pre-determined sequence. Thus, embodiments provide for intelligent question guidance while being flexible, dynamic and adaptive to user input or answers and narrowing the field of potential generated rules that may be utilized and questions that may be presented to the user. Embodiments and aspects thereof are in further detail with reference to
Referring to
Reference is made generally to a user 415, but it will be understood that the user 415 may be a taxpayer preparing his or her own electronic tax return 422 or another user 415 preparing the electronic tax return 422 on behalf of the taxpayer. The user computer 410 may be a desktop or laptop computer or other computing or communication device such as a tablet computing or communication device or mobile communication device such as a smartphone (generally, computer or computing apparatus 410) executing the tax preparation application 420.
In the illustrated embodiment, the tax preparation application 420 is a desktop version that executes on the user computer 410, but embodiments may also involve an online version of the tax preparation application 420 (e.g., turbotax.com), which is hosted by the intermediate computer 430 or another computer of the host 435 and accessible by a browser executing on the user computer 410. The tax preparation application 420 can be executed to navigate interview screens and enter or import tax data from an electronic file or source into the interview screen fields, to eventually complete the electronic tax return 422. The intermediate computer 430, or another intermediate computer serving as an electronic filing server or clearing house, formats and electronically files the completed electronic tax return 422 with the tax authority computer 440. The intermediate computer 430 processes acknowledgements and other data received from the tax authority 445 and routes related information back to the taxpayer computer 410. One example of an intermediate computer 430 or electronic filing server that may be utilized for these purposes is an electronic filing server of Intuit Inc., Mountain View, Calif.
For purposes of this application, a tax preparation application 420 is defined as a computer program product, or system, that is used solely for preparing a tax or information return or other tax filing 422 (generally, electronic tax return 422), and that may be operable to record, transmit, transfer and organize data related to such tax filings, and that enable users or taxpayers 415 to file income tax returns or assist them with managing their finances or tax-related matters. Examples of tax preparation applications 422 include consumer and professional tax preparation applications 420 available from Intuit Inc., Mountain View, Calif., one example of which is TURBOTAX tax preparation application. It should be understood that embodiments may utilize or be incorporated into other tax preparation applications 422, and that reference to TURBOTAX tax preparation application is provided as a non-limiting example.
The tax authority 445 with which tax returns 422 are filed may be a federal tax authority such as the Internal Revenue Service (IRS), a state tax authority such as the State Franchise Board of California or other tax collecting entity to which taxes are paid. For ease of explanation, reference is made generally to a tax authority 445, and examples involve the IRS, but it will be understood that tax authority 445 refers to various tax collecting entities, including local, state and federal tax collecting entities.
As shown in
As generally illustrated in
According to embodiments, the personalization module 460 generates rules 462 that are executed based at least in part upon user answers or input 533, to eliminate or invalidate certain generated rules 462 rules and determine which questions 532 should be selected for presentation to the user 415. According to one embodiment, rules 462 are generated following multiple transformations of a data structure or representation of a pre-determined sequence of questions 532 and answers 533.
For example, according to one embodiment, as generally illustrated in
Referring again to
In the illustrated example shown in
Referring again to
Thus, referring to column A, two of the five paths through the directed graph 620 involve “Y” responses to the question for Node A, whereas three of the five paths involve “N” responses to the question for Node A. “Don't care” designations (“?” as shown in
Referring again to
For ease of explanation and illustration, three generic examples of decision rules are provided in
For example, decision rule R1 may specify that a child is a qualifying child (R1) based on elements or facts 1102 (x1 and x2), decision rule R2 specifies that the child is a qualifying child (R2) based on facts or elements 1102 (x1 and x3), and decision rule R3 specifies that the child is a qualifying child (R3) based on facts or elements (˜x1 and x4), in which “˜” in R3 corresponds to “not x1” or the opposite of x1 as recited in R1. Thus, in the illustrated example, different decision rules 462d may involve different elements 1102 and combinations thereof, and may also involve different numbers of elements 1102. Thus, while
Thus, independent decision rules R1-R3 generated according to embodiments specify three different sets of elements 1102 necessary for the decision rule 462d to execute, resulting in a determination that a particular tax topic applies to the user 415. According to one embodiment, as illustrated, decision rules 462d are derived from respective rows 1010 of the decision table 630, which are based on respective paths through the directed graph 620, which are based on the pre-determined sequences of questions and answers in the flow chart 610. Thus, while generated decision rules 462d are independent of each other and are not tied to or constrained by a pre-determined sequence 612 of questions, they are indirectly based on data structures that specify a pre-determined sequence 612. In other words, embodiments transform sequence-dependent data structures into independent structures in the form of generated decision rules 462d that do not rely upon or specify the pre-determined sequence 612, while still reflecting the substance of corresponding questions and answers of data structures from which they are directly or indirectly based upon as shown in
Continuing with reference to
Continuing with reference to
Thus, referring again to
Further, referring to
Referring to
With continuing reference to
If so, at 1212, such that the answer 533 is the same as or satisfies all of the elements or conditions 1102 of a decision rule 462d, then the rule engine 540 executes that decision rule 462d using the received input 433 resulting in a determination 550 that the tax topic applies to the user 415. At 1214, a further action 560 may then be executed given the determination 550.
The further action 560 may be, for example, identifying at least one tax form of the electronic tax return 422 pertaining to the tax topic, populating at least one tax form with answers 533 received from the user 415 and any other applicable data that is known, or determining a pre-determined sequence of interview screens or questions of the tax preparation application 520 for the tax topic so that the pre-determined sequence of interview screens or questions can be presented to the user 415 to allow the user 415 to fully respond to all pertinent questions within the interview screens of the tax preparation application 420. Further, depending on the determination 550, a current version (e.g., a basic version) of the tax preparation application 420 may not be suitable to handle the tax topic such that when such the determination 550 is made, the action 460 may be notifying the user 415 that a different version of the tax preparation application 420 should be utilized instead in order to handle the tax topic applicable to the user 415. For example, a basic version of a tax preparation application 420 may not be suitable for situations involving rental properties or sole proprietorships and a more advanced or “premier” version may be required.
However, the result of 1210 is that, at 1216, only a portion of inputs needed for the decision rule's elements or conditions 1102 have been received such that no decision rule 462d can be executed and no determination 550 is made, then at 1218, the personalization module 640 proceeds to
Referring to
For example, if user input 533 received in response to the first question 532 was “x1” then referring to
Explained in a different way, invalidation of a decision rule 462 by execution of a meta rule 462mi results in “crossing out” one or more rows of the decision table 630 from which decision rules 462d were directly derived. Thus, for example, referring again to
Referring again to
Referring to
Continuing with reference to
At 1318, one of the unknown x2, x3 is selected (e.g., x3 is selected), and a question 532 requesting an answer 533 concerning x3 is provided to the UI manager 530, which presents the follow up question 532 concerning x3 to the end user at 1320.
The “select” command can be configured to select from needed inputs and associated questions in various ways. For example, in one embodiment, the personalization module 460 can assort the importance or relevance of the inputs and/or remaining questions utilizing a global ranking of questions or inputs and applying the global ranking indiscriminately. Other embodiments may involve machine learning methods for creating conditional probability distributions for ranking remaining inputs and/or questions. For example, it the user 415 has already provided data or responses indicating that a child of the user is a US citizen, a certain question may be the most relevant for follow up, whereas not knowing this information, another question may be selected for follow up. Accordingly, it will be understood that various criteria and methods may be utilized to select the subject of one or more questions 532 following invalidation of one or more decision rules 462d, and a “select” command may involve multiple inputs that are identified by a meta rule 462mr, or a single input identified by a meta rule 462mr.
With continuing reference to
At 1328, the rule engine 540 determines whether any remaining decision rule 462d of can be executed given the previously received first answer x1 and the currently received follow up answer x3. In the illustrated example shown in
However, continuing with
Operation of embodiments is otherwise generally illustrated in
In other words, the crossing operations shown in
While embodiments are described above with reference to at least one of the decision rules 462d being invalidated each time meta rules 462m are invoked, this may not be the case since it may be that sometimes no decision rule 462d is invalidated and eliminated given the rules and inputs received. This does not affect the effectiveness or correctness of embodiments. Thus, it will be understood that embodiments described above are provided to illustrate one manner in which embodiments may be implemented in a non-limiting manner.
For example,
Having described how embodiments utilized generated rules of different types,
In the example shown in
Thus, as shown in
Further, since embodiments are able to disassociate questions from pre-determined sequences of source flow charts 610 and paths through directed graphs 620 by use of generated decision rules 426d and meta rules 426m, embodiments may ask various questions in various sequences, even if that sequence is different compared to the sequence specified by a source flow chart 610 or by a path through a directed graph 620.
Thus, for example, relative to a pre-determined sequence of questions 1-15, embodiments may involve receiving inputs and invalidating certain decision rules 426d such that question 3 was initially selected and the user's answer to that question is Input I1, decision rules 7, 10, 12 and 13 are invalidated, leaving a first subset of decision rules including decision rules 1-6, 8-9, 11 and 14-15. Question 5 may then be selected, and the user's answer to Question 5 is Input I2. Execution of generated decision and meta rules based on I2, or the combination of I1 and I2, may result in invalidation of one or more additional decision rules 426d such as decision rules 9, 11 and 15, which results in elimination of associated questions and leaves a second subset of decision rules including rules 1-6, 8 and 14. Question 8 may then be selected, and the user's answer to Question 8 is I3. Execution of generated decision and meta rules based on I3, or the combination of two or more of I1, I2 and I3, may result in invalidation of additional decision rules 1, 2, 4 and 14, and elimination of associated questions (identified by “square” around the question number), thus leaving a third subset of decision rules including decision rule 6 (the sole remaining decision rule in this example). Decision rule 6 is executed to determine whether the tax situation or topic applies to the user.
Further, given how embodiments function, certain questions that are eliminated as a result of invalidated decision rules 426d would have otherwise been asked of the user 415 if the source flow chart 610 with the fixed pre-determined sequence 612 were utilized. Embodiments are not only able to ask various questions 532 in various sequences, but may also eliminate questions that from a pre-determined sequence 612 of a flow chart 610 or eliminate a question corresponding an intermediate node in the directed graph 620. Thus, embodiments not only provide a more meaningful personalized interaction experience, but also focus on questions that are deemed to be more relevant or the most relevant while eliminating those that do not need to be asked (as a result of decision rules not being able to execute given answers received) in order to reach the same determination or conclusion.
Additionally, while certain embodiments are described with reference to selecting a question, proceeding with presenting the question, and receiving a response or answer, then proceeding with a follow up question, and so on, other embodiments may involve execution of rule invalidation followed by selection and presentation of multiple or all remaining questions resulting from remaining decision rules that were not invalidated. For example, in certain embodiments, presentation of multiple questions can be conditioned upon the number of questions being less than a pre-determined number so that the user is not overloaded with answering too many questions at one time. Thus, one or multiple answers or inputs may be received and processed, and a single decision rule may be executed after a single round of invalidation or multiple rounds of invalidation, or when multiple answers are received in response to multiple selected and presented questions, at least one decision rule, possibly multiple decision rules, may execute following receipt of multiple answers.
Accordingly, it will be understood that embodiments are not limited to executing generated rules to select a single question and receiving a single answer in response thereto. Further, embodiments may involve performing rule invalidation, selecting and presenting a question to the user following application of generated rules, an answer is received, and so on, until a number of remaining decision rules or the number of associated remaining questions, does not exceed a pre-determined number. In response to this result, all of the remaining questions for all of the remaining inputs or all of the remaining questions associated with remaining decision rules can then be presented to the user, and multiple answers or responses can processed.
Method embodiments or certain steps thereof, some of which may be loaded on certain system components, computers or servers, and others of which may be loaded and executed on other system components, computers or servers, may also be embodied in, or readable from, a tangible medium or computer-readable medium or carrier, e.g., one or more of the fixed and/or removable data storage data devices and/or data communications devices connected to a computer. Carriers may be, for example, magnetic storage medium, optical storage medium and magneto-optical storage medium. Examples of carriers include, but are not limited to, a floppy diskette, a memory stick or a flash drive, CD-R, CD-RW, CD-ROM, DVD-R, DVD-RW, or other carrier now known or later developed capable of storing data. The processor 1920 performs steps or executes program instructions 1912 within memory 1910 and/or embodied on the carrier to implement method embodiments.
Although particular embodiments have been shown and described, it should be understood that the above discussion is not intended to limit the scope of these embodiments. While embodiments and variations of the many aspects of the invention have been disclosed and described herein, such disclosure is provided for purposes of explanation and illustration only. Thus, various changes and modifications may be made without departing from the scope of the claims.
For example, while certain aspects of embodiments are described as being performed by particular components (e.g., by a personalization module or rule engine), it will be understood that embodiments are not so limited, and that embodiments can be executed by or integrated within a tax preparation application in different ways.
As a further example, it will be understood that embodiments may involve determining and/or generating data structures or representations including a flow chart, directed graph and decision table, or receiving a data structure or representation that has already been generated, or receiving one data structure or representation and generating or deriving others based thereon.
Moreover, while embodiments are described with reference to a user answering questions, embodiments are able to roll back application of generated rules and associated determinations in the event that a user changes or retracts an answer.
Further, while certain embodiments are described with reference to processing of a decision table having Boolean variables, other embodiments may involve other comparison or conditional statements.
Additionally, while certain embodiments are described with reference to selecting particular questions, embodiments are not so limited to asking one question and answering a question one by one. Rather, embodiments can account for question redundancy, and the more questions asked, the more decision rules can be invalidated, or the more row cross outs that can be executed within the decision table.
While multiple embodiments and variations of aspects of the invention have been disclosed herein, such disclosure is provided for purposes of illustration only. Where methods and steps described above indicate certain events occurring in certain order, those of ordinary skill in the art having the benefit of this disclosure would recognize that the ordering of certain steps may be modified and that such modifications are in accordance with the variations of the invention. Additionally, certain of the steps may be performed concurrently in a parallel process as well as performed sequentially. Thus, the methods shown in various flow diagrams are not intended to be limited to a particular sequential order, particularly in instances in which certain steps may or may not be performed. Accordingly, embodiments are intended to exemplify alternatives, modifications, and equivalents that may fall within the scope of the claims.