IP Library Granted Patent US 10,390,062
Granted Patent B2
US 10,390,062 · App. 15/357,289 · Granted Aug 20, 2019

Recommending content based on user behavior tracking and analysis

Inventor: Sylvain René Yves Louboutin (Sunnyvale, CA)
Assignee: ROKU, INC.
H04N21/251G06F11/3438G06Q30/0201H04L43/045H04L67/22H04N21/44213H04N21/4532H04N21/4667H04N21/4668H04N21/812
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 10,390,062
App. No.
15/357,289
Granted
Aug 20, 2019
Kind
B2
Abstract

Disclosed herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for grouping users into user clusters based on common behavior patterns, and then recommending content to the users based on their respective membership in the clusters. Some embodiments operate by receiving tracking data for a user, where the tracking data includes content viewing behavior information of the user, and/or user interface (UI) navigation behavior information of the user. A distance between the tracking data and a cluster profile associated with a user cluster is determined. If the distance satisfies a threshold associated with the user cluster, then the user is added to the user cluster. Thereafter, the user's view experience is customized based the user's membership in the user cluster. For example, content recommendations may be generated for the user based on content previously provided to other users in the user cluster, where such content may or may not have previously been provided to the user.

Claims (59)

1. A system comprising:

at least one processor; and

a memory operatively coupled to the at least one processor, the processor configured to:

cluster a user into one or more groups of users based on both a graph data structure indicating how the user interacted with a menu structure for selecting content and a bitmap data structure indicating how the user interacted with content selected from the menu structure;

receive tracking data for a user comprising:

the graph data structure comprising user interface (UI) navigation behavior information of the user between different icons of the menu structure for selecting content, wherein the tracking data of the graph data structure comprises an indication of over which icon of the menu structure the user hovered without selecting and how long the user hovered;

the bitmap data structure comprises a bit for each of a plurality of segments of the selected content available for viewing, wherein each bit of the bitmap data structure indicates whether the segment was viewed by the user;

determine a distance between the tracking data and a cluster profile associated with a user cluster;

determine the distance satisfies a threshold associated with the user cluster;

add the user to the user cluster, in response to determining the distance satisfies the threshold associated with the user cluster;

generate content recommendations based on content previously displayed to other users in the user cluster; and

cause the content recommendations to be provided to the user.

2. The system of claim 1 , wherein the processor is further configured to:

receive additional tracking data for the user;

determine a distance between the additional tracking data and a cluster profile associated with a second user cluster, wherein the user is an existing member of the second user cluster;

determine the distance between the additional tracking data and the cluster profile associated with the second user cluster does not satisfy a threshold associated with the second user cluster; and

remove the user from the second user cluster, in response to determining the distance between the additional tracking data and the cluster profile associated with the second user cluster does not satisfy the threshold associated with the second user cluster.

3. The system of claim 1 , wherein the processor is further configured to:

update the cluster profile based on the addition of the user to the user cluster.

4. The system of claim 1 , wherein the tracking data comprises content viewing behavior information of the user stored in a tree data structure.

5. The system of claim 1 , wherein the graph data structure comprises a plurality of nodes, wherein at least some of the nodes correspond to a welcome page and each node stores one or more of information indicating menu tiles/icons the user hovered over, information indicating how long the user hovered, information indicating whether the user hovered more than once over a tile/icon, information indicating how long the user stayed on the welcome page, and information indicating how often the user scrolled to additional pages of the welcome page.

6. The system of claim 1 , wherein the bitmap data structure comprises a separate bitmap for each time a particular segment of the selected content was viewed.

7. The system of claim 1 , wherein a group bitmap data structure comprises a separate bitmap for each time a particular segment of the selected content was viewed by a majority of users that comprise the group.

8. A computer implemented method, comprising:

clustering a user into one or more groups of users based on both a graph data structure indicating how the user interacted with a menu structure for selecting content and a bitmap data structure indicating how the user interacted with content selected from the menu structure;

receiving tracking data for a user comprising:

the graph data structure comprising user interface (UI) navigation behavior information of the user between different icons of the menu structure for selecting content, wherein the tracking data of the graph data structure comprises an indication of over which icon of the menu structure the user hovered without selecting and how long the user hovered;

the bitmap data structure comprises a bit for each of a plurality of segments of the selected content available for viewing, wherein each bit of the bitmap data structure indicates whether the segment was viewed by the user;

determining a distance between the tracking data and a cluster profile associated with a user cluster;

determining the distance satisfies a threshold associated with the user cluster;

adding the user to the user cluster, in response to determining the distance satisfies the threshold associated with the user duster;

generating content recommendations based on content previously displayed to other users in the user cluster; and

causing the content recommendations to be provided to the user.

9. The method of claim 8 , further comprising:

receiving additional tracking data for the user;

determining a distance between the additional tracking data and a cluster profile associated with a second user duster, wherein the user is an existing member of the second user cluster;

determining the distance between the additional tracking data and the duster profile associated with the second user cluster does not satisfy a threshold associated with the second user cluster; and

removing the user from the second user cluster, in response to determining the distance between the additional tracking data and the cluster profile associated with the second user cluster does not satisfy the threshold associated with the second user duster.

10. The method of claim 8 , further comprising:

updating the duster profile based on the addition of the user to the user cluster.

11. The method of claim 8 , wherein the tracking data comprises content viewing behavior information of the user stored in a tree data structure.

12. The method of claim 8 , wherein the graph data structure comprises a plurality of nodes, wherein at least some of the nodes correspond to a welcome page and each node stores one or more of information indicating menu tiles icons the user hovered over, information indicating how long the user hovered, information indicating whether the user hovered more than once over a tile/icon, information indicating how long the user stayed on the welcome page, and information indicating how often the user scrolled to additional pages of the welcome page.

13. A non-transitory; tangible computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

clustering a user into one or more groups of users based on both a graph data structure indicating how the user interacted with a menu structure for selecting content and a bitmap data structure indicating how the user interacted with content selected from the menu structure;

receiving tracking data for a user comprising:

the graph data structure comprising user interface (UI) navigation behavior information of the user between different icons of the menu structure for selecting content, wherein the tracking data of the graph data structure comprises an indication of over which icon of the menu structure the user hovered without selecting and how long the user hovered;

the bitmap data structure comprises a bit for each of a plurality of segments of the selected content available for viewing, wherein each bit of the bitmap data structure indicates whether the segment was viewed by the user;

determining a distance between the tracking data and a cluster profile associated with a user cluster;

determining the distance satisfies a threshold associated with the user cluster;

adding the user to the user cluster, in response to determining the distance satisfies the threshold associated with the user cluster;

generating content recommendations based on content previously displayed to other users in the user duster; and

causing the content recommendations to be provided to the user.

14. The non-transitory, tangible computer-readable device of claim 13 , the operations further comprising:

receiving additional tracking data for the user;

determining a distance between the additional tracking data and a cluster profile associated with a second user cluster, wherein the user is an existing member of the second user cluster;

determining the distance between the additional tracking data and the cluster profile associated with the second user cluster does not satisfy a threshold associated with the second user cluster; and

removing the user from the second user cluster, in response to determining the distance between the additional tracking data and the cluster profile associated with the second user cluster does not satisfy the threshold associated with the second user cluster.

15. The non-transitory, tangible computer-readable device of claim 13 , wherein the tracking data comprises content viewing behavior information of the user stored in a tree data structure.

16. The non-transitory, tangible computer-readable device of claim 13 , wherein the graph data structure comprises a plurality of nodes, wherein at least some of the nodes correspond to a welcome page and each node stores information indicating menu tiles/icons the user hovered over, information indicating how long the user hovered, information indicating whether the user hovered more than once over a tile/icon, information indicating how long the user stayed on the welcome page, and information indicating how often the user scrolled to additional pages of the welcome page.

Assignments (8)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (REEL/FRAME 051300/0931) Recorded Feb 22, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROKU, INC.; ROKU DX HOLDINGS, INC.
Reel/Frame 062826/0205 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (REEL/FRAME 048385/0375) Recorded Feb 22, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROKU, INC.
Reel/Frame 062826/0001 →
SECURITY INTEREST Recorded Dec 16, 2019
From: ROKU, INC.; ROKU DX HOLDINGS, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051300/0931 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2019
From: SILICON VALLEY BANK, AS BANK
To: ROKU, INC.
Reel/Frame 048420/0841 →
PATENT SECURITY AGREEMENT Recorded Feb 20, 2019
From: ROKU, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 048385/0375 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2017
From: LOUBOUTIN, SYLVAIN RENÉ YVES
To: ROKU, INC.
Reel/Frame 043400/0706 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 12, 2017
From: ROKU, INC.
To: SILICON VALLEY BANK
Reel/Frame 042768/0268 →
Continuity (1)
Related Publication 20180146253A1 · May 24, 2018