6. 🚀 🌴 🎧
Normalised CTR
🍷
weights are calculated as
normalised CTR values
for each version
samples are drawn from
this multinomial
distribution at serving
time
Weight
based
serving
🚀
The chosen one…
Sampling
(weighted)
ServeWeight-based
7. in the initial impressions,
the weights are all the
same to learn the true
distribution
afterwards the weights
are updated frequently
Weight
based
serving
Learning
Initial impressions time
🚀 🌴 🎧🍷 🚀 🌴 🎧🍷
+1 period
🚀 🌴 🎧🍷
Campaign start
8. Reserve Ratio
part of the weights are
reserved for equal
uniform random
weighting.
Weight
based
parameters
🚀 🌴 🎧
Reserve
ratio
🍷 🚀 🌴 🎧🍷
Sensitivity
increases the weight for
the version with the
highest weight
eventually into a
“winner-takes-all”
9. Dynamic
Creative
Recency
time
-5 -4 -2-3 -1 0…
1 hour
🚀 🌴 🎧🍷
Weights
💻
CTR
weighted
CVR
weighted
the impressions, clicks
and conversion are all
weighted by a
decaying function too
limit the influence of
historical data
Recency
💻 Impressions
Clicks
Conversions
weighted counts are
used to calculate the
final weights
10. Dynamic
Creative
Recency
the impressions, clicks
and conversion are all
weighted by a
decaying function too
limit the influence of
historical data
Recency
basic form, where represents decay
after 24 hours
final form
time
-5 -4 -2-3 -1 0…
1 hour
💻 Impressions
Clicks
Conversions
decay function
Example
11. Recency
Auto
Calculation
time
-5 -4 -2-3 -1 0…
auto calculating the
recency becomes
estimating the right
value
Recency
💻 Impressions
this is a balance
between adapting to
the environment by
limiting older data and
still having enough
data to estimate the
model parameters adaption sufficient data
🔋⌖
Example
12. Recency
Auto
Calculation
time
-5 -4 -2-3 -1 0…
the decay parameter is
calculated from the
time it took to reach
10k raw impressions -
looking backwards in
time
Recency
💻 Impressions
5k imprs.
[] hours
time it takes to reach
threshold of 10k
impressions
in the first hour only
5k impressions are
reached and the decay
parameter is set to its
default value.
upper bound on decay
parameter
Example
13. Recency
Auto
Calculation
time
-5 -4 -2-3 -1 0…
the decay parameter is
calculated from the
time it took to reach
10k raw impressions -
looking backwards in
time
Recency
💻 Impressions
9k imprs.
[] hours
in the first two hours
only 9k impressions
are reached and the
decay parameter is set
to its default value.
upper bound on decay
parameter
time it takes to reach
threshold of 10k
impressions
Example
14. Recency
Auto
Calculation
time
-5 -4 -2-3 -1 0…
the decay parameter is
calculated from the
time it took to reach
10k raw impressions -
looking backwards in
time
Recency
💻 Impressions
10k imprs.
3 hours
final form time it takes to reach
threshold of 10k
impressions
target recency
calculate the
parameter ensuring
10k impressions back
are attenuated with
80%
Example
15. Limitations
Impressions threshold
wasting ~50k impression
before we can go
optimal.
Cold start
learn from existing
version by taking the
average and inject new
version.
Version B
Version A
Injected avg. traffic
Version added
Own organic traffic
TimeAd created
Missing period
🎧
🚀
🌴
🚀 🌴 🎧🍷
29. regret - average
metric
ρ = Tμ* −
T
∑
t=1
̂rt μ* = max
k
(μk)
(max_reward_mean - n_optimal_selections_b) / imp_per_period
Average number of times the
optimal ad was not selected.in words
in math
in code
lower is better
30. regret - auc
metric
Cumulative DistributionRegret Distribution
higher is better
in graphs
in words Area under the curve of the
cumulative distribution of the regret.
auc