1. A computing device, comprising: at least one microprocessor; and memory storing instructions configured to instruct the at least one microprocessor to: store location data of a mobile device, the location data specifying, for each respective time instance of a plurality of time instances in a period of time, a respective location of the mobile device determined by a position determination unit of the mobile device; and identify a location of a home of a user of the mobile device, by: identifying, for the respective location of the mobile device at the respective time instance, a respective region that has a predefined boundary and contains the respective location, wherein locations specified in the location data are contained within a plurality of regions containing the locations; determining, for the respective location of the mobile device at the respective time instance, a visitation type, wherein the locations specified in the location data have a plurality of different visitation types; identifying, from the plurality of regions visited by the respective mobile device, a plurality of region candidates for the home of the user of the mobile device; computing, for each of the region candidates, a plurality of visitation frequencies corresponding to the plurality of different visitation types respectively; computing, for each of the region candidates, a score based at least in part on the plurality of visitation frequencies, wherein the plurality of region candidates have a plurality of scores respectively; and selecting, from the plurality of region candidates based on the plurality of scores, a home region as the home of the user.