1. A computer-implemented method of selecting items to recommend to a user, the method comprising: selecting a plurality of items associated with the user, including items selected from at least one of the following groups of items: (a) items that have been purchased by the user, (b) items that have been explicitly rated by the user, (c) items in an electronic shopping cart of the user, (d) items the user has removed from said electronic shopping cart; for each of the plurality of items, looking up a corresponding set of related items and associated data values, each data value representing a degree to which the related item is related to the respective item associated with the user; generating a ranked set of said related items, such that a ranking of a related item in said ranked set is dependent upon (a) at least some of said data values, and (b) whether the related item appears in more than one of said sets of related items; and selecting, from said ranked set of related items, a subset of related items to recommend to the user.