IP Library Granted Patent US 11,809,465
Granted Patent B2
US 11,809,465 · App. 16/988,545 · Granted Nov 7, 2023

Matching anonymized user identifiers across differently anonymized data sets

Inventors: Stephen Milton (Lyons, CO); Duncan McCall (Greenwich, CT)
Assignee: PlaceIQ, Inc.
G06F16/29G06F16/2379G06F16/2471G06Q30/0269
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,809,465
App. No.
16/988,545
Granted
Nov 7, 2023
Kind
B2
Abstract

Provided is a process of 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; matching, by one or more processors, the user identifiers between the location data sets based on geolocations of the corresponding user and times that the corresponding user was at the geolocations; and storing the matched user identifiers in association with one another in corresponding user profiles.

Claims (51)

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.

2. The method of claim 1 , comprising:

calculating a confidence value for a respective match of the user identifiers based on a sample size of the user-activity records upon which the respective match is based and an amount of similarity between the geolocations of the corresponding user in the different location data sets subject to the respective match, an amount of similarity between the times that the user was at the geolocations in the different data sets subject to the respective match, or both.

3. The method of claim 1 , wherein normalizing the extracted geolocations comprises:

translating the extracted geolocations into corresponding tiles of a geographic information system.

4. The method of claim 1 , wherein normalizing the extracted geolocations comprises:

translating the extracted geolocations and times that the corresponding user was at the geolocations into time-tiles associated with tile-time records of a geographic information system.

5. The method of claim 1 , wherein matching the user identifiers between the location data sets comprises:

converting the geolocations of the corresponding user and times that the corresponding user was at the geolocations into time-location vectors;

clustering the time-location vectors; and

determining that the user identifiers across the location data sets match based on a measure of similarity of clusters from the locations data sets.

6. The method of claim 5 , wherein the measure of similarity includes a distance in vector space between a measure of central tendency of two of the clusters.

7. The method of claim 6 , wherein the measure of central tendency is a centroid vector of the corresponding cluster.

8. The method of claim 1 , wherein matching the user identifiers between the location data sets comprises:

vectorizing the geolocations of the corresponding user and times that the corresponding user was at the geolocations to produce a measure of central tendency of two of the clusters;

clustering the time-location vectors within each location data set to produce clusters for each location data set; and

matching a cluster selected from one location data set among the plurality of location data sets with another cluster from another location data set among the plurality of location data sets.

9. The method of claim 8 , wherein matching the cluster selected from one location data set with the other cluster from the other location data set comprises:

calculating a similarity score for the cluster and the other cluster; and determining that the similarity score satisfies a threshold.

10. The method of claim 8 , wherein matching the cluster selected from one location data set with the other cluster from the other location data set comprises:

calculating a Euclidean distance between centroids of the cluster selected from one location data set with the other cluster from the other location data set.

11. The method of claim 8 , wherein matching the cluster selected from one location data set with the other cluster from the other location data set comprises:

calculating a volume of overlap of convex hulls of the cluster selected from one location data set with the other cluster from the other location data set.

12. A method of matching an identifier of a user's new computing device to an identifier of an older computing device of the same user, the method comprising:

obtaining a data set including a plurality of records, each record being associated with a user identifier and including geolocations of the corresponding user and times that the corresponding user was at the geolocations, each user identifier uniquely identifying the corresponding user within a corresponding one of the plurality of records but being otherwise uncorrelated with an identity of the corresponding user;

generating user-location records from the plurality of records by extracting geolocations and normalizing the extracted geolocations and the times that the corresponding user was at the geolocations;

determining that two user identifiers refer to the same user by matching, with one or more processors, the user identifiers within the data set 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 a user profile of the corresponding user;

selecting the user location records of one or more corresponding user profile;

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.

13. A system for generating user profiles, the system comprising:

one or more processors; and

memory storing instructions that when executed by the one or more processors effectuates operations 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.

14. The system of claim 13 , comprising:

calculating a confidence value for a respective match of the user identifiers based on a sample size of the user-activity records upon which the respective match is based and an amount of similarity between the geolocations of the corresponding user in the different location data sets subject to the respective match, an amount of similarity between the times that the user was at the geolocations in the different data sets subject to the respective match, or both.

15. The system of claim 13 , wherein normalizing the extracted geolocations comprises:

translating the extracted geolocations into corresponding tiles of a geographic information system.

Assignments (5)
FIRST LIEN GRANT OF SECURITY INTEREST IN PATENTS Recorded Feb 15, 2022
From: PLACEIQ, INC.
To: JPMORGAN CHASE BANK, N.A AS COLLATERAL AGENT
Reel/Frame 059110/0504 →
SECOND LIEN GRANT OF SECURITY INTEREST IN PATENTS Recorded Feb 15, 2022
From: PLACEIQ, INC.
To: BARLCAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 059110/0787 →
NOTICE OF RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY (REEL/FRAME 054517/0223) Recorded Feb 11, 2022
From: SILICON VALLEY BANK
To: PLACEIQ, INC.
Reel/Frame 059032/0990 →
SECURITY INTEREST Recorded Dec 2, 2020
From: PLACEIQ, INC.
To: SILICON VALLEY BANK
Reel/Frame 054517/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2020
From: MILTON, STEPHEN; MCCALL, DUNCAN
To: PLACEIQ, INC.
Reel/Frame 053672/0796 →
Continuity (4)
Continuation 15416711 · Jan 26, 2017
Continuation 14334066 · Jul 17, 2014
Provisional Application 61847083 · Jul 17, 2013
Related Publication 20210232609A1 · Jul 29, 2021