IP Library Patent Application 15184246
Patent Application
App. No. 15/184,246

IDENTIFYING TARGET AUDIENCE FOR CONTENT DISTRIBUTION BASED ON HISTORICAL USER ACTIVITY

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 None
App. No.
15/184,246
Abstract

An online system identifies target audience for distributing content items based on historical activity of users. The online system receives information describing events representing actions of users performed on the online system or on an external system and stores the information as action logs. The online system receives targeting criteria specified as expressions, for example, expressions specifying aggregate values determined over a plurality of actions of a user. The online system retrieves events from the action logs and determines partial results based on expressions representing the targeting criteria. If the partial results for a user indicate that the user satisfies the targeting criteria, the online system selects the user for targeting the corresponding content item. The online system may process events in batches.

Claims (69)

1 . A computer-implemented method comprising:

receiving, from a content provider system, one or more content items and one or more targeting criteria for determining target audience for each of the one or more content items;

storing, by an online system, action logs describing user actions, each action log storing a user identifier (ID) and information describing an event;

storing, by the online system, a mapping table mapping user IDs to partial results, each partial result determined based on the one or more targeting criteria associated with a content item;

processing, by the online system, a plurality of batches of events, the processing of each batch comprising:

reading the batch of events from the action logs; and

for each event in the batch of events:

identifying a user ID for a user that performed the event;

determining if the event is associated with the one or more targeting criteria associated with a content item;

accessing a partial result value from the mapping table for the user ID;

determining an aggregation value based on the event and the partial result value associated with the user ID;

updating the partial result value associated with the user ID in the mapping table based on the aggregation value;

determining, from the aggregation value associated with the user ID, if the user satisfies the one or more targeting criteria associated with a content item received from the content provider system; and

sending, to a client device of the user, information describing the content item, if the user is determined to satisfy the one or more targeting criteria.

2 . The computer-implemented method of claim 1 , further comprising:

identifying sets of content items;

responsive to presenting a user with a content item, associating the user with a set associated with the content item; and

withholding content items of the set of content items from the user for at least a threshold time interval after presenting the content item.

3 . The computer-implemented method of claim 1 , further comprising:

determining a size of a batch based on a size of memory of a processor executing the computer-implemented method.

4 . The computer-implemented method of claim 1 , wherein the aggregation value is determined using a count, a maximum, a minimum, a sum, a weighted average, or a combination of expressions.

5 . The computer-implemented method of claim 1 , wherein an event comprises one of: viewing a particular content item, performing searches, or performing actions related to certain products.

6 . The computer-implemented method of claim 1 , wherein the plurality of batches of events represent the most recent events stored in the action logs.

7 . The computer-implemented method of claim 1 , wherein the plurality of batches of events represent all the events stored in the action logs.

8 . The computer-implemented method of claim 1 , wherein processing the batch of events further comprises, for each event in the batch of events:

creating a new entry in a mapping table if the event is performed by a user ID not existing in the mapping table.

9 . The computer-implemented method of claim 1 , wherein an action log represents an action performed by the user on an external system via a client device, wherein the online system receives information describing the action from the client device as a result of a pixel displayed on the client device by the external system.

10 . A computer-implemented method comprising:

receiving, from a content provider system, one or more content items and one or more targeting criteria for determining target audience for each of the one or more content items;

storing, by an online system, action logs describing user actions, each action log storing a user identifier (ID) and information describing an event;

storing, by the online system, a mapping table mapping user IDs to partial results, each partial result determined based on the one or more targeting criteria associated with a content item;

processing, by the online system, events stored in the action logs, the processing of each event comprising:

identifying a user ID for a user that performed the event;

determining if the event is associated with the one or more targeting criteria associated with a content item;

accessing a partial result value associated with the one or more targeting criteria from the mapping table for the user ID;

determining an aggregation value based on the event and the partial result value accessed;

updating the partial result value associated with the user ID in the mapping table;

determining, from the aggregation value associated with the user ID, if the user satisfies the one or more targeting criteria associated with a content item received from the content provider system; and

sending, to a client device of the user, information describing the content item, if the user is determined to satisfy the one or more targeting criteria.

11 . The computer-implemented method of claim 10 , further comprising:

identifying sets of content items;

responsive to presenting a user with a content item, associating the user with a set associated with the content item; and

withholding content items of the set of content items from the user for at least a threshold time interval after presenting the content item.

12 . The computer-implemented method of claim 10 , further comprising:

determining a size of a batch based on a size of memory of a processor executing the computer-implemented method.

13 . The computer-implemented method of claim 10 , wherein the aggregation value is determined using a count, a maximum, a minimum, a sum, a weighted average, or a combination of expressions.

14 . The computer-implemented method of claim 10 , wherein an event comprises one of: viewing a particular content item, performing searches, or performing actions related to certain products.

15 . The computer-implemented method of claim 10 , wherein the plurality of batches of events represent the most recent events stored in the action logs.

16 . The computer-implemented method of claim 10 , wherein the plurality of batches of events represent all the events stored in the action logs.

17 . The computer-implemented method of claim 10 , wherein processing the batch of events further comprises, for each event in the batch of events:

creating a new entry in a mapping table if the event is performed by a user ID not existing in the mapping table.

18 . The computer-implemented method of claim 10 , wherein an action log represents an action performed by the user on an external system via a client device, wherein the online system receives information describing the action from the client device as a result of a pixel displayed on the client device by the external system.

19 . A non-transitory computer storage medium storing instructions for:

receiving, from a content provider system, one or more content items and one or more targeting criteria for determining target audience for each of the one or more content items;

storing, by an online system, action logs describing user actions, each action log storing a user identifier (ID) and information describing an event

storing, by the online system, a mapping table mapping user IDs to partial results, each partial result determined based on the one or more targeting criteria associated with a content item;

processing, by the online system, a plurality of batches of events, the processing of each batch comprising:

reading the batch of events from the action logs; and

for each event in the batch of events:

identifying a user ID for a user that performed the event;

accessing a partial result value from the mapping table for the user ID;

determining an aggregation value based on the event and the partial result value associated with the user ID;

updating the partial result value associated with the user ID in the mapping table;

determining, from the aggregation value associated with the user ID, if the user satisfies the one or more targeting criteria associated with a content item received from the content provider system; and

sending, to a client device of the user, information describing the content item, if the user is determined to satisfy the one or more targeting criteria.

20 . The non-transitory computer storage medium of claim 1 , further storing instructions for:

identifying sets of content items;

responsive to presenting a user with a content item, associating the user with a set associated with the content item; and

withholding content items of the set of content items from the user for at least a threshold time interval after presenting the content item.

Assignments (2)
CHANGE OF NAME Recorded Mar 30, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 060251/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2017
From: WU, YUGUANG; HUANG, YI
To: FACEBOOK, INC.
Reel/Frame 041157/0142 →