1. A method implemented at least partially by a processor, the method comprising: collecting global positioning system (GPS) logs of geospatial locations of multiple users captured over time; constructing, using the processor, a location model for each individual user of the multiple users by: identifying trajectories representing trips of the individual user based on the GPS logs of geospatial locations captured over time; extracting stay points from the trajectories, each stay point representing a geographical region where the individual user stayed over a time threshold within a distance threshold; and formulating a location history for the individual user based on a sequence of the extracted stay points; and determining a correlation between locations by: identifying, based on the location histories of the multiple users, a collection of users that have visited the locations; and integrating travel experiences of the collection of users in a weighted manner, wherein a contribution of each travel experience is weighted based on a sequence in which the locations were visited in a trip and a number of intervening locations in the trip.