Abstract:
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for determining geographic locations of devices. One of the methods includes obtaining an estimated user location associated with each respective IP address block based on observed events; obtaining an estimate of a probability model using the estimated user locations; using the estimate for the probability model and the observed events to calculate an estimate for multiple probability distributions; generating a modified estimate of the probability model; calculating a updated estimate for each of the multiple probability distributions using the adjusted estimate of the probability model; and determining a further adjustment to the estimate of the probability model based on a comparison between an overall number of outliers present in the estimates for the multiple probability distributions and an overall number of outliers present in the updated estimates for the multiple probability distributions.