IP Library Granted Patent US 10,621,256
Granted Patent B2
US 10,621,256 · App. 15/721,671 · Granted Apr 14, 2020

Determining a rate for sampling information describing presentation of content based on previously received information describing presentation of content

Inventors: Honglu He (Santa Clara, CA); Li Tan (Fremont, CA); David Harry Garcia (Campbell, CA)
Assignee: Facebook, Inc.
G06F16/9535G06F16/9536G06Q30/0282G06Q50/01H04L67/22H04L67/306
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,621,256
App. No.
15/721,671
Granted
Apr 14, 2020
Kind
B2
Abstract

An online system logs information describing presentation of content items, such as actions performed with presented content items or descriptions of presentation of content items, and uses the logged information to recommend other content items. Because of a large amount of information describing content item presentation, the online system samples the information and stores the resulting samples. To improve accuracy of the sampling, the online system adapts the sampling rate for different types of information describing presentation of content items based on amounts of the different types of information received during a specific time interval.

Claims (62)

1. A method comprising:

transmitting descriptions of recommended actions selected by an online system to client devices associated with users of the online system, each recommended action for presentation via one or more channels;

receiving information, at the online system, from one or more client devices identifying a description of a recommended action, a channel used to present the recommended action, and an action with the recommended action;

retrieving information stored by the online system identifying a number of times a content item was presented by each of one or more channels during a specific time interval;

determining a sampling rate for each of the one or more channels based on the number of times the content item was presented by each of one or more channels during the specific time interval by:

retrieving stored associations between numbers of times the description of the recommended action was presented by the channel and sampling rates; and

selecting a sampling rate associated with a number of times the description of the recommended action was presented by the channel matching the number of times the description of the recommended action was presented by each of one or more channels during the specific time interval;

sampling the received information describing presentation of the description of the recommended action by each of one or more channels, information describing presentation of the description of the recommended action by the channel sampled at the sampling rate determined for the channel; and

storing the sampled information describing presentation of the description of the recommended action by each of the one or more channels at the online system.

2. The method of claim 1 , wherein the sampling rate determined for the channel is directly related to the number of times the description of the recommended action was presented by the channel during the specific time interval.

3. The method of claim 1 , wherein the sampling rate determined for the channel is directly proportional to the number of times the description of the recommended action was presented by the channel during the specific time interval.

4. The method of claim 1 , wherein determining the sampling rate for each of the one or more channels based on the number of times the description of the recommended action was presented by each of one or more channels during the specific time interval comprises:

retrieving stored associations between ranges of numbers of times the description of the recommended action was presented by the channel and sampling rates; and

selecting a sampling rate associated with range of numbers of times the description of the recommended action was presented by the channel including the number of times the description of the recommended action was presented by each of one or more channels during the specific time interval.

5. The method of claim 1 , further comprising:

retrieving information stored by the online system identifying a number of occurrences of each of one or more actions with the description of the recommended action during the specific time interval;

determining an additional sampling rate for each of the one or more actions based on the number of occurrences of each of one or more actions with the description of the recommended action during the specific time interval;

sampling the received information describing occurrences of each of the one or more actions with the description of the recommended action, information describing occurrences of the action with the description of the recommended action sampled at the additional sampling rate determined for the action; and

storing the sampled information describing occurrences of each of the one or more actions with the description of the recommended action at the online system.

6. The method of claim 5 , wherein determining the additional sampling rate for each of the one or more actions based on the number of occurrences of each of one or more actions with the description of the recommended action during the specific time interval comprises:

retrieving stored associations between numbers of occurrences of a specific action with the description of the recommended action and additional sampling rates; and

selecting an additional sampling rate associated with a number of occurrences of the specific action with the description of the recommended action matching the number of occurrences of the specific action during the specific time interval.

7. The method of claim 5 , wherein determining the sampling rate for each of the one or more channels based on the number of times the description of the recommended action was presented by each of one or more channels during the specific time interval comprises:

retrieving stored associations between ranges of occurrences of a specific action with the description of the recommended action and additional sampling rates; and

selecting an additional sampling rate associated with range of occurrences of a specific action with the description of the recommended action and additional sampling rates including the number of occurrences of the specific action with the description of the recommended action and additional sampling rates during the specific time interval.

8. The method of claim 5 , wherein retrieving information stored by the online system identifying the number of occurrences of each of one or more actions with the description of the recommended action during the specific time interval comprises:

maintaining a counter for each of the one or more actions, the counter maintained for an action identifying the number of occurrences of the action during the specific time interval based on information received by the online system from client devices; and

retrieving the counters maintained for each of the one or more actions.

9. The method of claim 1 , wherein retrieving information stored by the online system identifying the number of times the content item was presented by each of one or more channels during a specific time interval comprises:

maintaining a counter for each of the one or more channels, the counter maintained for the channel action identifying the number of times the description of the recommended action was presented by the channel during the specific time interval based on information received by the online system from client devices; and

retrieving the counters maintained for the one or more channels.

10. A computer program product comprising a computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:

transmit descriptions of recommended actions selected by an online system to client devices associated with users of the online system, each recommended action for presentation via one or more channels;

receive information, at the online system, from one or more client devices identifying a description of a recommended action, a channel used to present the recommended action, and an action with the recommended action;

retrieve information stored by the online system identifying a number of times a content item was presented by each of one or more channels during a specific time interval;

determine a sampling rate for each of the one or more channels based on the number of times the content item was presented by each of one or more channels during the specific time interval by:

retrieving stored associations between numbers of times the description of the recommended action was presented by the channel and sampling rates; and

selecting a sampling rate associated with a number of times the description of the recommended action was presented by the channel matching the number of times the description of the recommended action was presented by each of one or more channels during the specific time interval;

sample the received information describing presentation of the description of the recommended action by each of one or more channels, information describing presentation of the description of the recommended action by the channel sampled at the sampling rate determined for the channel; and

store the sampled information describing presentation of the description of the recommended action by each of the one or more channels at the online system.

11. The computer program product of claim 10 , wherein the sampling rate determined for the channel is directly related to the number of times the description of the recommended action was presented by the channel during the specific time interval.

12. The computer program product of claim 10 , wherein the sampling rate determined for the channel is directly proportional to the number of times the description of the recommended action was presented by the channel during the specific time interval.

13. The computer program product of claim 10 , wherein determine the sampling rate for each of the one or more channels based on the number of times the description of the recommended action was presented by each of one or more channels during the specific time interval comprises:

retrieve stored associations between ranges of numbers of times the description of the recommended action was presented by the channel and sampling rates; and

select a sampling rate associated with range of numbers of times the description of the recommended action was presented by the channel including the number of times the description of the recommended action was presented by each of one or more channels during the specific time interval.

14. The computer program product of claim 10 , wherein the computer readable storage medium further has instructions encoded thereon that, when executed by the processor, cause the processor to:

retrieve information stored by the online system identifying a number of occurrences of each of one or more actions with the description of the recommended action during the specific time interval;

determine an additional sampling rate for each of the one or more actions based on the number of occurrences of each of one or more actions with the description of the recommended action during the specific time interval;

sample the received information describing occurrences of each of the one or more actions with the description of the recommended action, information describing occurrences of the action with the description of the recommended action sampled at the additional sampling rate determined for the action; and

store the sampled information describing occurrences of each of the one or more actions with the description of the recommended action at the online system.

15. The computer program product of claim 14 , wherein determine the additional sampling rate for each of the one or more actions based on the number of occurrences of each of one or more actions with the description of the recommended action during the specific time interval comprises:

retrieve stored associations between numbers of occurrences of a specific action with the description of the recommended action and additional sampling rates; and

select an additional sampling rate associated with a number of occurrences of the specific action with the description of the recommended action matching the number of occurrences of the specific action during the specific time interval.

16. The computer program product of claim 14 , wherein determine the sampling rate for each of the one or more channels based on the number of times the description of the recommended action was presented by each of one or more channels during the specific time interval comprises:

retrieve stored associations between ranges of occurrences of a specific action with the description of the recommended action and additional sampling rates; and

select an additional sampling rate associated with range of occurrences of a specific action with the description of the recommended action and additional sampling rates including the number of occurrences of the specific action with the description of the recommended action and additional sampling rates during the specific time interval.

17. The computer program product of claim 14 , wherein retrieve information stored by the online system identifying the number of occurrences of each of one or more actions with the description of the recommended action during the specific time interval comprises:

maintain a counter for each of the one or more actions, the counter maintained for an action identifying the number of occurrences of the action during the specific time interval based on information received by the online system from client devices; and

retrieve the counters maintained for each of the one or more actions.

18. The computer program product of claim 10 , wherein retrieve information stored by the online system identifying the number of times the content item was presented by each of one or more channels during a specific time interval comprises:

maintain a counter for each of the one or more channels, the counter maintained for the channel action identifying the number of times the description of the recommended action was presented by the channel during the specific time interval based on information received by the online system from client devices; and

retrieve the counters maintained for the one or more channels.

Assignments (2)
CHANGE OF NAME Recorded Nov 18, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058897/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2017
From: HE, HONGLU; TAN, LI; GARCIA, DAVID HARRY
To: FACEBOOK, INC.
Reel/Frame 044375/0532 →