# US 12,602,307 B2 · Root cause detection of struggle events with digital experiences and responses thereto

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,602,307 B2
- Document ID: US12602307B2
- Status: Granted
- Kind: B2
- Application number: 18/583,588
- Filed: 2024-02-21
- Published: 2025-05-15
- Granted: 2026-04-14
- Earliest claimed: 2023-11-14
- Assignees: U.S. Bancorp, National Association
- Applicants: U.S. Bancorp, National Association
- Inventors: Stephanie M. Ostrowski; Michelle L. Clark; Thomas W. Malowney; Amrita Deo; Nathan M. Mertz; John W. Harasyn
- Web page: https://patentgrep.com/patent/US12602307B2

## CPC

- G06F 11/3438: {monitoring of user actions (tracking the activity of the user H04L67/535)}
- G06F 11/3604: Analysis of software for verifying properties of programs (testing of software G06F11/3668)
- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A diagnostic platform is configured to identify friction with a technology product or digital experience. The platform can be configured to improve the functioning of the digital experience by identifying requests from a user device (e.g., indicative of user input received at a user device) indicative of the user struggling with an aspect of the digital experience provided by a server. A friction associated with the struggling is then identified and remediated.

## Claims

### Claim 1

A system comprising:
one or more processors configured by machine-readable instructions stored in memory, wherein, upon execution, the machine-readable instructions cause the one or more processors to:
concurrently monitor (i) interactions between a user device and a digital experience of a user accessing an application executing on the user device, and (ii) a state of the application during the digital experience; and
while monitoring the interactions between the user device and the digital experience and the state of the application during the digital experience:
determine one or more struggle events for the digital experience based on the concurrent monitoring, wherein determining the one or more struggle events includes, for each of the one or more struggle events:
determining one or more user inputs into the application satisfy one or more criteria;
responsive to determining the one or more user inputs satisfy the one or more criteria, identifying one or more system responses indicating a response of the application to the one or more user inputs or a current state of the application when the user provided the one or more user inputs; and
determining a root cause of the struggle event based on (i) the satisfied one or more criteria, and (ii) the response of the application to the one or more user inputs or the current state of the application when the user provided the one or more user inputs; and
for each of the one or more struggle events, adjust the application according to the root cause determined for the struggle event by
executing a large language machine learning model using (i) the root cause of the struggle event, (ii) the satisfied one or more criteria, and (iii) the response of the application to the one or more user inputs or the current state of the application when the user provided the one or more user inputs as input to cause the large language machine learning model to output code for remediating the struggle event; and
pushing the output code for remediating the struggle event to the user device via the application.

### Claim 2 (depends on 1)

The system of claim 1, wherein the machine-readable instructions cause the one or more processors to:
determine the one or more user inputs into the application satisfy the one or more criteria by detecting at least a predetermined number of clicks or taps within a predetermined area of an element or form within a predetermined time period; and.

### Claim 3 (depends on 1)

The system of claim 1, wherein the machine-readable instructions further cause the one or more processors to:
determine a cohort for the user device based on the one or more struggle events; and
presenting a cohort-specific help widget as part of the digital experience to the user device.

### Claim 4 (depends on 1)

The system of claim 1, wherein the machine-readable instructions cause the one or more processors to determine the struggle event by:
determining a goal of the digital experience based on a user input into the application; and
determining the struggle event responsive to determining the user device stopped executing the application without the goal being accomplished.

### Claim 5 (depends on 4)

The system of claim 4, wherein the machine-readable instructions cause the one or more processors to:
identify a flow of the goal of the digital experience from memory responsive to the user input into the application, the flow comprising one or more steps for completing the goal; and
store a record of a number of the one or more steps that were completed during the digital experience prior to the user device stopping executing the application.

### Claim 6 (depends on 5)

The system of claim 5, wherein the machine-readable instructions cause the one or more processors to determine the root cause of the struggle event based at least on the number of the one or more steps that were completed during the digital experience prior to the user device stopping executing the application.

### Claim 7 (depends on 1)

The system of claim 1, wherein the machine-readable instructions cause the one or more processors to determine the struggle event by:
determining a goal of the digital experience based on a user input into the application; and
determining the struggle event responsive to determining the goal was not accomplished within a predetermined time period of the user input into the application.

### Claim 8 (depends on 1)

The system of claim 1, wherein the machine-readable instructions cause the one or more processors to:
identify the response of the application to the one or more user inputs by determining whether the application updated a page presented by the application based on the one or more user inputs.

### Claim 9 (depends on 8)

The system of claim 8, wherein the machine-readable instructions cause the one or more processors to identify the response of the application to the one or more user inputs by determining whether a graphical element of the page updated based on the user inputs or that the application did not present a second page in response to the one or more user inputs.

### Claim 10 (depends on 1)

The system of claim 1, wherein the machine-readable instructions cause the one or more processors to:
store a plurality of templates corresponding to different sets of criteria and system responses, each of the plurality of templates indicating a different root cause of a struggle event;
determine a template of the plurality of templates that is satisfied based on (i) the satisfied one or more criteria, and (ii) the response of the application to the one or more user inputs or the current state of the application when the user provided the one or more user inputs; and
determine the root cause of the struggle event based on the root cause indicated by the satisfied template.

### Claim 11 (depends on 1)

The system of claim 1, wherein the machine-readable instructions cause the one or more processors to determine the root cause of the struggle event by determining the root cause to be a slow application programming interface call or an uncaught exception with the application.

### Claim 12 (depends on 1)

The system of claim 1, wherein the machine-readable instructions cause the one or more processors to adjust the application according to the root cause determined for the struggle event by initiating a communication session with a user accessing the user device for the digital experience.

### Claim 13 (depends on 12)

The system of claim 12, wherein the machine-readable instructions cause the one or more processors to initiate the communication session by initiating the communication session via a different communication channel than the communication channel through which the one or more processors are concurrently monitoring (i) the interactions between a user device and a digital experience of a user accessing an application executing on the user device, and (ii) the state of the application during the digital experience.

### Claim 14 (depends on 12)

The system of claim 12, wherein the machine-readable instructions cause the one or more processors to initiate the communication session by updating the digital experience to present a chat interface at the user device through the application.

### Claim 15 (depends on 1)

The system of claim 1, wherein the machine-readable instructions cause the one or more processors to adjust the application according to the root cause determined for the struggle event by automatically increasing computing resources available for the one or more processors to access for the digital experience.

### Claim 16

A method comprising:
concurrently monitoring, by one or more processors, (i) interactions between a user device and a digital experience of a user accessing an application executing on the user device, and (ii) a state of the application during the digital experience; and
while monitoring the interactions between the user device and the digital experience and the state of the application during the digital experience:
determining, by the one or more processors, one or more struggle events for the digital experience based on the concurrent monitoring, wherein determining the one or more struggle events includes, for each of the one or more struggle events:
determining, by the one or more processors, one or more user inputs into the application satisfy one or more criteria;
responsive to determining the one or more user inputs satisfy the one or more criteria, identifying, by the one or more processors, one or more system responses indicating a response of the application to the one or more user inputs or a current state of the application when the user provided the one or more user inputs; and
determining, by the one or more processors, a root cause of the struggle event based on (i) the satisfied one or more criteria, and (ii) the response of the application to the one or more user inputs or the current state of the application when the user provided the one or more user inputs; and
for each of the one or more struggle events, adjust, by the one or more processors, the application according to the root cause determined for the struggle event by
executing a large language machine learning model using (i) the root cause of the struggle event, (ii) the satisfied one or more criteria, and (iii) the response of the application to the one or more user inputs or the current state of the application when the user provided the one or more user inputs as input to cause the large language machine learning model to output code for remediating the struggle event; and
pushing the output code for remediating the struggle event to the user device via the application.

### Claim 17 (depends on 16)

The method of claim 16, wherein determining the one or more user inputs into the application satisfy the one or more criteria comprising detecting, by the one or more processors, at least a predetermined number of clicks or taps within a predetermined area of an element within a predetermined time period.

### Claim 18

Non-transitory computer-readable media comprising instructions that, when executed by one or more processors, cause the one or more processors to:
concurrently monitor (1) interactions between a user device and a digital experience of a user accessing an application executing on the user device, and (ii) a state of the application during the digital experience; and
while monitoring the interactions between the user device and the digital experience and the state of the application during the digital experience:
determine one or more struggle events for the digital experience based on the concurrent monitoring, wherein determining the one or more struggle events includes, for each of the one or more struggle events:
determining one or more user inputs into the application satisfy one or more criteria;
responsive to determining the one or more user inputs satisfy the one or more criteria, identifying one or more system responses indicating a response of the application to the one or more user inputs or a current state of the application when the user provided the one or more user inputs; and
determining a root cause of the struggle event based on (i) the satisfied one or more criteria, and (ii) the response of the application to the one or more user inputs or the current state of the application when the user provided the one or more user inputs; and
for each of the one or more struggle events, adjust the application according to the root cause determined for the struggle event by
executing a large language machine learning model using (i) the root cause of the struggle event, (ii) the satisfied one or more criteria, and (iii) the response of the application to the one or more user inputs or the current state of the application when the user provided the one or more user inputs as input to cause the large language machine learning model to output code for remediating the struggle event; and
pushing the output code for remediating the struggle event to the user device via the application.

### Claim 19 (depends on 18)

The non-transitory computer-readable media of claim 18, wherein the instructions cause the one or more processors to determine the one or more user inputs into the application satisfy the one or more criteria by detecting at least a predetermined number of clicks or taps within a predetermined area of an element within a predetermined time period.
