IP Library Granted Patent US 11,847,039
Granted Patent B2
US 11,847,039 · App. 17/391,330 · Granted Dec 19, 2023

Systems and methods for detecting, analyzing, and evaluating interaction paths

Inventors: Michael Dean Hoffman (Durham, NC); Christopher Ambrozic (Chapel Hill, NC)
Assignee: Rovi Guides, Inc.
G06F11/3438G06F3/0482G06F11/3419G06F11/3452G06F11/3476
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 11,847,039
App. No.
17/391,330
Granted
Dec 19, 2023
Kind
B2
Abstract

System and methods are disclosed herein for creating interaction path records using time thresholds between interaction paths. The system retrieves the time threshold and a plurality of user interaction records that each include a timestamp. The system sorts the plurality of user interaction records based on the timestamp. The system then identifies the path-start record as being separated from a prior interaction by an amount of time that exceeds the time threshold. The system identifies the path-end record as being separated from a subsequent interaction by an amount of time that exceeds the time threshold. The system creates an interaction path record, stores that records, and generates a summary with information about the path.

Claims (76)

1. A method comprising:

creating, in memory, a first interaction path record comprising a plurality of user interaction records, wherein the plurality of user interaction records correspond to interactions of a plurality of users with a content delivery platform across a plurality of devices, and wherein the plurality of user interaction records comprise data received from the plurality of users interacting with the content delivery platform across the plurality of devices;

identifying, based on data parameters corresponding to the first interaction path record, a second interaction path record;

calculating, based on a first timestamp corresponding to a portion of the first interaction path and a second timestamp corresponding to a portion of the second interaction path, an optimal time threshold;

generating, based on the optimal time threshold, a candidate interaction path; and

generating, for display, a user interface to display details of the first interaction path record, the second interaction path record, and the candidate interaction path, wherein the details comprise respective summary statistics for each respective path.

2. The method of claim 1 , further comprising:

retrieving a time threshold, wherein the time threshold is an amount of time used in determining whether two consecutive interactions are in one interaction path;

retrieving, from the memory, the plurality of user interaction records; and

sorting the plurality of user interaction records based on the timestamp in each user interaction record.

3. The method of claim 2 , further comprising:

identifying a path-start record from the plurality of user interaction records, wherein the difference between the timestamp in the path-start record and the timestamp of a user interaction record immediately before the path-start record exceeds the time threshold; and

identifying a path-end record from the plurality of user interaction records, wherein the difference between the timestamp in the path-end record and the timestamp of a user interaction record immediately after the path-end record exceeds the time threshold.

4. The method of claim 1 , further comprising:

selecting a plurality of candidate time thresholds, wherein each candidate time threshold is an amount of time used in determining whether two consecutive candidate interactions are in one candidate interaction path based on that candidate time threshold;

retrieving a plurality of sample user interaction records, wherein each sample user interaction record comprises a timestamp; and

sorting the plurality of candidate user interaction records based on the timestamp in each user candidate interaction record.

5. The method of claim 4 , further comprising:

creating a plurality of candidate interaction paths from the plurality of candidate user interaction records, wherein the candidate time threshold is exceeded by a time difference between a start point of each candidate interaction path and an interaction immediately previous to that start point;

calculating, for the plurality of candidate interaction paths, an average time (“AVG b ”) between an end of each candidate interaction path and a start of an immediately subsequent candidate interaction path;

calculating, for the plurality of candidate interaction records, an average time (“AVG s ”) between candidate interaction records that share a candidate interaction path and are consecutive; and

determining, based on the AVG b and the AVG s that correspond with each candidate time threshold, which candidate time threshold to use as the time threshold.

6. The method of claim 5 , further comprising:

storing the AVG b and the AVG s in association with the corresponding candidate time threshold; and

storing the time threshold.

7. The method of claim 1 , further comprising:

determining an average path length of a plurality of interaction paths, wherein a path length is determined as the number of interactions in an interaction path record;

determining a number of unique paths in the plurality of interaction paths, wherein a unique path is comprised of a unique ordered list of interactions as compared to others of the unique paths; and

generating, for display, a summary of the plurality of interaction path records comprising the average path length and the number of unique paths.

8. The method of claim 1 , further comprising:

retrieving a plurality of expected interaction end points; and

determining whether the path-end record is associated with an expected interaction end point in the plurality of expected interaction end points.

9. The method of claim 8 , further comprising:

in response to determining that the path-end record is not associated with an expected interaction end point in the plurality of expected interaction end points, storing an indication that the interaction path did not end at one of the plurality of expected interaction end points.

10. The method of claim 1 , further comprising:

determining, for each of a plurality of interaction path records, whether at least one interaction record associated with that interaction path record comprises a predefined attribute;

calculating a number of interaction path records in the plurality of interaction path records associated with at least one interaction record that comprises the predefined attribute; and

generating, for display, a summary of the number of interaction path records in the plurality of interaction path records associated with at least one interaction record that comprises the predefined attribute.

11. A system comprising:

memory; and

control circuitry configured to:

create, in the memory, a first interaction path record comprising a plurality of user interaction records, wherein the plurality of user interaction records correspond to interactions of a plurality of users with a content delivery platform across a plurality of devices, and wherein the plurality of user interaction records comprise data received from the plurality of users interacting with the content delivery platform across the plurality of devices;

identify, based on data parameters corresponding to the first interaction path record, a second interaction path record;

calculate, based on a first timestamp corresponding to a portion of the first interaction path and a second timestamp corresponding to a portion of the second interaction path, an optimal time threshold;

generate, based on the optimal time threshold, a candidate interaction path; and

generate, for display, a user interface to display details of the first interaction path record, the second interaction path record, and the candidate interaction path, wherein the details comprise respective summary statistics for each respective path.

12. The system of claim 11 , wherein the control circuitry is further configured to:

retrieve a time threshold, wherein the time threshold is an amount of time used in determining whether two consecutive interactions are in one interaction path;

retrieve, from the memory, the plurality of user interaction records; and

sort the plurality of user interaction records based on the timestamp in each user interaction record.

13. The system of claim 12 , wherein the control circuitry is further configured to:

identify a path-start record from the plurality of user interaction records, wherein the difference between the timestamp in the path-start record and the timestamp of a user interaction record immediately before the path-start record exceeds the time threshold; and

identify a path-end record from the plurality of user interaction records, wherein the difference between the timestamp in the path-end record and the timestamp of a user interaction record immediately after the path-end record exceeds the time threshold.

14. The system of claim 11 , wherein the control circuitry is further configured to:

selecting a plurality of candidate time thresholds, wherein each candidate time threshold is an amount of time used in determining whether two consecutive candidate interactions are in one candidate interaction path based on that candidate time threshold;

retrieving a plurality of sample user interaction records, wherein each sample user interaction record comprises a timestamp; and

sorting the plurality of candidate user interaction records based on the timestamp in each user candidate interaction record.

15. The system of claim 14 , wherein the control circuitry is further configured to:

creating a plurality of candidate interaction paths from the plurality of candidate user interaction records, wherein the candidate time threshold is exceeded by a time difference between a start point of each candidate interaction path and an interaction immediately previous to that start point;

calculating, for the plurality of candidate interaction paths, an average time (“AVG b ”) between an end of each candidate interaction path and a start of an immediately subsequent candidate interaction path;

calculating, for the plurality of candidate interaction records, an average time (“AVG s ”) between candidate interaction records that share a candidate interaction path and are consecutive; and

determining, based on the AVG b and the AVG s that correspond with each candidate time threshold, which candidate time threshold to use as the time threshold.

16. The system of claim 15 , wherein the control circuitry is further configured to:

store the AVG b and the AVG s in association with the corresponding candidate time threshold; and

store the time threshold.

17. The system of claim 11 , wherein the control circuitry is further configured to:

determine an average path length of a plurality of interaction paths, wherein a path length is determined as the number of interactions in an interaction path record;

determine a number of unique paths in the plurality of interaction paths, wherein a unique path is comprised of a unique ordered list of interactions as compared to others of the unique paths; and

generate, for display, a summary of the plurality of interaction path records comprising the average path length and the number of unique paths.

18. The system of claim 11 , wherein the control circuitry is further configured to:

retrieve a plurality of expected interaction end points; and

determine whether the path-end record is associated with an expected interaction end point in the plurality of expected interaction end points.

19. The system of claim 18 , wherein the control circuitry is further configured to:

in response to determining that the path-end record is not associated with an expected interaction end point in the plurality of expected interaction end points, store an indication that the interaction path did not end at one of the plurality of expected interaction end points.

20. The system of claim 11 , wherein the control circuitry is further configured to:

in response to determining that the path-end record is not associated with an expected interaction end point in the plurality of expected interaction end points, store an indication that the interaction path did not end at one of the plurality of expected interaction end points.

Assignments (3)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0171 →
SECURITY INTEREST Recorded May 19, 2023
From: ADEIA GUIDES INC.; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063707/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2021
From: HOFFMAN, MICHAEL DEAN; AMBROZIC, CHRISTOPHER P.
To: ROVI GUIDES, INC.
Reel/Frame 057991/0358 →
Continuity (3)
Continuation 16222857 · Dec 17, 2018
Provisional Application 62730962 · Sep 13, 2018
Related Publication 20220027252A1 · Jan 27, 2022