IP Library Granted Patent US 12,267,400
Granted Patent B2
US 12,267,400 · App. 18/509,849 · Granted Apr 1, 2025

Predictive web navigation

Inventors: John Edward Schlerf (Oakland, CA); Nicholas Lee Gaylord (Alameda, CA); Melanie Manguin (San Francisco, CA)
Assignee: ZenPayroll, Inc.
H04L67/535G06F16/954H04L67/02
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,267,400
App. No.
18/509,849
Granted
Apr 1, 2025
Kind
B2
Abstract

A central database system provides predictive web navigation using machine learning and clustering to guide a user to a web page. After tracking a number of web pages viewed by various users on one or more web domains and the orders in which these web pages are viewed, the central database system can train a model to predict which web page a user is likely to view next. If the user is lost while navigating, the central database system may guide the user to the predicted web page. In one example of guidance, the central database system presents a web element with a hyperlink to the predicted web page. For example, the central database system can modify a web page that the lost user is presently viewing to include an iframe with a recommendation to travel to a different web page.

Claims (69)

1. A method comprising:

tracking, for each of a plurality of users by a central database system, a number and order of web pages within a domain viewed by the user;

generating, by the central database system, a training data set using, for each of the plurality of users, the tracked number and order of web pages within the domain viewed by the user and one or more characteristics of the user;

training, by the central database system, a machine-learned model using the generated training data set, the machine-learned model configured to predict a next web page to be viewed by a viewing user based on previous web pages viewed by the viewing user and characteristics of the viewing user; and

retraining, by the central database system, the machine-learned model based on 1) the predicted next web page, 2) an actual next web page visited by the viewing user, and 3) a pageview history of the viewing user within a same domain as the actual next web page visited by the viewing user.

2. The method of claim 1 , wherein generating the training data set comprises:

generating a plurality of feature vectors using the tracked number and order of web pages for each of the plurality of users; and

labeling the plurality of feature vectors using labels representing next web pages in the order of web pages for each of the plurality of users, wherein the training data set includes the labeled plurality of feature vectors.

3. The method of claim 2 , wherein generating the plurality of feature vectors comprises:

identifying an order of web pages viewed by a historical user of the plurality of users;

identifying corresponding user characteristics of the historical user; and

generating a feature vector using a subset of web pages of the order of web pages and the corresponding user characteristics.

4. The method of claim 3 , further comprising:

creating a label using a next web page viewed by the historical user in the order of web pages subsequent to visiting the subset of web pages; and

labeling the generated feature vector using the label.

5. The method of claim 1 , further comprising:

generating vectors representing web page addresses of web pages viewed by a target user; and

determining a combined vector using the generated vectors, wherein the combined vector represents transitions between the web pages viewed by the target user.

6. The method of claim 5 , wherein determining the combined vector using the generated vectors comprises:

calculating a plurality of similarity metrics between a web page address of the latest viewed web page of the web pages viewed and web page addresses of a set of the web pages viewed before the latest viewed web page; and

identifying a subset of the generated vectors corresponding to a subset of the web page addresses having at least a threshold similarity metric with the web page address of the latest viewed web page, wherein the subset of the generated vectors is used to determine the combined vector.

7. The method of claim 1 , further comprising:

for a plurality of domains, determining one or more keywords in web page addresses of the plurality of domains visited by the plurality of users;

determining a first subset of web page addresses of the web pages within the domain having one of the one or more keywords and a second subset of web page addresses of the web pages within the domain without the one or more keywords; and

wherein generating the training data set comprises:

applying a first set of weights to the first subset of the web page addresses and

a second set of weights to the second subset of the web page addresses,

wherein the first set of weights is larger than the second set of weights.

8. The method of claim 1 , wherein the training data set is further generated using session context data for each of the plurality of users, wherein session context data comprises one or more of an amount of time spent on each web page of the web pages within the domain viewed by the user, a device type used to access each web page, a session identifier, a date on which each web page was viewed, or an internet protocol address.

9. The method of claim 1 , wherein the training data set is further generated using web markup used to render at least one of the web pages within the domain, wherein the web markup indicates a multimedia content item on the at least one of the web pages within the domain.

10. The method of claim 1 , wherein generating the training data set using, for each of the plurality of users, the tracked number and order of web pages within the domain viewed by the user and the one or more characteristics of the user comprises:

determining a first portion of the order of web pages viewed by one of the plurality of users, the portion indicating that the user was lost when viewing the order of web pages, wherein a second portion of the order of web pages viewed by the user includes web pages before or after the first portion; and

applying a first set of weights to the first portion of the order of web pages and a second set of weights to the second portion of the order of web pages, wherein the second set of weights is greater than the first set of weights.

11. The method of claim 10 , wherein determining the first portion indicating that the user was lost when viewing the order of web pages comprises:

determining a plurality of similarity metrics between vectors representing web page addresses of the web pages within the domain viewed by the user; and

determining that each of a first set of the similarity metrics corresponding to the first portion of the order of web pages has less than a threshold similarity metric.

12. The method of claim 1 , wherein retraining the machine-learned model comprises:

in response to the predicted next web page matching the actual next web page:

retraining the machine-learned model using the actual next web page to strengthen an association between web pages viewed by the viewing user and the predicted next web page.

13. The method of claim 1 , wherein retraining the machine-learned model comprises:

in response to the predicted next web page not matching the actual next web page:

retraining the machine-learned model using the actual next web page to weaken the association between the web pages viewed by the viewing user and the predicted next web page.

14. A non-transitory computer readable medium comprising stored instructions that, when executed by one or more processors, cause the one or more processors to:

track, for each of a plurality of users, a number and order of web pages within a domain viewed by the user;

generate a training data set using, for each of the plurality of users, the tracked number and order of web pages within the domain viewed by the user and one or more characteristics of the user;

train a machine-learned model using the generated training data set, the machine-learned model configured to predict a next web page to be viewed by a viewing user based on previous web pages viewed by the viewing user and characteristics of the viewing user; and

retraining, by the central database system, the machine-learned model based on 1) the predicted next web page, 2) an actual next web page visited by the viewing user, and 3) a pageview history of the viewing user within a same domain as the actual next web page visited by the viewing user.

15. The non-transitory computer readable medium of claim 14 , wherein the instruction that causes the one or more processors to generate the training data set comprises instructions that when executed by the one or more processors, cause the one or more processors to:

generate a plurality of feature vectors using the tracked number and order of web pages for each of the plurality of users; and

label the plurality of feature vectors using labels representing next web pages in the order of web pages for each of the plurality of users, wherein the training data set includes the labeled plurality of feature vectors.

16. The non-transitory computer readable medium of claim 14 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

generate vectors representing web page addresses of web pages viewed by a target user; and

determine a combined vector using the generated embeddings, wherein the combined vector represents transitions between the web pages viewed by the target user.

17. The non-transitory computer readable medium of claim 16 , wherein the instruction to determine the combined vector using the generated vectors comprises instructions, when executed by the one or more processors, further cause the one or more processors to:

calculate a plurality of similarity metrics between a web address of the latest viewed web page of the web pages viewed with web addresses of a set of the web pages viewed before the latest viewed web page; and

identify a subset of the generated vectors corresponding to a subset of the web page addresses having at least a threshold similarity metric with the web page address of the latest viewed web page, wherein the subset of the generated vectors is used to determine the combined vector.

18. A system comprising:

one or more processors; and

a non-transitory computer readable storage medium storing executable instructions that, when executed by one or more processors, cause the one or more processors to:

track, for each of a plurality of users, a number and order of web pages within a domain viewed by the user;

generate a training data set using, for each of the plurality of users, the tracked number and order of web pages within the domain viewed by the user and one or more characteristics of the user;

train a machine-learned model using the generated training data set, the machine-learned model configured to predict a next web page to be viewed by a viewing user based on previous web pages viewed by the viewing user and characteristics of the viewing user; and

retraining, by the central database system, the machine-learned model based on 1) the predicted next web page, 2) an actual next web page visited by the viewing user, and 3) a pageview history of the viewing user within a same domain as the actual next web page visited by the viewing user.

19. The system of claim 18 , wherein the instruction that causes the one or more processors to generate the training data set comprises instructions that when executed by the one or more processors, cause the one or more processors to:

generate a plurality of feature vectors using the tracked number and order of web pages for each of the plurality of users; and

label the plurality of feature vectors using labels representing next web pages in the order of web pages for each of the plurality of users, wherein the training data set includes the labeled plurality of feature vectors.

20. The system of claim 18 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

generate vectors representing web page addresses of web pages viewed by a target user; and

determine a combined vector using the generated embeddings, wherein the combined vector represents transitions between the web pages viewed by the target user.

Assignments (3)
CHANGE OF NAME Recorded Nov 25, 2025
From: ZENPAYROLL, INC.
To: GUSTO, INC.
Reel/Frame 073705/0640 →
SECURITY INTEREST Recorded Nov 3, 2025
From: GUSTO, INC.; SYMMETRY SOFTWARE, LLC
To: BLUE OWL CREDIT INCOME CORP., AS ADMINISTRATIVE AGENT
Reel/Frame 073529/0027 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2023
From: SCHLERF, JOHN EDWARD; GAYLORD, NICHOLAS LEE; MANGUIN, MELANIE
To: ZENPAYROLL, INC.
Reel/Frame 065642/0244 →
Continuity (2)
Continuation 17901788 · Sep 1, 2022
Related Publication 20240089336A1 · Mar 14, 2024
References Cited (29)
US 6182133B1 · Horvitz · 2001 [cited by examiner]
US 8650139B2 · Jain et al. · 2014 [cited by applicant]
US 9104970B2 · Lahav · 2015 [cited by examiner]
US 10322009B2 · Aghayev et al. · 2019 [cited by applicant]
US 10706118B1 · Yang · 2020 [cited by examiner]
US 10783210B1 · Dhillon · 2020 [cited by examiner]
US RE49486E · Ben-Ami et al. · 2023 [cited by applicant]
US 20100005403A1 · Rozmaryn · 2010 [cited by examiner]
US 20120271805A1 · Holenstein et al. · 2012 [cited by applicant]
US 20140236875A1 · Phillipps et al. · 2014 [cited by applicant]
US 20150007065A1 · Krishnamoorthy · 2015 [cited by examiner]
US 20150154506A1 · Jain · 2015 [cited by examiner]
US 20150156280A1 · Vaswani · 2015 [cited by examiner]
US 20150371142A1 · Jain · 2015 [cited by applicant]
US 20180032877A1 · Jain et al. · 2018 [cited by applicant]
US 20180114139A1 · Kucera · 2018 [cited by examiner]
US 20180150565A1 · Asgekar · 2018 [cited by examiner]
US 20190007508A1 · Xu et al. · 2019 [cited by applicant]
US 20190034535A1 · Ezepov · 2019 [cited by applicant]
US 20200042567A1 · Birch et al. · 2020 [cited by applicant]
US 20200219013A1 · Wellman et al. · 2020 [cited by applicant]
US 20200320382A1 · Burkhart · 2020 [cited by examiner]
US 20220129777A1 · White et al. · 2022 [cited by applicant]
US 20220138101A1 · Appu et al. · 2022 [cited by applicant]
US 20220207093A1 · Badr · 2022 [cited by applicant]
WO WO2007009252A1 · 2007 [cited by examiner]
United States Office Action, U.S. Appl. No. 17/901,789, Oct. 26, 2023, 14 pages. [cited by applicant]
PCT Invitation to Pay Additional Fees, PCT Application No. PCT/US2023/29157, Nov. 15, 2023, 2 pages. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US23/29157, Jan. 31, 2024, 12 pages. [cited by applicant]