IP Library Granted Patent US 10,068,247
Granted Patent B2
US 10,068,247 · App. 14/573,979 · Granted Sep 4, 2018

Pacing control for online ad campaigns

Inventors: Jian Xu (Beijing, CN); Kuang-chih Lee (Union city, CA); Wentong Li (Saratoga, CA); Hang Qi (San Jose, CA); Quan Lu (San Diego, CA)
Assignee: Excalibur IP, LLC
G06Q30/0244G06Q30/0272
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,068,247
App. No.
14/573,979
Granted
Sep 4, 2018
Kind
B2
Abstract

Described herein are techniques and systems for online ad campaign pacing. The techniques described herein use budget allocation along with the estimations of bids and response rates. With use of budget allocation, the techniques can use budget pacing to enhance impressions and maximize desired responses, such as desired click-through rates. These techniques focus on enhancing pacing and performance of ad campaigns, such as enhancing performance across distinct and/or unified online ad marketplaces. These techniques are especially useful in the context of a demand-side platform (DSP). In some examples, the techniques assume that impression supply is much larger than advertiser demand for impressions of their ads, so such techniques focus on selecting high performing inventory of ad space. Yet, with such a focus, a smooth or consistent delivery of ads over time is used.

Claims (198)

1. A system, comprising:

grouping circuitry, configured to:

receive online ad campaign information, and the campaign information including a sequence of budgets over a respective sequence of time slots of an online ad campaign for at least one ad, a budget of the sequence of budgets including terms for bidding on a plurality of desired ad responses during a respective time slot of the campaign;

determine a probability of a given desired ad response of the plurality of desired ad responses according to: p i =Pr(respond/Request i , Ad),

wherein p i is the probability,

wherein P r is a probability function,

wherein respond is the given desired ad response,

wherein Request i is an i-th ad request received by a demand side platform, and

wherein Ad is the campaign,

 the given response including an impression of an ad, a click on the ad, or both;

repeat the determination of the probability of the given response for at least some of the plurality of responses, resulting in a plurality of respective probabilities of the plurality of responses; and

group the plurality of responses with respect to the plurality of probabilities, resulting in a plurality of ad pacing groups; and

pacing control circuitry of the demand side platform, configured to:

determine a pacing rate per group of the plurality of ad pacing groups; and

adjust the pacing rate, according to a difference between costs of a first time slot and a second time slot of the campaign.

2. A system, comprising:

grouping circuitry, configured to:

receive online ad campaign information, and the campaign information including a sequence of budgets over a respective sequence of time slots of an online ad campaign for at least one ad, a budget of the sequence of budgets including terms for bidding on a plurality of desired ad responses during a respective time slot of the campaign;

determine a probability p i αPr(respond/Domain i , Ad)Pr(respond/User i , Ad), of a given desired ad response of the plurality of desired ad responses, the given response including an impression of an ad, a click on the ad, or both;

wherein p i is the probability,

wherein P r is a probability function,

wherein respond is the given desired ad response,

wherein Domain i is an i-th online property displaying the at least one ad,

wherein User i is an i-th audience member viewing the at least one ad, and

wherein Ad is the campaign;

repeat the determination of the probability of the given response for at least some of the plurality of responses, resulting in a plurality of respective probabilities of the plurality of responses; and

group the plurality of responses with respect to the plurality of probabilities, resulting in a plurality of ad pacing groups; and

pacing control circuitry, configured to:

determine a pacing rate per group of the plurality of ad pacing groups; and

adjust the pacing rate, according to a difference between costs of a first time slot and a second time slot of the campaign.

3. The system of claim 2 , wherein the grouping circuitry is further configured to determine the Pr(respond/Domain i , Ad) according to a hierarchy that includes a root and descendants starting with advertiser categories, followed by advertisers, then insertion orders, then line items, and then ads.

4. The system of claim 2 , wherein the grouping circuitry is further configured to determine the Pr(respond/User i , Ad), according to demographics of the audience member, a geographic location of the audience member during a desired response, frequency of the desired response, recentness of the desired response, or any combination thereof.

5. The system of claim 2 , wherein the grouping circuitry is further configured to determine the probability of the given desired ad response according to a decision tree.

6. The system of claim 2 , wherein the grouping circuitry is further configured to determine the probability of the given desired ad response according to smoothing piecewise linear regression.

7. A system, comprising:

grouping circuitry, configured to:

receive online ad campaign information, and the campaign information including a sequence of budgets over a respective sequence of time slots of an online ad campaign for at least one ad, a budget of the sequence of budgets including terms for bidding on a plurality of desired ad responses during a respective time slot of the campaign;

determine a probability of a given desired ad response of the plurality of desired ad responses, the given response including an impression of an ad, a click on the ad, or both;

repeat the determination of the probability of the given response for at least some of the plurality of responses, resulting in a plurality of respective probabilities of the plurality of responses; and

group the plurality of responses with respect to the plurality of probabilities, resulting in a plurality of ad pacing groups; and

pacing control circuitry, configured to:

determine a pacing rate per group of the plurality of ad pacing groups according to:

r i =P r (bid/Request i , Ad),

wherein r i ϵ [0, 1],

wherein P r is a probability function,

wherein Request i is an i-th ad request received by a demand side platform that includes the pacing control circuitry,

wherein bid is a bid on the Request i , and

wherein Ad is the campaign; and

adjust the pacing rate, according to a difference between costs of a first time slot and a second time slot of the campaign.

8. The system of claim 7 , wherein the pacing control circuitry is further configured to determine the pacing rate according to historical information.

9. The system of claim 8 , wherein the historical information includes analytics.

10. The system of claim 1 , wherein the grouping circuitry is further configured to organize the plurality of ad pacing groups immediately prior to each time slot of the campaign.

11. The system of claim 1 , wherein the grouping circuitry is further configured to organize the plurality of ad pacing groups by the plurality of respective probabilities of the plurality of desired ad responses, a plurality of priorities reflecting preferences between groups of the plurality of ad pacing groups, pacing rates, spending, or any combination thereof.

12. A method, comprising:

receiving, at grouping circuitry, online ad campaign information, and the campaign information including a sequence of budgets over a respective sequence of time slots of an online ad campaign for at least one ad, a budget of the sequence of budgets including terms for bidding on a plurality of desired ad responses during a respective time slot of the campaign;

determining, by the grouping circuitry, a probability of a given desired ad response of the plurality of desired ad responses, the given response including an impression of an ad, a click on the ad, or both;

repeating, by the grouping circuitry, the determination of the probability of the given response for at least some of the plurality of responses, resulting in a plurality of respective probabilities of the plurality of responses;

grouping, by the grouping circuitry, the plurality of responses with respect to the plurality of probabilities, resulting in a plurality of ad pacing groups;

determining, by pacing control circuitry, a pacing rate per group of the plurality of ad pacing groups according to:

r i =P r (bid/Request i , Ad),

wherein r i ϵ [0, 1],

wherein P r is a probability function,

wherein Request i is an i-th ad request received by a demand side platform that includes the pacing circuitry,

wherein bid is a bid on the Request i , and

wherein Ad is the campaign;

determining, by the pacing control circuitry, an error function that includes a difference between costs of a first time slot and a second time slot of the campaign; and

adjusting, by a controller, pacing rate according to the error function and control aspects of a controller, wherein the control aspects include a proportional aspect, an integral aspect, a derivative aspect, or any combination thereof.

13. The method of claim 12 , wherein the error function delineates alignment between a budget of the ad campaign and a total cost of the ad campaign.

14. The method of claim 12 , wherein the error function is a Euclidean distance between a budget of the ad campaign and a total cost of the ad campaign.

15. A method, comprising:

receiving, at grouping circuitry, online ad campaign information, and the campaign information including a sequence of budgets over a respective sequence of time slots of an online ad campaign for at least one ad, a budget of the sequence of budgets including terms for bidding on a plurality of desired ad responses during a respective time slot of the campaign;

determining, by the grouping circuitry, a probability of a given desired ad response of the plurality of desired ad responses, the given response including an impression of an ad, a click on the ad, or both;

repeating, by the grouping circuitry, the determination of the probability of the given response for at least some of the plurality of responses, resulting in a plurality of respective probabilities of the plurality of responses;

grouping, by the grouping circuitry, the plurality of responses with respect to the plurality of probabilities, resulting in a plurality of ad pacing groups;

determining, by pacing control circuitry, a pacing rate per group of the plurality of ad pacing groups according to

r

l

(

t

)

=

max

(

0.0

,

r

l

(

t

-

1

)

×

s

l

(

t

-

1

)

+

R

s

l

(

t

-

1

)

)

R

=

s

l

(

t

-

1

)

+

R

,

or

r

l

(

t

)

=

min

(

1.0

,

r

l

(

t

-

1

)

×

s

l

(

t

-

1

)

+

R

s

l

(

t

-

1

)

)

R

=

R

-

s

l

(

t

-

1

)

×

1.0

-

r

l

(

t

-

1

)

r

l

(

t

-

1

)

,

wherein r l t is a pacing rate for a layer of the campaign in a (t−1)-th time slot,

wherein r l t−1 is a pacing rate for a layer of the campaign in a t-th time slot,

wherein s l t−1 is an amount spent for a layer of the campaign in the (t−1)-th time slot, and

wherein R is residual cost of the campaign between the (t−1)-th time slot and the t-th time slot;

determining, by the pacing control circuitry, an error function that includes a difference between costs of a first time slot and a second time slot of the campaign; and

adjusting, by a controller, pacing rate according to the error function and control aspects of a controller, wherein the control aspects include a proportional aspect, an integral aspect, a derivative aspect, or any combination thereof.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2014
From: XU, JIAN; LEE, KUANG-CHIH; LI, WENTONG; QI, HANG; LU, QUAN
To: YAHOO! INC.
Reel/Frame 034591/0091 →
Continuity (1)
Related Publication 20160180373A1 · Jun 23, 2016