IP Library Granted Patent US 10,779,109
Granted Patent B2
US 10,779,109 · App. 15/990,521 · Granted Sep 15, 2020

Systems and methods of tracking locations visited by mobile devices to quantify a change computed based on matching populations used in change measurement

Inventors: Paolo D'Alberto (San Jose, CA); Veronica Milenkiy (Burlingame, CA); Ahmad Fairiz Azizi (Santa Clara, CA)
Assignee: NinthDecimal, Inc.
H04W4/02G06Q30/0261G06Q30/0267H04W4/021H04W4/029H04W48/16
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 10,779,109
App. No.
15/990,521
Granted
Sep 15, 2020
Kind
B2
Abstract

Systems and methods including mobile devices determining their locations using location determination units, such as GPS receivers. A computing device generates a statistical measurement of location pattern changes in relation to a predetermined region for a predetermined period of time. The measurement is generated from a difference between responses of exposed mobile devices and responses of non-exposed mobile devices, which devices are selected based on a cluster analysis to match the distributions of the exposed mobile devices and the non-exposed mobile devices in an attribute space. Each response of a mobile device can be computed based on applying, at a time instance, an anti-symmetric weight function having an exponential distribution to a time series of visitation measurements to generate a response corresponding to the time instance, and summing the responses corresponding to time instances falling within the predetermined period of time as the response of the mobile device.

Claims (70)

1. A system, comprising:

a plurality of mobile devices, wherein each mobile device in the plurality of mobile devices determines locations of the mobile device at respective time instances when the mobile device is at the respective locations; and

a computing device in communication with the mobile devices to receive locations of the mobile devices at different time instances, wherein the computing device:

receives information identifying a time period during which at least one message related to a predetermined region is transmitted to a portion of the mobile devices at least once;

identifies a plurality of clusters of the plurality of mobile devices according to a set of attributes, wherein mobile devices in each of the plurality of clusters have values of the attributes that are close to each other in an attribute space defined by the set of attributes;

selects a subset of the plurality of mobile devices based on at least in part on identifications of the clusters in the attribute space;

identifies a plurality of first mobile devices in the subset, wherein each mobile device of the first mobile devices has a first status with respect to the message;

identifies a plurality of second mobile devices in the subset, wherein each mobile device of the second mobile devices has a second status with respect to the message;

for each respective mobile device in the first mobile devices and the second mobile devices, computes a visitation value for the respective mobile device based on counts of visitation to the predetermined region by the respective mobile device; and

calculates a measurement of a location behavior change based on a difference between the visitation values of the first mobile devices and the visitation values of the second mobile devices,

wherein for each respective cluster that contains at least a portion of the first mobile devices and the second mobile devices, the computing device computes:

a first average of visitation values for devices that are in both the first mobile devices and in the respective cluster;

a second average of visitation values for devices that are in both the second devices and in the respective cluster; and

a difference between the first average and the second average as a measurement for the respective cluster, and

wherein the measurement of the location behavior change is computed from a weighted average of measurements computed for clusters in the attribute space that contain the first mobile devices and second mobile devices, and

wherein the weighted average is based on weights assigned to the clusters in the attribute space that contain the first mobile devices and second mobile devices; and the weights are proportional to sizes of the clusters that contain the first mobile devices and second mobile devices.

2. The system of claim 1 , wherein the counts of visitation to the predetermined region by the respective mobile device are determined based on whether or not each location, in a plurality of locations of the respective mobile device at a plurality of time instances respectively, is located within the predetermined region.

3. The system of claim 2 , wherein the computing device determines whether or not a location having a set of coordinates, in the plurality of locations of the respective mobile device, is located within the predetermined region by:

combining the coordinates into an identifier of a cell among the plurality of cells in a grid reference system, wherein the cell contains the respective location on the surface of the Earth; and

searching a set of cell identifiers pre-associated with the predetermined region to identify a match;

wherein the location having the set of coordinates is determined to be within the predetermined region in response to the match being found in the set of cell identifiers pre-associated with the predetermined region; and

wherein the location having the set of coordinates is determined to be not within the predetermined region in response to the match not being found in the set of cell identifiers pre-associated with the predetermined region.

4. The system of claim 3 , wherein the coordinates are combined to provide the identifier of the cell according to a predetermined function of the coordinates of the respective location.

5. The system of claim 3 , wherein the coordinates are combined by:

generating two integers from the coordinates according to a precision level; and

combining the two integers to provide the identifier of the cell.

6. The system of claim 3 , wherein the coordinates are combined by:

selecting digits from the coordinates in accordance with a cell resolution level; and

combining the digits selected from the coordinates into an integer representing the identifier of the cell.

7. The system of claim 1 , wherein the first mobile devices are identified to have the first status for having received the message during the time period; and the second mobile devices are identified to have the second status for having not received the message during the time period.

8. The system of claim 7 , wherein the subset of the plurality of mobile devices is selected by excluding mobile devices in one or more first clusters that contain only mobile devices having the second status.

9. The system of claim 8 , wherein the subset of the plurality of mobile devices is selected by further excluding mobile devices in one or more second clusters that contain only mobile devices having the first status.

10. The system of claim 9 , wherein in at least a first cluster of the plurality of clusters, devices in the first mobile devices which are also in the first cluster having a population size that is different from a population size of devices in the second mobile devices which are also in the first cluster.

11. The system of claim 9 , wherein a population size of the first mobile devices is different from a population size of the second mobile devices.

12. The system of claim 7 , wherein the subset of the plurality of mobile devices is selected by further selecting from each cluster having a first number of mobile devices having the first status and a second number of mobile devices having the second status; and the first number is equal to the second number.

13. The system of claim 1 , wherein the sizes of the clusters that contain the first mobile devices and second mobile devices are computed based on at least one of:

counts of devices that are in both the first mobile devices and the clusters that contain the first mobile devices and second mobile devices;

counts of devices that are in both the second mobile devices and the clusters that contain the first mobile devices and second mobile devices; and

counts of devices that are in either the first mobile devices or the second mobile devices and in the clusters that contain the first mobile devices and second mobile devices.

14. A method implemented in a computing device, the method comprising:

receiving location information of a plurality of mobile devices, wherein each mobile device in the plurality of mobile devices determines locations of the mobile device at respective time instances when the mobile device is at the respective locations;

receiving information identifying a time period during which at least one message related to a predetermined region is transmitted to a portion of the mobile devices at least once;

identifying a plurality of clusters of the plurality of mobile devices according to a set of attributes, wherein mobile devices in each of the plurality of clusters have values of the attributes that are close to each other in an attribute space defined by the set of attributes;

selecting a subset of the plurality of mobile devices based on at least in part on identifications of the clusters in the attribute space;

identifying a plurality of first mobile devices in the subset, wherein each mobile device of the first mobile devices has a first status with respect to the message;

identifying a plurality of second mobile devices in the subset, wherein each mobile device of the second mobile devices has a second status with respect to the message;

for each respective mobile device in the first mobile devices and the second mobile devices, computing a visitation value for the respective mobile device based on counts of visitation to the predetermined region by the respective mobile device; and

calculating a measurement of a location behavior change based on a difference between the visitation values of the first mobile devices and the visitation values of the second mobile devices, and

wherein the calculating comprises:

for each respective cluster that contains at least a portion of the first mobile devices and the second mobile devices, computing a cluster-level measurement of the location behavior change from a difference between:

a first average of visitation values for devices that are both in the plurality of the first mobile devices and in the respective cluster; and

a second average of visitation values for devices that are both in the plurality of the second mobile devices and in the respective cluster; and

combining cluster-level measurements of the location behavior change of clusters that have mobile devices in the subset to generate the measurement of the location behavior change,

wherein the measurement of the location behavior change is computed from a weighted average of measurements computed for clusters in the attribute space that contain the first mobile devices and second mobile devices, and

wherein the weighted average is based on weights assigned to the clusters in the attribute space that contain the first mobile devices and second mobile devices; and the weights are proportional to sizes of the clusters that contain the first mobile devices and second mobile devices.

15. A non-transitory computer storage medium storing instructions which when executed by a computing device, cause the computing device to perform a method, the method comprising:

receiving location information of a plurality of mobile devices, wherein each mobile device in the plurality of mobile devices determines locations of the mobile device at respective time instances when the mobile device is at the respective locations;

receiving information identifying a time period during which at least one message related to a predetermined region is transmitted to a portion of the mobile devices at least once;

identifying a plurality of clusters of the plurality of mobile devices according to a set of attributes, wherein mobile devices in each of the plurality of clusters have values of the attributes that are close to each other in an attribute space defined by the set of attributes;

selecting a subset of the plurality of mobile devices based on at least in part on identifications of the clusters in the attribute space;

identifying a plurality of first mobile devices in the subset, wherein each mobile device of the first mobile devices has a first status with respect to the message;

identifying a plurality of second mobile devices in the subset, wherein each mobile device of the second mobile devices has a second status with respect to the message;

for each respective mobile device in the first mobile devices and the second mobile devices, computing a visitation value for the respective mobile device based on counts of visitation to the predetermined region by the respective mobile device; and

calculating a measurement of a location behavior change based on a difference between the visitation values of the first mobile devices and the visitation values of the second mobile devices,

wherein for each respective cluster that contains at least a portion of the first mobile devices and the second mobile devices, the method further comprises computing:

a first average of visitation values for devices that are in both the first mobile devices and in the respective cluster;

a second average of visitation values for devices that are in both the second devices and in the respective cluster; and

a difference between the first average and the second average as a measurement for the respective cluster, and

wherein the measurement of the location behavior change is computed from a weighted average of measurements computed for clusters in the attribute space that contain the first mobile devices and second mobile devices, and

wherein the weighted average is based on weights assigned to the clusters in the attribute space that contain the first mobile devices and second mobile devices; and the weights are proportional to sizes of the clusters that contain the first mobile devices and second mobile devices.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Nov 27, 2023
From: MULTIPLIER CAPITAL II, LP
To: INMARKET MEDIA, LLC
Reel/Frame 065677/0537 →
SECURITY INTEREST Recorded Oct 27, 2023
From: INMARKET MEDIA, LLC
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 065367/0537 →
SECURITY INTEREST Recorded Sep 1, 2022
From: INMARKET MEDIA, LLC
To: MULTIPLIER GROWTH PARTNERS, LP
Reel/Frame 060963/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2021
From: NINTHDECIMAL, INC.
To: INMARKET MEDIA, LLC
Reel/Frame 055183/0951 →
SECURITY INTEREST Recorded Sep 9, 2020
From: INMARKET MEDIA, LLC
To: MULTIPLIER CAPITAL II, LP
Reel/Frame 053719/0908 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2020
From: D'ALBERTO, PAOLO; MILENKIY, VERONICA; AZIZI, AHMAD FAIRIZ
To: NINTHDECIMAL, INC.,
Reel/Frame 052530/0568 →
SECURITY INTEREST Recorded Mar 13, 2019
From: NINTHDECIMAL, INC.
To: MULTIPLIER CAPITAL II, LP
Reel/Frame 048589/0199 →
Continuity (19)
Continuation 15615669 · Jun 6, 2017
Continuation In Part 15474915 · Mar 30, 2017
Continuation In Part 15990521
Continuation In Part 15435287 · Feb 16, 2017
Continuation In Part 15990521
Continuation In Part 15435185 · Feb 16, 2017
Continuation In Part 15990521
Continuation In Part 15697342 · Sep 6, 2017
Continuation 15174608 · Jun 6, 2016
Continuation 14679909 · Apr 6, 2015
Continuation 15990521
Continuation In Part 15655751 · Jul 20, 2017
Continuation 15337939 · Oct 28, 2016
Continuation 15014943 · Feb 3, 2016
Continuation 14594010 · Jan 9, 2015
Provisional Application 62346689 · Jun 7, 2016
Provisional Application 62429274 · Dec 2, 2016
Provisional Application 62377256 · Aug 19, 2016
Related Publication 20190033078A1 · Jan 31, 2019