US 11,809,465 B2
Matching anonymized user identifiers across differently anonymized data sets
Stephen Milton, Lyons, CO (US); and Duncan McCall, Greenwich, CT (US)
Assigned to PlaceIQ, Inc., New York, NY (US)
Filed by PlaceIQ, Inc., New York, NY (US)
Filed on Aug. 7, 2020, as Appl. No. 16/988,545.
Application 16/988,545 is a continuation of application No. 15/416,711, filed on Jan. 26, 2017, granted, now 10,783,172.
Application 15/416,711 is a continuation of application No. 14/334,066, filed on Jul. 17, 2014, granted, now 9,589,280, issued on Mar. 7, 2017.
Claims priority of provisional application 61/847,083, filed on Jul. 17, 2013.
Prior Publication US 2021/0232609 A1, Jul. 29, 2021
Int. Cl. G06F 16/29 (2019.01); G06F 16/23 (2019.01); G06F 16/2458 (2019.01); G06Q 30/0251 (2023.01)
CPC G06F 16/29 (2019.01) [G06F 16/2379 (2019.01); G06F 16/2471 (2019.01); G06Q 30/0269 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A method of generating user profiles, the method comprising:
obtaining a plurality of location data sets from different providers of user geolocation history, each location data set including a plurality of user-activity records, each user-activity records being associated with a user identifier and including geolocations of the corresponding user and times that the corresponding user was at the geolocations, the different providers having different user identifiers for a given corresponding user, the different user identifiers each uniquely identifying the given corresponding user within a corresponding one of the plurality of location data sets but being otherwise uncorrelated with an identity of the given corresponding user;
generating user-location records from the user-activity records by extracting geolocations and normalizing the extracted geolocations and the times that the corresponding user was at the geolocations;
matching, by one or more processors, the user identifiers between the location data sets based on the normalized geolocations of the corresponding user and the normalized times that the corresponding user was at the geolocations;
storing the matched user identifiers in association with one another in corresponding user profiles;
selecting the user location records of one or more of the corresponding user profiles;
generating profile attribute records for one or more given corresponding user based on information in the selected user location records; and
delivering an advertisement based on the profile attribute records.