1. A method comprising, by one or more computing systems: receiving, from a service, a request for a location prediction for a user; accessing one or more real-time location signals and one or more aggregated location signals, wherein the one or more aggregated location signals comprise a fast-decay histogram and a slow decay histogram, and wherein the fast-decay histogram has a first decay rate and the slow-decay histogram has a second decay rate, the first decay rate being higher than the second decay rate; generating a plurality of location predictions from the one or more real-time location signals and the one or more aggregated location signals; calculating a single location prediction for the user from the plurality of location predictions; and sending, in response to the request, the single location prediction for the user to the requesting service.