1. A method, comprising: receiving a plurality of signals, each signal from the plurality of signals including a location proxy from a plurality of location proxies for a user; generating, at a server, a movement graph having a plurality of nodes and a plurality of edges, each edge from the plurality of edges interconnecting two nodes from the plurality of nodes, each node representing a location proxy from the plurality of location proxies; calculating a predicted location for a first node from the plurality of nodes, the predicted location being based, at least in part, on the location proxy for the first node and a location proxy for a second node from the plurality of nodes, the predicted location being associated with a location different from a location associated with the location proxy for the first node; receiving a signal associated with a request for a location-based service including the location proxy associated with the first node; and sending a signal associated with the predicted location to a location-based service provider such that the location-based service provider provides the location-based service based on the predicted location.