A system for inferring the location of users of online social media platforms, the system comprising: one or more processors and a non-transitory computer-readable medium having instructions encoded thereon such that when the instructions are executed, the one or more processors perform operations of: (a) extracting a social network from data from at least one social media platform, wherein the social network comprises a plurality of users connected through social relationships, and wherein each user in the plurality of users has an identity on each social media platform; (b) generating a mapping in the social network from each user in the plurality of users to the user's estimated geographical location, resulting in an estimated location mapping Est; (c) generating a mapping in the social network from each user in the plurality of users having known geographical location data to the user's known geographical location, resulting in known location mapping SL; (d) updating the estimated location mapping Est to have the same mapping as the known location mapping SL; (e) for a user j in the plurality of users having a mapping in the known location mapping SL, updating the location of j in Est' to be the location in the known location mapping SL, wherein Est' is an updated individual-location mapping for a current iteration: (f) repeating operation (e) for each user in the plurality of users; wherein N is a set of users having a social relationship with user j, and wherein NL is a set of locations; (g) for each user k in N having a mapping in Est, adding the estimated geographical location of k in Est to NL: (h) estimating a new geographical location of j using a geometric median metric; (i) updating Est' with the new geographical location of j; (j) iterating through operations (e) through (h) until a stopping criteria is met; (k) replacing the mappings in Est with those in Est'; and (l) mapping users to final, estimated locations based on the mappings in Est. (a) extracting a social network from data from at least one social media platform, wherein the social network comprises a plurality of users connected through social relationships, and wherein each user in the plurality of users has an identity on each social media platform; (b) generating a mapping in the social network from each user in the plurality of users to the user's estimated geographical location, resulting in an estimated location mapping Est; (c) generating a mapping in the social network from each user in the plurality of users having known geographical location data to the user's known geographical location, resulting in known location mapping SL; (d) updating the estimated location mapping Est to have the same mapping as the known location mapping SL; (e) for a user j in the plurality of users having a mapping in the known location mapping SL, updating the location of j in Est' to be the location in the known location mapping SL, wherein Est' is an updated individual-location mapping for a current iteration: (f) repeating operation (e) for each user in the plurality of users; wherein N is a set of users having a social relationship with user j, and wherein NL is a set of locations; (g) for each user k in N having a mapping in Est, adding the estimated geographical location of k in Est to NL: (h) estimating a new geographical location of j using a geometric median metric; (i) updating Est' with the new geographical location of j; (j) iterating through operations (e) through (h) until a stopping criteria is met; (k) replacing the mappings in Est with those in Est'; and (l) mapping users to final, estimated locations based on the mappings in Est. (f) repeating operation (e) for each user in the plurality of users; wherein N is a set of users having a social relationship with user j, and wherein NL is a set of locations; (g) for each user k in N having a mapping in Est, adding the estimated geographical location of k in Est to NL: (h) estimating a new geographical location of j using a geometric median metric; (i) updating Est' with the new geographical location of j; (j) iterating through operations (e) through (h) until a stopping criteria is met; (k) replacing the mappings in Est with those in Est'; and (l) mapping users to final, estimated locations based on the mappings in Est. (h) estimating a new geographical location of j using a geometric median metric; (i) updating Est' with the new geographical location of j; (j) iterating through operations (e) through (h) until a stopping criteria is met; (k) replacing the mappings in Est with those in Est'; and (l) mapping users to final, estimated locations based on the mappings in Est.