IP Library Granted Patent US 10,217,129
Granted Patent B2
US 10,217,129 · App. 13/705,056 · Granted Feb 26, 2019

Ad placement

Inventors: John B. Ferber (Baltimore, MD); Scott Ferber (Baltimore, MD); Stein E. Kretsinger (Baltimore, MD); Robert Luenberger (Palo Alto, CA); David Luenberger (Stanford, CA)
Assignee: FACEBOOK, INC.
G06Q30/0246G06Q30/02G06Q30/0241G06Q30/0244G06Q30/0251G06Q30/0254G06Q30/0269G06Q30/0277
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,217,129
App. No.
13/705,056
Granted
Feb 26, 2019
Kind
B2
Abstract

This invention concerns optimal ad selection for Web pages by selecting and updating an attribute set, obtaining and updating an ad-attribute profile, and optimally choosing the next ad. The present invention associates a set of attributes with each customer. The attributes reflect the customers' interests and they incorporate the characteristics that impact ad selection. Similarly, the present invention associates with each ad an ad-attribute profile in order to calculate a customer's estimated ad selection probability and measure the uncertainty in that estimate. An ad selection algorithm optimally selects which ad to show based on the click probability estimates and the uncertainties regarding these estimates.

Claims (127)

1. A method comprising:

receiving, by at least one server, one or more advertisements associated with a campaign, the campaign having an associated number of impressions or clicks;

determining, by the at least one server, a first probability that the one or more advertisements will be selected by a plurality of users sharing a demographic when the one or more advertisements are served to client devices associated with the plurality of users via a first network-based media type;

determining, by the at least one server, a second probability that the one or more advertisements will be selected by the plurality of users sharing the demographic when the one or more advertisements are served to the client devices associated with the plurality of users via a second network-based media type, wherein the first network-based media type and the second network-based media type comprise a diverse set of network-based media types;

allocating, by at least one server, a number of impressions or clicks of the associated number of impressions or clicks of the one or more advertisements for serving to client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type as a function of the first probability and the second probability as follows:

Max Σ i,j p ij ζ ij V i , wherein:

Σ j ζ ij ≤1 for all i;

Σ i p ij ζ ij V i ≤(1+δ)G j for all j, where δ controls the smoothness of the campaign;

ζ ij ≥0 for all i and j, and wherein:

V i is the expected impressions per period of media type i;

p ij is the probability of a click on media type i for campaign j;

G j is the total target number of clicks for campaign j for the period;

ζ ij is the percent of all impressions from media type i allocated to campaign j; and

wherein allocating the number of impressions or clicks optimizes placement of the one or more advertisements across the diverse set of network-based media types based on the first probability and the second probability; and

serving, by at least one server and over a network, the one or more advertisements to the client devices associated with the plurality of users via both the first network-based media type and the second network-based media type according to the allocated number of impressions or clicks for each of the first network-based media type and the second network-based media type.

2. The method as recited in claim 1 , further comprising allocating a minimum number of impressions or clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type.

3. The method as recited in claim 2 , further comprising allocating a maximum pre-set tolerance number of impressions or clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type.

4. The method as recited in claim 1 , further comprising allocating the number of impressions or clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type as a function of an expected number of impressions or clicks during a period of time for each of the first network-based media type and the second network-based media type.

5. The method as recited in claim 4 , further comprising allocating the number of impressions clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type as a function of a target number of impressions or clicks for the campaign.

6. The method as recited in claim 5 , further comprising allocating the number of impressions or clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type as a function of a percent of all impressions or clicks from each of the first network-based media type and the second network-based media type to be allocated to the campaign.

7. The method as recited in claim 1 , wherein the first probability and the second probability are each a function of observed click-thru-rates; and

the method further comprising adjusting the first probability for an advertisement based on an uncertainty level of the observed click-thru-rates, wherein the uncertainty level is inversely proportional to a number of times the advertisement has been previously served.

8. The method as recited in claim 1 , further comprising:

determining a third probability that the one or more advertisements will be selected when served via a third network-based media type;

allocating another number of impressions or clicks of the associated number of impressions or clicks to serve to the client devices associated with the plurality of users via the third network-based media type as a function of the third probability; and

serving the one or more advertisements to the client devices associated with the plurality of users via the third network-based media type according to the another allocated number of impressions or clicks.

9. The method as recited in claim 1 , wherein:

the first network-based media type comprises websites; and

the second network-based media type comprises mobile devices.

10. A non-transitory computer-readable storage medium including a set of instructions that, when executed, cause at least one processor to perform steps comprising:

receiving one or more advertisements associated with a campaign, the campaign having an associated number of impressions or clicks;

determining a first probability that the one or more advertisements will be selected by a plurality of users sharing a demographic when the one or more advertisements are served to client devices associated with the plurality of users via a first network-based media type;

determining a second probability that the one or more advertisements will be selected by the plurality of users sharing the demographic when the one or more advertisements are served to the client devices associated with the plurality of users via a second network-based media type, wherein the first network-based media type and the second network-based media comprise a diverse set of network-based media types;

allocating a number of impressions or clicks of the associated number of impressions or clicks of the one or more advertisements for serving to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type as a function of the first probability and the second probability as follows:

Max Σ i,j p ij ζ ij V i , wherein:

Σ j ζ ij ≤1 for all i;

Σ i p ij ζ ij V i ≤(1+δ)G j for all j, where δ controls the smoothness of the campaign;

ζ ij ≥0 for all i and j, and wherein:

V i is the expected impressions per period of media type i;

p ij is the probability of a click on media type i for campaign j;

G j is the total target number of clicks for campaign j for the period;

ζ ij is the percent of all impressions from media type i allocated to campaign j; and

wherein allocating the number of impressions or clicks optimizes placement of the one or more advertisements across the diverse set of network-based media types based on the first probability and the second probability; and

serving the one or more advertisements to the client devices associated with the plurality of users via both the first network-based media type and the second network-based media type according to the allocated number of impressions or clicks for each of the first network-based media type and the second network-based media type.

11. The computer-readable storage medium as recited in claim 10 , further comprising instructions that, when executed, cause at least one processor to allocate a minimum number of impressions or clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type.

12. The computer-readable storage medium as recited in claim 11 , further comprising instructions that, when executed, cause at least one processor to allocate a maximum pre-set tolerance number of impressions or clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type.

13. The computer-readable storage medium as recited in claim 10 , further comprising instructions that, when executed, cause at least one processor to allocate the number of impressions or clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type as a function of an expected number of impressions or clicks during a period of time for each of the first network-based media type and the second network-based media type.

14. The computer-readable storage medium as recited in claim 13 , further comprising instructions that, when executed, cause at least one processor to allocate the number of impressions or clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type as a function of a percent of all impressions or clicks from each of the first network-based media type and the second network-based media type to be allocated to the campaign.

15. The computer-readable storage medium as recited in claim 14 , further comprising instructions that, when executed, cause at least one processor to allocate the number of impressions or clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type as a function of an expected number of impressions or clicks during a period of time for each of the first network-based media type and the second network-based media type.

16. The computer-readable storage medium as recited in claim 10 , wherein the first probability and the second probability are each a function of observed click-thru-rates; and

further comprising instructions that, when executed, cause at least one processor to adjust the first probability for an advertisement based on an uncertainty level of the observed click-thru-rates, wherein the uncertainty level is inversely proportional to a number of times the advertisement has been previously served.

17. The computer-readable storage medium as recited in claim 10 , further comprising instructions that, when executed, cause at least one processor to:

determine a third probability that the one or more advertisements will be selected when served via a third network-based media type; and

allocate a number of impressions or clicks of the associated number of impressions or clicks to serve to the client devices associated with the plurality of users via the third network-based media type as a function of the third probability.

18. The computer-readable storage medium as recited in claim 10 , wherein:

the first network-based media type comprises websites; and

the second network-based media type comprises mobile devices.

19. A method comprising:

receiving, by at least one server, one or more advertisements associated with a campaign, the campaign having an associated number of impressions or clicks and an associated minimum number of impressions or clicks for serving the one or more advertisements associated with the campaign to serve to client devices associated with a plurality of users via one of a first network-based media type or a second network-based media type of a plurality of diverse network-based marketing media types;

determining, by at least one server, a first expected number of impressions or clicks by the plurality of users for a first time period for the one or more advertisements associated with the campaign served via the first network-based media type;

determining, by at least one server, a second expected number of impressions or clicks by the plurality of users for the first time period for the one or more advertisements associated with the campaign served via the second network-based media type;

allocating, by the at least one server, a number of impressions or clicks of the associated number of impressions or clicks of the one or more advertisements for serving to the client devices associated with the plurality of users during the first time period via each of the first network-based media type and the second network-based media type as a function of the first expected number of impressions or clicks for the first network-based media type, the second expected number of impressions or clicks for the second network-based media type, and the minimum number of impressions or clicks as follows:

Max Σ i,j p ij ζ ij V i , wherein:

Σ j ζ ij ≤1 for all i;

Σ i p ij ζ ij V i ≤(1+δ)G j for all j, where δ controls the smoothness of the campaign;

ζ ij ≥0 for all i and j, and wherein:

V i is the expected impressions per period of media type i;

p ij is the probability of a click on media type i for campaign j;

G j is the total target number of clicks for campaign j for the period;

ζ ij is the percent of all impressions from media type i allocated to campaign j; and

wherein allocating the number of impressions or clicks optimizes placement of the one or more advertisements across the diverse set of network-based media types based on the first probability and the second probability; and

serving, by at least one server, the one or more advertisements to the client devices associated with the plurality of users via both the first network-based media type and the second network-based media type according to the allocated number of impressions or clicks for each of the first network-based media type and the second network-based media type.

20. The method as recited in claim 19 , wherein the plurality of diverse network-based marketing media types includes one or more of websites, mobile devices, computer software, email, smart devices, and interactive television.

21. The method as recited in claim 20 , further comprising determining a first probability that the one or more advertisements will be selected when served via the first network-based media type;

determining a second probability that the one or more advertisements will be selected wherein served via the second network-based media type; and

wherein the allocating the number of impressions or clicks of the associated number of impressions or clicks for serving to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type is further a function of the first probability and the second probability.

22. The method as recited in claim 21 , further comprising:

determining a third probability that the one or more advertisements will be selected when served via a third network-based media type; and

allocating another number of impressions or clicks of the associated number of impressions or clicks to serve to the client devices associated with the plurality of users via the third network-based media type as a function of the third probability; and

serving the one or more advertisements to the client devices associated with the plurality of users via the third network-based media type according to the another allocated number of impressions or clicks.

23. The method as recited in claim 22 , wherein the third network-based media type comprises the other of mobile devices and emails.

24. A non-transitory computer-readable storage medium including a set of instructions that, when executed, cause at least one processor to perform steps comprising:

receiving one or more advertisements associated with a campaign, the campaign having an associated number of impressions or clicks and an associated minimum number of impressions or clicks for serving the one or more advertisements associated with the campaign to serve to client devices associated with a plurality of users via one of a first network-based media type or a second network-based media type, wherein the first network-based media type and the second network-based media type comprise a diverse set of network-based media types;

determining a first expected number of impressions or clicks by the client devices associated with the plurality of users for a first time period for the one or more advertisements associated with the campaign served via the first network-based media type;

determining a second expected number of impressions or clicks by the client devices associated with the for the first time period for the one or more advertisements associated with the campaign served via the second network-based media type;

allocating a number of impressions or clicks of the associated number of impressions or clicks of the one or more advertisements for serving to the client devices associated with the plurality of users during the first time period via each of the first network-based media type and the second network-based media type as a function of the first expected number of impressions or clicks for the first network-based media type, the second expected number of impressions or clicks for the second network-based media type, and the minimum number of impressions or clicks as follows:

Max Σ i,j p ij ζ ij V i , wherein:

Σ j ζ ij ≤1 for all i;

Σ i p ij ζ ij V i ≤(1+δ)G j for all j, where δ controls the smoothness of the campaign;

ζ ij ≥0 for all i and j, and wherein:

V i is the expected impressions per period of media type i;

p ij is the probability of a click on media type i for campaign j;

G j is the total target number of clicks for campaign j for the period;

ζ ij is the percent of all impressions from media type i allocated to campaign j; and

wherein allocating the number of impressions or clicks optimizes placement of the one or more advertisements across the diverse set of network-based media types based on the first probability and the second probability; and

serving the one or more advertisements to the client devices associated with the plurality of users via both the first network-based media type and the second network-based media type according to the allocated number of impressions or clicks for each of the first network-based media type and the second network-based media type.

25. The computer-readable storage medium as recited in claim 24 , wherein the first network-based media type comprises websites and the second network-based media type comprises one of mobile devices or emails.

26. The computer-readable storage medium as recited in claim 25 , further comprising instructions that, when executed, cause at least one processor to:

determine a first probability that the one or more advertisements will be selected when served via the first network-based media type;

determine a second probability that the one or more advertisements will be selected wherein served via the second network-based media type; and

wherein the instructions, that, when executed, further cause at least one processor to allocate the number of impressions or clicks of the associated number of impressions or clicks to serve to the client devices associated with the plurality of users via each of the first network-based media type and the second network-based media type as a function of the first probability and the second probability.

27. The computer-readable storage medium as recited in claim 26 , further comprising instructions that, when executed, cause at least one processor to:

determine a third probability that the one or more advertisements will be selected when served via a third network-based media type; and

allocate another number of impressions or clicks of the associated number of impressions or clicks to serve to the client devices associated with the plurality of users via the third network-based media type as a function of the third probability; and

serve the one or more advertisements to the client devices associated with the plurality of users via the third network-based media type according to the another allocated number of impressions or clicks.

28. The computer-readable storage medium as recited in claim 27 , wherein the third network-based media type comprises the other of mobile devices and emails.

29. A method comprising:

determining, by at least one processor, a probability selection score that an advertisement will be selected by a plurality of users sharing a demographic when the advertisement is presented to client devices associated with the plurality of users on each of a plurality of diverse network-based marketing media types;

identifying a network-based marketing media type of the plurality of diverse network-based marketing media types having a high probability selection score;

allocating the plurality of diverse network-based marketing media types for the client devices associated with the based on:

Max Σ i,j p ij ζ ij V i , wherein:

Σ j ζ ij ≤1 for all i;

Σ i p ij ζ ij V i ≤(1+δ)G j for all j, where δ controls the smoothness of the campaign;

ζ ij ≥0 for all i and j, and wherein:

V i is the expected impressions per period of media type i;

p ij is the probability of a click on media type i for campaign j;

G j is the total target number of clicks for campaign j for the period;

ζ ij is the percent of all impressions from media type i allocated to campaign j; and

wherein allocating the number of impressions or clicks optimizes placement of the one or more advertisements across the diverse set of network-based media types based on the first probability and the second probability; and

serving the advertisement to the client devices associated with the plurality of users sharing the demographic via the identified network-based marketing media type according to the allocation of the plurality of diverse network-based marketing media types.

30. The method as recited in claim 29 , wherein identifying the network-based marking media type of the plurality of diverse network-based marketing media types having the high probability selection score comprises identifying the network-based marking media type of the plurality of diverse network-based marketing media types having a highest probability selection score.

31. The method as recited in claim 29 , wherein the probability selection score is a function of observed click-thru-rates by the client devices associated with the plurality of users sharing the demographic.

32. The method as recited in claim 29 , further comprising maintaining a user profile, the user profile including user attributes reflecting interests of the client devices associated with the plurality of users sharing the demographic.

33. The method as recited in claim 32 , further comprising updating the user attributes of the user profile based on actions of the client devices associated with the plurality of users sharing the demographic on one or more marketing media of the plurality of diverse network-based marketing media types.

34. The method as recited in claim 33 , further comprising maintaining an advertisement profile for the advertisement that reflects how much the advertisement correlates to a given user attribute.

35. The method as recited in claim 34 , wherein the probability of selection is a function of attributes of the plurality of users sharing the demographic and the advertisement profile.

36. The method as recited in claim 29 , wherein the plurality of diverse network-based marketing media types includes one or more of websites, mobile devices, computer software, email, smart devices, and interactive television.

Assignments (5)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
CHANGE OF NAME Recorded Feb 18, 2013
From: FERBER, JOHN B.; FERBER, SCOTT; KRETSINGER, STEIN E.; LUENBERGER, ROBERT; LUENBERGER, DAVID
To: ADVERTISING.COM, INC.
Reel/Frame 029825/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2013
From: AOL ADVERTISING INC.
To: FACEBOOK, INC.
Reel/Frame 029825/0484 →
CHANGE OF NAME Recorded Feb 18, 2013
From: ADVERTISING.COM, INC.
To: PLATFORM-A, INC.
Reel/Frame 029825/0737 →
CHANGE OF NAME Recorded Feb 18, 2013
From: PLATFORM-A INC.
To: AOL ADVERTISING INC.
Reel/Frame 029825/0754 →
Continuity (5)
Continuation 13693000 · Dec 3, 2012
Continuation 12700696 · Feb 4, 2010
Continuation 09610197 · Jul 1, 2000
Provisional Application 60164253 · Nov 8, 1999
Related Publication 20130097030A1 · Apr 18, 2013
Cited By (1)
US 12,244,674