There are two major ways of selling impressions in display advertising. They are either sold in spot through auction mechanisms or in advance via guaranteed contracts. The former has achieved a significant automation via real-time bidding (RTB); however, the latter is still mainly done over the counter through direct sales. This paper proposes a mathematical model that allocates and prices the future impressions between real-time auctions and guaranteed contracts. Under conventional economic assumptions, our model shows that the two ways can be seamless combined programmatically and the publisher's revenue can be maximized via price discrimination and optimal allocation. We consider advertisers are risk-averse, and they would be willing to purchase guaranteed impressions if the total costs are less than their private values. We also consider that an advertiser's purchase behavior can be affected by both the guaranteed price and the time interval between the purchase time and the impression delivery date. Our solution suggests an optimal percentage of future impressions to sell in advance and provides an explicit formula to calculate at what prices to sell. We find that the optimal guaranteed prices are dynamic and are non-decreasing over time. We evaluate our method with RTB datasets and find that the model adopts different strategies in allocation and pricing according to the level of competition. From the experiments we find that, in a less competitive market, lower prices of the guaranteed contracts will encourage the purchase in advance and the revenue gain is mainly contributed by the increased competition in future RTB. In a highly competitive market, advertisers are more willing to purchase the guaranteed contracts and thus higher prices are expected. The revenue gain is largely contributed by the guaranteed selling.
Digital Marketing Spotlight: Lifecycle Advertising Strategies.pdf
A dynamic pricing model for unifying programmatic guarantee and real-time bidding in display advertising
1. A dynamic pricing model for unifying programmatic
guarantee and real-time bidding in display advertising1
Bowei Chen, Shuai Yuan, Jun Wang
Department of Computer Science
University College London
2014
1
The Best Paper Award in ADKDD’14, New York City, NY, USA
(in ACM proceedings database: dl.acm.org/citation.cfm?id=2648585)
2. PG and RTB – currently two independently processes
Advertiser or DSP
Publisher or SSP
RTB
in . 1
[ , ]
n n
t t
Guaranteed
contracts in .
0
[ , ]
n
t t
Estimated impressions in .
1
[ , ]
n n
t t
Allocation
Pricing
PG
[t0, tn] is the time period to sell the
guaranteed impressions that will be
created in future period [tn, tn+1]
3. Motivation
There is need of a price and allocation engine that brings automation into PG and
connects RTB
• Both PG & RTB are growing rapidly:
$3.9bn for RTB, $3.5bn for programmatic guaranteed (PG), US, 2014
$10.5bn for RTB, $6.5bn for PG, US, 2017 projected2
• They both have great potential:
$42.78bn for online advertising, US, 2013 FY3
2
MAGNA GLOBAL Ad Forecasts: Programmatic Buying Reaching a Tipping Point, 2014
3
IAB Internet Advertising Revenue Report, 2014
4. Objective function
The optimization problem can be expressed as
max
( Z T
0
(1 − ωκ)p(τ)θ(τ, p(τ))f(τ)dτ
| {z }
G = Expected total revenue from guaranted selling
minus expected penalty of failling to delivery
+
S −
Z T
0
θ(τ, p(τ))f(τ)dτ
φ(ξ)
| {z }
H = Expected total revenue from RTB
)
,
s.t. p(0) =
(
φ(ξ) + λψ(ξ), if π(ξ) ≥ φ(ξ) + λψ(ξ),
π(ξ), if π(ξ) φ(ξ) + λψ(ξ),
where
ξ =
Remaining demand in [tn, tn+1]
Remaining supply in [tn, tn+1]
=
Q −
R T
0 θ(τ, p(τ))f(τ)dτ
S −
R T
0 θ(τ, p(τ))f(τ)dτ
.
5. Distribution of bids in RTB
¶ Log-normal distribution: X ∼ LN(µ, σ2)
The expected per impression payment price from a second-price auction is
φ(ξ) =
Z ∞
0
xξ(ξ − 1)g(x)
1 − F(x)
F(x)
ξ−2
dx,
where
g(x) =
1
xσ
√
2π
e
− (ln(x)−µ)2
2σ2 , F(x) =
1
2
+
1
√
π
Z ln(x)−µ
√
2σ
0
e−z2
dz.
· Empirical method
Robust Locally Weighted Regression (see Algorithm 1)
6. Purchase behaviour
¶ One buys less if an inventory is expensive
Given τ and 0 ≤ p1 ≤ p2, then θ(τ, p1) ≥ θ(τ, p2), s.t. θ(τ, 0) = 1.
· One buys less if it is early
Given p and 0 ≤ τ2 ≤ τ1, then θ(τ2, p) ≥ θ(τ1, p).
We adopt the functional forms of demand:
θ(τ, p(τ)) = e−αp(τ)(1+βτ)
,
f(τ) = ζe−ητ
,
where α is the level of price effect, β and η are the levels of time effect, and the demand
density rises to a peak ζ on the delivery date, so that θ(τ, p(τ))f(τ)dτ is the number of
advertisers who will buy guaranteed impressions at p(τ).
7. Demand surface θ(τ, p(τ))f(τ)dτ
α = 1.85,
β = 0.01,
ζ = 2000,
η = 0.01,
T = 30.
0
10
20
30
2
4
6
0
500
1000
1500
τ = T−t
p(τ)
θ(τ,
p(τ))f(τ)dτ
Daily demand on
specific series of
guaranteed prices
8. Solution
The objective function is solved by Algorithm 2, in which the optimal guaranteed price
can be described as follows:
p(τ) =
e
λ
1 − ωκ
+
1
α(1 + βτ)
.
The notation e
λ(α, β, ζ, η, ω, κ, γiS) represents the dependency relationship among e
λ and
other parameters.
9. Solution
Algorithm 2:
function PGSolve(α, β, ζ, η, ω, κ, λ, S, Q, T)
t ← [t0, · · · , tn], 0 = t0 t1 · · · tn = T.
τ ← T − t, m ← # of simulations.
loop i ← 1 to m
γi ← RandomUniformGenerate([0, 1])
R T
0 θ(τ, p(τ))f(τ)dτ ← γiS
ξi ← (Q − γiS)/(S − γS)
Hi ← (1 − γi)Sφ(ξi)
Gi ←
R T
0 (1 − ωκ)p(τ)θ(τ, p(τ))f(τ)dτ
pi ← arg max Gi,
s.t.
Z T
0
θ(τ, p(τ))f(τ)dτ = γiS,
p(0) =
(
φ(ξi) + λψ(ξi), if π(ξi) ≥ φ(ξi) + λψ(ξi),
π(ξi), if π(ξi) φ(ξi) + λψ(ξi).
Ri ← max Gi + Hi
end loop
γ∗ ← arg maxγi∈Ω(γ){R1, . . . , Rm}
p∗ ← arg maxpi∈Ω(p){R1, . . . , Rm}
return γ∗, p∗
end function
11. Datasets
Table: Summary of RTB datasets.
Dataset SSP DSP
From 08/01/2013 19/10/2013
To 14/02/2013 27/10/2013
# of ad slots 31 53571
# of user tags NA 69
# of advertisers 374 4
# of impressions 6646643 3158171
# of bids 33043127 11457419
Bid quote USD/CPM CNY/CPM
Table: Experimental design of the SSP dataset.
From To
Training set 08/01/2013 13/02/2013
Development set 08/01/2013 14/02/2013
Test set 14/02/2013
13. Bidding behaviours
Table: Summary of the winning advertisers’ statistics from the SSP dataset in the training
period: the numbers in the brackets represent how many advertisers who use the combined
bidding strategies.
Bidding # of # of change Average change rate Ratio of payment
strategy advertisers imps won of payment prices price to winning bid
Fixed price 188 (51) 454681 188.85% 43.93%
Non-fixed price 200 (51) 6068908 517.54% 58.94%
Table: Summary of advertisers’ winning campaigns from the DSP dataset. All the advertisers use
the fixed price bidding strategy. Each user tag contains many ad slots and an ad slot is sampled
from the dataset only if the advertiser wins more than 1000 impressions from it.
Advertiser # of # of # of Average change rate Ratio of payment
ID user tags ad slots imps won of payment prices price to winning bid
1 69 635 196831 58.57% 36.07%
2 69 428 144272 58.94% 34.68%
3 69 1267 123361 79.24% 30.89%
4 65 15 3139 104.19% 22.32%
15. Demand per impression reflects the market competition
1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031
0
50
Ad slot ID
26282430 1 7 9141612211820 3 5 210 61911 417 81315222325272931
0
0.5
1
1.5
2
2.5
3
Score
of
average
distance
in
Ad slot ID
Group of ad slots
with a higher level
of competition
Group of ad slots
with a lower level
of competition
16. Empirical example 1: (AdSlot14) demand per impression 3.39
In a less competitive market:
• Fewer buyers are willing to buy in advance
• Less impressions to PG (here 42.40%)
• PG prices are not expensive
• Revenue mainly contributed by RTB
0 3 6 9 12 15 18 21 24 27 30 33 36 38
0.5
1
1.5
t (where tn
= T = 37, tn+1
= 38)
Price
(a)
p(τ), τ = T−t for t∈[0,T]
Expected risk−aversion cost in RTB
Expected payment (2nd) price in RTB
New expected risk−aversion cost in RTB
New expected payment (2nd) price in RTB
0 5 10 15 20 25 30 3538
0
1000
2000
t (where tn
= T = 37, tn+1
= 38)
#
of
impressions
(b)
0 5 10 15 20 25 30 3538
0
1000
2000
t (where tn
= T = 37, tn+1
= 38)
#
of
impressions
(c)
500 1000 1500 2000 2500
0
1
2
3
Sequential auctions in [tn
, tn+1
]
Price
(d)
Winning bid
Payment price
B−I B−II B−III R−I R−II
0
1000
2000
3000
Revenue
(e)
17. Empirical example 2: (AdSlot27) demand per impression 9.63
In a competitive market:
• More buyers are willing to buy in advance
• More impressions to PG (here 66%)
• PG prices are higher
• Revenue mainly contributed by PG
0 3 6 9 12 15 18 21 24 27 30 33 36 38
0.6
0.8
1
1.2
1.4
1.6
1.8
2
t (where tn
= T = 37, tn+1
= 38)
Price
(a)
0 5 10 15 20 25 30 3538
0
2000
4000
6000
t (where tn
= T = 37, tn+1
= 38)
#
of
impressions
(b)
0 5 10 15 20 25 30 3538
0
2000
4000
6000
t (where tn
= T = 37, tn+1
= 38)
#
of
impressions
(c)
2000 4000 6000
0
2
4
Sequential auctions in [tn
, tn+1
]
Price
(d)
B−I B−II B−III R−I R−II
0
5000
10000
15000
Revenue
(e)
18. Revenue analysis
Table: Summary of revenue evaluation of all 31 ad slots in the SSP dataset.
Group of ad slots
Revenue maximization Price discrimination
Estimated Actual Difference Ratio of Ratio of
revenue revenue of RTB actual 2nd actual optimal
increase increase revenue price reve reve to actual
between to actual 1st price
estimation 1st price reve
actual reve
Low competition 31.06% 8.69% 13.87% 67.05% 81.78%
High competition 31.73% 21.51% 6.23% 78.04% 94.70%
20. Parameter estimation 2
0.5 1 1.5 2 2.5 3
0
0.2
0.4
0.6
0.8
1
x or p (x=p)
Demand
(probability)
z(x) = 1−F(x)
Fittest c(p) to z(x): α = 1.72
c(p) = e
−α p
, α ∈ [0,5]
α is calculated based on the smallest RMSE between the inverse function of empirical
CDF of bids z(x) = 1 − F(x) and the function c(p) = e−αp
21. Concluding remarks
This paper proposes a mathematical model that allocates and prices the future
impressions between real-time auctions and guaranteed contracts. Under conventional
economic assumptions, our model shows that the two ways can be seamless combined
programmatically and the publisher’s revenue can be maximized via price discrimination
and optimal allocation.