7. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising: an executable portion configured to collect a geolocation, detected by a positioning device, of a user terminal of a first user; an executable portion configured to receive a calendrical time identifier comprising indicia indicating an instance in which the first user was at the detected geolocation; an executable portion configured to generate a non-empty set of candidate venues based at least in part on the detected geolocation of the first user and the calendrical time identifier in response to determining that the candidate venues are within a predetermined distance of the detected geolocation of the first user; an executable portion configure to determine a set of venue categories based at least in part on the calendrical time identifier, wherein the calendrical time identifier indicates a time of day; an executable portion configured to include in the non-empty set of candidate venues and/or exclude from the non-empty set of candidate venues, one or more candidate venues based at least in part on the determined set of venue categories so that the non-empty set of candidate venues are determined based in part on the time of day and the indicia indicating the instance in which the first user was at the detected geolocation indicated by the calendrical time identifier; an executable portion configured to rank the candidate venues based on the received calendrical time identifier and on applying, to the candidate venues, a hypothesis that is learned from locations, detected by the positioning device, of one or more venues visited by at least one of i) the first user and ii) one or more additional users; an executable portion configured to provide visible indicia denoting one or more of the ranked candidate venues to a display device of the user terminal; and an executable portion configured to generate an electronic map indicating a detected current geolocation of the user terminal of the first user in relation to a detected location of a highest ranked venue, denoted as a recommended venue to the first user, of the ranked candidate venues and provide the generated electronic map to the display device for display of the electronic map by the user terminal, the recommended venue is determined to be a venue previously visited by one of the one or more additional users, but which was not previously visited by the first user.
8. The computer program product of claim 7 wherein an upper bound is applied to the rank of a matrix that represents the hypothesis.