IP Library Granted Patent US 12,380,469
Granted Patent B2
US 12,380,469 · App. 18/582,911 · Granted Aug 5, 2025

Method, apparatus, and computer program product for predicting web browsing behaviors of consumers

Inventors: Michael Sussman (Mountain View, CA); Jesse Pinho (Berlin, DE); Michael Hines (Chicago, IL); Jim Challenger (Chicago, IL); David Hanley (Salt Lake City, UT); Isaac Sanders (Chicago, IL); Dean Marano (Grand Rapids, MI)
Assignee: Bytedance Inc.
G06Q30/0255G06Q30/0277G06F16/835
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,380,469
App. No.
18/582,911
Granted
Aug 5, 2025
Kind
B2
Abstract

Embodiments of the present invention provide methods, systems, apparatuses, and computer program products for predicting consumer behavior. In one embodiment a method is provided comprising automatically creating a link graph comprising nodes representing webpages, links representing hyperlinks, and weights for each link representing a number of times a hyperlink associated with the respective link redirected the a user devices from a webpage associated with a first node connected to the link to a webpage associated with a second node connected to the link; and determining based on the link graph a programmatically expected path for a particular user, wherein the programmatically expected path identifies, at least, two or more webpages that the particular user is programmatically expected to visit and specifying a programmatically expected order at which the particular user will visit the webpages.

Claims (32)

1. An apparatus comprising at least one processor and at least one non-transitory memory comprising program code, wherein the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to:

generate a link graph for a website comprising a plurality of webpages, the link graph comprising a plurality of nodes and a plurality of links, wherein a node of the plurality of nodes represents a webpage of the plurality of webpages and a link of the plurality of links represents a hyperlink of one or more hyperlinks;

modify the link graph by eliminating those links of the plurality of links from the link graph that are associated with a desired computational expense below a first threshold or a desired accuracy below a second threshold; and

generate a programmatically expected path for a particular user through the link graph based at least in part on a number of times each link associated with a first node was accessed.

2. The apparatus of claim 1 , wherein the link graph is generated based at least in part on data comprising the one or more hyperlinks associated with the plurality of webpages.

3. The apparatus of claim 2 , wherein the link graph is further generated based at least in part on historical data associated with the plurality of webpages.

4. The apparatus of claim 1 , wherein each link is associated with a weight value.

5. The apparatus of claim 4 , wherein the weight value represents a number of times a hyperlink represented by the link was accessed by a user device.

6. The apparatus of claim 5 , wherein the weight value represents a normalized count of the number of times a hyperlink represented by the link was accessed by a user device.

7. The apparatus of claim 1 , wherein generating the programmatically expected path for the particular user is further based at least in part on historical data, retrieved from a database, for the particular user of the website.

8. The apparatus of claim 4 , wherein generating the programmatically expected path for the particular user comprises:

calculating a transition probability based on a ratio of weight values between the first node, a second node, and a sum of all weight values for transitions from the first node to any other node of the link graph.

9. The apparatus of claim 8 , wherein generating the programmatically expected path for the particular user is further based at least in part on the transition probability.

10. The apparatus of claim 8 , wherein the transition probability between the first node and the second node represents a likelihood that the particular user will be redirected from a webpage represented by the first node to a webpage represented by the second node.

11. The apparatus of claim 4 , wherein a prediction model configured to generate one or more predictions associated with the website is trained based at least in part on one or more of: (i) the weight value associated with each link, (ii) the link graph, and (iii) historical data.

12. A computer-implemented method comprising:

generating a link graph for a website comprising a plurality of webpages, the link graph comprising a plurality of nodes and a plurality of links, wherein a node of the plurality of nodes represents a webpage of the plurality of webpages and a link of the plurality of links represents a hyperlink of one or more hyperlinks;

modifying the link graph by eliminating those links of the plurality of links from the link graph that are associated with a desired computational expense below a first threshold or a desired accuracy below a second threshold; and

generating a programmatically expected path for a particular user through the link graph based at least in part on a number of times each link associated with a first node was accessed.

13. The computer-implemented method of claim 12 , wherein the link graph is generated based at least in part on data comprising the one or more hyperlinks associated with the plurality of webpages.

14. The computer-implemented method of claim 13 , wherein the link graph is further generated based at least in part on historical data associated with the plurality of webpages.

15. The computer-implemented method of claim 12 , wherein each link is associated with a weight value.

16. The computer-implemented method of claim 15 , wherein the weight value represents a number of times a hyperlink represented by the link was accessed by a user device.

17. The computer-implemented method of claim 16 , wherein the weight value represents a normalized count of the number of times a hyperlink represented by the link was accessed by a user device.

18. The computer-implemented method of claim 12 , wherein generating the programmatically expected path for the particular user is further based at least in part on historical data, retrieved from a database, for the particular user of the website.

19. The computer-implemented method of claim 15 , wherein generating the programmatically expected path for the particular user comprises:

calculating a transition probability based on a ratio of weight values between the first node, a second node, and a sum of all weight values for transitions from the first node to any other node of the link graph; and

generating the programmatically expected path for the particular user is further based at least in part on the transition probability.

20. A computer program product, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions configured to:

generate a link graph for a website comprising a plurality of webpages, the link graph comprising a plurality of nodes and a plurality of links, wherein a node of the plurality of nodes represents a webpage of the plurality of webpages and a link of the plurality of links represents a hyperlink of one or more hyperlinks;

modify the link graph by eliminating those links of the plurality of links from the link graph that are associated with a desired computational expense below a first threshold or a desired accuracy below a second threshold; and

generate a programmatically expected path for a particular user through the link graph based at least in part on a number of times each link associated with a first node was accessed.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068538/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2024
From: SUSSMAN, MICHAEL; PINHO, JESSE; HINES, MICHAEL; CHALLENGER, JIM; HANLEY, DAVID; SANDERS, ISAAC; MARANO, DEAN
To: GROUPON, INC.
Reel/Frame 066512/0097 →
Continuity (5)
Continuation 17557763 · Dec 21, 2021
Continuation 16845617 · Apr 10, 2020
Continuation 15280738 · Sep 29, 2016
Provisional Application 62235142 · Sep 30, 2015
Related Publication 20240281848A1 · Aug 22, 2024
References Cited (21)
US 5870559A · Leshem et al. · 1999 [cited by applicant]
US 8311973B1 · Zadeh · 2012 [cited by applicant]
US 8862534B1 · Faratin et al. · 2014 [cited by applicant]
US 8880996B1 · Deshpande et al. · 2014 [cited by applicant]
US 10740793B1 · Sussman et al. · 2020 [cited by applicant]
US 20030115333A1 · Cohen et al. · 2003 [cited by applicant]
US 20050044178A1 · Schweier · 2005 [cited by applicant]
US 20050262240A1 · Drees et al. · 2005 [cited by applicant]
US 20060253458A1 · Dixon et al. · 2006 [cited by applicant]
US 20080010166A1 · Yang et al. · 2008 [cited by applicant]
US 20090327424A1 · Bernstein et al. · 2009 [cited by applicant]
US 20100076910A1 · Gao et al. · 2010 [cited by applicant]
US 20110022450A1 · Meredith · 2011 [cited by applicant]
US 20110054999A1 · Attenberg et al. · 2011 [cited by applicant]
US 20120066371A1 · Patel et al. · 2012 [cited by applicant]
US 20120209661A1 · Bennett et al. · 2012 [cited by applicant]
US 20120284340A1 · Young · 2012 [cited by applicant]
US 20120303606A1 · Cai et al. · 2012 [cited by applicant]
US 20130246383A1 · White et al. · 2013 [cited by applicant]
US 20140282541A1 · Perlegos et al. · 2014 [cited by applicant]
US 20160188542A1 · Burkard et al. · 2016 [cited by applicant]