IP Library Granted Patent US 10,324,960
Granted Patent B1
US 10,324,960 · App. 14/858,825 · Granted Jun 18, 2019

Determining a number of unique viewers of a content item

Inventors: Evgeny Skvortsov (Kitchener, CA); Lukas Rutishauser (Kirkland, WA); Cuizhu Shi (Bellevue, WA)
Assignee: Google LLC
G06F16/287G06F16/955G06F16/954
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,324,960
App. No.
14/858,825
Granted
Jun 18, 2019
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for determining a number of unique viewers of a content item. In one aspect, a method includes receiving an identifier specifying characteristics of a user associated with a device that was used to present a given content item. A user category is identified for the received identifier based on the characteristics. Each user category of a set of user categories include a respective number of pseudo-users. The received identifier is assigned to a given pseudo-user in the identified user category based on a non-linear distribution of identifiers per actual user in the identified user category. A number of unique users, including the given pseudo-user, that have viewed the given content item is determined based on a total number of pseudo-users that have been assigned an identifier corresponding to presentation of the given content item.

Claims (46)

1. A method performed by data processing apparatus, the method comprising:

receiving an identifier specifying characteristics of a user associated with a device that was used to present a given content item;

identifying, from a set of user categories, a user category for the received identifier based on the characteristics, each user category of the set of user categories including a respective number of pseudo-users;

assigning the received identifier to a given pseudo-user in the identified user category based on a non-linear distribution of identifiers per actual user in the identified user category;

determining a number of unique users, including the given pseudo-user, that have viewed the given content item based on a total number of pseudo-users that have been assigned an identifier corresponding to presentation of the given content item; and

generating and providing data that causes a device to present the number of unique viewers.

2. The method of claim 1 , wherein assigning the received identifier to the given pseudo-user comprises:

selecting a first number from a range of numbers;

determining a pseudo-user identifier based on a function of the first number, a product logarithmic function that uses the first number, and a number of actual users in the identified user category; and

selecting the given pseudo-user based on the pseudo-user identifier.

3. The method of claim 2 , wherein the first number is selected randomly from a uniform distribution of numbers in the range of numbers.

4. The method of claim 1 , wherein assigning the received identifier to the given pseudo-user comprises assigning the received identifier to the given pseudo-user based on a respective probability for each pseudo-user of the identified user category, the probability of each pseudo-user being determined based on the distribution of identifiers for actual users in the identifier user category.

5. The method of claim 4 , wherein the probability for a first pseudo-user of the identified user category is different from the probability for a second pseudo-user of the identified user category.

6. The method of claim 1 , wherein each user category includes a number of pseudo-users based on a number of actual users in a population of users that match user criteria for the user category.

7. The method of claim 1 , wherein the received identifier comprises a cookie.

8. A system, comprising:

a data processing apparatus; and

a memory apparatus in data communication with the data processing apparatus and storing instructions executable by the data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:

receiving an identifier specifying characteristics of a user associated with a device that was used to present a given content item;

identifying, from a set of user categories, a user category for the received identifier based on the characteristics, each user category of the set of user categories including a respective number of pseudo-users;

assigning the received identifier to a given pseudo-user in the identified user category based on a non-linear distribution of identifiers per actual user in the identified user category;

determining a number of unique users, including the given pseudo-user, that have viewed the given content item based on a total number of pseudo-users that have been assigned an identifier corresponding to presentation of the given content item; and

generating and providing data that causes a device to present the number of unique viewers.

9. The system of claim 8 , wherein assigning the received identifier to the given pseudo-user comprises:

selecting a first number from a range of numbers;

determining a pseudo-user identifier based on a function of the first number, a product logarithmic function that uses the first number, and a number of actual users in the identified user category; and

selecting the given pseudo-user based on the pseudo-user identifier.

10. The system of claim 9 , wherein the first number is selected randomly from a uniform distribution of numbers in the range of numbers.

11. The system of claim 8 , wherein assigning the received identifier to the given pseudo-user comprises assigning the received identifier to the given pseudo-user based on a respective probability for each pseudo-user of the identified user category, the probability of each pseudo-user being determined based on the distribution of identifiers for actual users in the identifier user category.

12. The system of claim 11 , wherein the probability for a first pseudo-user of the identified user category is different from the probability for a second pseudo-user of the identified user category.

13. The system of claim 8 , wherein each user category includes a number of pseudo-users based on a number of actual users in a population of users that match user criteria for the user category.

14. The system of claim 8 , wherein the received identifier comprises a cookie.

15. A non-transitory computer-readable storage medium having machine instructions stored therein that when executed by one or more processors cause the one or more processors to perform operations comprising:

receiving an identifier specifying characteristics of a user associated with a device that was used to present a given content item;

identifying, from a set of user categories, a user category for the received identifier based on the characteristics, each user category of the set of user categories including a respective number of pseudo-users;

assigning the received identifier to a given pseudo-user in the identified user category based on a non-linear distribution of identifiers per actual user in the identified user category;

determining a number of unique users, including the given pseudo-user, that have viewed the given content item based on a total number of pseudo-users that have been assigned an identifier corresponding to presentation of the given content item; and

generating and providing data that causes a device to present the number of unique viewers.

16. The non-transitory computer-readable storage medium of claim 15 , wherein assigning the received identifier to the given pseudo-user comprises:

selecting a first number from a range of numbers;

determining a pseudo-user identifier based on a function of the first number, a product logarithmic function that uses the first number, and a number of actual users in the identified user category; and

selecting the given pseudo-user based on the pseudo-user identifier.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the first number is selected randomly from a uniform distribution of numbers in the range of numbers.

18. The non-transitory computer-readable storage medium of claim 15 , wherein assigning the received identifier to the given pseudo-user comprises assigning the received identifier to the given pseudo-user based on a respective probability for each pseudo-user of the identified user category, the probability of each pseudo-user being determined based on the distribution of identifiers for actual users in the identifier user category.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the probability for a first pseudo-user of the identified user category is different from the probability for a second pseudo-user of the identified user category.

20. The non-transitory computer-readable storage medium of claim 15 , wherein each user category includes a number of pseudo-users based on a number of actual users in a population of users that match user criteria for the user category.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2015
From: SKVORTSOV, EVGENY; RUTISHAUSER, LUKAS; SHI, CUIZHU
To: GOOGLE INC.
Reel/Frame 036773/0575 →
Continuity (1)
Provisional Application 62052932 · Sep 19, 2014
Cited By (20)
US 12,190,330 US 12,204,564 US 12,216,794 US 12,259,882 US 12,265,896 US 12,277,232 US 12,277,577 US 12,288,233 US 12,299,065 US 12,353,405 US 12,381,915 US 12,412,140 US 12,536,329 US 12,563,113 US 12,591,828 US 12,609,938 US 12,641,108 US 12,688,324 US 12,694,044 US 12,718,167