IP Library Granted Patent US 9,787,786
Granted Patent B1
US 9,787,786 · App. 15/049,333 · Granted Oct 10, 2017

Determining device counts

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 9,787,786
App. No.
15/049,333
Granted
Oct 10, 2017
Kind
B1
Abstract

A system may analyze beacon data over a particular period of time in order to estimate a total number of unique devices that visited web entities during that period.

Claims (76)

1. A system comprising:

one or more processing devices;

one or more storage devices storing instructions that, when executed by the one or more processing devices, cause the one or more processing devices to perform the following operations:

access a set of activity data for a set of one or more resources on a network, the set of resources having been accessed by a group of client systems and the set of activity data being determined based on beacon messages received from the group of client systems sent as a result of beacon instructions included with the set of resources, wherein the set of activity data represents identifiers received with the beacon messages and a total count of the beacon messages received from the group of client systems;

determine persistent identifier data based on the set of activity data, the persistent identifier data representing multiple persistent identifiers and, for each persistent identifier, a total count of the beacon messages received from a client system associated with the persistent identifier, wherein each persistent identifier is associated with a different client system from the group of client systems and is received with the beacon messages that span a threshold amount of time during a reporting period;

determine weighted count data based on the persistent identifier data, the weighted count data representing the multiple persistent identifiers and, for each persistent identifier, an estimated count of the beacon messages that would have been received with the persistent identifier from the client system associated with the persistent identifier if the persistent identifier persisted on the client system during an entirety of the reporting period;

determine a count per device value based on the weighted count data, the count per device value indicating an estimated number of the beacon messages received per device during the reporting period; and

determine a count of unique devices that have accessed the set of resources during the reporting period based on the count per device value and the total count of the beacon messages received from the group of client systems.

2. The system of claim 1 wherein, to determine the persistent identifier data, the instructions include instructions that, when executed by the one or more processing devices, cause the one or more processing devices to:

determine that a difference between a first time an identifier is received with a beacon message and a second time the identifier is received with the beacon message is greater than the threshold amount of time; and

in response to determining that the difference is greater than the threshold, identify the identifier as the persistent identifier.

3. The system of claim 2 wherein the reporting period is a month and the threshold amount of time is a threshold number of days.

4. The system of claim 1 wherein:

the reporting period is divided into subunits and the threshold amount of time is a threshold fraction of the subunits in the reporting period, and

to determine the persistent identifier data, the instructions include instructions that, when executed by the one or more processing devices, cause the one or more processing devices to:

determine that a fraction of the subunits in the reporting period in which an identifier is received with a beacon message exceeds the threshold fraction of the subunits in the reporting period; and

in response to determining that the fractions exceeds the threshold fraction of the subunits in the reporting period, identify the identifier as the persistent identifier.

5. The system of claim 1 wherein, to determine the weighted count data, the instructions include instructions that, when executed by the one or more processing devices, cause the one or more processing devices to:

for a given persistent identifier:

determine a total time present in the reporting period, wherein the total time present is a time in the reporting period that the given persistent identifier was received with a beacon message;

determine a total time not present in the reporting period, wherein the total time not present is a time in the reporting period that the given persistent identifier was not received with a beacon message;

determine a total number of times the given persistent identifier was received during the reporting period with a beacon message; and

determine the estimated count of the beacon messages that would have been received with the given persistent identifier from a client device associated with the persistent identifier if the persistent identifier persisted on the client device during an entirety of the reporting period, based on the total time present, the total time not present, and the total number of times the given persistent identifier was received during the reporting period with a beacon message.

6. The system of claim 1 wherein, to determine the weighted count data, the instructions include instructions that, when executed by the one or more processing devices, cause the one or more processing devices to:

for a given persistent identifier:

determine an active persistency value, wherein the active persistency value is a percentage of the reporting period in which a beacon message with the given persistent identifier was received;

determine an active subunit value, wherein the active subunit value is a count of subunits of the reporting period during which a beacon message with the given persistent identifier was received;

determine a total time not present in the reporting period, wherein the total time not present is a time in the reporting period that the given persistent identifier was not received with a beacon message;

determine a total number of times the given persistent identifier was received during the reporting period with a beacon message; and

determine the estimated count of the beacon messages that would have been received with the given persistent identifier from a client device associated with the persistent cookie if the persistent identifier persisted on the client device during an entirety of the reporting period, based on the activity persistence value, the active subunit value, the total time not present, and the total number of times the given persistent identifier was received during the reporting period with a beacon message.

7. The system of claim 1 wherein, to determine the count per device value, the instructions include instructions that, when executed by the one or more processing devices, cause the one or more processing devices to determine the count per device value based on the estimated counts of the beacon messages and a total number of persistent identifiers in the multiple persistent identifiers.

8. The system of claim 1 wherein

the instructions include instructions that, when executed by the one or more processing devices, cause the one or more processing devices to subdivide the persistent identifier data into one or more groupings, wherein each grouping corresponds to a category of client system;

to determine the weighted count data the instructions include instructions that, when executed by the one or more processing devices, cause the one or more processing devices to determine weighted count data for each of the groupings;

to determine the count per device value the instructions include instructions that, when executed by the one or more processing devices, cause the one or more processing devices to determine a count per device value for each grouping based on the weighted count data for the grouping; and

to determine the count of unique devices the instructions include instructions that, when executed by the one or more processing devices, cause the one or more processing devices to determine a count of unique devices that have accessed the set of resources for each grouping based on the count per device value for the grouping and the total count of the beacon messages received from the group of client systems.

9. The system of claim 8 wherein, to determine the count of unique devices that have accessed the set of resources for each grouping based on the count per device value for the grouping and the total count of the beacon messages received from the group of client systems, the instructions include instructions that, when executed by the one or more processing devices, cause the one or more processing devices to:

subdivide the total count of the beacon messages received from the group of client systems into the groupings; and

determine the count of unique devices that have accessed the set of resources for each grouping based on the count per device value for the grouping and the total count of the beacon messages received for the grouping.

10. The system of claim 8 wherein the groupings are based on type of client system, operating system of the client system, or provider of connectivity of the client system.

11. A method comprising:

accessing a set of activity data for a set of one or more resources on a network, the set of resources having been accessed by a group of client systems and the set of activity data being determined based on beacon messages received from the group of client systems sent as a result of beacon instructions included with the set of resources, wherein the set of activity data represents identifiers received with the beacon messages and a total count of the beacon messages received from the group of client systems;

determining persistent identifier data based on the set of activity data, the persistent identifier data representing multiple persistent identifiers and, for each persistent identifier, a total count of the beacon messages received from a client system associated with the persistent identifier, wherein each persistent identifier is associated with a different client system from the group of client systems and is received with the beacon messages that span a threshold amount of time during a reporting period;

determining weighted count data based on the persistent identifier data, the weighted count data representing the multiple persistent identifiers and, for each persistent identifier, an estimated count of the beacon messages that would have been received with the persistent identifier from the client system associated with the persistent identifier if the persistent identifier persisted on the client system during an entirety of the reporting period;

determining a count per device value based on the weighted count data, the count per device value indicating an estimated number of the beacon messages received per device during the reporting period; and

determining a count of unique devices that have accessed the set of resources during the reporting period based on the count per device value and the total count of the beacon messages received from the group of client systems.

12. The method of claim 11 wherein determining the persistent identifier data comprises:

determining that a difference between a first time an identifier is received with a beacon message and a second time the identifier is received with the beacon message is greater than the threshold amount of time; and

in response to determining that the difference is greater than the threshold, identifying the cookie as the persistent identifier.

13. The method of claim 12 wherein the reporting period is a month and the threshold amount of time is a threshold number of days.

14. The method of claim 11 wherein the reporting period is divided into subunits and the threshold amount of time is a threshold fraction of the subunits in the reporting period, and

determining the persistent identifier data comprises:

determining that a fraction of the subunits in the reporting period in which an identifier is received with a beacon message exceeds the threshold fraction of the subunits in the reporting period; and

in response to determining that the fractions exceeds the threshold fraction of the subunits in the reporting period, identifying the identifier as the persistent identifier.

15. The method of claim 11 wherein determining the weighted count data comprises:

for a given persistent identifier:

determining a total time present in the reporting period, wherein the total time present is a time in the reporting period that the given persistent identifier was received with a beacon message;

determining a total time not present in the reporting period, wherein the total time not present is a time in the reporting period that the given persistent identifier was not received with a beacon message;

determining a total number of times the given persistent identifier was received during the reporting period with a beacon message; and

determining an estimated count of the beacon messages that would have been received with the given persistent identifier from a client device associated with the persistent identifier if the persistent identifier persisted on the client device during an entirety of the reporting period, based on the total time present, the total time not present, and the total number of times the given persistent identifier was received during the reporting period with a beacon message.

16. The method of claim 11 wherein determining the weighted count data comprises:

for a given persistent identifier:

determining an active persistency value, wherein the active persistency value is a percentage of the reporting period in which a beacon message with the given persistent identifier was received;

determining an active subunit value, wherein the active subunit value is a count of subunits of the reporting period during which a beacon message with the given persistent identifier was received;

determining a total time not present in the reporting period, wherein the total time not present is a time in the reporting period that the given persistent identifier was not received with a beacon message;

determining a total number of times the given persistent identifier was received during the reporting period with a beacon message; and

determining an estimated count of the beacon messages that would have been received with the given persistent identifier from a client device associated with the persistent identifier if the persistent cookie persisted on the client device during an entirety of the reporting period, based on the activity persistence value, the active subunit value, the total time not present, and the total number of times the given persistent identifier was received during the reporting period with a beacon message.

17. The method of claim 11 wherein determining the count per device value comprises determining the count per device value based on the estimated counts of the beacon messages and a total number of persistent identifiers in the multiple persistent identifiers.

18. The method of claim 11 comprising subdividing the persistent identifier data into one or more groupings, wherein each grouping corresponds to a category of client system, wherein:

determining the weighted count data comprises determining weighted count data for each of the groupings;

determining the count per device value comprises determining a count per device value for each grouping based on the weighted count data for the grouping; and

determining the count of unique devices comprises determining a count of unique devices that have accessed the set of resources for each grouping based on the count per device value for the grouping and the total count of the beacon messages received from the group of client systems.

19. The method of claim 18 wherein determining the count of unique devices that have accessed the set of resources for each grouping based on the count per device value for the grouping and the total count of the beacon messages received from the group of client systems comprises:

subdividing the total count of the beacon messages received from the group of client systems into the groupings; and

determining the count of unique devices that have accessed the set of resources for each grouping based on the count per device value for the grouping and the total count of the beacon messages received for the grouping.

20. The method of claim 18 wherein the groupings are based on type of client system, operating system of the client system, or provider of connectivity of the client system.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jun 2, 2026
From: BLUE TORCH FINANCE LLC
To: COMSCORE, INC.; PROXIMIC, LLC; RENTRAK, LLC (F/N/A RENTRAK CORPORATION)
Reel/Frame 075679/0830 →
RELEASE OF SECURITY INTEREST Recorded Jan 16, 2025
From: BANK OF AMERICA, N.A.
To: COMSCORE, INC.
Reel/Frame 069934/0573 →
SECURITY INTEREST Recorded Jan 3, 2025
From: COMSCORE, INC.; PROXIMIC, LLC; RENTRAK, LLC
To: BLUE TORCH FINANCE LLC
Reel/Frame 069818/0446 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING ASSIGNMENT PAGE 1 AND 22 OMITTED PATENTS PREVIOUSLY RECORDED AT REEL: 056547 FRAME: 0526. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jun 6, 2022
From: STARBOARD VALUE AND OPPORTUNITY MASTER FUND LTD.
To: COMSCORE, INC.; RENTRAK CORPORATION; PROXIMIC, LLC
Reel/Frame 060922/0001 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded May 6, 2021
From: COMSCORE, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 057279/0767 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Mar 25, 2021
From: STARBOARD VALUE AND OPPORTUNITY MASTER FUND LTD.
To: COMSCORE, INC.; RENTRAK CORPORATION; PROXIMIC, LLC
Reel/Frame 056547/0526 →
ASSIGNMENT FOR SECURITY - PATENTS Recorded Jan 16, 2018
From: COMSCORE, INC.; RENTRAK CORPORATION; PROXIMIC, LLC
To: STARBOARD VALUE AND OPPORTUNITY MASTER FUND LTD.
Reel/Frame 045077/0303 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2016
From: MISHKIN, GREGORY EVAN; BHAGHAVATULA, KARTIK
To: COMSCORE, INC.
Reel/Frame 037785/0949 →