1. A method for making recommendations to a user, the method comprising: retrieving data relating to usage patterns of the user, wherein the data includes item usage information and item context information, wherein the item context information includes the situations in which the user or device operated by the user is operating when the items were used; clustering the data into clusters of data points; determining a centroid for each of the clusters; selecting a cluster similar to a current context of the user by comparing a data point representing a current context of the user or device to one or more of the centroids; and computing, for an item, a threshold based on values for a plurality of the centroids with respect to the item, wherein a threshold is used to compare with centroid value of the item in the selected cluster to determine whether to recommend the item.