1. A method for automatically incorporating hypothetical context information into recommendations, the method comprising: receiving a request from a user for one or more recommendations; receiving a current context substantially associated with the request; determining a hypothetical context for the request; wherein the hypothetical context may be determined from the current context; wherein the hypothetical context may comprise one or more future times and/or one or more future locations associated with the user; and wherein a respective hypothetical context may contain a joint distribution over one or more contextual variables which can have discrete values, continuous values, and/or a combination of discrete and continuous values; determining one or more recommendations for the user based on the hypothetical context; and returning the one or more recommendations to the user.