1. A computer-implemented method comprising: generating a prediction basis for a user comprising previous crowd data describing crowds in which the user was previously included during a plurality of reoccurring time windows; and predicting one or more future locations of the user based on the prediction basis, wherein predicting the one or more future locations of the user based on the prediction basis comprises: obtaining current crowd data describing a current crowd in which the user is currently included; obtaining relevant crowd data from the prediction basis; and determining whether the user is likely to move to one of the one or more future locations based on a comparison of the current crowd data and at least a subset of the relevant crowd data from the prediction basis.