WO2017189084A1 - Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system - Google Patents
Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system Download PDFInfo
- Publication number
- WO2017189084A1 WO2017189084A1 PCT/US2017/019600 US2017019600W WO2017189084A1 WO 2017189084 A1 WO2017189084 A1 WO 2017189084A1 US 2017019600 W US2017019600 W US 2017019600W WO 2017189084 A1 WO2017189084 A1 WO 2017189084A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data indicating
- user
- users
- software system
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
- G06Q40/123—Tax preparation or submission
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Definitions
- Tax return preparation systems such as tax return preparation software programs and applications, represent a potentially flexible, highly accessible, and affordable source of tax preparation assistance.
- traditional tax return preparation systems are, by design, fairly generic in nature and often lack the malleability to meet the specific needs of a given user.
- the user experience, and any analysis associated with the interview process and user experience is a largely inflexible component of a given version of the tax return preparation system. That is, there is little or no opportunity for any analytics associated with the interview process, and/or user experience, to evolve to meet a changing situation or the particular needs of a given taxpayer, even as more information about the particular taxpayer and their particular
- the potential customers do not become proponents for the tax return preparation systems (e.g., by promoting the product to their friends and family), and may instead become opponents to the tax return preparation systems (e.g., by recommending against the use of the systems). This is an undesirable result for both the potential user of the tax return preparation system and the provider of the tax return preparation system.
- a tax return preparation system can include, exclude, reorder, and/or otherwise customize/personalize content for a user based on the actual needs of the user.
- embodiments of the present disclosure deploy predictive models to determine unavailable user information (e.g., unknown user characteristics) based on limited amounts of available user information (e.g., known user characteristics). The result is that, similar to how tailored clothing helps a person feel better about their clothes, a tailored user experience in a software system user flow helps a user feel better about their experience with the software system, according to one embodiment.
- a predictive model can be configured to (with limited known user characteristics data) determine whether or not a user will likely benefit from going through the work of preparing an itemized deduction.
- the tax return preparation system can skip or postpone significant amounts of user interface pages. Skipping or postponing less relevant or irrelevant user interface pages saves the user time and spares the user the annoyance of gathering and providing the information that may be useless for someone who is electing a standardized deduction.
- a tax return preparation system can determine early in a tax return preparation interview flow (and with limited (e.g., known) user characteristics data) that a user qualifies for an earned income tax credit (“EITC”), then the tax return preparation system can motivate/excite a user to complete his tax return by showing how much the user is anticipated to receive from an EITC refund.
- EITC earned income tax credit
- the Inventors of the present disclosure have identified deficiencies with the traditional use of predictive models, which embodiments of the present disclosure successfully address.
- predictive models have a level of error, which can result in personalized user experiences that are emotionally devastating to a user (e.g., incorrectly showing EITC refund qualification).
- predictive models do not integrate user responses (e.g., user feedback) into subsequent uses of the predictive models, and are therefore somewhat limited in ongoing benefit that can be provided by or extracted from the predictive models.
- Embodiments of methods and systems dynamically and adaptively apply analytics models to the selection and implementation of predictive models to improve personalizing user experiences for users of software systems, such as a tax return preparation system.
- a software system resolves some of the potential deficiencies associated with using predictive models to generate personalized user experiences, by applying particular predictive models to targeted segments of users, which has the effect of improving the effectiveness of the predictive models, according to one embodiment. Additionally, even if a predictive model effectively predicts an unknown user characteristic, predictive models indiscriminately apply the results of the predictive models, without determining whether or not a user would prefer the personalization associated with the predictive model.
- a software system identifies which users have a preference for receiving personalized user experiences, prior to rotely applying a predictive model to a user's user experience, so as not to reduce a user's potential satisfaction with the user experience. In one embodiment, a software system identifies more effective and less effective predictive models and applies more effective predictive models to a software system to deliver personalized user experiences.
- the software system uses an analytics model to identify segments of users and to apply multiple predictive models to each segment of users, to dynamically and adaptively provide personalized user experiences, according to one embodiment.
- the analytics model categorizes users of a software system (e.g., tax return preparation system) based on the known user characteristics of the users, according to one embodiment.
- the analytics model associates at least two predictive models with each segment of users, according to one embodiment. One of the two predictive models has a higher performance or likelihood of success with the segment of users and the other of the two predictive models has a lower performance or likelihood of success with the segment of users, according to one embodiment.
- the software system can both provide personalized user experiences that are likely to be satisfying to the recipients while concurrently testing the performance of level of satisfaction of additional predictive models, according to one embodiment.
- the software system updates the analytics model to adjust the proportions with which the predictive models are used on a segment of users, so that eventually, the analytics model applies the most effective predictive model to a segment of users, according to one embodiment.
- embodiments of the present disclosure allows for significant improvement to the fields of user experience, electronic tax return preparation, data analytics, data collection, and data processing, according to one embodiment.
- embodiments of the present disclosure allows for progressing a user through a tax return preparation interview user flow and/or tax return preparation session with fewer processing cycles and less communications bandwidth because the user is more likely to be satisfied and less likely to prematurely terminate his/her user session prior to completing a particular activity (e.g., filing a tax return).
- implementation of embodiments of the present disclosure represent a significant improvement to the field of automated user experiences and, in particular, efficient use of human and non-human resources.
- the user can more easily comprehend and interact with digital user experience displays and computing environments, reducing the overall time invested by the user to the tax return preparation or other software system-related tasks.
- selectively presenting user experience options to users improves and/or increases the likelihood that a potential customer will be converted into a paying customer because the potential customer receives confirmation that the software system appears to understand the particular user's needs and preferences, according to one embodiment. Consequently, using embodiments of the present disclosure, the user experience is less burdensome, less time consuming and allows the user to dedicate more of his or her time to other activities or endeavors, while having confidence that the tax return preparation system and/or software system is adequately addressing the needs of the user.
- FIGs. 1A and IB are graph diagrams of A/B testing techniques, in accordance with one embodiment.
- FIG. 2 is a diagram of examples of personalized user experiences, in accordance with one embodiment.
- FIG. 3 is a block diagram of a software service environment that applies an analytics model to the selection of predictive models to provide personalized user experiences to users of a software service, in accordance with one embodiment.
- FIG. 4 is a flow diagram of an example of a process for applying analytics models to a software system to select predictive models for personalizing user experiences in the software system, in accordance with one embodiment.
- FIG. 5 is a block diagram of an example architecture for providing personalized user experiences with predictive models selected with an analytics model, in accordance with one embodiment.
- FIG. 6 is a flow diagram of an example of a process for training, updating, and applying an analytics model, according to one embodiment.
- FIG. 7 is diagram of an example of a tree diagram for defining at least part of an analytics model, according to one embodiment.
- FIG. 8 is a flow diagram of an example of a process for defining an analytics model, in accordance with one embodiment.
- FIG. 9 is a flow diagram of an example of a process for determining a stop probability, in accordance with one embodiment.
- FIG. 10 is a flow diagram of an example of a process for computing the effective performance of a segment or sub-segment of users, in accordance with one embodiment.
- FIG. 11 is a flow diagram of an example of a process for computing the effective performance of input estimates blended by Thompson Sampling, according to one embodiment.
- FIGs. 12A and 12B are a flow diagram of an example of a process for applying analytics models to a software system to select predictive models for personalizing user experiences in the software system, according to one embodiment.
- FIGs. depict one or more exemplary embodiments.
- Embodiments may be implemented in many different forms and should not be construed as limited to the embodiments set forth herein, shown in the FIGs., and/or described below. Rather, these exemplary embodiments are provided to allow a complete disclosure that conveys the principles of the invention, as set forth in the claims, to those of skill in the art.
- a software system can be, but is not limited to, any data management system implemented on a computing system, accessed through one or more servers, accessed through a network, accessed through a cloud, and/or provided through any system or by any means, as discussed herein, and/or as known in the art at the time of filing, and/or as developed after the time of filing, that gathers/obtains data, from one or more sources and/or has the capability to analyze at least part of the data.
- the term software system includes, but is not limited to the following: computing system implemented, and/or online, and/or web-based, personal and/or business tax preparation systems; computing system implemented, and/or online, and/or web- based, personal and/or business financial management systems, services, packages, programs, modules, or applications; computing system implemented, and/or online, and/or web-based, personal and/or business management systems, services, packages, programs, modules, or applications; computing system implemented, and/or online, and/or web-based, personal and/or business accounting and/or invoicing systems, services, packages, programs, modules, or applications; and various other personal and/or business electronic data management systems, services, packages, programs, modules, or applications, whether known at the time of filling or as developed later.
- Specific examples of software systems include, but are not limited to the following: TurboTaxTM available from Intuit, Inc. of Mountain View, California; TurboTax OnlineTM available from Intuit, Inc. of Mountain View, California; QuickBooksTM, available from Intuit, Inc. of Mountain View, California; QuickBooks OnlineTM, available from Intuit, Inc. of Mountain View, California; MintTM, available from Intuit, Inc. of Mountain View, California; Mint OnlineTM, available from Intuit, Inc. of Mountain View, California; and/or various other software systems discussed herein, and/or known to those of skill in the art at the time of filing, and/or as developed after the time of filing.
- computing entity include, but are not limited to, the following: a server computing system; a workstation; a desktop computing system; a mobile computing system, including, but not limited to, smart phones, portable devices, and/or devices worn or carried by a user; a database system or storage cluster; a virtual asset; a switching system; a router; any hardware system; any communications system; any form of proxy system; a gateway system; a firewall system; a load balancing system; or any device, subsystem, or mechanism that includes components that can execute all, or part, of any one of the processes and/or operations as described herein.
- computing system and “computing entity,” can denote, but are not limited to the following: systems made up of multiple virtual assets, server computing systems, workstations, desktop computing systems, mobile computing systems, database systems or storage clusters, switching systems, routers, hardware systems, communications systems, proxy systems, gateway systems, firewall systems, load balancing systems, or any devices that can be used to perform the processes and/or operations as described herein.
- production environment includes the various components, or assets, used to deploy, implement, access, and use, a given software system as that software system is intended to be used.
- production environments include multiple computing systems and/or assets that are combined, communicatively coupled, virtually and/or physically connected, and/or associated with one another, to provide the production environment implementing the application.
- the assets making up a given production environment can include, but are not limited to, the following: one or more computing environments used to implement at least part of the software system in the production environment such as a data center, a cloud computing environment, a dedicated hosting environment, and/or one or more other computing environments in which one or more assets used by the application in the production environment are implemented; one or more computing systems or computing entities used to implement at least part of the software system in the production environment; one or more virtual assets used to implement at least part of the software system in the production environment; one or more supervisory or control systems, such as hypervisors, or other monitoring and management systems used to monitor and control assets and/or components of the production environment; one or more communications channels for sending and receiving data used to implement at least part of the software system in the production environment; one or more access control systems for limiting access to various components of the production environment, such as firewalls and gateways; one or more traffic and/or routing systems used to direct, control, and/or buffer data traffic to components of the
- computing environment includes, but is not limited to, a logical or physical grouping of connected or networked computing systems and/or virtual assets using the same infrastructure and systems such as, but not limited to, hardware systems, software systems, and networking/communications systems.
- computing environments are either known, “trusted” environments or unknown, “untrusted” environments.
- trusted computing environments are those where the assets, infrastructure, communication and networking systems, and security systems associated with the computing systems and/or virtual assets making up the trusted computing environment, are either under the control of, or known to, a party.
- each computing environment includes allocated assets and virtual assets associated with, and controlled or used to create, and/or deploy, and/or operate at least part of the software system.
- one or more cloud computing environments are used to create, and/or deploy, and/or operate at least part of the software system that can be any form of cloud computing environment, such as, but not limited to, a public cloud; a private cloud; a virtual private network (VPN); a subnet; a Virtual Private Cloud (VPC); a sub-net or any security/communications grouping; or any other cloud-based infrastructure, sub-structure, or architecture, as discussed herein, and/or as known in the art at the time of filing, and/or as developed after the time of filing.
- VPN virtual private network
- VPC Virtual Private Cloud
- a given software system or service may utilize, and interface with, multiple cloud computing environments, such as multiple VPCs, in the course of being created, and/or deployed, and/or operated.
- the term "virtual asset” includes any virtualized entity or resource, and/or virtualized part of an actual, or "bare metal” entity.
- the virtual assets can be, but are not limited to, the following: virtual machines, virtual servers, and instances implemented in a cloud computing environment; databases associated with a cloud computing environment, and/or implemented in a cloud computing environment; services associated with, and/or delivered through, a cloud computing environment; communications systems used with, part of, or provided through a cloud computing environment; and/or any other virtualized assets and/or sub-systems of "bare metal" physical devices such as mobile devices, remote sensors, laptops, desktops, point-of-sale devices, etc., located within a data center, within a cloud computing environment, and/or any other physical or logical location, as discussed herein, and/or as known/available in the art at the time of filing, and/or as developed/made available after the time of filing.
- any, or all, of the assets making up a given production environment discussed herein, and/or as known in the art at the time of filing, and/or as developed after the time of filing can be implemented as one or more virtual assets within one or more cloud or traditional computing environments.
- two or more assets such as computing systems and/or virtual assets, and/or two or more computing environments are connected by one or more
- communications channels including but not limited to, Secure Sockets Layer (SSL)
- SSL Secure Sockets Layer
- communications channels and various other secure communications channels, and/or distributed computing system networks such as, but not limited to the following: a public cloud; a private cloud; a virtual private network (VPN); a subnet; any general network, communications network, or general network/communications network system; a combination of different network types; a public network; a private network; a satellite network; a cable network; or any other network capable of allowing communication between two or more assets, computing systems, and/or virtual assets, as discussed herein, and/or available or known at the time of filing, and/or as developed after the time of filing.
- VPN virtual private network
- the term "network” includes, but is not limited to, any network or network system such as, but not limited to, the following: a peer-to-peer network; a hybrid peer- to-peer network; a Local Area Network (LAN); a Wide Area Network (WAN); a public network, such as the Internet; a private network; a cellular network; any general network, communications network, or general network/communications network system; a wireless network; a wired network; a wireless and wired combination network; a satellite network; a cable network; any combination of different network types; or any other system capable of allowing communication between two or more assets, virtual assets, and/or computing systems, whether available or known at the time of filing or as later developed.
- a peer-to-peer network such as, but not limited to, the following: a peer-to-peer network; a hybrid peer- to-peer network; a Local Area Network (LAN); a Wide Area Network (WAN); a public network, such as the Internet; a private network;
- user experience display includes not only data entry and question submission user interfaces, but also other user experience features provided or displayed to the user such as, but not limited to the following: data entry fields; question quality indicators; images; backgrounds; avatars; highlighting mechanisms; icons; and any other features that individually, or in combination, create a user experience, as discussed herein, and/or as known in the art at the time of filing, and/or as developed after the time of filing.
- the term "user experience” includes not only the user session, interview process, interview process questioning, and/or interview process questioning sequence, but also other user experience features provided or displayed to the user such as, but not limited to, interfaces, images, assistance resources, backgrounds, avatars, highlighting mechanisms, icons, and any other features that individually, or in combination, create a user experience, as discussed herein, and/or as known in the art at the time of filing, and/or as developed after the time of filing.
- a user can be, but is not limited to, a person, a commercial entity, an application, a service, and/or a computing system.
- analytics model or “analytical model” denotes one or more individual or combined algorithms or sets of equations that describe, determine, and/or predict characteristics of or the performance of a datum, a data set, multiple data sets, a computing system, and/or multiple computing systems.
- Analytics models or analytical models represent collections of measured and/or calculated behaviors of attributes, elements, or characteristics of data and/or computing systems.
- the terms “interview” and “interview process” include, but are not limited to, an electronic, software -based, and/or automated delivery of multiple questions to a user and an electronic, software -based, and/or automated receipt of responses from the user to the questions, to progress a user through one or more groups or topics of questions, according to various embodiments.
- the term "decision tree” denotes a hierarchical tree structure, with a root node, parent nodes, and children nodes.
- the parent nodes are connected to children nodes through edges, and edge logic between parent nodes and children nodes performs a gating function between parent nodes and children nodes to permit or block the flow of a path from a parent node to a child node.
- a node is associated with a node action that a model or process performs on a data sample or on a set of data samples.
- segment denotes a portion, section, or subset of a set of users (i.e., a user set).
- a segment can include an entire set of users or a portion of a set of users.
- a segment or sub-segment denotes a portion, section, or subset of users who have one or more user characteristics (as defined below) in common.
- the terms “distribution rate” and “distribution frequency rate” are used interchangeably to denote decimal numbers, fractions, and/or percentages that represent an average quantity of traffic within a segment of users to which one or more user experience options are provided, with the software system.
- distribution rate denotes decimal numbers, fractions, and/or percentages that represent an average quantity of traffic for a segment of users by which one or more user experience options are provided to a segment of users within a software system.
- a first user experience option A is provided to users with a first distribution rate (e.g., .7)
- a second user experience option B is provided to users with a second distribution rate (e.g., .2).
- the second distribution rate is 1 minus the first distribution frequency rate.
- noise represents the generation or receipt of results that are not representative of the probabilistic outcome for a data set.
- noise represents the difference in average or likely results between a small data sample set and a very large data sample set.
- a tax return preparation system can include, exclude, reorder, and/or otherwise customize/personalize content for a user based on the actual needs of the user.
- embodiments of the present disclosure deploy predictive models to determine unavailable user information (e.g., unknown user characteristics) based on limited amounts of available user information (e.g., known user characteristics).
- a predictive model can be configured to (with limited known user characteristics data) determine whether or not a user will likely benefit from going through the work of preparing an itemized deduction. By determining early on in a tax return preparation interview flow that a user does not gain any financial benefit from filing an itemized deduction, the tax return preparation system can skip or postpone significant amounts of user interface pages.
- Skipping or postponing less relevant or irrelevant user interface pages saves the user time and spares the user the annoyance of gathering and providing the information that may be useless for someone who is electing a standardized deduction.
- a tax return preparation system can determine early in a tax return preparation interview flow (and with limited (e.g., known) user characteristics data) that a user qualifies for an earned income tax credit (“EITC”), then the tax return preparation system can motivate/excite a user to complete his tax return by showing how much the user is anticipated to receive from an EITC refund.
- EITC earned income tax credit
- the Inventors of the present disclosure have identified deficiencies with the traditional use of predictive models, which embodiments of the present disclosure successfully address.
- predictive models have a level of error, which can result in personalized user experiences that are emotionally devastating to a user (e.g., incorrectly showing EITC refund qualification).
- predictive models do not integrate user responses (e.g., user feedback) into subsequent uses of the predictive models, and are therefore somewhat limited in ongoing benefit that can be provided by or extracted from the predictive models.
- Embodiments of methods and systems dynamically and adaptively apply analytics models to the selection and implementation of predictive models to improve personalizing user experiences for users of software systems, such as a tax return preparation system.
- a software system resolves some of the potential deficiencies associated with using predictive models to generate personalized user experiences, by applying particular predictive models to targeted segments of users, which has the effect of improving the effectiveness of the predictive models, according to one embodiment. Additionally, even if a predictive model effectively predicts an unknown user characteristic, predictive models indiscriminately apply the results of the predictive models, without determining whether or not a user would prefer the personalization associated with the predictive model.
- a software system identifies which users have a preference for receiving personalized user experiences, prior to rotely applying a predictive model to a user's user experience, so as not to reduce a user's potential satisfaction with the user experience. In one embodiment, a software system identifies more effective and less effective predictive models and applies more effective predictive models to a software system to deliver personalized user experiences.
- the software system uses an analytics model to identify segments of users and to apply multiple predictive models to each segment of users, to dynamically and adaptively provide personalized user experiences, according to one embodiment.
- the analytics model categorizes users of a software system (e.g., tax return preparation system) based on the known user characteristics of the users, according to one embodiment.
- the analytics model associates at least two predictive models with each segment of users, according to one embodiment. One of the two predictive models has a higher performance or likelihood of success with the segment of users and the other of the two predictive models has a lower performance or likelihood of success with the segment of users, according to one embodiment.
- the software system can both provide personalized user experiences that are likely to be satisfying to the recipients while concurrently testing the performance of level of satisfaction of additional predictive models, according to one embodiment.
- the software system updates the analytics model to adjust the proportions with which the predictive models are used on a segment of users, so that eventually, the analytics model applies the most effective predictive model to a segment of users, according to one embodiment.
- Embodiments of the disclosed software system provides superior testing results over traditional A/B testing, while seamlessly integrating feedback from the A/B testing into the software system.
- Traditional A/B testing is inefficient. For example, traditional A/B testing allocates control conditions to 50% of a set of users as a control group and allocates
- test conditions to 50% of the set of users as an experimental group, without regard to the likelihood of satisfactory performance of the control conditions over the test conditions or vice versa.
- the test conditions are typically set, until a critical confidence, e.g., 95%
- the disclosed system dynamically allocates and re-allocates control conditions and test conditions concurrently, to enable the software system to both test new predictive models (or new user experience options) while providing users with personalized user experiences that they are probabilistically likely to prefer.
- more users of the software system are likely to be satisfied with the software system and are more likely to complete a predetermined/desired action (e.g., completing questions, visiting a sequence of web pages, file a tax return, etc.) because the users receive relevant and/or preferred user experience options sooner than the same users would with the implementation of traditional A/B testing techniques.
- the improvements in customer satisfaction and the increases in customers completing predetermined actions in the software system results in increased conversions of potential customers to paying customers, which translates to increased revenue for service providers, according to one embodiment.
- FIGs. 1A and IB are graphical representations of some of the advantages of adaptive A/B testing over traditional A/B testing, according to one embodiment.
- FIG. 1A is an example of a graph 100 that illustrates delivery of a condition A to 50% of a user set and delivery of a condition B to 50% of a user set for a number of samples (x-axis), using traditional A/B testing techniques.
- Conditions A and B are equally distributed to the user sets until a critical confidence level is reached, e.g., 95%. After the critical confidence level is reached, traditional testing techniques switch to delivering the more successful of the conditions to 100% of the user set.
- the test switches at a number of samples, represented by graph line 101, that were tested until a confidence level (e.g., 95%) was reached. Everything above and to the left of the graph line 101 represents lost opportunity to provide condition B to the user set rather than condition A (condition A ultimately being deemed inferior).
- FIG. IB shows a graph 150 that illustrates an adaptive delivery of condition A (e.g., a first user experience option) and condition B (e.g., a second user experience option) to the user set while determining which condition is superior to the other, according to one embodiment.
- the graph 150 includes a graph line 151 that represents a percentage of condition B that is allocated to the user set, according to one embodiment.
- the area 152 that is under the graph line 151 illustrates that more users of the user set receive condition B sooner by using adaptive A/B testing instead of the traditional A/B testing illustrated by FIG. 1A, according to one embodiment.
- condition B sooner equates to providing more users with user experiences that are in accordance with the users' preferences and that are more likely to assist users in completing or accomplishing a particular activity (e.g., providing personal information, paying for a service, signing up as a service provider customer, staying logged in to a user session, complete filing a tax return, etc.), according to one embodiment.
- implementation of adaptive testing by providing personalized user experiences in a software system translates to increases in quantities of satisfied customers and improved revenue for the service provider of the software system, according to one embodiment.
- the systems, methods, algorithms, and techniques of FIGs. 3-12B disclose various embodiments that leverage the advantages of adaptive testing as described with respect to FIGs. 1A and IB, according to one embodiment.
- FIG. 2 illustrates an example embodiment of a personalized user experience 200 and a personalized user experience 210, which can be delivered to a user via a software system, at least partially based on characteristics of the user, to increase user satisfaction with the user experience and to cause the user to perform one or more actions (e.g., answer a question, provide personal information, file a tax return, remain logged in to the software system, etc.), according to one embodiment.
- the personalized user experiences 200 and 210 display several optional versions of a software system that can be purchased or used to prepare a tax return for the user, according to one embodiment.
- the personalized user experience 200 includes a number of icon buttons 201, representing a user experience option A, according to one embodiment.
- the personalized user experience 210 includes a text banner 211, representing a user experience option B, according to one embodiment.
- the analytics model used by the software system provides the personalized user experience 200 or the personalized user experience 210 to users, based on the user characteristics of the users, based on the segment associated with the users, and/or based on the likelihood that the users will have a preference for the user experience option A or the user experience option B, according to one embodiment.
- the personalized user experiences 200 and 210, the icon buttons 201, and the text banner 211 are merely a few examples of hundreds or thousands of possible variations of personalized user experiences and of user experience options that can be identified, generated, and/or delivered to users based on the users' preferences for user experience options, to encourage the users to perform one or more actions towards becoming a paying customer of a tax return preparation system or of another service provided by a service provider, according to one embodiment.
- FIG. 3 illustrates an example of a software services environment 300 that is configured to provide personalized user experiences to one or more client systems in order to motivate and/or encourage users of the client systems, to perform one or more actions, e.g., actions towards filing a tax return, according to one embodiment.
- the software services environment 300 is configured to apply analytics models to a software system to select predictive models for personalizing user experiences in the software system, according to one embodiment.
- the software services environment 300 includes a software system 310, a client system 320, a client system 330, a mobile device 340, and a network 301, according to one embodiment.
- the software system 310 communicates with client system 320, the client system 330, and the mobile device 340 through one or more communications channels 302, 303, 304, and 305, through the network 301, according to one embodiment.
- the software system 310 includes a number of components configured to enable the software system to apply adaptive testing techniques (e.g., using analytics models) to a software system to select predictive models for personalizing user experiences in the software system for the purpose of encouraging and/or motivating users to perform one or more actions within the software services environment 300 or within the software system 310, according to one embodiment.
- the software system 310 includes known user characteristics data 311, an analytics model 312, predictive models 313, unknown user characteristics data 314, user experience options 315, and personalized user experiences 316, according to one embodiment.
- the software system 310 applies the known user characteristics data 311 to the analytics model 312 to determine which predictive models 313 to apply to segments of users, according to one embodiment.
- the software system 310 acquires known user characteristics data 311 from one or more of a number of sources, including, but not limited to, a hardware system used by a user, a software system used by the user, a previous tax return for user, an Internet protocol ("IP") address for user, an additional input received from a user during a user session with the software system, a geographical location of the user, click-stream data, third- party sources, government entities, and the like, according to one embodiment.
- IP Internet protocol
- known user characteristics data 311 include information about one or more users that is known, already determined, and/or otherwise stored in the software system 310 a user, either when a user is segmented by the analytics model 312 and/or when a user begins a user session with the software system 310, according to one embodiment.
- the software system 310 applies the known user characteristics data 311 to the analytics model 312, according to one embodiment.
- software system 310 causes the analytics model 312 to categorize the users (associated with the known user characteristics data 311) into segments of users, according to one embodiment.
- the analytics model 312 is configured to associate at least two predictive models 313 with each of the segments of users that are categorized by the analytics model 312.
- the analytics model 312 assigns at least two predictive models 313 to each of the categories of users in order to deliver user experiences to users that the users are more likely to find satisfactory while delivering user experiences to the users that may be likely to be found to be satisfactory by the users, according to one embodiment.
- the analytics model 312 provides the user experience based on one predictive model that the users are likely to like and based on another predictive model that the software system 310 wants to test among a cohort/segment of users, according to one embodiment.
- the predictive models 313 use limited information to predict a likely
- the software system 310 applies the known user characteristics data 311 to the predictive models 313 that are selected by the analytics model 312, to generate unknown user characteristics data 314 for one or more of the users associated with the known user characteristics data 311, according to one embodiment.
- unknown user characteristics data 314 refers to user characteristics/user information that is not determined, that is not known, and/or that is not stored by the software system 310, for a user, during at least part of a user session with the software system 310, according to one embodiment.
- an unknown user characteristic might be whether or not a user qualifies for earned income tax credit ("EITC").
- a user may provide various known user characteristics data 311 to the software system 310, but the software system 310 may not have enough information to determine whether or not a user qualifies for an EITC benefit at the beginning of a tax return preparation interview, according to one embodiment.
- the software system 310 applies the information that is known about a user to one or more predictive models 313 and predicts unknown characteristics for the user, i.e. unknown user characteristics data 314, according to one embodiment. By doing so, the software system 310 can select particular user experience options 315 that improve the user's user experience with the software system 310, according to one embodiment.
- the software system 310 uses the relevant selected user experience options 315 to generate the personalized user experience 316 for delivery to the users of the software system 310, according to one embodiment.
- Various techniques for generating the analytics model 312 are discussed in association with FIGs. 5-12B, according to one embodiment.
- the software system 310 determines which of the user experience options 315 to provide in the personalized user experiences 316, for delivery to users of the software system 310, according to one embodiment.
- applying analytics models to a software system to select predictive models enables the software system to personalize user experiences for users of the software system, at least partially based on unknown user characteristics data 314, according to one embodiment.
- the predictive models may be able to predict or determine unknown user characteristics with higher certainty and/or less error, according to one embodiment.
- the software system 310 monitors responses from the users to the personalized user experiences 316 and updates the analytics model 312, based on the users' responses.
- the software system 310 hones in on the effective predictive models because the updates to the analytics model 312 is based on the feedback/responses of users who received the personalized user experiences 316, according to one embodiment.
- users receive personalized user experiences 316 that are satisfying enough to the users that the users take one or more actions towards converting into customers of the software system 310, according to one embodiment.
- the client system 320 includes a web browser 321 used to access one or more pages 322 to enable one or more users to interact with the software system 310, according to one embodiment.
- the client system 330 includes a client application 331 installed on the client system 330, to enable a user to interact with the software system 310, according to one embodiment.
- the client system 330 is a desktop computing system, according to one embodiment.
- the mobile device 340 includes a mobile web browser 341 and/or an application ("app") 342 for remotely accessing and interacting with the software system 310, according to one embodiment.
- the mobile device 340 is a tablet, a smart phone, a laptop, a personal digital assistant, and the like, according to various embodiments.
- the client system 320, the client system 330, and the mobile device 340 are representative of one or more of a plurality of systems/devices with which users of the software system 310 can use to access, interact with, and receive services from the software system 310, according to one embodiment.
- FIG. 4 includes an example of a process 400 for applying analytics models to a software system to select predictive models for personalizing user experiences in the software system, according to one embodiment.
- the process 400 includes a system engine 401, a decision engine 402, and an analytics model 403, to perform operations with known user characteristics data 404, predictive models 405, and user experience options 406, according to one embodiment.
- the system engine 401 acquires known user characteristics data 404, according to one embodiment.
- Operation 408 proceeds to operation 410, according to one embodiment.
- the system engine 401 provides known user characteristics data 404 to the decision engine 402, according to one embodiment. Operation 410 proceeds to operation 412, according to one embodiment.
- the decision engine 402 applies known user characteristics data 404 to the analytics model 403, according to one embodiment. Operation 412 proceeds to operation 414, according to one embodiment.
- the analytics model 403 categorizes users into user segments based on the known user characteristics data 404, according to one embodiment. Operation 414 proceeds to operation 416, according to one embodiment.
- the analytics model 403 selects predictive models 405 to apply to a segment of users based on the known user characteristics data 404 of the segment of users, according to one embodiment. Operation 416 proceeds to operation 418, according to one embodiment.
- the decision engine 402 applies known user characteristics data 404 to selected predictive models to identify unknown user characteristics, according to one embodiment. Operation 418 proceeds to operation 420, according to one embodiment.
- the decision engine 402 selects user experience options from a number of user experience options 406 based on the unknown user characteristics, according to one embodiment. Operation 420 proceeds to operation 422, according to one embodiment.
- the system engine 401 generates personalized user experiences using the selected user experience options, according to one embodiment. Operation 422 proceeds to operation 424, according to one embodiment.
- the system engine 401 delivers personalized user experiences to users of the software system, according to one embodiment.
- FIG. 5 illustrates an example embodiment of a production environment 500 for providing personalized user experiences using analytics models and predictive models.
- the production environment 500 includes a service provider computing environment 510 and a user computing environment 550 to deliver personalized user experiences to users of a software system, to cause, motivate, encourage and/or induce the users to perform one or more particular actions (e.g., answer a sequence of questions, continue use of the software system, file a tax return, etc.), according to one embodiment.
- the computing environments 510 and 550 are communicatively coupled to each other with a communication channel 501, according to one embodiment.
- the production environment 500 represents an example implementation of the software services environment 300, according to one embodiment.
- the service provider computing environment 510 represents one or more computing systems such as, but not limited to, a server, a computing cabinet, and/or distribution center that is configured to receive, execute, and host one or more applications for access by one or more users, e.g., clients of the service provider, according to one embodiment.
- the service provider computing environment 510 represents a traditional data center computing
- the service provider computing environment 510 includes a software system 511 that adaptively provides personalized user experiences by providing users with user experience options in accordance with distribution rates, at least partially based on known and unknown user characteristics for the users, according to one embodiment.
- the software system 511 improves user satisfaction, increases service provider revenue, facilitates user interactions with user interfaces, determines user preferences for user experience options, while concurrently, automatically, and seamlessly increasing the distribution of well-performing user experience options to users of the software system 511, according to one embodiment.
- the software system 511 adaptively provides personalized user experiences by segmenting users with an analytics model based on known user characteristics, selecting predictive models based on the segments of users, applying known characteristics data to the selected predictive models to determine unknown user characteristics, selecting user experience options based on the unknown user characteristics, delivering personalized user experiences based on the selected user experience options, and updating the analytics model based on user responses to improve the selection of the predictive models and the selection of the user experience options, according to one embodiment.
- the software system 511 includes various components, databases, engines, modules, and data to support adaptively providing personalized user experiences to users of the software system 511, according to one embodiment.
- the software system 511 includes a system engine 512, a decision engine 513, user experience options 514, and an analytics model manager 507, according to one embodiment.
- the system engine 512 is configured to communicate information between users and the software system 511, according to one embodiment.
- the system engine 512 is configured to communicate information between users and the software system 511, according to one embodiment.
- the system engine 512 executes/hosts the user interface 515 to receive known user characteristics data 516 and to receive user responses 517 from users, in response to personalized user experiences 518 provided to the users by the software system 511, according to one embodiment.
- the user interface 515 includes one or more user experience elements and graphical user interface tools, such as, but not limited to, buttons, slides, dialog boxes, text boxes, drop-down menus, banners, tabs, directory trees, links, audio content, video content, and/or other multimedia content for communicating information to the users and for receiving the information from users, according to one embodiment.
- the system engine 512 and/or the software system 511 communicates with the users through the user computing environment 550, according to one embodiment.
- the user computing environment 550 includes user computing devices 551 that are representative of computing devices or computing systems used by users to access, view, operate, and/or otherwise interact with the software system 511, according to one embodiment.
- the term "users" and “user computing devices” are used interchangeably to represent the users of the software system 511, according to one embodiment.
- users provide the known user characteristics data 516 and provide the user responses 517 to the software system 511, in response to receipt of the personalized user experiences 518, according to one embodiment.
- the known user characteristics data 516 represents known user characteristics for users of the software system 511, according to one embodiment.
- the known user characteristics data 516 includes information from existing software system data 522, such as one or more previous years' tax return data for a particular user and previous user interactions with the software system 511, according to one embodiment.
- the known user characteristics data 516 is stored in a data store, a database, and/or a data structure, according to one embodiment.
- the known user characteristics data 516 also includes information that the software system 511 gathers directly from one or more external sources such as, but not limited to, a payroll management company, state agencies, federal agencies, employers, military records, public records, private companies, and the like, according to one embodiment.
- Additional examples of the known user characteristics include, but are not limited to, data indicating user computing system characteristics (e.g., browser type, applications used, device type, operating system, etc.) , data indicating time-related information (hour of day, day of week, etc.), data indicating geographical information (latitude, longitude, designated market area region, etc.), data indicating external and independent marketing segments, data identifying an external referrer of the user (e.g., paid search, add click, targeted email, etc.), data indicating a number of visits made to a service provider website, a user's name, a Social Security number, government identification, a driver's license number, a date of birth, an address, a zip code, a home ownership status, a marital status, an annual income, a job title, an employer's address, spousal information, children's information, asset information, medical history, occupation, information regarding dependents, salary and wages, interest income, dividend income, business income, farm income, capital gain
- the unknown user characteristics data 509 represent user characteristics that are unknown, yet-to-be-determined, yet-to-be-received, and/or non-stored user characteristics, according to one embodiment.
- the unknown user characteristics data 509 represent user characteristics that are not known by the software system 511 during at least part of a user session and/or tax return preparation interview for a user, according to one embodiment.
- the unknown user characteristics data 509 represent user characteristics (e.g., user information) that is likely to be received from a user at some time during a user session and/or tax return preparation interview, according to one embodiment.
- One or more of the known user characteristics represented by the known user characteristics data 516 can be unknown user characteristics represented by the unknown user characteristics data 509, during a user's interaction with the software system 511, according to one embodiment.
- the system engine 512 provides personalized user experiences 518, by populating and/or using one or more user experience options 514 in the personalized user experiences 518, according to one embodiment.
- the user experience options 514 include, but are not limited to, questions to present to user; sequences of topics to present to user; sequences of questions to present to user; and the like, according to one embodiment.
- the user experience options 514 also include, but are not limited to, questions, webpages, sequences of pages, colors, interface elements, positioning of interface elements within webpages, promotions that can be offered to users, audio files, video files, other multimedia, and the like, according to various embodiments.
- Users of the software system 511 have individual preferences, technical competency levels, levels of education, levels of comfort using digital technologies, and other distinctive or individual characteristics that increase the value of personalized user experiences of the software system 511 for the users.
- the system engine 512 selectively applies one or more of the user experience options 514 to the personalized user experiences 518 while facilitating interactions between the software system 511 and the users, according to one embodiment.
- the software system 511 uses the decision engine 513 to identify which user experience options 514 to apply to the personalized user experiences 518, in order to facilitate, promote, and/or induce one or more particular user actions (e.g., such as completing a set of questions, continuing to use the software system 511, filing a tax return with the software system 511, etc.), according to one embodiment.
- the decision engine 513 is configured to receive the known user characteristics data 516, receive the user experience options 514, and select one or more of the user experience options 514 for the system engine 512 to integrate into the personalized user experiences 518 for users of the software system 511, according to one embodiment.
- the decision engine 513 applies the known user characteristics data 516 to an analytics model 519, to determine which predictive models 506 to apply to users with particular user characteristics, according to one embodiment.
- the analytics model 519 returns distribution rates for the predictive models 506, based on the known user characteristics data 516, according to one embodiment.
- the distribution rates define a frequency with which users having particular user characteristics receive the benefit of or functionality from particular predictive models, according to one embodiment.
- the predictive models 506 determine one or more characteristics of a user based on one or more other characteristics of a user, according to one embodiment.
- the predictive models 506 are trained using known user characteristics data 516 from prior users of the software system, according to one embodiment.
- the predictive model 506 receive known user characteristics data 516 of current users and predict, determine, and/or estimate one or more unknown user characteristics with a likelihood or accuracy that is a characteristic of the predictive model.
- the predictive model may have a higher accuracy for some users and may have a lower accuracy for other users, according to one embodiment.
- the analytics model 519 and the software system 511 is configured to determine the characteristics of users and/or the types of users that the predictive models have a higher accuracy of predicting for and is configured to target use of the predictive models towards users who are more likely to have an accurate prediction for, according to one embodiment.
- the software system 511 improves user personalization and increases user satisfaction with the users' interactions with the software system 511, according to one embodiment.
- the predictive models are defined by one or more techniques such as, but not limited to, ridge linear regression, decision trees, extra trees, neural networking, random forests, regression, logistic regression, artificial neural networks, support vector machines, linear regression, nearest neighbor methods, distance based methods, Naive Bayes, linear discriminant analysis, k-nearest neighbor algorithm, and/or another mathematical, statistical, logical, or relational algorithms, according to one embodiment.
- the decision engine 513 uses the distribution rates from the analytics model 519 to generate a weighted pseudo-random number that represents the one or more predictive models that are to be applied to a user based on the user's known user characteristics data, according to one embodiment.
- distribution rates include 0.2 for a first predictive model, 0.5 for a second predictive model, and 0.3 for a combination of one or more other predictive models, according to one embodiment.
- 0.2, 0.5, and 0.3 distribution rates means that for a particular predictive model, 2 out of 10 users receive the first predictive model, 5 out of 10 users receive the second predictive model, and 3 out of 10 users receive the combination of one or more other predictive models, according to one embodiment.
- the decision engine 513 uses the distribution rates and the weighted pseudo-random number to identify selected predictive models 508, for application to the user, according to one embodiment.
- the software system 511 operates an analytics model manager 507 to define, train, evaluate, and selectively and automatically update the analytics model 519, according to one embodiment.
- the analytics model manager 507 uses the known user characteristics data 516 from the existing software system data 522 and the user experience options 514 for automatically defining and training the analytics model 519, according to one embodiment.
- the analytics model manager 507 determines the business metrics 525 of the analytics model 519, according to one embodiment.
- the analytics model manager 507 defines, trains and/or updates the analytics models using techniques that include, but are not limited to, regression, logistic regression, decision trees, artificial neural networks, support vector machines, linear regression, nearest neighbor methods, distance based methods, Naive Bayes, linear discriminant analysis, k- nearest neighbor algorithm, and/or another mathematical, statistical, logical, or relational algorithms to determine correlations and/or other relationships between the known user characteristics data and/or the performance of user experience options on segments of users and/or the performance of predictive models on segments of users, according to one
- the analytics model manager 507 defines a user set 523 that is based on all or part of the users that have interacted with the software system 511 and/or for whom known user characteristics data 516 has been gathered or received.
- the analytics model manager 507 defines a number of user segments 524 around subsets of commonly held user characteristics.
- the user segments 524 are subsets of the user set 523, and each of the user segments 524 have one or more user characteristics in common, according to one embodiment.
- the term "user segment(s)” is used interchangeably with the term “segment(s) of users”.
- the analytics model manager 507 trains the analytics models by generating a decision tree, based on how particular predictive models 506 and/or user experience options 514 perform with particular user segments 524, according to one embodiment.
- the analytics model manager 507 generates a decision tree as part of the analytics logic for the analytics model 519, to facilitate generating distribution rates for the predictive models and/or user experience options, according to one embodiment.
- the software system 511 adapts to user responses 517 received from users, to update the analytics model 519, and to dynamically and adaptively improve the personalized user experiences 518, according to one embodiment.
- the software system 511 is configured to store/update known user characteristics data 516 and user responses 517, as the existing software system data 522, during the operation of the software system 511.
- the analytics model manager 507 continually creates new offline analytics models, trains new offline analytics models, and/or evaluates new offline analytics models to determine if an offline analytics model 508 can perform better than the analytics model 519, according to one embodiment. By continually evaluating one or more new offline analytics models, the analytics model manager 507 can organically evolve its performance, revert to prior analytics model versions if needed, to deliver a continually improving personalized user experience to the users of the software system 511, according to one embodiment.
- the business metrics 525 include, but are not limited to, the various metrics used by the software system 511 and/or the service provider of the software system 511 to evaluate the success, failures and/or the performance of the predictive models 506 and/or the user experience options 514, according to one embodiment.
- the business metrics 525 include, but are not limited to, number of conversions of users from potential customers to paying customers, the percentage of conversions of potential customers to paying users, quantities of revenue, rates of revenue collected per user (e.g., average revenue collected per user), increases/decreases in revenue as compared to one or more previous years, months, weeks, days, and metric weights that are applied to conversions and revenues to establish a relative importance of conversions verses revenue generation.
- the business metrics 525 can also include records of other actions taken by users, such as, but not limited to, numbers of questions answered, duration of use of the software system 511, number of pages or user experience displays visited within a software system 511, use of customer support, and the like, according to one embodiment.
- the software system 511 includes memory 526 that has one or more sections 527 allocated for the operation or support of the software system 511, according to one embodiment.
- the memory 526 and/or the one or more sections 527 are allocated to the storing and/or processing of: known user characteristics data 516, user responses 517, the analytics model 519, the analytics model manager 507, and the like, according to one embodiment.
- the software system 511 also includes one or more processors 528 configured to execute and/or support the operations of the software system 511, according to one embodiment.
- the decision engine 513 is integrated into the software system 511 to support operation of the software system 511.
- the decision engine 513 is hosted in the service provider computing environment 510 and is allocated computing resources, e.g., memory 529 having sections 530, and one or more processors 531, that are different than some of the computing resources of the software system 511.
- the decision engine 513 is hosted in the service provider computing environment 510 in order to provide support for the software system 511, in addition to providing support for a second service provider software system 532 and/or a third service provider software system 533, according to one embodiment.
- a second service provider software system 532 and a third service provider software system 533 are illustrated and described herein, the decision engine 513 can be configured to operationally support fewer or more software systems, according to various embodiments.
- the analytics model manager 507 initializes and/or updates the analytics model 519 from a backend or offline system, rather than as an integrated online process, according to one embodiment. For example, rather than sharing memory and processor resources with the software system 511, the analytics model manager 507 is allocated dedicated memory and processor resources to facilitate secure and more timely processing of user characteristics of new and existing software system data, and of user experience options for training the analytics model 519. In another embodiment, the analytics model manager 507 is integrated into the software system 511, as illustrated, and shares one or more hardware resources with the decision engine 513, within the service provider computing environment 510, according to one embodiment.
- FIG. 6 illustrates a process 600 for training and updating the analytics model (e.g., analytics model 312, analytics model 403, and/or analytics model 519), according to one embodiment.
- the analytics model e.g., analytics model 312, analytics model 403, and/or analytics model 519
- the process performs data transformation, to prepare existing software system data 522 and data representing business metrics 525 for processing, according to one embodiment.
- the process performs data transformation on the existing software system data 522 (inclusive of known user characteristics data and user responses), on user experience options 514, and on business metrics 525.
- Data transformation includes, but is not limited to, formatting, rearranging, organizing, ranking, and/or prioritizing the data to enable it to be uniformly processed or analyzed by one or more equations and/or algorithms, according to one embodiment.
- Operation 604 proceeds to operation 606, according to one embodiment
- the process performs bias removal via importance sampling weight calculation, according to one embodiment.
- the process performs bias removal on the business metrics, such as conversions and revenue, as well as on user responses for the existing software system data 522 to account for particular user characteristics that were targeted, that are different, or that otherwise bias the user responses and/or the business metrics, according to one embodiment.
- Operation 606 proceeds to operation 610, according to one embodiment
- the process performs analytics model training, according to one embodiment.
- the process trains the analytics model by using techniques that include, but are not limited to, regression, logistic regression, decision trees, artificial neural networks, support vector machines, linear regression, nearest neighbor methods, distance based methods, Naive Bayes, linear discriminant analysis, k-nearest neighbor algorithm, and/or another mathematical, statistical, logical, or relational algorithms to determine correlations and/or other relationships between the user characteristics data and the performance of user experience options on segments of users, according to one embodiment.
- Operation 610 proceeds to operation 612, according to one embodiment
- the process 600 performs analytics model training by creating, validating, and/or modifying a decision tree.
- FIG. 7 illustrates an example of a decision tree 700 that can be used to determine at least part of the algorithm, logic, and/or function of the analytics model that selects which predictive models and/or user experience options to apply to users based on users' characteristics, to facilitate providing personalized user experiences in the software system 511.
- the decision tree 700 includes nodes 702, 704, 706, 710, 712, 714, and 716 (collectively, nodes 702-716) connected together through edges and edge logic.
- the edge logic defines the rules and parameters for traversing from a parent node to a child node in the decision tree 700, according to one embodiment.
- Each of the nodes 702-716 includes node properties, such as a reach probability, a stop probability, a predictive model (or user experience option), and a user segment.
- the reach probability is the probability that a person coming into the stream of the decision tree will reach a particular node, according to one embodiment. Because all users are evaluated by the node 702, the reach probability of the node 702 is 1, indicating that there is a 100% chance that a user's characteristics will be evaluated by the node 702. Node 704 has a reach probability of 0.16 and node 706 has a reach probability of 0.64. Accordingly, of all the user traffic that is applied to the decision tree 700, node 704 will receive 16% of the user traffic and node 706 will receive 64% of the user traffic, on average, according to one embodiment.
- each node represents a segment of users to whom one of two predictive models (or user experience options) is applied.
- the users of a segment each receive one of two predictive models in accordance with the distribution rate, according to one embodiment.
- the software system 511 dynamically adapts the distribution rate, based on the evolving performance of predictive models (or user experience options) among the users of each segment, according to one embodiment. So, while some users of a segment might initially receive a first predictive model at a distribution rate of .7, with time users of the segment may receive the first predictive model at a distribution rate than evolves toward 0.0 or that evolves towards 1.0, based on the responses/actions of the users of the segment that receive use experience options from the first predictive model.
- the software system validates the performance of one predictive model among the users of a segment, while testing the performance of another predictive model among the other users of the segment, to eventually determine which of two or more predictive models (or user experience options) is most preferred by the users of a segment, according to one embodiment.
- the stop probability is the probability that the performance of a particular node without children nodes (for a user segment) will be better than the performance of children nodes split from the particular node, according to one embodiment.
- the stop probability is the probability that the performance of a leaf node is greater than the performance of creating two children nodes from a leaf node to convert the leaf node to a parent node. If a stop probability is 1, then the probability of stopping the further evaluation of the data sample is 100%. If a stop probability is less than 1, then the stop probability represents a likelihood that the decision tree will apply the predictive model (or user experience option) of the current node rather than evaluating a further path through the nodes of the decision tree 700, according to one embodiment. In one embodiment, if a data sample does not receive the predictive model (or user experience option) of a parent node, then the data sample receives the predictive model (or user experience option) of a descendent node.
- At least two predictive models are assigned to each node (i.e., to each segment of users associated with a node) of the decision tree 700.
- a predictive model (or user experience option) is defined as omitting a predictive model (or user experience option) from a user's personalized user experience.
- a predictive model (or user experience option) is defined as determining whether to add a user experience element or apply a sequence, or other user experience tool to a user's personalized user experience.
- the user segment is a segment or portion of users who have at least one user characteristic in common.
- a user set can be bifurcated into two user segments, in which a first user segment includes users who are younger than 30 years old and the second user segment includes users who are at least 30 years old, according to one embodiment.
- Each of the nodes 702-716 belong to a level that is defined by 1 plus the number of connections between the node of interest and the root node. Because the root node is the top node in the decision tree 700, the root node for the decision tree 700 is the node 702.
- node 702 belongs to level 1
- nodes 704 and 706 belong to level 2
- nodes 710 and 712 belong to level 3
- nodes 714 and 716 belong to level 4 of the decision tree 700, according to one embodiment.
- the predictive model (or user experience option) for a node is related to the level of the node in the decision tree 700.
- all levels of one decision tree provide binary options for whether or not to apply a predictive model (or user experience option) to a user's personalized user experience.
- each level of the decision tree is associated with a different predictive model (or user experience option), and each level of the decision tree provides binary options for whether or not to apply the predictive model (or user experience option) associated with that level to a user's personalized user experience.
- predictive model or user experience option
- predictive model are allocated to nodes within the decision tree, based on the dominance or capacity of the predictive model (or user experience option) to affect the actions of users, with more dominant predictive models (or user experience options) being assigned to nodes that are closer to the root node.
- edge logic includes an edge frequency ( ⁇ ) for which a single user characteristic (f satisfies a threshold (vi).
- the edge logic provides rules and the average frequency by which data samples traverse parent nodes to children nodes.
- the edge logic 708 indicates that the probability of the user characteristic (£) being greater than or equal to the threshold (v is 0.8, and that the probability of the user characteristic (f being less than the threshold (vO is 0.2, according to one embodiment.
- the thresholds for descendent nodes are different than all ancestor nodes because each descendent node already satisfies or inherits all of the characteristics of the descendent node's ancestor nodes.
- the process loads the decision engine with the analytics model, according to one embodiment.
- the process loads or updates the decision engine with the analytics model, if the analytics model is estimated or determined to be likely to perform better than the current analytics model that is in production, according to one embodiment.
- Operation 612 proceeds to operation 614, according to one embodiment.
- an application interfaces with users, according to one embodiment.
- the application interfaces with users by providing the users with questions to acquire user responses and/or to acquire known user characteristics, according to one
- the application interfaces with users by collecting clickstream data, IP address information, location of the user, operating system used by the user, user computing device identifiers, and other known user characteristics data, according to one embodiment.
- the application and the decision engine save business metrics, known user characteristics data, and/or user responses as existing software system data 522, according to one embodiment.
- the term "application” is used interchangeably with the term "software system”, according to one embodiment.
- Operation 614 concurrently proceeds to operation 604 to update the analytics model, and proceeds to operation 616 to apply the analytics model to information received about the users, according to one embodiment.
- the decision engine 513 receives known user characteristics data, according to one embodiment. Operation 616 proceeds to operation 618, according to one embodiment.
- the decision engine 513 applies the user characteristics data to an analytics model, according to one embodiment.
- the decision engine 513 also applies the predictive models 506 to the analytics model (e.g., the analytics model 519), according to one embodiment.
- the decision engine 513 applies the user characteristics data and the predictive models 506 to the analytics model to determine the distribution rates for which two or more predictive model that are to be applied to users having one or more of the known user characteristics received during operation 616, according to one embodiment.
- Operation 618 proceeds to operation 622, according to one embodiment.
- the decision engine 513 selects a predictive model (which determines user experience options for user), according to one embodiment.
- the decision engine 513 selects a predictive model based on the distribution rates generated by the analytics model in response to receipt of known user characteristics data that describe a user.
- the decision engine 513 generates a pseudo-random number that is weighted according to the distribution frequency rates generated by the user experience analytics model, according to one embodiment.
- the decision engine 513 For example, if the user experience analytics model generates distribution frequency rates of 0.8 for a first predictive model and 0.2 for a second predictive model, then the decision engine 513 generates a binary number which will indicate selecting a first predictive model 8 out of 10 times and will indicate selecting a second predictive model 2 out of 10 times, on average, according to one embodiment.
- the decision engine applies one or more known user characteristics to the selected predictive model to determine an unknown user characteristic for the user and to determine which one or more user experience options 514 to provide to the user in a personalized user experience, according to one embodiment. Because computing systems typically generate “random” numbers using algorithms and clocks, a "random" number generated by a computing system is referred to as a "pseudo-random" number.
- Operation 622 proceeds to operation 614, according to one embodiment.
- FIG. 8 illustrates an example of a process 800 that is employed or executed by the software system 511 of the production environment 500, to periodically update the analytics model 519, according to one embodiment.
- a software system e.g., a tax return preparation system or other finance management system
- the identification and performance evaluation of a user experience option is interchangeable with the identification and performance evaluation of a predictive model, according to one embodiment.
- the performance of a segment is based on a particular user experience option or based on a particular predictive model that is associated with one or more user characteristics by the decision tree, according to one embodiment.
- the process identifies a segment of a user set, according to one embodiment.
- the segment may be the entirety of the user set, may include recent users of the user set, may include users (i.e., prior users) who have interacted with a software system over a predetermined period of time (e.g., during a previous year), or may be any other subset of the user set, according to one embodiment.
- Operation 802 proceeds to operation 808, according to one embodiment.
- the process identifies a user experience option, according to one embodiment.
- the user experience option identified by the process is used by the process to define nodes, node properties, and edge logic for traversing from parent nodes to children nodes, according to one embodiment.
- identifying a user experience option includes identifying a plurality of user experience options, according to one embodiment.
- operation 804 occurs prior to operation 802, after operation 802, or concurrently with operation 802, according to one embodiment. Operation 804 proceeds to operation 808, according to one embodiment.
- the process identifies a user characteristic, according to one embodiment.
- user characteristics can include personal identification information, income information, tax-related information, clickstream information, geographic location of the user, an IP address or other computing or other user computing device identification information, family information about the user, and the like, according to various embodiments.
- the process performs operation 806 before, in between, after, or concurrently with operation 802 and/or operation 804, according to one embodiment. Operation 806 proceeds to operation 808, according to one embodiment.
- the process determines one or more thresholds for the user characteristic, according to one embodiment.
- the process is able to define additional segments of users, to determine if the identified user experience option more effectively causes one segment of users to perform a particular action better than another segment of users, according to one embodiment.
- a threshold value such as 35 years of age, for a user characteristic of age, can be used to bifurcate a segment of users of all ages into to a sub-segment of users who are less than 35 years old and a sub- segment of users who are at least 35 years old, according to one embodiment.
- Operation 808 proceeds to operation 810, according to one embodiment.
- the process generates two sub-segments from the segment of the user set, based on the one or more thresholds, according to one embodiment.
- the operation 810 proceeds to operation 812, according to one embodiment.
- the process determines an effective performance of the identified user experience option for the identified segment and for the two sub-segments, according to one embodiment.
- the effective performance of the user experience option for the identified segment and/or for the two sub-segments is a probabilistic distribution that users (who are defined by the segments and/or sub-segments) will perform one or more predetermined actions, according to one embodiment.
- Examples of the determined actions include, but are not limited to, answering questions, remaining logged into a user session of the software system, filing a tax return, progressing through a sequence of topics or a sequence of questions, clicking a button, interacting with a particular user experience object or element, paying for a service, submitting credit card information, providing an email address, providing a telephone number, and the like, according to various embodiments.
- the process uses
- Thompson Sampling on user responses to user experience options at least partially based on user characteristics data, to determine a sample mean and a sample variance for the performance of user experience options on a segment of users, according to one embodiment.
- the process uses Thompson Sampling blending or other mathematical techniques for calculating an average of multiple Thompson Samples to determine an effective performance of a user experience option on a segment or sub-segment, according to one embodiment.
- Operation 812 proceeds to operation 814, according to one embodiment.
- the process determines a stop probability by comparing the effective performance of the identified segment to the effective performances of the two sub- segments of the identified segment, according to one embodiment.
- the stop probability is the probability that the performance of the identified segment is greater than the effective performance of the two sub-segments, according to one embodiment.
- the stop probability is the probability that the effective performance of a user experience option that is associated with a parent node is greater than an effective performance of user experience options that are associated with children nodes, according to one
- a low stop probability indicates that the likelihood of gaining additional effective performance from the user experience analytics model will likely be gained from splitting an identified segment into two sub- segments, according to one embodiment. Operation 814 proceeds to operation 816, according to one embodiment.
- the process determines if the process has iterated through all identified thresholds, according to one embodiment. For user characteristics having binary or Boolean outcomes such as yes or no, there may not be multiple thresholds to iterate through. However, if the user characteristics that are used to define part of the model have continuous values, e.g., users' ages, user income, and the like, then the process advantageously identifies and recurses through the multiple thresholds (e.g., through multiple age ranges or income ranges) to test the effective performance of a user experience option against variations of sub- segments, according to one embodiment. If the process completes iterating through all of the one or more thresholds, operation 816 proceeds to operation 820, according to one embodiment. If the process has not iterated through all of the one or more thresholds, operation 816 proceeds to operation 818, according to one embodiment.
- multiple thresholds e.g., through multiple age ranges or income ranges
- the process generates two additional sub-segments from the identified segment of the user set, based on one or more additional thresholds, according to one embodiment. Operation 818 proceeds to operation 812, according to one embodiment.
- the process determines if all stop probabilities are above a stop probability threshold, according to one embodiment. If all stop probabilities are above a stop probability threshold, e.g., 0.8, the operation 820 proceeds to operation 822 to end the process, according to one embodiment. If at least one of the stop probabilities is not above the stop probability threshold, operation 820 proceeds to operation 824.
- a stop probability threshold e.g. 0.
- the process selects a threshold value and the sub-segments with the best performance, according to one embodiment.
- the effective performance of segments and sub-segments is a probabilistic distribution having a sample mean and a sample variance.
- the best performance includes a combination of a threshold and a user experience option that results in the highest sample mean.
- the best performance includes a combination of a threshold and a user experience option that produces the lowest sample variance.
- the best performance includes a combination of a threshold and a user experience option that produces the highest sample mean and/or the lowest sample variance while having a sample mean that is greater than a minimum threshold and/or while having a sample variance that is below a maximum sample variance threshold. Operation 824 proceeds to operation 826, according to one embodiment.
- the process splits a decision tree node into two decision tree children nodes that correspond with the sub-segments with the best performance, according to one embodiment.
- the node properties e.g., the reach
- Operation 826 proceeds to operation 828, according to one embodiment.
- the process updates the stop probability and the reach probability for the nodes of the sub- segments and all ancestor nodes to the children nodes that correspond with the sub-segments, according to one embodiment. For example, because the sum of the reach probabilities for the nodes of the decision tree is 1, the reach probabilities of ancestor nodes are updated to reflect the addition of the children node reach probabilities, according to one embodiment. Operation 828 proceeds to operation 830, according to one embodiment.
- the process identifies a next user characteristic and/or a next user experience option to model, according to one embodiment. Operation 830 proceeds to operation 808, according to one embodiment.
- FIG. 9 illustrates an example of a flow diagram for a process 900 for determining a stop probability, according to one embodiment.
- the process 900 is an example of one technique for determining a stop probability that can be performed during operation 814 of FIG. 8 of the process 800 for defining a user experience analytics model, according to one
- the process splits a user segment 904 into two sub-segments, and determines the effective performance of each sub-segment based on existing software system data 522, according to one embodiment.
- the existing software system data includes, but is not limited to, user characteristics data, user responses, conversion rates of users to paying customers, revenue generated by the software system, and the like, according to one
- the sub-segments are splits based on a value of the threshold and based on whether a user characteristic is less than the value or greater than or equal to the value of the threshold, according to one embodiment.
- the result of determining the effective performance of each sub-segment is a probabilistic distribution 906 and a probabilistic distribution 908 for the sub- segments, according to one embodiment.
- the probabilistic distributions 906 and 908 are not just an estimate of the performance of a user experience option on each sub-segment, instead, the probabilistic distributions 906 and 908 are estimations of the probability of the performance of a user experience option on the sub-segments.
- the effective performances result in probabilistic distributions because the effective performances are estimates of performance that include the uncertainty around how a user will respond to a user experience option integrated into the user's personalized user experience, according to one embodiment.
- the process proceeds from block 902 to block 910, according to one embodiment.
- the process determines/computes the combined effective performance of the effective performance of the two sub-segments, according to one
- the process determines the combined effective performance by using addition or other mathematical operations to combine the performance of each sub-segment, with each sub- segment effective performance weighted by the edge frequency ( ⁇ ) (fraction of parent node traffic from FIG. 7), to remove bias, in one embodiment.
- the process proceeds from block 910 to block 914, according to one embodiment.
- the process determines/computes the effective performance of the segment as though the sub- segments were not being split from the segment, according to one embodiment. In other words, the process computes the overall segment effective performance assuming the segment is not being split. The process proceeds from block 912 to block 914, according to one embodiment.
- the process compares the effective performance of the segment, when it is not split, to the combined effective performance of the sub-sections, to determine the stop probability, according to one embodiment.
- the stop probability is the probability that the effective performance of the un-split segment is greater or better than the effective performance of splitting the segment, according to one embodiment.
- FIG. 10 illustrates an example of a flow diagram of a process 1000 for computing the effective performance of a segment or sub-segment of users, according to one embodiment.
- the process 1000 is an example of one technique that can be used by operation 812 (shown in FIG. 8) for the process 800 for defining an analytics model, according to one embodiment.
- the process 1000 is an example of one technique that can be used in blocks 902 and/or 912 (shown in FIG. 9) for the process 900 for determining a stop probability, according to one embodiment.
- the process 1000 uses existing software system data 522 to compute the effective performance for a segment based on Thompson Sampling blending of the performance of individual user experience options and/or based on each individual user's experience/feedback with the software system (e.g., in response to receiving the user experience option in the user's personalized user experience), according to one embodiment.
- FIG. 11 illustrates an example flow diagram for a process 1100 for computing the effective performance of input estimates blended by Thompson Sampling, according to one embodiment.
- the process 1100 is an example of one technique that can be used in block 914 (show in FIG. 9) of the process 900 for determining a stop probability, according to one embodiment.
- the process 1100 is an example of one technique that can be used during the process 800 for computing the effective performance of a segment or sub-segment, according to one embodiment.
- the process 1100 uses the probability density function (“PDF") and the cumulative distribution function (“CDF”) to determine the probability that the true performance of each user's experience or of each user experience option is better than alternative options, according to one embodiment. As illustrated in FIG. 11, the process 1100 computes the effective performance of an entire segment of users as a weighted combination of either each user's experience or of the distribution of a particular user experience option to the users of the segment of users, in one embodiment.
- PDF probability density function
- CDF cumulative distribution function
- FIGs. 12A and 12B illustrate an example flow diagram of a process 1200 for applying analytics models to a software system to select predictive models for personalizing user experiences in the software system, according to one embodiment.
- the process includes providing, with one or more computing systems, a software system, according to one embodiment.
- the process includes receiving known user characteristics data representing a plurality of known user characteristics, with respect to the software system, for a plurality of users of the software system, according to one embodiment.
- the process includes storing the known user characteristics data in one or more sections of memory that are allocated for use by the software system, according to one embodiment.
- the process includes providing a plurality of predictive models that determine unknown user characteristics data for the plurality of users at least partially based on the known user characteristics data, the unknown user characteristics data representing a plurality of unknown user characteristics that are unknown by the software system during at least part of a user session of a user of the software system, according to one embodiment.
- the process includes providing an analytics model, according to one embodiment.
- the process includes applying the known user characteristics data to the analytics model to categorize the plurality of users into a plurality of segments of users, wherein each of the plurality of segments of users commonly share one or more of the plurality of known user characteristics, according to one embodiment.
- the process includes applying the known user characteristics data to the analytics model to identify ones of the plurality of predictive models to apply to one or more of the plurality of segments of users, according to one embodiment.
- the process includes applying one or more of the plurality of known user characteristics to the identified ones of the plurality of predictive models to identify one or more of the plurality of unknown user characteristics for one or more of the plurality of segments of users, according to one embodiment.
- the process includes delivering personalized user experiences data representing personalized user experiences for one or more of the plurality of users belonging to one or more of the plurality of segments of users, at least partially based on the one or more of the plurality of unknown user characteristics identified by applying one or more of the plurality of known user characteristics to the identified ones of the plurality of predictive models, to improve an accuracy of one or more of the plurality of predictive models by targeting specific groups of users to receive user experiences through use of the one or more of the plurality of predictive models, to improve a likelihood of satisfaction of the plurality of users with user sessions with the software system, and to increase a likelihood that the plurality of users perform one or more actions towards converting from potential customers of the software system into customers of the software system, according to one embodiment.
- embodiments of the present disclosure allows for significant improvement to the fields of user experience, electronic tax return preparation, data analytics, data collection, and data processing, according to one embodiment.
- embodiments of the present disclosure allows for progressing a user through a tax return preparation interview user flow and/or tax return preparation session with fewer processing cycles and less communications bandwidth because the user is more likely to be satisfied and less likely to prematurely terminate his/her user session prior to completing a particular activity (e.g., filing a tax return).
- implementation of embodiments of the present disclosure represent a significant improvement to the field of automated user experiences and, in particular, efficient use of human and non-human resources.
- the user can more easily comprehend and interact with digital user experience displays and computing environments, reducing the overall time invested by the user to the tax return preparation or other software system-related tasks.
- selectively presenting user experience options to users improves and/or increases the likelihood that a potential customer will be converted into a paying customer because the potential customer receives confirmation that the software system appears to understand the particular user's needs and preferences, according to one embodiment. Consequently, using embodiments of the present disclosure, the user experience is less burdensome, less time consuming and allows the user to dedicate more of his or her time to other activities or endeavors, while having confidence that the tax return preparation system and/or software system is adequately addressing the needs of the user.
- a computer system implemented method applies analytics models to a software system to select predictive models for personalizing user experiences in the software system.
- the method includes providing, with one or more computing systems, a software system, according to one embodiment.
- the method includes receiving known user characteristics data representing a plurality of known user characteristics, with respect to the software system, for a plurality of users of the software system, according to one embodiment.
- the method includes storing the known user characteristics data in one or more sections of memory that are allocated for use by the software system, according to one embodiment.
- the method includes providing a plurality of predictive models that determine unknown user characteristics data for the plurality of users at least partially based on the known user characteristics data, the unknown user characteristics data representing a plurality of unknown user characteristics that are unknown by the software system during at least part of a user session of a user of the software system, according to one embodiment.
- the method includes providing an analytics model, according to one embodiment.
- the method includes applying the known user characteristics data to the analytics model to categorize the plurality of users into a plurality of segments of users, according to one embodiment. Each of the plurality of segments of users commonly share one or more of the plurality of known user characteristics, according to one embodiment.
- the method includes applying the known user characteristics data to the analytics model to identify ones of the plurality of predictive models to apply to one or more of the plurality of segments of users, according to one embodiment.
- the method includes applying one or more of the plurality of known user characteristics to the identified ones of the plurality of predictive models to identify one or more of the plurality of unknown user characteristics for one or more of the plurality of segments of users, according to one embodiment.
- the method includes delivering personalized user experiences data representing personalized user experiences for one or more of the plurality of users belonging to one or more of the plurality of segments of users, at least partially based on the one or more of the plurality of unknown user characteristics identified by applying one or more of the plurality of known user characteristics to the identified ones of the plurality of predictive models, to improve an accuracy of one or more of the plurality of predictive models by targeting specific groups of users to receive user experiences through use of the one or more of the plurality of predictive models, to improve a likelihood of satisfaction of the plurality of users with user sessions with the software system, and to increase a likelihood that the plurality of users perform one or more actions towards converting from potential customers of the software system into customers of the software system, according to one embodiment.
- a computer system implemented method applies analytics models to a software system to improve selection of predictive models for personalizing user experiences in the software system.
- the method includes providing, with one or more computing systems, a software system, according to one embodiment.
- the method includes receiving known user characteristics data representing known user characteristics for each of a plurality of users of the software system, according to one embodiment.
- the method includes storing the known characteristics data in one or more sections of memory that are allocated for use by the software system, according to one embodiment.
- the method includes providing a plurality of predictive models that determine unknown user characteristics data for the plurality of users at least partially based on the known user characteristics data, the unknown user characteristics data representing a plurality of unknown user characteristics for the plurality of users that are unknown by the software system during at least part of a user session with the software system, according to one embodiment.
- the method includes providing an analytics model, according to one embodiment.
- the method includes categorizing, with the analytics model, the plurality of users into at least a first segment of users and a second segment of users, at least partially based on the known user characteristics data for the plurality of users, according to one embodiment.
- Each user of the first segment of users has one or more first user characteristics and each user of the second segment of users has one or more second user characteristics, according to one embodiment.
- the method includes identifying, with the analytics model, a first one of the plurality of predictive models to apply to a first portion of the first segment of users and a second one of the plurality of predictive models to apply to a second portion of the first segment of users, at least partially based on an estimated performance of the first one of the plurality of predictive models on the first segment of users, and at least partially based on an estimated performance of the second one of the plurality of predictive models on the first segment of users, according to one embodiment.
- the method includes applying known user characteristics for the first portion of the first segment of users to the first one of the plurality of predictive models with a first distribution rate to identify one or more first ones of the plurality of unknown user characteristics for the first portion of the first segment of users, according to one embodiment.
- the method includes applying known user characteristics for the second portion of the first segment of users to the second one of the plurality of predictive models with a second distribution rate to identify one or more second ones of the plurality of unknown user characteristics for the second portion of the first segment of users, according to one
- the method includes delivering personalized user experiences data to the first portion of the first segment of users at least partially based on the first ones of the plurality of unknown user characteristics and to the second portion of the first segment of users at least partially based on the second ones of the plurality of unknown user characteristics, to improve an accuracy of one or more of the plurality of predictive models by targeting specific groups of users to receive user experiences through use of one or more of the plurality of predictive models, to improve a likelihood of satisfaction of the plurality of users with the personalized user experiences, and to increase a likelihood that the plurality of users perform one or more actions towards converting from potential customers of the software system to customers of the software system, according to one embodiment.
- a computer system implemented method applies analytics models to a software system to improve selection of predictive models for personalizing user experiences in the software system.
- the method includes providing, with one or more computing systems, a software system, according to one embodiment.
- the method includes receiving known user characteristics data for a plurality of users of the software system, the user characteristics data representing a plurality of known user characteristics for the plurality of users of the software system, according to one embodiment.
- the method includes categorizing, with an analytics model, the plurality of users of the software system, into a plurality of segments of users, at least partially based on the known user characteristics data for the plurality of users of the software system, according to one embodiment.
- the method includes providing a plurality of predictive models represented by predictive model data, each of the plurality of predictive models configured to determine an unknown user characteristic for a user based on one or more known user characteristics for the user, according to one
- the method includes for a first one of the plurality of segments of users, selecting, with the analytics model, a first two of the plurality of predictive models, according to one embodiment.
- the method includes applying the first two of the plurality of predictive models at two distribution rates to the users of the first one of the plurality of segments of users, to test a performance of the first two of the plurality of predictive models on the users of the first one of the plurality of segments of users, according to one embodiment.
- the method includes for a second one of the plurality of segments of users, selecting, with the analytics model, a second two of the plurality of predictive models, according to one embodiment.
- the method includes applying the second two of the plurality of predictive models at two distribution rates to the users of the second one of the plurality of segments of users, to test a performance of the second two of the plurality of predictive models on the users of the second one of the plurality of segments of users, according to one embodiment.
- the method includes delivering first personalized user experiences for the first one of the plurality of segments of users at least partially based on the first two of the plurality of predictive models and second personalized user experiences for the second one of the plurality of segments of users at least partially based on the second two of the plurality of predictive models, according to one embodiment.
- the method includes repeatedly updating the analytics model to improve selection of the first two of the plurality of predictive models and to improve selection of the second two of the plurality of predictive models, at least partially based on user responses to the first personalized user experiences and the second personalized user experiences, to increase a likelihood of the plurality of users performing one or more actions towards completing a predetermined task in the software system.
- transforming refers to the action and process of a computing system or similar electronic device that manipulates and operates on data represented as physical (electronic) quantities within the computing system memories, resisters, caches or other information storage, transmission or display devices.
- the present invention also relates to an apparatus or system for performing the operations described herein.
- This apparatus or system may be specifically constructed for the required purposes, or the apparatus or system can comprise a general purpose system selectively activated or configured/reconfigured by a computer program stored on a computer program product as discussed herein that can be accessed by a computing system or other device.
- the present invention is well suited to a wide variety of computer network systems operating over numerous topologies.
- the configuration and management of large networks comprise storage devices and computers that are
- a private network a LAN, a WAN, a private network, or a public network, such as the Internet.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Technology Law (AREA)
- Medical Informatics (AREA)
- Game Theory and Decision Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA3021552A CA3021552C (en) | 2016-04-25 | 2017-02-27 | Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system |
AU2017258468A AU2017258468A1 (en) | 2016-04-25 | 2017-02-27 | Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system |
EP17790034.7A EP3449457A4 (en) | 2016-04-25 | 2017-02-27 | Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system |
AU2021203090A AU2021203090A1 (en) | 2016-04-25 | 2021-05-14 | Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/137,704 US10621677B2 (en) | 2016-04-25 | 2016-04-25 | Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system |
US15/137,704 | 2016-04-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017189084A1 true WO2017189084A1 (en) | 2017-11-02 |
Family
ID=60090282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2017/019600 WO2017189084A1 (en) | 2016-04-25 | 2017-02-27 | Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system |
Country Status (5)
Country | Link |
---|---|
US (1) | US10621677B2 (en) |
EP (1) | EP3449457A4 (en) |
AU (2) | AU2017258468A1 (en) |
CA (1) | CA3021552C (en) |
WO (1) | WO2017189084A1 (en) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10204382B2 (en) | 2015-05-29 | 2019-02-12 | Intuit Inc. | Method and system for identifying users who benefit from filing itemized deductions to reduce an average time consumed for users preparing tax returns with a tax return preparation system |
US10169828B1 (en) | 2015-07-29 | 2019-01-01 | Intuit Inc. | Method and system for applying analytics models to a tax return preparation system to determine a likelihood of receiving earned income tax credit by a user |
US10387787B1 (en) | 2015-10-28 | 2019-08-20 | Intuit Inc. | Method and system for providing personalized user experiences to software system users |
US10373064B2 (en) * | 2016-01-08 | 2019-08-06 | Intuit Inc. | Method and system for adjusting analytics model characteristics to reduce uncertainty in determining users' preferences for user experience options, to support providing personalized user experiences to users with a software system |
US10861106B1 (en) | 2016-01-14 | 2020-12-08 | Intuit Inc. | Computer generated user interfaces, computerized systems and methods and articles of manufacture for personalizing standardized deduction or itemized deduction flow determinations |
US11069001B1 (en) * | 2016-01-15 | 2021-07-20 | Intuit Inc. | Method and system for providing personalized user experiences in compliance with service provider business rules |
US11030631B1 (en) | 2016-01-29 | 2021-06-08 | Intuit Inc. | Method and system for generating user experience analytics models by unbiasing data samples to improve personalization of user experiences in a tax return preparation system |
US10621597B2 (en) | 2016-04-15 | 2020-04-14 | Intuit Inc. | Method and system for updating analytics models that are used to dynamically and adaptively provide personalized user experiences in a software system |
US10373267B2 (en) | 2016-04-29 | 2019-08-06 | Intuit Inc. | User data augmented propensity model for determining a future financial requirement |
US10445839B2 (en) | 2016-04-29 | 2019-10-15 | Intuit Inc. | Propensity model for determining a future financial requirement |
US11107027B1 (en) | 2016-05-31 | 2021-08-31 | Intuit Inc. | Externally augmented propensity model for determining a future financial requirement |
US10671952B1 (en) | 2016-06-01 | 2020-06-02 | Intuit Inc. | Transmission of a message based on the occurrence of a workflow event and the output of an externally augmented propensity model identifying a future financial requirement |
US10346927B1 (en) | 2016-06-06 | 2019-07-09 | Intuit Inc. | Method and system for providing a personalized user experience in a tax return preparation system based on predicted life events for a user |
US10318573B2 (en) * | 2016-06-22 | 2019-06-11 | Oath Inc. | Generic card feature extraction based on card rendering as an image |
US10943309B1 (en) | 2017-03-10 | 2021-03-09 | Intuit Inc. | System and method for providing a predicted tax refund range based on probabilistic calculation |
US11386504B2 (en) * | 2017-10-17 | 2022-07-12 | Hrb Innovations, Inc. | Tax-implication payoff analysis |
US11069002B2 (en) * | 2017-10-17 | 2021-07-20 | Hrb Innovations, Inc. | User interfaces for a tax return application |
US20190171774A1 (en) * | 2017-12-04 | 2019-06-06 | Promontory Financial Group Llc | Data filtering based on historical data analysis |
US11416622B2 (en) | 2018-08-20 | 2022-08-16 | Veracode, Inc. | Open source vulnerability prediction with machine learning ensemble |
US20200125892A1 (en) * | 2018-10-18 | 2020-04-23 | Oracle International Corporation | System and method for next step prediction of ics flow using artificial intelligence/machine learning |
JP6898296B2 (en) * | 2018-12-27 | 2021-07-07 | ファナック株式会社 | Display device for injection molding machine |
JP7157681B2 (en) * | 2019-03-01 | 2022-10-20 | 東京瓦斯株式会社 | ATTRIBUTE ESTIMATION APPARATUS, METHOD AND PROGRAM |
US10929110B2 (en) * | 2019-06-15 | 2021-02-23 | International Business Machines Corporation | AI-assisted UX design evaluation |
US11095943B1 (en) * | 2019-06-25 | 2021-08-17 | Amazon Technologies, Inc. | System and method for management of personalization content |
US11308428B2 (en) * | 2019-07-09 | 2022-04-19 | International Business Machines Corporation | Machine learning-based resource customization to increase user satisfaction |
US20210174403A1 (en) * | 2019-12-04 | 2021-06-10 | Accenture Global Solutions Limited | Next best action management platform |
US11068997B1 (en) * | 2019-12-27 | 2021-07-20 | Capital One Services, Llc | Systems and methods for predictive model generation |
US10984305B1 (en) * | 2020-01-15 | 2021-04-20 | Capital One Services, Llc | Synthetic clickstream testing using a neural network |
US11769165B2 (en) * | 2021-02-03 | 2023-09-26 | Microsoft Technology Licensing, Llc | Integrated explicit intent and inference based job seeker identification and segmentation |
US20230080572A1 (en) * | 2021-08-01 | 2023-03-16 | Cigniti Technologies Limited | System and method to engineer user experience |
US20240118993A1 (en) * | 2022-10-11 | 2024-04-11 | Wevo, Inc. | Scalable systems and methods for curating user experience test results |
US11948207B1 (en) * | 2023-07-31 | 2024-04-02 | Intuit, Inc. | Machine learning based approach for recommending different categories of tax deductible expenses and related examples of tax deductible expenses for each category |
US12032918B1 (en) | 2023-08-31 | 2024-07-09 | Wevo, Inc. | Agent based methods for discovering and documenting user expectations |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110264569A1 (en) * | 2010-04-26 | 2011-10-27 | Hrb Tax Group, Inc. | Method, system, and computer program for predicting tax liabilites and benefits |
US20120109792A1 (en) * | 2010-10-28 | 2012-05-03 | Intuit Inc. | Instant tax return preparation |
US20130282539A1 (en) * | 2005-01-14 | 2013-10-24 | Taxnet Inc. | Distributed tax-return-preparation processing |
US20140201045A1 (en) * | 2013-01-17 | 2014-07-17 | Yogish Pai | Determining local tax structures in an accounting application through user contribution |
WO2016039779A1 (en) * | 2014-09-11 | 2016-03-17 | Intuit Inc. | Methods systems and articles of manufacture for using a predictive model to determine tax topics which are relevant to a taxpayer in preparing an electronic tax return |
Family Cites Families (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4763277A (en) | 1986-01-17 | 1988-08-09 | International Business Machines Corporation | Method for obtaining information in an expert system |
US6327574B1 (en) | 1998-07-07 | 2001-12-04 | Encirq Corporation | Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner |
US7370004B1 (en) | 1999-11-15 | 2008-05-06 | The Chase Manhattan Bank | Personalized interactive network architecture |
US6973418B1 (en) | 2000-04-07 | 2005-12-06 | Hewlett-Packard Development Company, L.P. | Modeling decision-maker preferences using evolution based on sampled preferences |
DE60045479D1 (en) | 2000-09-08 | 2011-02-17 | Oracle America Inc N D Ges D Staates Delaware | Programming method for enabling polymorphism |
US6922488B2 (en) | 2001-02-16 | 2005-07-26 | International Business Machines Corporation | Method and system for providing application launch by identifying a user via a digital camera, utilizing an edge detection algorithm |
US20060155632A1 (en) | 2001-07-06 | 2006-07-13 | Cherkas Rod A | Automated, user specific tax analysis of investment transactions using a personal tax profile |
WO2003014867A2 (en) | 2001-08-03 | 2003-02-20 | John Allen Ananian | Personalized interactive digital catalog profiling |
WO2003032125A2 (en) | 2001-10-11 | 2003-04-17 | Visualsciences, Llc | System, method, and computer program product for processing and visualization of information |
US7797166B1 (en) | 2002-10-30 | 2010-09-14 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Systems and methods for generating a model for income scoring |
US20120150888A1 (en) | 2003-09-10 | 2012-06-14 | Geoffrey Hyatt | Method and system for relationship management and intelligent agent |
US8103531B2 (en) | 2004-03-26 | 2012-01-24 | Accenture Global Services Limited | Enhancing insight-driven customer interactions |
US7860763B1 (en) | 2004-09-07 | 2010-12-28 | Intuit Inc. | Proactive tax preparation |
CN101194252A (en) | 2004-11-23 | 2008-06-04 | 英图特有限公司 | Model-driven user interview |
WO2006058103A2 (en) | 2004-11-24 | 2006-06-01 | Siemens Medical Solutions Usa, Inc. | A predictive user interface system |
US7716094B1 (en) | 2005-05-05 | 2010-05-11 | Intuit Inc. | Estimated tax reminder and payment facilitation service |
US20060294084A1 (en) | 2005-06-28 | 2006-12-28 | Patel Jayendu S | Methods and apparatus for a statistical system for targeting advertisements |
US20070192166A1 (en) | 2006-02-15 | 2007-08-16 | Leviathan Entertainment, Llc | Survey-Based Qualification of Keyword Searches |
US8504575B2 (en) | 2006-03-29 | 2013-08-06 | Yahoo! Inc. | Behavioral targeting system |
US7809740B2 (en) | 2006-03-29 | 2010-10-05 | Yahoo! Inc. | Model for generating user profiles in a behavioral targeting system |
US8099309B1 (en) | 2006-06-26 | 2012-01-17 | Intuit Inc. | Financial policy change advisor |
US20080071703A1 (en) | 2006-09-05 | 2008-03-20 | The Tax Co-Op, Inc. | Tax resolution process and system |
US7992139B2 (en) | 2006-11-29 | 2011-08-02 | International Business Machines Corporation | Method, system and program product for transforming a single language program into multiple language programs |
US7590572B2 (en) | 2006-12-14 | 2009-09-15 | Intuit Inc. | System and method for efficient return preparation for newly-independent filers |
US8024660B1 (en) | 2007-01-31 | 2011-09-20 | Intuit Inc. | Method and apparatus for variable help content and abandonment intervention based on user behavior |
US7917411B1 (en) | 2007-01-31 | 2011-03-29 | Intuit Inc. | System and method for reducing return errors |
US7853611B2 (en) | 2007-02-26 | 2010-12-14 | International Business Machines Corporation | System and method for deriving a hierarchical event based database having action triggers based on inferred probabilities |
US7788137B1 (en) | 2007-04-19 | 2010-08-31 | Intuit Inc. | Method and system for price variability of a service |
US8200527B1 (en) | 2007-04-25 | 2012-06-12 | Convergys Cmg Utah, Inc. | Method for prioritizing and presenting recommendations regarding organizaion's customer care capabilities |
US7788204B1 (en) | 2007-04-27 | 2010-08-31 | Intuit Inc. | System and method for adapting program elements based on application usage |
US9898753B2 (en) | 2007-09-27 | 2018-02-20 | Excalibur Ip, Llc | Methods for cross-market brand advertising, content metric analysis, and placement recommendations |
WO2009050301A1 (en) | 2007-10-19 | 2009-04-23 | Changing Worlds Ltd. | Systems and methods for providing personalized advertisement |
US8214308B2 (en) | 2007-10-23 | 2012-07-03 | Sas Institute Inc. | Computer-implemented systems and methods for updating predictive models |
KR101020206B1 (en) | 2008-06-16 | 2011-03-08 | 성균관대학교산학협력단 | Method for recommendation to user and storage medium storing program for realizing the method |
US7769647B1 (en) | 2008-07-31 | 2010-08-03 | Intuit Inc. | Method and system for providing a year-round tax monitor |
US8090794B1 (en) | 2008-08-25 | 2012-01-03 | Intuit Inc. | Technique for customizing displayed content |
US8775070B1 (en) | 2008-10-15 | 2014-07-08 | Intuit Inc. | Method and system for user preference-based route calculation |
US8768313B2 (en) | 2009-08-17 | 2014-07-01 | Digimarc Corporation | Methods and systems for image or audio recognition processing |
US8190499B1 (en) | 2009-08-21 | 2012-05-29 | Intuit Inc. | Methods systems and articles of manufacture for collecting data for future electronic tax return |
US8490018B2 (en) | 2009-11-17 | 2013-07-16 | International Business Machines Corporation | Prioritization of choices based on context and user history |
US8332517B2 (en) | 2010-03-31 | 2012-12-11 | Incnetworks, Inc. | Method, computer program, and algorithm for computing network service value pricing based on communication service experiences delivered to consumers and merchants over a smart multi-services (SMS) communication network |
US8438122B1 (en) | 2010-05-14 | 2013-05-07 | Google Inc. | Predictive analytic modeling platform |
US8694313B2 (en) | 2010-05-19 | 2014-04-08 | Google Inc. | Disambiguation of contact information using historical data |
US8650558B2 (en) | 2010-05-27 | 2014-02-11 | Rightware, Inc. | Online marketplace for pre-installed software and online services |
US8407113B1 (en) | 2010-06-09 | 2013-03-26 | Intuit Inc. | Inference-based tax preparation |
US9307288B2 (en) | 2010-06-23 | 2016-04-05 | Hillcrest Laboratories, Inc. | Television sign on for personalization in a multi-user environment |
US8346635B1 (en) | 2010-06-30 | 2013-01-01 | Intuit Inc. | Methods systems and computer program products for identifying suspect data of an electronic tax return |
US8452676B1 (en) | 2010-07-27 | 2013-05-28 | Intuit Inc. | Method and system for filing a tax form using quick return |
US9117247B2 (en) | 2011-02-18 | 2015-08-25 | Intuit Inc. | Systems methods and computer program products for encoding and decoding tax return data |
US20120030080A1 (en) | 2010-07-29 | 2012-02-02 | Accenture Global Services Gmbh | Systemic Risk Monitoring System And Method For Revenue Agencies |
US8489479B2 (en) | 2010-07-29 | 2013-07-16 | Accenture Global Services Limited | Risk scoring system and method for risk-based data assessment |
US20120027246A1 (en) | 2010-07-29 | 2012-02-02 | Intuit Inc. | Technique for collecting income-tax information |
US8707275B2 (en) | 2010-09-14 | 2014-04-22 | Microsoft Corporation | Simulation environment for distributed programs |
US8806444B1 (en) | 2011-04-07 | 2014-08-12 | Intuit Inc. | Modifying software based on tracked activities |
US8706762B1 (en) | 2011-05-16 | 2014-04-22 | Intuit Inc. | System and method for automated web site information retrieval scripting using untrained users |
WO2012166581A2 (en) | 2011-05-27 | 2012-12-06 | Ctc Tech Corp. | Creation, use and training of computer-based discovery avatars |
US20130080911A1 (en) | 2011-09-27 | 2013-03-28 | Avaya Inc. | Personalizing web applications according to social network user profiles |
US10475130B2 (en) | 2012-01-30 | 2019-11-12 | Hrb Innovations, Inc. | Method, system, and computer program for predicting tax liabilities associated with reportable income on a 1099 form |
US9275342B2 (en) * | 2012-04-09 | 2016-03-01 | 24/7 Customer, Inc. | Method and apparatus for intent modeling and prediction |
US9128911B1 (en) | 2012-04-30 | 2015-09-08 | Intuit Inc. | Estimating high level tax refund range |
US8972990B2 (en) | 2012-08-29 | 2015-03-03 | International Business Machines Corporation | Providing a seamless transition for resizing virtual machines from a development environment to a production environment |
US20140067518A1 (en) | 2012-08-31 | 2014-03-06 | Accenture Global Services Limited | Multi-channel marketing attribution analytics |
US9405427B2 (en) | 2012-09-12 | 2016-08-02 | Facebook, Inc. | Adaptive user interface using machine learning model |
US9373087B2 (en) | 2012-10-25 | 2016-06-21 | Microsoft Technology Licensing, Llc | Decision tree training in machine learning |
US10977701B2 (en) | 2012-12-04 | 2021-04-13 | Crutchfield Corporation | Techniques for providing retail customers a seamless, individualized discovery and shopping experience between online and brick and mortar retail locations |
CA2893960C (en) | 2012-12-05 | 2020-09-15 | Grapevine6 Inc. | System and method for finding and prioritizing content based on user specific interest profiles |
US9047871B2 (en) | 2012-12-12 | 2015-06-02 | At&T Intellectual Property I, L.P. | Real—time emotion tracking system |
US9378065B2 (en) | 2013-03-15 | 2016-06-28 | Advanced Elemental Technologies, Inc. | Purposeful computing |
US20140359261A1 (en) | 2013-05-31 | 2014-12-04 | Vordel Limited | Environmentalization technique for promotion of application programming interface (api) server in lifecycle succession of deployments |
US9484044B1 (en) | 2013-07-17 | 2016-11-01 | Knuedge Incorporated | Voice enhancement and/or speech features extraction on noisy audio signals using successively refined transforms |
US9530434B1 (en) | 2013-07-18 | 2016-12-27 | Knuedge Incorporated | Reducing octave errors during pitch determination for noisy audio signals |
US9430462B2 (en) | 2013-07-30 | 2016-08-30 | Edanz Group Ltd. | Guided article authorship |
GB2535422A (en) | 2013-12-20 | 2016-08-17 | Wal Mart Stores Inc | Systems and methods for sales execution environment |
CA2973706A1 (en) | 2014-01-15 | 2015-07-23 | Intema Solutions Inc. | Item classification method and selection system for electronic solicitation |
WO2015109249A1 (en) | 2014-01-17 | 2015-07-23 | Humin, Inc. | Methods and systems for contact management |
US10311095B2 (en) | 2014-01-17 | 2019-06-04 | Renée BUNNELL | Method and system for qualitatively and quantitatively analyzing experiences for recommendation profiles |
US20150227962A1 (en) | 2014-02-11 | 2015-08-13 | Sears Brands, L.L.C. | A/b testing and visualization |
US9444824B1 (en) | 2014-02-28 | 2016-09-13 | Intuit Inc. | Methods, systems, and articles of manufacture for implementing adaptive levels of assurance in a financial management system |
US10417643B2 (en) | 2014-03-05 | 2019-09-17 | [24]7.ai, Inc. | Method for personalizing customer interaction experiences by routing to customer interaction channels |
US10026041B2 (en) | 2014-07-12 | 2018-07-17 | Microsoft Technology Licensing, Llc | Interoperable machine learning platform |
EP2978231A1 (en) | 2014-07-25 | 2016-01-27 | Telefonica Digital España, S.L.U. | Method, system and device for proactive content customization |
US10242380B2 (en) | 2014-08-28 | 2019-03-26 | Adhark, Inc. | Systems and methods for determining an agility rating indicating a responsiveness of an author to recommended aspects for future content, actions, or behavior |
US20160063645A1 (en) | 2014-08-29 | 2016-03-03 | Hrb Innovations, Inc. | Computer program, method, and system for detecting fraudulently filed tax returns |
SG10201406215YA (en) | 2014-09-30 | 2016-04-28 | Mentorica Technology Pte Ltd | Systems and methods for automated data analysis and customer relationship management |
US20160098804A1 (en) | 2014-10-07 | 2016-04-07 | Intuit Inc. | Method and system for using interchangeable analytics modules to provide tax return preparation systems |
US9588749B2 (en) | 2014-10-14 | 2017-03-07 | Microsoft Technology Licensing, Llc | Configuration transform for application deployment |
US10096072B1 (en) | 2014-10-31 | 2018-10-09 | Intuit Inc. | Method and system for reducing the presentation of less-relevant questions to users in an electronic tax return preparation interview process |
US10013721B1 (en) | 2014-10-31 | 2018-07-03 | Intuit Inc. | Identification of electronic tax return errors based on declarative constraints |
US20160148321A1 (en) | 2014-11-20 | 2016-05-26 | Hrb Innovations, Inc. | Simplified screening for predicting errors in tax returns |
US11216901B2 (en) | 2014-12-19 | 2022-01-04 | Hrb Innovations, Inc. | Contextual authentication system |
US20160180470A1 (en) | 2014-12-23 | 2016-06-23 | Intuit Inc. | Method and system for evaluating interchangeable analytics modules used to provide customized tax return preparation interviews |
US20160217534A1 (en) | 2015-01-28 | 2016-07-28 | Intuit Inc. | Method and system for identifying sources of tax-related information to facilitate tax return preparation |
US9922668B2 (en) | 2015-02-06 | 2018-03-20 | Knuedge Incorporated | Estimating fractional chirp rate with multiple frequency representations |
US9870785B2 (en) | 2015-02-06 | 2018-01-16 | Knuedge Incorporated | Determining features of harmonic signals |
US10186000B2 (en) * | 2015-02-24 | 2019-01-22 | Hrb Innovations, Inc. | Simplified tax interview |
CN107924384A (en) * | 2015-03-11 | 2018-04-17 | 阿雅斯迪公司 | For the system and method using study model prediction result is predicted |
US10176534B1 (en) | 2015-04-20 | 2019-01-08 | Intuit Inc. | Method and system for providing an analytics model architecture to reduce abandonment of tax return preparation sessions by potential customers |
US20170236131A1 (en) | 2015-04-30 | 2017-08-17 | NetSuite Inc. | System and methods for leveraging customer and company data to generate recommendations and other forms of interactions with customers |
US20160342911A1 (en) | 2015-05-19 | 2016-11-24 | 24/7 Customer, Inc. | Method and system for effecting customer value based customer interaction management |
US10204382B2 (en) | 2015-05-29 | 2019-02-12 | Intuit Inc. | Method and system for identifying users who benefit from filing itemized deductions to reduce an average time consumed for users preparing tax returns with a tax return preparation system |
US10169828B1 (en) | 2015-07-29 | 2019-01-01 | Intuit Inc. | Method and system for applying analytics models to a tax return preparation system to determine a likelihood of receiving earned income tax credit by a user |
US20170090893A1 (en) | 2015-09-29 | 2017-03-30 | Skytree, Inc. | Interoperability of Transforms Under a Unified Platform and Extensible Transformation Library of Those Interoperable Transforms |
US9891792B1 (en) | 2015-10-30 | 2018-02-13 | Intuit Inc. | Method and system for building and utilizing interactive software system predictive models using biometric data |
US20170178199A1 (en) | 2015-12-22 | 2017-06-22 | Intuit Inc. | Method and system for adaptively providing personalized marketing experiences to potential customers and users of a tax return preparation system |
US20170186097A1 (en) | 2015-12-28 | 2017-06-29 | Intuit Inc. | Method and system for using temporal data and/or temporally filtered data in a software system to optimize, improve, and/or modify generation of personalized user experiences for users of a tax return preparation system |
US20170193546A1 (en) | 2015-12-30 | 2017-07-06 | Rovi Guides, Inc. | Methods and systems for determining advertising reach based on machine learning |
US9736306B2 (en) | 2016-01-05 | 2017-08-15 | Optum, Inc. | Systems and methods for providing predictive personalization interactions |
US10373064B2 (en) | 2016-01-08 | 2019-08-06 | Intuit Inc. | Method and system for adjusting analytics model characteristics to reduce uncertainty in determining users' preferences for user experience options, to support providing personalized user experiences to users with a software system |
US20170270526A1 (en) | 2016-03-15 | 2017-09-21 | Hrb Innovations, Inc. | Machine learning for fraud detection |
US9990544B1 (en) | 2016-03-31 | 2018-06-05 | Intuit Inc. | Data accuracy in OCR by leveraging user data and business rules to improve data accuracy at field level |
US10621597B2 (en) | 2016-04-15 | 2020-04-14 | Intuit Inc. | Method and system for updating analytics models that are used to dynamically and adaptively provide personalized user experiences in a software system |
US9983859B2 (en) | 2016-04-29 | 2018-05-29 | Intuit Inc. | Method and system for developing and deploying data science transformations from a development computing environment into a production computing environment |
US9648171B1 (en) | 2016-05-23 | 2017-05-09 | Intuit Inc. | Emotion recognition to match support agents with customers |
US10162734B1 (en) | 2016-07-20 | 2018-12-25 | Intuit Inc. | Method and system for crowdsourcing software quality testing and error detection in a tax return preparation system |
-
2016
- 2016-04-25 US US15/137,704 patent/US10621677B2/en active Active
-
2017
- 2017-02-27 CA CA3021552A patent/CA3021552C/en active Active
- 2017-02-27 EP EP17790034.7A patent/EP3449457A4/en not_active Withdrawn
- 2017-02-27 WO PCT/US2017/019600 patent/WO2017189084A1/en active Application Filing
- 2017-02-27 AU AU2017258468A patent/AU2017258468A1/en not_active Abandoned
-
2021
- 2021-05-14 AU AU2021203090A patent/AU2021203090A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130282539A1 (en) * | 2005-01-14 | 2013-10-24 | Taxnet Inc. | Distributed tax-return-preparation processing |
US20110264569A1 (en) * | 2010-04-26 | 2011-10-27 | Hrb Tax Group, Inc. | Method, system, and computer program for predicting tax liabilites and benefits |
US20120109792A1 (en) * | 2010-10-28 | 2012-05-03 | Intuit Inc. | Instant tax return preparation |
US20140201045A1 (en) * | 2013-01-17 | 2014-07-17 | Yogish Pai | Determining local tax structures in an accounting application through user contribution |
WO2016039779A1 (en) * | 2014-09-11 | 2016-03-17 | Intuit Inc. | Methods systems and articles of manufacture for using a predictive model to determine tax topics which are relevant to a taxpayer in preparing an electronic tax return |
Non-Patent Citations (1)
Title |
---|
See also references of EP3449457A4 * |
Also Published As
Publication number | Publication date |
---|---|
US10621677B2 (en) | 2020-04-14 |
EP3449457A4 (en) | 2019-11-13 |
AU2021203090A1 (en) | 2021-06-10 |
CA3021552C (en) | 2023-03-14 |
EP3449457A1 (en) | 2019-03-06 |
AU2017258468A1 (en) | 2018-11-15 |
US20170308960A1 (en) | 2017-10-26 |
CA3021552A1 (en) | 2017-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3021552C (en) | Method and system for applying dynamic and adaptive testing techniques to a software system to improve selection of predictive models for personalizing user experiences in the software system | |
US10621597B2 (en) | Method and system for updating analytics models that are used to dynamically and adaptively provide personalized user experiences in a software system | |
US10373064B2 (en) | Method and system for adjusting analytics model characteristics to reduce uncertainty in determining users' preferences for user experience options, to support providing personalized user experiences to users with a software system | |
US20170178199A1 (en) | Method and system for adaptively providing personalized marketing experiences to potential customers and users of a tax return preparation system | |
US20170186097A1 (en) | Method and system for using temporal data and/or temporally filtered data in a software system to optimize, improve, and/or modify generation of personalized user experiences for users of a tax return preparation system | |
US10162734B1 (en) | Method and system for crowdsourcing software quality testing and error detection in a tax return preparation system | |
US10176534B1 (en) | Method and system for providing an analytics model architecture to reduce abandonment of tax return preparation sessions by potential customers | |
US10387787B1 (en) | Method and system for providing personalized user experiences to software system users | |
US20220051282A1 (en) | Method and system for using machine learning techniques to identify and recommend relevant offers | |
US10204382B2 (en) | Method and system for identifying users who benefit from filing itemized deductions to reduce an average time consumed for users preparing tax returns with a tax return preparation system | |
US10460398B1 (en) | Method and system for crowdsourcing the detection of usability issues in a tax return preparation system | |
US20160180470A1 (en) | Method and system for evaluating interchangeable analytics modules used to provide customized tax return preparation interviews | |
US10169828B1 (en) | Method and system for applying analytics models to a tax return preparation system to determine a likelihood of receiving earned income tax credit by a user | |
US20160148322A1 (en) | Method and system for selecting interchangeable analytics modules to provide customized tax return preparation interviews | |
US20130124299A1 (en) | Optimizing Communication of Content Through Networked Media | |
US11030631B1 (en) | Method and system for generating user experience analytics models by unbiasing data samples to improve personalization of user experiences in a tax return preparation system | |
US11734772B2 (en) | System and method for providing a predicted tax refund range based on probabilistic calculation | |
US11069001B1 (en) | Method and system for providing personalized user experiences in compliance with service provider business rules | |
US10346927B1 (en) | Method and system for providing a personalized user experience in a tax return preparation system based on predicted life events for a user | |
WO2020031199A1 (en) | Method and system for valuation and forecasting for entities | |
US10853827B2 (en) | Double-blind research portal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 3021552 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2017258468 Country of ref document: AU Date of ref document: 20170227 Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2017790034 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17790034 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017790034 Country of ref document: EP Effective date: 20181126 |