IP Library › Granted Patent US 12,602,307
Granted Patent B2
US 12,602,307 · App. 18/583,588 · Granted Apr 14, 2026

Root cause detection of struggle events with digital experiences and responses thereto

Inventors: Stephanie M. Ostrowski (Portland, OR); Michelle L. Clark (Owensboro, KY); Thomas W. Malowney (Minneapolis, MN); Amrita Deo (Fairfield, CA); Nathan M. Mertz (Minneapolis, MN); John W. Harasyn (Minneapolis, MN)
Assignee: U.S. Bancorp, National Association
G06F11/3604
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,602,307
App. No.
18/583,588
Granted
Apr 14, 2026
Kind
B2
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 (60)

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.

2 . 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.

3 . 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.

4 . 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.

5 . 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.

6 . 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.

7 . 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.

8 . 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.

9 . 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.

10 . 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.

11 . 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.

12 . 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.

13 . 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.

14 . 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.

15 . 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.

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.

17 . 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.

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.

19 . 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2024
From: OSTROWSKI, STEPHANIE M.; CLARK, MICHELLE L.; MALOWNEY, THOMAS W.; DEO, AMRITA; MERTZ, NATHAN M.; HARASYN, JOHN W.
To: U.S. BANCORP, NATIONAL ASSOCIATION
Reel/Frame 066526/0632 →
Continuity (2)
Provisional Application 63598586 · Nov 14, 2023
Related Publication 20250156302A1 · May 15, 2025
References Cited (13)
US 12474892B2 · Carrara · 2025 [cited by examiner]
US 20110279359A1 · McCarty · 2011 [cited by examiner]
US 20110283189A1 · McCarty · 2011 [cited by examiner]
US 20190132190A1 · Jeyakumar · 2019 [cited by examiner]
US 20190260818A1 · Ciabarra, Jr. · 2019 [cited by examiner]
US 20210006653A1 · Kulkarni · 2021 [cited by examiner]
US 20210176294A1 · Ciabarra, Jr. · 2021 [cited by examiner]
US 20210311815A1 · Yuvaraj · 2021 [cited by examiner]
US 20220334906A1 · Patil · 2022 [cited by examiner]
US 20230297456A1 · Ciabarra, Jr. · 2023 [cited by examiner]
US 20240143426A1 · Kumar · 2024 [cited by examiner]
US 20240406246A1 · Boudreau · 2024 [cited by examiner]
US 20250356725A1 · Nowak · 2025 [cited by examiner]