← Back to Patent Explorer
US7113917B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Personalized recommendations of items represented within a database

Assignee: Amazon Technologies Inc
•
Filing: 2001-05-07
•
Granted: 2006-09-26
•
Expires: 2021-05-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer-implemented service recommends items to a user based on items previously selected by the user, such as items previously purchased, viewed, or placed in an electronic shopping cart by the user. The items may, for example, be products represented within a database of an online merchant. In one embodiment, the service generates the recommendations using a previously generated table that maps items to respective lists of “similar” items. To generate the table, historical data indicative of users' affinities for particular items is processed periodically to identify correlations between item interests of users (e.g., items A and B are similar because a large portion of those who selected A also selected B). Personal recommendations are generated by accessing the table to identify items similar to those selected by the user. In one embodiment, items are recommended based on the current contents of a user's shopping cart.

Inventors

  • 👤 Jennifer A. Jacobi
  • 👤 Eric A. Benson
  • 👤 Gregory D. Linden

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 14:08
CPC Classifications
G; G06; G06Q; G06Q30/00; G06Q30/06; G06Q30/0601; G06Q30/0631; G06Q30/02; G06Q30/0241; G06Q30/0251; G06Q30/0253; G06Q30/0254; G06Q30/0255; G06Q30/0256; G06Q30/0269; G06Q30/0271; G06Q30/0277; G06Q30/0282; G06Q30/0603; G06Q30/0633; G06Q30/0641; H; H04; H04L; H04L51/00; H04L51/02; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99943

Claims Analysis

Total Claims: 58
Claim 1
Independent Claim 154 words
A method of recommending items to users from a database of items, the method comprising: maintaining item selection histories of each of a plurality of users of a server system that provides functionality for browsing and selecting items from an electronic catalog of items, each item selection history corresponding to, and identifying items selected by, a particular user; collectively analyzing at least the item selection histories of the plurality of users, as collected over a period of time, in an off-line processing mode to generate a plurality of data values that represent degrees to which specific items in the electronic catalog are related; storing a selected subset of the plurality of data values in a mapping structure that maps items to related items; and for each of a plurality of users of the electronic catalog, using the mapping structure, including the data values stored therein, to generate personalized recommendations of items within the catalog.
Claim 2
Independent Claim 154 words
A method of recommending items to users from a database of items, the method comprising: maintaining item selection histories of each of a plurality of users of a server system that provides functionality for browsing and selecting items from an electronic catalog of items, each item selection history corresponding to, and identifying items selected by, a particular user; collectively analyzing at least the item selection histories of the plurality of users, as collected over a period of time, in an off-line processing mode to generate a plurality of data values that represent degrees to which specific items in the electronic catalog are related; storing a selected subset of the plurality of data values in a mapping structure that maps items to related items; and for each of a plurality of users of the electronic catalog, using the mapping structure, including the data values stored therein, to generate personalized recommendations of items within the catalog.
Claim 3
Dependent Claim 16 words
The method of claim 1 , wherein the personalized recommendations are generated substantially in real time.
Claim 4
Dependent Claim 15 words
The method of claim 1 , wherein the mapping structure is a B-tree data structure.
Claim 5
Dependent Claim 21 words
The method of claim 3 , wherein the B-tree data structure includes the data values of selected pairs of related items.
Claim 6
Dependent Claim 34 words
The method of claim 1 , further comprising replicating the mapping structure, together with associated executable code used to generate personalized recommendations, across multiple machines of said server system to improve real time performance.
Claim 7
Dependent Claim 36 words
The method of claim 1 , wherein storing a selected subset of the plurality of data values comprises using the data values to identify items that are sufficiently related to be mapped within the mapping structure.
Claim 8
Dependent Claim 80 words
The method of claim 1 , wherein collectively analyzing the item selection histories comprises generating a data value that indicates a degree to which a first item and a second item are related, wherein the data value is dependent upon at least (a) a number of users that selected both the first item and the second item, (b) a total number of users that selected the first item, and (c) a total number of users that selected the second item.
Claim 9
Dependent Claim 61 words
The method of claim 7 , wherein the data value is generated substantially according to the equation X/(SQRT (Y×Z)), where X is the number of users that selected both the first item and the second item, Y is the total number of users that selected the first item, and Z is the total number of users that selected the second item.
Claim 10
Dependent Claim 80 words
The method of claim 1 , wherein collectively analyzing the item selection histories comprises generating a data value that indicates a degree to which a first item and a second item are related, wherein the data value is dependent upon at least (a) a number of users that purchased both the first item and the second item, (b) a total number of users that purchased the first item, and (c) a total number of users that purchased the second item.
Claim 11
Dependent Claim 29 words
The method of claim 1 , further comprising repeating the step of collectively analyzing the item selection histories periodically using a most recent set of item selection history data.
Claim 12
Dependent Claim 22 words
The method of claim 1 , wherein each item selection history is a history of items selected for purchase by a user.
Claim 13
Dependent Claim 22 words
The method of claim 1 , wherein each item selection history is a history of items selected for viewing by a user.
Claim 14
Dependent Claim 58 words
The method of claim 1 , wherein generating personalized recommendations comprises identifying a plurality of items selected by a target user to which personalized recommendations are to be provided, and using the mapping structure and data values stored therein to select, in real time, a set of additional items that are collectively related to the plurality of items.
Claim 15
Dependent Claim 30 words
The method of claim 13 , wherein identifying a plurality of items selected by a target user comprises identifying items currently in an electronic shopping cart of the target user.
Claim 16
Dependent Claim 48 words
The method of claim 14 , further comprising displaying at least some of the additional items on a shopping cart page that displays current contents of the electronic shopping cart, such that the shopping cart page suggests additional items that may be of interest to the target user.
Claim 17
Dependent Claim 45 words
The method of claim 1 , wherein generating personalized recommendations comprises identifying a plurality of items purchased by a target user, and using the mapping structure to select, in real time, a set of additional items that are collectively related to the plurality of items.
Claim 18
Dependent Claim 55 words
The method of claim 1 , wherein generating personalized recommendations comprises identifying a set of items that have been viewed by a target user during browsing of the electronic catalog, and using the mapping structure to select, in real time, a set of additional items that are collectively related to the set of viewed items.
Claim 19
Dependent Claim 35 words
The method of claim 1 , wherein the personalized recommendations are generated and provided to a target user without requiring the target user to explicitly rate items or to create an input list of items.
Claim 20
Dependent Claim 27 words
The method of claim 1 , wherein the personalized recommendations are generated and provided to a target user without requiring the target user to explicitly request recommendations.
Claim 21
Dependent Claim 26 words
The method of claim 1 , wherein the personalized recommendations are generated and provided to a target user without requesting preference information from the target user.
Claim 22
Dependent Claim 27 words
The method of claim 1 , wherein the personalized recommendations are generated for and provided to each of the plurality of users without updating the mapping structure.
Claim 23
Dependent Claim 27 words
The method of claim 1 , wherein maintaining item selection histories comprises maintaining an item selection history reflective of items selected by a user over multiple days.
Claim 24
Dependent Claim 27 words
The method of claim 1 , wherein maintaining item selection histories comprises maintaining an item selection history reflective of actions performed by a user over multiple days.
Claim 25
Dependent Claim 26 words
The method of claim 1 , wherein each item selection history comprises data indicative of a date that an item was selected by a corresponding user.
Claim 26
Dependent Claim 169 words
A computer-implemented method of generating a mapping of items to related items, the method comprising: maintaining item selection histories of each of a plurality of users of a server system that provides functionality for browsing and selecting items from an electronic catalog of items, each item selection history corresponding to, and identifying items selected by, a particular user; collectively and programmatically analyzing the item selection histories of the plurality of users to generate a data value that represents a degree to which a first item and a second item in the catalog are related, wherein the data value is dependent upon at least (a) a number of users that selected both the first item and the second item, (b) a total number of users that selected the first item, and (c) a total number of users that selected the second item; and using the data value to determine whether the first item should be mapped to the second item in a mapping structure that maps items to related items.
Claim 27
Dependent Claim 169 words
A computer-implemented method of generating a mapping of items to related items, the method comprising: maintaining item selection histories of each of a plurality of users of a server system that provides functionality for browsing and selecting items from an electronic catalog of items, each item selection history corresponding to, and identifying items selected by, a particular user; collectively and programmatically analyzing the item selection histories of the plurality of users to generate a data value that represents a degree to which a first item and a second item in the catalog are related, wherein the data value is dependent upon at least (a) a number of users that selected both the first item and the second item, (b) a total number of users that selected the first item, and (c) a total number of users that selected the second item; and using the data value to determine whether the first item should be mapped to the second item in a mapping structure that maps items to related items.
Claim 28
Dependent Claim 60 words
The method of claim 25 , wherein the data value is generated according to the equation X/(SQRT (Y×Z)), where X is the number of users that selected both the first item and the second item, Y is the total number of users that selected the first item, and Z is the total number of users that selected the second item.
Claim 29
Dependent Claim 66 words
The method of claim 25 , wherein the item selection histories identify items selected for purchase by the users, and the data value is dependent upon at least (a) a number of users that purchased both the first item and the second item, (b) a total number of users that purchased the first item, and (c) a total number of users that purchased the second item.
Claim 30
Dependent Claim 53 words
The method of claim 25 , further comprising determining whether a given item should be recommended to a user based at least in part on a degree to which the given item is related to each of multiple items known to be of interest to the user, as indicated by the mapping structure.
Claim 31
Dependent Claim 153 words
A computer-implemented method of recommending items to users of a server system that provides functionality for selecting items represented in an electronic catalog, the method comprising: identifying a plurality of items that are currently selected by a target user to obtain from an online business entity, including multiple items currently represented in a user-specific data repository in which item selections are maintained persistently over multiple sessions; identifying a set of additional items to recommend to the target user according to a selection algorithm in which a candidate item is considered for inclusion in the set based at least in-part upon a degree to which the candidate item is related to each of said plurality of items currently selected by the target user to obtain; and recommending at least some of the additional items in the set to the target user while the plurality of items are selected by the target user to obtain.
Claim 32
Dependent Claim 153 words
A computer-implemented method of recommending items to users of a server system that provides functionality for selecting items represented in an electronic catalog, the method comprising: identifying a plurality of items that are currently selected by a target user to obtain from an online business entity, including multiple items currently represented in a user-specific data repository in which item selections are maintained persistently over multiple sessions; identifying a set of additional items to recommend to the target user according to a selection algorithm in which a candidate item is considered for inclusion in the set based at least in-part upon a degree to which the candidate item is related to each of said plurality of items currently selected by the target user to obtain; and recommending at least some of the additional items in the set to the target user while the plurality of items are selected by the target user to obtain.
Claim 33
Dependent Claim 32 words
The method of claim 29 , wherein the method is performed substantially in real time when the target user accesses an electronic shopping cart in which said plurality of items are represented.
Claim 34
Dependent Claim 44 words
The method of claim 29 , wherein the degree to which the candidate item is related to each of the plurality of items is based at least in part on results of a programmatic correlation analysis of purchase histories of a plurality of users.
Claim 35
Dependent Claim 45 words
The method of claim 29 , wherein the degree to which the candidate item is related to each of the plurality of items is based at least in part on results of a programmatic correlation analysis of item viewing histories of a plurality of users.
Claim 36
Dependent Claim 36 words
The method of claim 29 , wherein the set of additional items is identified at least in part by retrieving, from a B-tree data structure, a related items list for each of the plurality of items.
Claim 37
Dependent Claim 39 words
The method of claim 29 , wherein recommending at least some of the additional items to the target user comprises displaying representations of the additional items on a web page that displays a representation of said plurality of items.
Claim 38
Dependent Claim 35 words
The method of claim 29 , wherein recommending at least some of the additional items to the target user comprises filtering out additional items that are included within a purchase history of the target user.
Claim 39
Dependent Claim 33 words
The method of claim 29 , wherein identifying a plurality of items that are currently selected comprises identifying a plurality of items represented in an electronic shopping cart associated with the target user.
Claim 40
Dependent Claim 27 words
The method of claim 29 , wherein identifying a plurality of items that are currently selected comprises identifying items currently selected by the target user to purchase.
Claim 41
Dependent Claim 27 words
The method of claim 29 , wherein identifying a plurality of items that are currently selected comprises identifying items currently selected for delivery to the target user.
Claim 42
Dependent Claim 12 words
The method of claim 29 , wherein the items are physical products.
Claim 43
Dependent Claim 23 words
The method of claim 29 , wherein the items include at least one of (a) an audio-visual work and (b) a video title.
Claim 44
Dependent Claim 45 words
The method of claim 29 , wherein the degree to which the candidate item is related to each of the plurality of items is based, at least in part, on results of an off-line correlation analysis of item selection histories of a plurality of users.
Claim 45
Dependent Claim 165 words
A data mining method, comprising: programmatically analyzing user activity data associated with a plurality of users of an electronic catalog, in an off-line processing mode, to generate data values representing degrees to which specific catalog items are related to one another, said user activity data reflecting user interest in specific catalog items; using the data values to select, for each of a plurality of the catalog items, a corresponding set of related catalog items; generating mappings of said plurality of catalog items to the corresponding sets of related catalog items, wherein generating the mappings comprises storing selected ones of said data values, together with associated item identifiers, in a mapping data structure; and programmatically generating personalized item recommendations for each of a plurality of target users of the electronic catalog using said data values stored in the mapping data structure and using said mappings, wherein the personalized item recommendations are generated for each of the plurality of target users without updating the mapping data structure.
Claim 46
Dependent Claim 165 words
A data mining method, comprising: programmatically analyzing user activity data associated with a plurality of users of an electronic catalog, in an off-line processing mode, to generate data values representing degrees to which specific catalog items are related to one another, said user activity data reflecting user interest in specific catalog items; using the data values to select, for each of a plurality of the catalog items, a corresponding set of related catalog items; generating mappings of said plurality of catalog items to the corresponding sets of related catalog items, wherein generating the mappings comprises storing selected ones of said data values, together with associated item identifiers, in a mapping data structure; and programmatically generating personalized item recommendations for each of a plurality of target users of the electronic catalog using said data values stored in the mapping data structure and using said mappings, wherein the personalized item recommendations are generated for each of the plurality of target users without updating the mapping data structure.
Claim 47
Dependent Claim 41 words
The method of claim 42 , wherein programmatically analyzing the user activity data comprises determining, for a selected pair of catalog items, how many users that purchased the first item of the pair also purchased the second item of the pair.
Claim 48
Dependent Claim 20 words
The method of claim 42 , wherein programmatically analyzing the user activity data comprises analyzing item viewing activities of users.
Claim 49
Dependent Claim 20 words
The method of claim 42 , wherein programmatically analyzing the user activity data comprises analyzing shopping cart activities of users.
Claim 50
Dependent Claim 45 words
The method of claim 42 , wherein programmatically generating personalized item recommendations comprises using the mappings to select catalog items that are related to a plurality of catalog items previously purchased by a target user, as determined from a purchase history of the target user.
Claim 51
Dependent Claim 35 words
The method of claim 42 , wherein programmatically generating personalized item recommendations comprises using the mappings to select catalog items that are related to a plurality of catalog items previously viewed by a target user.
Claim 52
Dependent Claim 42 words
The method of claim 42 , wherein programmatically generating personalized item recommendations comprises using the mappings to select catalog items that are related to a plurality of catalog items currently selected by a target user to obtain from an online business entity.
Claim 53
Dependent Claim 12 words
The method of claim 42 , wherein the items include video titles.
Claim 54
Dependent Claim 31 words
The method of claim 42 , wherein the data values are based on at least one type of item selection activity performed by users for purposes other than to obtain recommendations.
Claim 55
Dependent Claim 157 words
A data mining method, comprising: programmatically analyzing user activity data associated with a plurality of users of an electronic catalog, in an off-line processing mode, to generate data values representing degrees to which specific catalog items are related to one another, said user activity data reflecting user interest in specific catalog items; using the data values to select, for each of a plurality of the catalog items, a corresponding set of related catalog items; generating mappings of said plurality of catalog items to the corresponding sets of related catalog items; and programmatically generating personalized item recommendations for each of a plurality of users of the electronic catalog using said mappings; wherein programmatically generating personalized item recommendations comprises using the mappings, in combination with an item ratings profile of a target user, to select catalog items to recommend to the target user, wherein the item ratings profile comprises scores explicitly assigned to specific items by the target user.
Claim 56
Dependent Claim 157 words
A data mining method, comprising: programmatically analyzing user activity data associated with a plurality of users of an electronic catalog, in an off-line processing mode, to generate data values representing degrees to which specific catalog items are related to one another, said user activity data reflecting user interest in specific catalog items; using the data values to select, for each of a plurality of the catalog items, a corresponding set of related catalog items; generating mappings of said plurality of catalog items to the corresponding sets of related catalog items; and programmatically generating personalized item recommendations for each of a plurality of users of the electronic catalog using said mappings; wherein programmatically generating personalized item recommendations comprises using the mappings, in combination with an item ratings profile of a target user, to select catalog items to recommend to the target user, wherein the item ratings profile comprises scores explicitly assigned to specific items by the target user.
Claim 57
Dependent Claim 150 words
A data mining method, comprising: programmatically analyzing user activity data associated with a plurality of users of an electronic catalog, in an off-line processing mode, to generate data values representing degrees to which specific catalog items are related to one another, said user activity data reflecting user interest in specific catalog items; using the data values to select, for each of a plurality of the catalog items, a corresponding set of related catalog items; generating mappings of said plurality of catalog items to the corresponding sets of related catalog items; and programmatically generating personalized item recommendations for each of a plurality of users of the electronic catalog using said mappings; wherein programmatically generating personalized item recommendations comprises using the mappings to select catalog items that are related to a plurality of catalog items currently represented in a user-specific data repository in which item selections are maintained persistently over multiple sessions.
Claim 58
Dependent Claim 150 words
A data mining method, comprising: programmatically analyzing user activity data associated with a plurality of users of an electronic catalog, in an off-line processing mode, to generate data values representing degrees to which specific catalog items are related to one another, said user activity data reflecting user interest in specific catalog items; using the data values to select, for each of a plurality of the catalog items, a corresponding set of related catalog items; generating mappings of said plurality of catalog items to the corresponding sets of related catalog items; and programmatically generating personalized item recommendations for each of a plurality of users of the electronic catalog using said mappings; wherein programmatically generating personalized item recommendations comprises using the mappings to select catalog items that are related to a plurality of catalog items currently represented in a user-specific data repository in which item selections are maintained persistently over multiple sessions.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2009-09-25 2010-03-27 2010-09-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2013-09-25 2014-03-27 2014-09-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2017-09-25 2018-03-27 2018-09-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag