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 each of the one or more aggregated location signals comprises one or more previous location signals; generating a plurality of current 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 current location predictions; and sending, in response to the request, the single location prediction for the user to the requesting service.