Smart Pacing for Effective Online Ad Campaign Optimization · 2016-04-23 · Smart Pacing for E...
Transcript of Smart Pacing for Effective Online Ad Campaign Optimization · 2016-04-23 · Smart Pacing for E...
Smart Pacing for Effective Online Ad CampaignOptimization
Jian Xu, Kuang-chih Lee, Wentong Li, Hang Qi, and Quan Lu
Yahoo Inc.
August 26, 2015
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 1 / 17
Overview
1 BackgroundPacing as a campaign optimization problem
2 Smart PacingMotivationOur approach - models and algorithms
3 EvaluationsReal ad campaignsSimulations
4 System Implementation
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 2 / 17
Background
Budget pacing helps advertisers to define and execute how their budget isspent over the time.
Why budget pacing?
Reach a wider range of audience,Build synergy with other marketing campaigns,Avoid premature campaign stop, overspending, and/or spendingfluctuations.
Budget pacing plan examples:
%XGJHW6
SHQGLQJ
+RXURI'D\
%XGJHW6
SHQGLQJ
+RXURI'D\
(a) Even pacing
%XGJHW6
SHQGLQJ
+RXURI'D\
%XGJHW6
SHQGLQJ
+RXURI'D\
(b) Traffic-based pacing
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 3 / 17
Background (cont.)
Two streams of strategies for budget pacing:
Bid modification: bid price is altered to influence bid win-rate so thatbudget spending can be controlled,
Probabilistic throttling: ad request is bid with some probability(pacing rate).
%XGJHW6SHQGLQJ
5HTXHVW $G
5HVSRQVH5DWH
%LG
3DFLQJ5DWH
:LQ5DWH
%XGJHW6SHQGLQJ
&DPSDLJQ6HWXS
5HTXHVW $G
5HVSRQVH5DWH
%LG
:LQ5DWH
&DPSDLJQ6HWXS
IHHGEDFN IHHGEDFN
(c) Bid modification
%XGJHW6SHQGLQJ
5HTXHVW $G
5HVSRQVH5DWH
%LG
3DFLQJ5DWH
:LQ5DWH
%XGJHW6SHQGLQJ
&DPSDLJQ6HWXS
5HTXHVW $G
5HVSRQVH5DWH
%LG
:LQ5DWH
&DPSDLJQ6HWXS
IHHGEDFN IHHGEDFN
(d) Probabilistic throttling
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 4 / 17
Background: Pacing as a campaign optimization problem
Campaign optimization objectives:
Reach the delivery and performance goals
Branding campaigns: spend out budget to reach an extensive audience.In the meanwhile, make campaign performance (e.g., in terms of eCPCor eCPA) as good as possible;Performance campaigns: meet performance goal (e.g., eCPC no morethan $5). In the meanwhile, spend as much budget as possible.
Execute the budget pacing plan
Reduce creative serving cost
Question
Can we achieve campaign optimization through smart pacing control?
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 5 / 17
Background: Pacing as a campaign optimization problem(cont.)
Problem def. 1
Smart pacing for ad campaigns without specificperformance goals: determining the values of riso that
minri
P
s.t. C = B, Ω(C,B) ≤ ε(1)
Problem def. 2
Smart pacing for ad campaigns with specificperformance goals: determining the values of riso that
minri
Ω(C,B)
s.t. P ≤ G , B − C ≤ ε(2)
Notation MeaningB total budget
B = (B(1), ...,B(K)) pacing planReqi i-th ad requestri point pacing rate on Reqisi ∼ Bern(ri ) indicator of participating auctionwi indicator of winning Reqici cost to serve ad to Reqipi response probabilityqi ∼ Bern(pi ) indicator of user response (click
or conversion)C =
∑i siwici total cost of the ad campaign
P = C/∑
i siwiqi performance of the ad campaign(eCPC or eCPA)
C = (C (1), ...,C (K)) actual spending patternΩ(C,B) penalty of deviating from pacing
planε tolerance level of the penaltyε tolerance level of remaining budget
Table: Notations in problem formulation.
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 6 / 17
Smart Pacing: Motivation
Directly solving for ri is difficult and computationally expensive.
Observations on prevalent campaign pricing setups:
CPM campaigns
Branding: optimize performance as long as budget spending aligns theplan → prefer high responding ad requests;Performance: optimize spending pattern as long as performance goal ismet → prefer high responding ad requests.
CPC/CPA campaigns
Have implicit performance goals. If prediction is perfect, creativeserving cost is a concern → prefer high responding ad requests.
dCPM campaigns
Have explicit performance goals. If prediction is perfect, creativeserving cost is a concern → prefer high responding ad requests.
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 7 / 17
Smart Pacing: Our approach - models and algorithms
Learn from offline serving logs a response prediction model toestimate pi = Pr(respond |Reqi ,Ad);
Reduce the solution space by grouping similarly responding adrequests. Requests in the same group share the same group pacingrate;
Develop a control-based method to learn from online feedback dataand dynamically adjust the group pacing rates to approximate theoptimal solution.
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 8 / 17
Smart Pacing: Our approach - models and algorithms(cont.)
A picture is worth a thousand words ...
1.0 0.6
1.0
0.1
0.001
0.001
0.001
0.001
1.0 1.0
0.8 1.0
0.001 0.2
Layer 3
Layer 2
Layer 1
Layer 0
Ad request volume
Time slot Budget pacing plan
Actual spending
Time slot
High responding Low responding
0.001 0.001
Slow down Speed up
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 9 / 17
Evaluations: Real ad campaigns
Evaluation setup:
Online blind A/B test with50%-50% traffic and budgetsplit;
Baseline: probabilistic throttlingwith global pacing rate(equivalent to one-layerSmartPacing);
SmartPacing: 8 layers of adrequest groups.
Pacing plan: even pacing.
0
5
10
15
20
25
30
35
40
10 20 30 40 50 60 70 80 90 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Sp
en
din
g (
$)
eC
PC
($
)
time slot
Spending BaselineSpending SmartPacing
eCPC BaselineeCPC SmartPacing
0
2
4
6
8
10
12
14
10 20 30 40 50 60 70 80 90 0
0.2
0.4
0.6
0.8
1
1.2
1.4
Sp
en
din
g (
$)
eC
PC
($
)
time slot
Spending BaselineSpending SmartPacing
eCPC BaselineeCPC SmartPacing
0
5
10
15
20
25
30
35
40
45
50
10 20 30 40 50 60 70 80 90 0
2
4
6
8
10
12
Sp
en
din
g (
$)
eC
PC
($
)
time slot
Spending BaselineSpending SmartPacing
eCPC BaselineeCPC SmartPacing
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 10 / 17
Evaluations: Simulations (w/o eCPC goal)
0
5
10
15
20
25
30
0 10 20 30 40 50 60 70 80 90 20000
40000
60000
80000
100000
120000
140000
160000
Spendin
g (
$)
Tra
ffic
time slot
trafficbaseline
# layers:2# layers:4
# layers:8# layers:256
Spendings over time with different # of layers (budget: $2000)
0
10
20
30
40
50
60
70
0 10 20 30 40 50 60 70 80 90 20000
40000
60000
80000
100000
120000
140000
160000
Spendin
g (
$)
Tra
ffic
time slot
trafficbudget:$1000
budget:$2000budget:$3000
budget:$4000budget:$5000
Spendings over time with different budget (# layers: 8)
0
0.5
1
1.5
2
2.5
3
0 10 20 30 40 50 60 70 80 90 20000
40000
60000
80000
100000
120000
140000
160000
eC
PC
($)
Tra
ffic
time slot
trafficbaseline
# layers:2# layers:4
# layers:8# layers:256
eCPC over time with different # of layers (budget: $2000)
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0 10 20 30 40 50 60 70 80 90 20000
40000
60000
80000
100000
120000
140000
160000
eC
PC
($)
Tra
ffic
time slot
trafficbudget:$1000
budget:$2000budget:$3000
budget:$4000budget:$5000
eCPC over time with different budget (# of layers: 8)
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 11 / 17
Evaluations: Simulations (w eCPC goal)
0
5
10
15
20
25
30
0 10 20 30 40 50 60 70 80 90 20000
40000
60000
80000
100000
120000
140000
160000
Spendin
g (
$)
Tra
ffic
time slot
trafficbaseline
# layers:2# layers:4
# layers:8# layers:256
Spendings over time with different # of layers (budget: $2000)
0
10
20
30
40
50
60
70
80
0 10 20 30 40 50 60 70 80 90 20000
40000
60000
80000
100000
120000
140000
160000
Spendin
g (
$)
Tra
ffic
time slot
trafficbudget:$1000
budget:$2000budget:$3000
budget:$4000budget:$5000
Spendings over time with different budget (# layers: 8)
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0 10 20 30 40 50 60 70 80 90 20000
40000
60000
80000
100000
120000
140000
160000
eC
PC
($)
Tra
ffic
time slot
trafficbaseline
# layers:2# layers:4
# layers:8# layers:256
eCPC over time with different # of layers (budget: $2000)
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
0 10 20 30 40 50 60 70 80 90 20000
40000
60000
80000
100000
120000
140000
160000
eC
PC
($)
Tra
ffic
time slot
trafficbudget:$1000
budget:$2000budget:$3000
budget:$4000budget:$5000
eCPC over time with different budget (# of layers: 8)
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 12 / 17
Evaluations: Simulations (compare to state-of-the-art)
Comparison with the pacing algorithm proposed by Agarwal et al.[Agarwal 2014].
Their approach: conventional controller, not considering performance;
Our approach: adaptive controller, considering performance.
0
500
1000
1500
2000
0 200 400 600 800 1000 1200 1400 0
1
2
3
4
5
6
7
Cum
ula
tive s
pendin
g (
$)
eC
PC
($)
time slot
AllocationSpend SmartPacing
Spend Agarwal et aleCPC SmartPacing
eCPC Agarwal et al
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 13 / 17
Evaluations: Simulations (compare to state-of-the-art)
Comparison with the pacing algorithm proposed by Agarwal et al.[Agarwal 2014].
Their approach: conventional controller, not considering performance;
Our approach: adaptive controller, considering performance.
0
500
1000
1500
2000
0 200 400 600 800 1000 1200 1400 0
1
2
3
4
5
6
7
Cu
mu
lativ
e s
pe
nd
ing
($
)
eC
PC
($
)
time slot
AllocationSpend SmartPacing
Spend Agarwal et aleCPC SmartPacing
eCPC Agarwal et al
0
500
1000
1500
2000
0 200 400 600 800 1000 1200 1400 0
1
2
3
4
5
6
7
Cu
mu
lativ
e s
pe
nd
ing
($
)
eC
PC
($
)
time slot
AllocationSpend SmartPacing
Spend Agarwal et aleCPC SmartPacing
eCPC Agarwal et al
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 14 / 17
System Implementation
Besides the common implementation considerations of a large scale adserving system, we focus on two components to support smart pacing:
Real-time feedback of layered statisticsUse message queue to rapidly send delivery message to control server;Use remote procedure call to send pacing rate and quick stop messageto serving boxes.
In-memory data sourcesUse snapshot + message queue to avoid data loss;Use aggregation to reduce memory usage.
,PSUHVVLRQVHUYLQJER[
,PSUHVVLRQVHUYLQJER[
,PSUHVVLRQVHUYLQJER[
,QPHPRU\GDWDVRXUFH
&RQWUROOHU
$GUHTXHVWELGGHU
$GUHTXHVWELGGHU
$GUHTXHVWELGGHU
'LVWULEXWHGPHVVDJHTXHXH
3XVK 3XOO 53&
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 15 / 17
References
D. Agarwal, S. Ghosh, K. Wei, and S. You
Budget pacing for targeted online advertisements at Linkedin
Proceedings of the 20th ACM SIGKDD, 2014
K.-C. Lee, A. Jalali, and A. Dasdan
Real time bid optimization with smooth budget delivery in online advertising
The Seventh International Workshop on Data Mining for Online Advertising, 2013.
A. Bhalgat, J. Feldman, and V. Mirrokni
Online allocation of display ads with smooth delivery
Proceedings of the 18th ACM SIGKDD, 2012.
Z. Abrams, O. Mendelevitch, and J. Tomlin
Optimal delivery of sponsored search advertisements subject to budget constraints
Proceedings of the 8th ACM conference on Electronic Commerce, 2007.
C. Borgs, J. Chayes, N. Immorlica, K. Jain, O. Etesami, and M. Mahdian
Dynamics of bid optimization in online advertisement auctions
Proceedings of the 16th international conference on World Wide Web, 2007.
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 16 / 17
Thank you!
Jian Xu et al. (Yahoo Inc.) Smart Pacing August 26, 2015 17 / 17