IP Library Granted Patent US 11,361,331
Granted Patent B2
US 11,361,331 · App. 16/240,339 · Granted Jun 14, 2022

System, method and computer program product for predicting a next hop in a search path

Inventors: Thomas J. Sullivan (Santa Monica, CA); Michael D. Swinson (Santa Monica, CA)
Assignee: TrueCar, Inc.
G06Q30/0201G06F16/24578G06F16/9535G06N5/04G06Q30/0202G06F3/0482G06F3/04842
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,361,331
App. No.
16/240,339
Granted
Jun 14, 2022
Kind
B2
Abstract

Systems, methods, and computer program products for identifying items more likely to be selected by an individual user as a next hop in a search path. Probability metrics are maintained for items, the probability metrics indicating frequencies with which users have selected each item as a next hop after viewing another item. Responsive to the user viewing a baseline item, a probability of selection as a next hop is determined for each of a plurality of items based on the probability metrics. The items are ranked according to the probabilities of selection and presented to the user.

Claims (52)

1. A method for identifying consumer items more likely to be selected by a user as a next hop in a search path, comprising:

in a computer having a processor and a memory, wherein the computer is communicatively connected to a computing device;

generating an interface which is presented to the user via the computing device;

maintaining probability metrics corresponding to each pair of items in a plurality of items, the probability metrics indicating for each pair of items a corresponding frequency with which users have selected one of the pair of items as the next hop in the search path following viewing of another one of the pair of items, the search path comprising a sequence of items which are viewed by the user, the probability metrics representing historical online search behavior of a plurality of users;

determining, responsive to the user viewing a baseline item via the interface on the computing device, for each individual item of the plurality of items, a probability that the user will select the individual item as the next hop in the search path, wherein the probability is determined based on the probability metrics corresponding to the pair of items including the baseline item and the individual item;

ranking, in decreasing order, probabilities determined for the plurality of items, wherein items that are more frequently selected as the next hop in the search path are ranked higher than items that are less frequently selected as the next hop in the search path;

updating the interface running on the computing device, wherein the updated interface presents to the user at least a portion of the plurality of items ranked in decreasing order according to the probabilities; and

after and in response to the user selecting one of the presented portion of the plurality of items, ranking other ones of the portion of the plurality of items and updating the interface running on the computing device to present to the user the other ones of the portion of the plurality of items ranked in decreasing order according to the corresponding probabilities.

2. The method according to claim 1 , further comprising collecting item view frequencies only for each hop by the user in a sequence of item discovery.

3. The method according to claim 1 , further comprising collecting item view frequencies only for all hops by the user in a sequence of item discovery.

4. The method according to claim 1 , further comprising collecting item view frequencies only for all pairs of items in a sequence of item discovery.

5. The method according to claim 1 , further comprising:

for each paired observation associated with the baseline item, determining what a first next item is expected to be selected by the user; and

examining all observations associated with the baseline item to determine what a second next item is expected to be selected by the user.

6. The method according to claim 5 , further comprising:

defining a kernel for a given radius each time the second next item is selected after the baseline item is established by the user.

7. The method according to claim 5 , further comprising:

determining a conditional probability that the user will select a particular first next item after a particular baseline item is established by the user.

8. The method according to claim 5 , further comprising:

making a prediction as to which next item the user will select;

comparing the prediction with an actual next item selected by the user; and

assigning a penalty value to the prediction if the prediction is incorrect.

9. The method according to claim 8 , wherein the prediction is one of a plurality of predictions, further comprising:

determining a total penalty value for all incorrect predictions in the plurality of predictions; and

determining a set of weights that minimizes the total penalty.

10. A computer program product comprising at least one non-transitory computer readable medium storing instructions translatable by at least one processor in a computer having a memory, wherein the computer is communicatively connected to a computing device, wherein the instructions are translatable by the at least one processor to perform:

generating an interface which is presented to a user via the computing device;

maintaining probability metrics corresponding to each pair of items in a plurality of items, the probability metrics indicating for each pair of items a corresponding frequency with which users have selected one of the pair of items as a next hop in a search path following viewing of another one of the pair of items, the search path comprising a sequence of items which are viewed by the user, the probability metrics representing historical online search behavior of a plurality of users;

determining, responsive to the user viewing a baseline item via the interface on the computing device, for each individual item of the plurality of items, a probability that the user will select the individual item, wherein the probability is determined based on the probability metrics corresponding to the pair of items including the baseline item and the individual item;

ranking, in decreasing order, probabilities determined for the plurality of items, wherein items that are more frequently selected as the next hop in the search path are ranked higher than items that are less frequently selected as the next hop in the search path;

updating the interface running on the computing device, wherein the updated interface presents to the user at least a portion of the plurality of items ranked in decreasing order according to the probabilities; and

after and in response to the user selecting one of the presented portion of the plurality of items, ranking other ones of the portion of the plurality of items and updating the interface running on the computing device to present to the user the other ones of the portion of the plurality of items ranked in decreasing order according to the corresponding probabilities.

11. The computer program product of claim 10 , wherein the at least one non-transitory computer readable medium further stores instructions translatable by the at least one processor to perform:

collecting item view frequencies for each hop by the user in a sequence of item discovery.

12. The computer program product of claim 10 , wherein the at least one non-transitory computer readable medium further stores instructions translatable by the at least one processor to perform:

collecting item view frequencies for all hops by the user in a sequence of item discovery.

13. The computer program product of claim 10 , wherein the at least one non-transitory computer readable medium further stores instructions translatable by the at least one processor to perform:

collecting item view frequencies for all pairs of items in a sequence of item discovery.

14. The computer program product of claim 10 , wherein the at least one non-transitory computer readable medium further stores instructions translatable by the at least one processor to perform:

for each paired observation associated with the baseline item, determining what a first next item is expected to be selected by the user; and

examining all observations associated with the baseline item to determine what a second next item is expected to be selected by the user.

15. The computer program product of claim 14 , wherein the at least one non-transitory computer readable medium further stores instructions translatable by the at least one processor to perform:

defining a kernel for a given radius each time the second next item is selected after the baseline item is established by the user.

16. The computer program product of claim 14 , wherein the at least one non-transitory computer readable medium further stores instructions translatable by the at least one processor to perform:

determining a conditional probability that the user will select a particular first next item after a particular baseline item is established by the user.

17. The computer program product of claim 14 , wherein the at least one non-transitory computer readable medium further stores instructions translatable by the at least one processor to perform:

making a prediction as to which next item the user will select;

comparing the prediction with an actual next item selected by the user; and

assigning a penalty value to the prediction if the prediction is incorrect.

18. The computer program product of claim 17 , wherein the prediction is one of a plurality of predictions and wherein the at least one non-transitory computer readable medium further stores instructions translatable by the at least one processor to perform:

determining a total penalty value for all incorrect predictions in the plurality of predictions; and

determining a set of weights that minimizes the total penalty.

Assignments (2)
SECURITY INTEREST Recorded Apr 9, 2021
From: TRUECAR, INC.
To: SILICON VALLEY BANK
Reel/Frame 055873/0083 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2019
From: SULLIVAN, THOMAS J.; SWINSON, MICHAEL
To: TRUECAR, INC.
Reel/Frame 047906/0975 →
Continuity (4)
Continuation 15297883 · Oct 19, 2016
Continuation 14152884 · Jan 10, 2014
Continuation 13173332 · Jun 30, 2011
Related Publication 20190156354A1 · May 23, 2019
Cited By (1)
US 12,412,204