SlideShare a Scribd company logo
Beyond Ad Selection to Automation
Jeong, Buhwan
https://brunch.co.kr/@jejugrapher
Nothing is certain but death and taxes.
“AD”
- Benjamin Franklin
Ad Eco System & Selection
Audience
SSP DSP
DMP
Publisher
Audience Tracking
(MAT/SDK/Pixel) Transaction log (train)
Audience Info. (target)
Log
Visit Ad
Inventory
Ad Selection
- Filtering
- Ranking
- Pricing
Mediation
(Auction)
Log
Traf
fi
c Req4Bid
Advertiser
Impression Bid (AD)
Data
SSP DSP
RANKr
DSP
SSP
Inventory
DSPs
ADs
Req4Bid
Abusing/HideAds
User, Inventory, RP Live, Budget
Inventory (Size, format)
Targeting: U, T, P
User, Ads
UserInfo
Top Ads by eCPM
eCPM (BA & pCTR)
pCVR, C/G & Cuto
f
Frequency/Recency
Duplicate
Top 1 Ad
Auction
DSPs
DSPs
DSPs
SSP AdServer
DSP AdServer
Targeting
Candidate Gen.
Ranking
Quality Control
DSP AdServer
SSP AdServer
Ranker
Reserve price, feedback (HideAds), abusing
On-live, budget, inventory (format, size), time
Adv-set user segment → Automatic (LAL)
Historical User-Ad interaction & similarity
eCPM = BA * pCTR [ * pCVR ]
Cut-o
ff
: eCPM, pCTR, pCVR, BA
Frequency capping, implicit feedback
Auction (RP, Hard/Soft bid
fl
oor)
SSP
DSP
DSP
DSP
From millions to one
E
ff
ective Cost Per Mille (eCPM)
Why eCPM?
M, 30, Riding, Travel
A Riding academy 1,000 / mille CPM
B Sports wear mall 100 / click CPC
C Bicycle shop 10,000 / acqs. CPA
BA ChargeRate
(CTR/CVR)
eCPM
(BA * CHR * 1,000)
A 1 100% 1,000
B 100 1.2% 1,200
C 10,000 0.011% 1,100
Impression
(1,000)
Click Conversion CHR
CPM 1,000 100%
CPC 1,200 100 1.2%
CPA 1,100 10,000 0.011%
eCPM: an estimated revenue per 1,000 impressions
eCPM: Single Comparison Metric
(Estimated Tra
ffi
c Value)
Ranking
(Order by eCPM desc)
Charging
(Second price / GSP)
Bidding
(SSP margin)
&
eCPM = BA * pCHR * 1,000
(pCTR)
pCTR
Why Accurate pCTR?
- Correct ChargeAmount
- Wrong Ranking (pCTR < CTR)
- Reverse Margin (pCTR > CTR)
Leave (y = 0) Click (y = 1)
X
Traf
fi
c properties (ADxUSRxPLx…)
Pr(y = 1 | x)
Aggregation of historical data
Learning from historical data
Reactive method vs Predictive method
Segment Decision Tree
Logistic
Regression
FM/FFM DNN
Counting (hCTR) Prediction (pCTR)
Few Raw Embedding (DimRed)
Interaction & Latent
Deep & Wide
Logistic Regression
Pace, interpretability, ..
Linear Regression
(Minimizing MSE loss)
Logistic Regression
(Minimizing NLL loss)
0
1
More likely to click
Logistic Regression
(Maximum entropy)
Sum of traf
fi
c properties
Less likely to click
Pr(y = 1|x) =
1
1 + exp(−wTx)
Softmax of binary (1/0) output
Pr(y = 1|x) =
1
1 + exp(−wTx)
Loss = |y − ̂
y|
y
<latexit sha1_base64="paQhm8QH9RuJYjMoRm3VlxatzsM=">AAAB6HicdVDLSsNAFJ3UV62vqks3g0VwFSY1tHVXdOOyBfuANpTJdNKOnUzCzEQIoV/gxoUibv0kd/6Nk7aCih64cDjnXu69x485UxqhD6uwtr6xuVXcLu3s7u0flA+PuipKJKEdEvFI9n2sKGeCdjTTnPZjSXHoc9rzZ9e537unUrFI3Oo0pl6IJ4IFjGBtpHY6KleQfdmoVd0aRDZCdafq5KRady9c6BglRwWs0BqV34fjiCQhFZpwrNTAQbH2Miw1I5zOS8NE0RiTGZ7QgaECh1R52eLQOTwzyhgGkTQlNFyo3ycyHCqVhr7pDLGeqt9eLv7lDRIdNLyMiTjRVJDloiDhUEcw/xqOmaRE89QQTCQzt0IyxRITbbIpmRC+PoX/k27VdpDttN1K82oVRxGcgFNwDhxQB01wA1qgAwig4AE8gWfrznq0XqzXZWvBWs0cgx+w3j4BR9uNPw==</latexit>
<latexit sha1_base64="paQhm8QH9RuJYjMoRm3VlxatzsM=">AAAB6HicdVDLSsNAFJ3UV62vqks3g0VwFSY1tHVXdOOyBfuANpTJdNKOnUzCzEQIoV/gxoUibv0kd/6Nk7aCih64cDjnXu69x485UxqhD6uwtr6xuVXcLu3s7u0flA+PuipKJKEdEvFI9n2sKGeCdjTTnPZjSXHoc9rzZ9e537unUrFI3Oo0pl6IJ4IFjGBtpHY6KleQfdmoVd0aRDZCdafq5KRady9c6BglRwWs0BqV34fjiCQhFZpwrNTAQbH2Miw1I5zOS8NE0RiTGZ7QgaECh1R52eLQOTwzyhgGkTQlNFyo3ycyHCqVhr7pDLGeqt9eLv7lDRIdNLyMiTjRVJDloiDhUEcw/xqOmaRE89QQTCQzt0IyxRITbbIpmRC+PoX/k27VdpDttN1K82oVRxGcgFNwDhxQB01wA1qgAwig4AE8gWfrznq0XqzXZWvBWs0cgx+w3j4BR9uNPw==</latexit>
<latexit sha1_base64="paQhm8QH9RuJYjMoRm3VlxatzsM=">AAAB6HicdVDLSsNAFJ3UV62vqks3g0VwFSY1tHVXdOOyBfuANpTJdNKOnUzCzEQIoV/gxoUibv0kd/6Nk7aCih64cDjnXu69x485UxqhD6uwtr6xuVXcLu3s7u0flA+PuipKJKEdEvFI9n2sKGeCdjTTnPZjSXHoc9rzZ9e537unUrFI3Oo0pl6IJ4IFjGBtpHY6KleQfdmoVd0aRDZCdafq5KRady9c6BglRwWs0BqV34fjiCQhFZpwrNTAQbH2Miw1I5zOS8NE0RiTGZ7QgaECh1R52eLQOTwzyhgGkTQlNFyo3ycyHCqVhr7pDLGeqt9eLv7lDRIdNLyMiTjRVJDloiDhUEcw/xqOmaRE89QQTCQzt0IyxRITbbIpmRC+PoX/k27VdpDttN1K82oVRxGcgFNwDhxQB01wA1qgAwig4AE8gWfrznq0XqzXZWvBWs0cgx+w3j4BR9uNPw==</latexit>
<latexit sha1_base64="paQhm8QH9RuJYjMoRm3VlxatzsM=">AAAB6HicdVDLSsNAFJ3UV62vqks3g0VwFSY1tHVXdOOyBfuANpTJdNKOnUzCzEQIoV/gxoUibv0kd/6Nk7aCih64cDjnXu69x485UxqhD6uwtr6xuVXcLu3s7u0flA+PuipKJKEdEvFI9n2sKGeCdjTTnPZjSXHoc9rzZ9e537unUrFI3Oo0pl6IJ4IFjGBtpHY6KleQfdmoVd0aRDZCdafq5KRady9c6BglRwWs0BqV34fjiCQhFZpwrNTAQbH2Miw1I5zOS8NE0RiTGZ7QgaECh1R52eLQOTwzyhgGkTQlNFyo3ycyHCqVhr7pDLGeqt9eLv7lDRIdNLyMiTjRVJDloiDhUEcw/xqOmaRE89QQTCQzt0IyxRITbbIpmRC+PoX/k27VdpDttN1K82oVRxGcgFNwDhxQB01wA1qgAwig4AE8gWfrznq0XqzXZWvBWs0cgx+w3j4BR9uNPw==</latexit>
ŷ
<latexit sha1_base64="QmQDjeeN4gpKWLfKwkS/Fz5qGt4=">AAAB7nicdVDLSgNBEOyNrxhfUY9eBoPgKcwEMckt6MVjBPOAZAmzk9lkyOyDmVlhWfIRXjwo4tXv8ebfOJtEUNGChqKqm+4uL5ZCG4w/nMLa+sbmVnG7tLO7t39QPjzq6ihRjHdYJCPV96jmUoS8Y4SRvB8rTgNP8p43u8793j1XWkThnUlj7gZ0EgpfMGqs1BtOqcnS+ahcwVWMMSEE5YTUL7ElzWajRhqI5JZFBVZoj8rvw3HEkoCHhkmq9YDg2LgZVUYwyeelYaJ5TNmMTvjA0pAGXLvZ4tw5OrPKGPmRshUatFC/T2Q00DoNPNsZUDPVv71c/MsbJMZvuJkI48TwkC0X+YlEJkL572gsFGdGppZQpoS9FbEpVZQZm1DJhvD1KfqfdGtVgqvk9qLSulrFUYQTOIVzIFCHFtxAGzrAYAYP8ATPTuw8Oi/O67K14KxmjuEHnLdP/reQAA==</latexit>
<latexit sha1_base64="QmQDjeeN4gpKWLfKwkS/Fz5qGt4=">AAAB7nicdVDLSgNBEOyNrxhfUY9eBoPgKcwEMckt6MVjBPOAZAmzk9lkyOyDmVlhWfIRXjwo4tXv8ebfOJtEUNGChqKqm+4uL5ZCG4w/nMLa+sbmVnG7tLO7t39QPjzq6ihRjHdYJCPV96jmUoS8Y4SRvB8rTgNP8p43u8793j1XWkThnUlj7gZ0EgpfMGqs1BtOqcnS+ahcwVWMMSEE5YTUL7ElzWajRhqI5JZFBVZoj8rvw3HEkoCHhkmq9YDg2LgZVUYwyeelYaJ5TNmMTvjA0pAGXLvZ4tw5OrPKGPmRshUatFC/T2Q00DoNPNsZUDPVv71c/MsbJMZvuJkI48TwkC0X+YlEJkL572gsFGdGppZQpoS9FbEpVZQZm1DJhvD1KfqfdGtVgqvk9qLSulrFUYQTOIVzIFCHFtxAGzrAYAYP8ATPTuw8Oi/O67K14KxmjuEHnLdP/reQAA==</latexit>
<latexit sha1_base64="QmQDjeeN4gpKWLfKwkS/Fz5qGt4=">AAAB7nicdVDLSgNBEOyNrxhfUY9eBoPgKcwEMckt6MVjBPOAZAmzk9lkyOyDmVlhWfIRXjwo4tXv8ebfOJtEUNGChqKqm+4uL5ZCG4w/nMLa+sbmVnG7tLO7t39QPjzq6ihRjHdYJCPV96jmUoS8Y4SRvB8rTgNP8p43u8793j1XWkThnUlj7gZ0EgpfMGqs1BtOqcnS+ahcwVWMMSEE5YTUL7ElzWajRhqI5JZFBVZoj8rvw3HEkoCHhkmq9YDg2LgZVUYwyeelYaJ5TNmMTvjA0pAGXLvZ4tw5OrPKGPmRshUatFC/T2Q00DoNPNsZUDPVv71c/MsbJMZvuJkI48TwkC0X+YlEJkL572gsFGdGppZQpoS9FbEpVZQZm1DJhvD1KfqfdGtVgqvk9qLSulrFUYQTOIVzIFCHFtxAGzrAYAYP8ATPTuw8Oi/O67K14KxmjuEHnLdP/reQAA==</latexit>
<latexit sha1_base64="QmQDjeeN4gpKWLfKwkS/Fz5qGt4=">AAAB7nicdVDLSgNBEOyNrxhfUY9eBoPgKcwEMckt6MVjBPOAZAmzk9lkyOyDmVlhWfIRXjwo4tXv8ebfOJtEUNGChqKqm+4uL5ZCG4w/nMLa+sbmVnG7tLO7t39QPjzq6ihRjHdYJCPV96jmUoS8Y4SRvB8rTgNP8p43u8793j1XWkThnUlj7gZ0EgpfMGqs1BtOqcnS+ahcwVWMMSEE5YTUL7ElzWajRhqI5JZFBVZoj8rvw3HEkoCHhkmq9YDg2LgZVUYwyeelYaJ5TNmMTvjA0pAGXLvZ4tw5OrPKGPmRshUatFC/T2Q00DoNPNsZUDPVv71c/MsbJMZvuJkI48TwkC0X+YlEJkL572gsFGdGppZQpoS9FbEpVZQZm1DJhvD1KfqfdGtVgqvk9qLSulrFUYQTOIVzIFCHFtxAGzrAYAYP8ATPTuw8Oi/O67K14KxmjuEHnLdP/reQAA==</latexit>
Find w that minimizes the negative log likelihood (w/ L2 regularization)
Control model complexity
NLL for logistic regression
arg min
w
n
∑
i=1
log(1 + exp(−yiwT
xi)) +
λ
2
∥w∥2
2
Stochastic Gradient Descent (SGD)
⌘t
<latexit sha1_base64="SU/TSRqhSNKT3zfwyFM+mpJHyjY=">AAAB73icbVBNS8NAEJ3Ur1q/qh69BIvgqSQi6LHoxWMF+wFtKJvttF262cTdiVBC/4QXD4p49e9489+4bXPQ1gcDj/dmmJkXJlIY8rxvp7C2vrG5Vdwu7ezu7R+UD4+aJk41xwaPZazbITMohcIGCZLYTjSyKJTYCse3M7/1hNqIWD3QJMEgYkMlBoIzslK7i8R6GU175YpX9eZwV4mfkwrkqPfKX91+zNMIFXHJjOn4XkJBxjQJLnFa6qYGE8bHbIgdSxWL0ATZ/N6pe2aVvjuItS1F7lz9PZGxyJhJFNrOiNHILHsz8T+vk9LgOsiESlJCxReLBql0KXZnz7t9oZGTnFjCuBb2VpePmGacbEQlG4K//PIqaV5Ufa/q319Wajd5HEU4gVM4Bx+uoAZ3UIcGcJDwDK/w5jw6L86787FoLTj5zDH8gfP5A11OkCs=</latexit>
<latexit sha1_base64="SU/TSRqhSNKT3zfwyFM+mpJHyjY=">AAAB73icbVBNS8NAEJ3Ur1q/qh69BIvgqSQi6LHoxWMF+wFtKJvttF262cTdiVBC/4QXD4p49e9489+4bXPQ1gcDj/dmmJkXJlIY8rxvp7C2vrG5Vdwu7ezu7R+UD4+aJk41xwaPZazbITMohcIGCZLYTjSyKJTYCse3M7/1hNqIWD3QJMEgYkMlBoIzslK7i8R6GU175YpX9eZwV4mfkwrkqPfKX91+zNMIFXHJjOn4XkJBxjQJLnFa6qYGE8bHbIgdSxWL0ATZ/N6pe2aVvjuItS1F7lz9PZGxyJhJFNrOiNHILHsz8T+vk9LgOsiESlJCxReLBql0KXZnz7t9oZGTnFjCuBb2VpePmGacbEQlG4K//PIqaV5Ufa/q319Wajd5HEU4gVM4Bx+uoAZ3UIcGcJDwDK/w5jw6L86787FoLTj5zDH8gfP5A11OkCs=</latexit>
<latexit sha1_base64="SU/TSRqhSNKT3zfwyFM+mpJHyjY=">AAAB73icbVBNS8NAEJ3Ur1q/qh69BIvgqSQi6LHoxWMF+wFtKJvttF262cTdiVBC/4QXD4p49e9489+4bXPQ1gcDj/dmmJkXJlIY8rxvp7C2vrG5Vdwu7ezu7R+UD4+aJk41xwaPZazbITMohcIGCZLYTjSyKJTYCse3M7/1hNqIWD3QJMEgYkMlBoIzslK7i8R6GU175YpX9eZwV4mfkwrkqPfKX91+zNMIFXHJjOn4XkJBxjQJLnFa6qYGE8bHbIgdSxWL0ATZ/N6pe2aVvjuItS1F7lz9PZGxyJhJFNrOiNHILHsz8T+vk9LgOsiESlJCxReLBql0KXZnz7t9oZGTnFjCuBb2VpePmGacbEQlG4K//PIqaV5Ufa/q319Wajd5HEU4gVM4Bx+uoAZ3UIcGcJDwDK/w5jw6L86787FoLTj5zDH8gfP5A11OkCs=</latexit>
<latexit sha1_base64="SU/TSRqhSNKT3zfwyFM+mpJHyjY=">AAAB73icbVBNS8NAEJ3Ur1q/qh69BIvgqSQi6LHoxWMF+wFtKJvttF262cTdiVBC/4QXD4p49e9489+4bXPQ1gcDj/dmmJkXJlIY8rxvp7C2vrG5Vdwu7ezu7R+UD4+aJk41xwaPZazbITMohcIGCZLYTjSyKJTYCse3M7/1hNqIWD3QJMEgYkMlBoIzslK7i8R6GU175YpX9eZwV4mfkwrkqPfKX91+zNMIFXHJjOn4XkJBxjQJLnFa6qYGE8bHbIgdSxWL0ATZ/N6pe2aVvjuItS1F7lz9PZGxyJhJFNrOiNHILHsz8T+vk9LgOsiESlJCxReLBql0KXZnz7t9oZGTnFjCuBb2VpePmGacbEQlG4K//PIqaV5Ufa/q319Wajd5HEU4gVM4Bx+uoAZ3UIcGcJDwDK/w5jw6L86787FoLTj5zDH8gfP5A11OkCs=</latexit>
gt
<latexit sha1_base64="P/GvVIeqVKiemQWRJKaaMovVVQM=">AAAB9XicbVDLSsNAFL3xWeur6tLNYBFclUQEXRbduKxgH9DWMplO2qGTSZi5UUrIf7hxoYhb/8Wdf+OkzUJbDwwczrmXe+b4sRQGXffbWVldW9/YLG2Vt3d29/YrB4ctEyWa8SaLZKQ7PjVcCsWbKFDyTqw5DX3J2/7kJvfbj1wbEal7nMa8H9KREoFgFK300Aspjv0gHWWDFLNBperW3BnIMvEKUoUCjUHlqzeMWBJyhUxSY7qeG2M/pRoFkzwr9xLDY8omdMS7lioactNPZ6kzcmqVIQkibZ9CMlN/b6Q0NGYa+nYyT2kWvVz8z+smGFz1U6HiBLli80NBIglGJK+ADIXmDOXUEsq0sFkJG1NNGdqiyrYEb/HLy6R1XvPcmnd3Ua1fF3WU4BhO4Aw8uIQ63EIDmsBAwzO8wpvz5Lw4787HfHTFKXaO4A+czx9Ca5L+</latexit>
<latexit sha1_base64="P/GvVIeqVKiemQWRJKaaMovVVQM=">AAAB9XicbVDLSsNAFL3xWeur6tLNYBFclUQEXRbduKxgH9DWMplO2qGTSZi5UUrIf7hxoYhb/8Wdf+OkzUJbDwwczrmXe+b4sRQGXffbWVldW9/YLG2Vt3d29/YrB4ctEyWa8SaLZKQ7PjVcCsWbKFDyTqw5DX3J2/7kJvfbj1wbEal7nMa8H9KREoFgFK300Aspjv0gHWWDFLNBperW3BnIMvEKUoUCjUHlqzeMWBJyhUxSY7qeG2M/pRoFkzwr9xLDY8omdMS7lioactNPZ6kzcmqVIQkibZ9CMlN/b6Q0NGYa+nYyT2kWvVz8z+smGFz1U6HiBLli80NBIglGJK+ADIXmDOXUEsq0sFkJG1NNGdqiyrYEb/HLy6R1XvPcmnd3Ua1fF3WU4BhO4Aw8uIQ63EIDmsBAwzO8wpvz5Lw4787HfHTFKXaO4A+czx9Ca5L+</latexit>
<latexit sha1_base64="P/GvVIeqVKiemQWRJKaaMovVVQM=">AAAB9XicbVDLSsNAFL3xWeur6tLNYBFclUQEXRbduKxgH9DWMplO2qGTSZi5UUrIf7hxoYhb/8Wdf+OkzUJbDwwczrmXe+b4sRQGXffbWVldW9/YLG2Vt3d29/YrB4ctEyWa8SaLZKQ7PjVcCsWbKFDyTqw5DX3J2/7kJvfbj1wbEal7nMa8H9KREoFgFK300Aspjv0gHWWDFLNBperW3BnIMvEKUoUCjUHlqzeMWBJyhUxSY7qeG2M/pRoFkzwr9xLDY8omdMS7lioactNPZ6kzcmqVIQkibZ9CMlN/b6Q0NGYa+nYyT2kWvVz8z+smGFz1U6HiBLli80NBIglGJK+ADIXmDOXUEsq0sFkJG1NNGdqiyrYEb/HLy6R1XvPcmnd3Ua1fF3WU4BhO4Aw8uIQ63EIDmsBAwzO8wpvz5Lw4787HfHTFKXaO4A+czx9Ca5L+</latexit>
<latexit sha1_base64="P/GvVIeqVKiemQWRJKaaMovVVQM=">AAAB9XicbVDLSsNAFL3xWeur6tLNYBFclUQEXRbduKxgH9DWMplO2qGTSZi5UUrIf7hxoYhb/8Wdf+OkzUJbDwwczrmXe+b4sRQGXffbWVldW9/YLG2Vt3d29/YrB4ctEyWa8SaLZKQ7PjVcCsWbKFDyTqw5DX3J2/7kJvfbj1wbEal7nMa8H9KREoFgFK300Aspjv0gHWWDFLNBperW3BnIMvEKUoUCjUHlqzeMWBJyhUxSY7qeG2M/pRoFkzwr9xLDY8omdMS7lioactNPZ6kzcmqVIQkibZ9CMlN/b6Q0NGYa+nYyT2kWvVz8z+smGFz1U6HiBLli80NBIglGJK+ADIXmDOXUEsq0sFkJG1NNGdqiyrYEb/HLy6R1XvPcmnd3Ua1fF3WU4BhO4Aw8uIQ63EIDmsBAwzO8wpvz5Lw4787HfHTFKXaO4A+czx9Ca5L+</latexit>
wt
<latexit sha1_base64="wQsvs8XlfPgJ6APhixgXICv3Sn0=">AAAB9XicbVDLSsNAFL2pr1pfVZdugkVwVRIRdFl047KCfUAby2Q6aYdOJmHmxlJC/sONC0Xc+i/u/BsnbRbaemDgcM693DPHjwXX6DjfVmltfWNzq7xd2dnd2z+oHh61dZQoylo0EpHq+kQzwSVrIUfBurFiJPQF6/iT29zvPDGleSQfcBYzLyQjyQNOCRrpsR8SHPtBOs0GKWaDas2pO3PYq8QtSA0KNAfVr/4woknIJFJBtO65ToxeShRyKlhW6SeaxYROyIj1DJUkZNpL56kz+8woQzuIlHkS7bn6eyMlodaz0DeTeUq97OXif14vweDaS7mME2SSLg4FibAxsvMK7CFXjKKYGUKo4iarTcdEEYqmqIopwV3+8ippX9Rdp+7eX9YaN0UdZTiBUzgHF66gAXfQhBZQUPAMr/BmTa0X6936WIyWrGLnGP7A+vwBWvuTDg==</latexit>
<latexit sha1_base64="wQsvs8XlfPgJ6APhixgXICv3Sn0=">AAAB9XicbVDLSsNAFL2pr1pfVZdugkVwVRIRdFl047KCfUAby2Q6aYdOJmHmxlJC/sONC0Xc+i/u/BsnbRbaemDgcM693DPHjwXX6DjfVmltfWNzq7xd2dnd2z+oHh61dZQoylo0EpHq+kQzwSVrIUfBurFiJPQF6/iT29zvPDGleSQfcBYzLyQjyQNOCRrpsR8SHPtBOs0GKWaDas2pO3PYq8QtSA0KNAfVr/4woknIJFJBtO65ToxeShRyKlhW6SeaxYROyIj1DJUkZNpL56kz+8woQzuIlHkS7bn6eyMlodaz0DeTeUq97OXif14vweDaS7mME2SSLg4FibAxsvMK7CFXjKKYGUKo4iarTcdEEYqmqIopwV3+8ippX9Rdp+7eX9YaN0UdZTiBUzgHF66gAXfQhBZQUPAMr/BmTa0X6936WIyWrGLnGP7A+vwBWvuTDg==</latexit>
<latexit sha1_base64="wQsvs8XlfPgJ6APhixgXICv3Sn0=">AAAB9XicbVDLSsNAFL2pr1pfVZdugkVwVRIRdFl047KCfUAby2Q6aYdOJmHmxlJC/sONC0Xc+i/u/BsnbRbaemDgcM693DPHjwXX6DjfVmltfWNzq7xd2dnd2z+oHh61dZQoylo0EpHq+kQzwSVrIUfBurFiJPQF6/iT29zvPDGleSQfcBYzLyQjyQNOCRrpsR8SHPtBOs0GKWaDas2pO3PYq8QtSA0KNAfVr/4woknIJFJBtO65ToxeShRyKlhW6SeaxYROyIj1DJUkZNpL56kz+8woQzuIlHkS7bn6eyMlodaz0DeTeUq97OXif14vweDaS7mME2SSLg4FibAxsvMK7CFXjKKYGUKo4iarTcdEEYqmqIopwV3+8ippX9Rdp+7eX9YaN0UdZTiBUzgHF66gAXfQhBZQUPAMr/BmTa0X6936WIyWrGLnGP7A+vwBWvuTDg==</latexit>
<latexit sha1_base64="wQsvs8XlfPgJ6APhixgXICv3Sn0=">AAAB9XicbVDLSsNAFL2pr1pfVZdugkVwVRIRdFl047KCfUAby2Q6aYdOJmHmxlJC/sONC0Xc+i/u/BsnbRbaemDgcM693DPHjwXX6DjfVmltfWNzq7xd2dnd2z+oHh61dZQoylo0EpHq+kQzwSVrIUfBurFiJPQF6/iT29zvPDGleSQfcBYzLyQjyQNOCRrpsR8SHPtBOs0GKWaDas2pO3PYq8QtSA0KNAfVr/4woknIJFJBtO65ToxeShRyKlhW6SeaxYROyIj1DJUkZNpL56kz+8woQzuIlHkS7bn6eyMlodaz0DeTeUq97OXif14vweDaS7mME2SSLg4FibAxsvMK7CFXjKKYGUKo4iarTcdEEYqmqIopwV3+8ippX9Rdp+7eX9YaN0UdZTiBUzgHF66gAXfQhBZQUPAMr/BmTa0X6936WIyWrGLnGP7A+vwBWvuTDg==</latexit>
wt+1
<latexit sha1_base64="r/oTFMkBdTR9L3i5TOvM6rbcAK4=">AAAB+XicbVDLSsNAFL2pr1pfUZduBosgCCURQZdFNy4r2Ae0IUymk3boZBJmJpUS8iduXCji1j9x5984abPQ1gMDh3Pu5Z45QcKZ0o7zbVXW1jc2t6rbtZ3dvf0D+/Coo+JUEtomMY9lL8CKciZoWzPNaS+RFEcBp91gclf43SmVisXiUc8S6kV4JFjICNZG8m17EGE9DsLsKfczfeHmvl13Gs4caJW4JalDiZZvfw2GMUkjKjThWKm+6yTay7DUjHCa1wapogkmEzyifUMFjqjysnnyHJ0ZZYjCWJonNJqrvzcyHCk1iwIzWeRUy14h/uf1Ux3eeBkTSaqpIItDYcqRjlFRAxoySYnmM0MwkcxkRWSMJSbalFUzJbjLX14lncuG6zTch6t687asowoncArn4MI1NOEeWtAGAlN4hld4szLrxXq3PhajFavcOYY/sD5/ALPpk68=</latexit>
<latexit sha1_base64="r/oTFMkBdTR9L3i5TOvM6rbcAK4=">AAAB+XicbVDLSsNAFL2pr1pfUZduBosgCCURQZdFNy4r2Ae0IUymk3boZBJmJpUS8iduXCji1j9x5984abPQ1gMDh3Pu5Z45QcKZ0o7zbVXW1jc2t6rbtZ3dvf0D+/Coo+JUEtomMY9lL8CKciZoWzPNaS+RFEcBp91gclf43SmVisXiUc8S6kV4JFjICNZG8m17EGE9DsLsKfczfeHmvl13Gs4caJW4JalDiZZvfw2GMUkjKjThWKm+6yTay7DUjHCa1wapogkmEzyifUMFjqjysnnyHJ0ZZYjCWJonNJqrvzcyHCk1iwIzWeRUy14h/uf1Ux3eeBkTSaqpIItDYcqRjlFRAxoySYnmM0MwkcxkRWSMJSbalFUzJbjLX14lncuG6zTch6t687asowoncArn4MI1NOEeWtAGAlN4hld4szLrxXq3PhajFavcOYY/sD5/ALPpk68=</latexit>
<latexit sha1_base64="r/oTFMkBdTR9L3i5TOvM6rbcAK4=">AAAB+XicbVDLSsNAFL2pr1pfUZduBosgCCURQZdFNy4r2Ae0IUymk3boZBJmJpUS8iduXCji1j9x5984abPQ1gMDh3Pu5Z45QcKZ0o7zbVXW1jc2t6rbtZ3dvf0D+/Coo+JUEtomMY9lL8CKciZoWzPNaS+RFEcBp91gclf43SmVisXiUc8S6kV4JFjICNZG8m17EGE9DsLsKfczfeHmvl13Gs4caJW4JalDiZZvfw2GMUkjKjThWKm+6yTay7DUjHCa1wapogkmEzyifUMFjqjysnnyHJ0ZZYjCWJonNJqrvzcyHCk1iwIzWeRUy14h/uf1Ux3eeBkTSaqpIItDYcqRjlFRAxoySYnmM0MwkcxkRWSMJSbalFUzJbjLX14lncuG6zTch6t687asowoncArn4MI1NOEeWtAGAlN4hld4szLrxXq3PhajFavcOYY/sD5/ALPpk68=</latexit>
<latexit sha1_base64="r/oTFMkBdTR9L3i5TOvM6rbcAK4=">AAAB+XicbVDLSsNAFL2pr1pfUZduBosgCCURQZdFNy4r2Ae0IUymk3boZBJmJpUS8iduXCji1j9x5984abPQ1gMDh3Pu5Z45QcKZ0o7zbVXW1jc2t6rbtZ3dvf0D+/Coo+JUEtomMY9lL8CKciZoWzPNaS+RFEcBp91gclf43SmVisXiUc8S6kV4JFjICNZG8m17EGE9DsLsKfczfeHmvl13Gs4caJW4JalDiZZvfw2GMUkjKjThWKm+6yTay7DUjHCa1wapogkmEzyifUMFjqjysnnyHJ0ZZYjCWJonNJqrvzcyHCk1iwIzWeRUy14h/uf1Ux3eeBkTSaqpIItDYcqRjlFRAxoySYnmM0MwkcxkRWSMJSbalFUzJbjLX14lncuG6zTch6t687asowoncArn4MI1NOEeWtAGAlN4hld4szLrxXq3PhajFavcOYY/sD5/ALPpk68=</latexit>
Loss/Cost function (w)
(Global) minimum
(Local) minimum
ηt =
α
β + ∑
t
s=1
g2
s
wt+1 = wt − ηtgt
FTRL-Proximal (Online)
Follow-the-leaders
Proximal (stability)
Regularization (sparsity)
Reference: Ad click prediction: a view from the trenches
wt+1 = arg min
w
(g1:t ⋅ w +
1
2
t
∑
s=1
σs∥w − ws∥2
2 + λ1∥w∥1)
AD1 AD2 AD3 AD4 AD5 …
AD6 …
WUxA
X
1
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
M
F
10
20
30
40
50+
SC1
SC2
SC3
…
PF1
PF2
PF3
…
…
WT
w340
w3SC2
w3PF1
w3PF3
w3M
w3F
𝛔
Pr(y = 1|X) =
1
1 + exp(−w⊤x)
Σ*
w3M
0
0
0
wTx = w3M+w340+w3SC2+w3PF1+w3PF3
USR
Feature & Embedding
Any data (log) but not private
- Estimation
- Encapsulation/Abstraction
- k-Anonymity
con
fi
dential
Curse of Dimensionality
Millions of features and cardinality
Incapable (memory)
Speed
Sparsity
Over millions to billions of sparse encoding
User
Creative, subscription, KWD, …
PCA / AE
Clustering
Hashing trick
Random Projection
SVD / [N/B]MF
LDA (topic modeling)
W2V / Glove
Contrastive Learning
Dim. Reduction
Embedding vector
Registration #
Activity/Service Log
Gender, Age Far far ago
Naive Bayes (GA)
Ad Feedback (Click)
Mapping & Counting (Interest)
Clustering (k-means)
Topic Modeling (LDA)
FM & DNN
Subscription (Channel)
Feature Embeddingwith Dimensionality Reduction
• Reliability / Speed / Scalability
• Robustness (+) vs Information loss (-)
• Abstraction (anonymity) vs Less interpretability (-)
Lessons learned
• 30 ~ 50 topics enough
• Multiple sources in one embedding? Not work properly
• How to retain previous dimension structure (topic semantics)
- Syntactic hashing (short term) and re-training (long term)
RIG (Relative Information Gain)
0.058
0.059
0.060
0.061
0.062
0.17
0.18
0.20
0.21
0.22
baseline 10 20 30 40 50
LogLoss
# Topics
Deep Learning
Prediction Layer
Embedding Layer 2
Soft max = Logistic Regression
Deep Aggregate Embedding
(Dimensionality reduction / projection)
Embedding for each features
(Raw data to numerical vectors)
Embedding Layer 1
𝛔
Prediction
Pr(Y = 1| X)
Deep & Cross Embedding
Primitive Embedding
Demography
AD response
Subscription
AD
Pooling & Concat.
https://paperswithcode.com/sota/click-through-rate-prediction-on-criteo
DCNv3 GDCN FinalMLP
Two-stream model (W&D, S&C)
- Feature interaction (LR → FM → DNN)
- Fusion (Ensemble, MoE)
Accuracy
Interpretability
Speed/latency
Economic feasibility
Security / Privacy
…
VS
Research / Academia Production / Industry
Maximize Accuracy Maximize f(I, S, E, …)
subject to
Accuracy > X
Reliability & Robustness
- Scale up & out
- Slim model
- Simple architecture
- Few #hidden layers & nodes
- Limited features —> incremental model
- Starport (C++) (vs deployment time)
- Candidate generation
- Hybrid (O
ff
-Heavy + On-Light)
Training Time
-> Model update delay
-> Lack of recency
Inference Time
-> Time-out (No Ad)
AutoBid
Daily tra
ffi
c: 1,000,000
Avg(eCPM): 2,000
Conversion/Tra
ffi
c: 0.01%
Daily budget: 1,000,000
Avg(pCTR): 1%
BAcpc: 100? 200? 500?
Ryan LLC
RUN with RYAN
A B
BidAmount (BA) 100 500
pCTR 1% (0.01) 1% (0.01)
eCPM
(1,000 * BA * pCTR)
1,000
= 1,000 * 100 * 0.01
5,000
= 1,000 * 500 * 0.01
Expected WinRate 10% 90%
Expected impression
(Tra
ffi
c * winRate)
100,000 900,000
Spending
(Budget: 1,000,000)
100,000
= 100,000 * 0.01 * 100
4,500,000
= 900,000 * 0.01 * 500
[Avg. eCPM = 2,000]
Budget
Time
1,000,000
900,000
Impressions: 100,000
Conversions: 10
Impressions: 222,222
Conversions: 22
A
B
What is the optimal BA?
BA = 200?
Impressions: 500,000
Conversions: 50+
00:00 24:00
Landscape Forecasting
Budget Smoothing
Tra
ffi
c Selection
Pacing & Control
Historical data, ARIMA, Prophet
(LinBid) BA = BAbase * Util(Response)
- pCTR(UxA) / pCTR(A)
- pCVR(UxA) / pCVR(A)
PID Control: Proportional (present) + Integral (past) + Derivative (future)
0
600
1,200
1,800
2,400
3,000
0
100
200
300
400
500
Cumulative
Clicks
Bid Amount
Fixed (300) vs AutoBid
Besides eCPM
LookALike Targeting
(Conversion-driven)
Gift for YOU
Buy one get one free
Shop Now
It’s Travel Time
Refresh yourself. Booking
Congratulations!
Happy birthday~~ Purchase
Male or young
Outdoor activity
Rider
Potential customers
Inventory buying Audience buying
Static Info.
• Gender, age, region
• Interest
Context
• Placement (inventory)
• Current time & location
• Device / OS
• Wi
fi
/ Cellular
Custom
• Upload customers
• Inclusive / Exclusive
Dynamic (behavior) Info.
• Site visit
• Product (Page) view
• Keyword query
• Category
• Cohort
LookALike
E
ff
ective & Coverage
AdvSet Auto (LAL)
Seemingly
Customers
Potential
Customers
Population
LookALike
(Likely to purchase)
Sorted by
total information value
Seed Audience
(Conversion Users)
Non-conversion Users
Feature #1 (IV)
Feature #2 (IV)
Feature #3 (IV)
Feature #x (IV)
Common (p)
but
Distinguishable (q)
IV = (p − q)log
p(1 − q)
(1 − p)q
Impression ➙ Click ➙ Conversion
Y = 1
Y = 0
Seed Audience
(Conversion Users)
Non-conversion Users
Pr(Y = 1 | X) = LR(X) = DNN(X)
Population
LookALike
(Likely to purchase)
Order by Pr(Y=1|X) desc limit #LAL
Candidate Generation
Only 1,000+ creatives held 95% impressions.
10 50 100 200 500 500+
# creatives (1w, Mobile only)
vs 1M creatives
User
Ad Creatives
= x
ui
T1 T2 T3 T4
T1
T2
T3
T4
A4 A8
click{user, creative}
Matrix Factorization
0%
25%
50%
75%
100%
10 50 100 500 1,000 2,000 3,000 5,000 10,000 50,000
2 8 32
Top-N
91~94%
+ New creatives
+ High performing creatives
Order by < hCTR * log(#Imp) > desc limit 1,000
UserEmbNet AdEmbNet
Same Dimension
Rank/Similarity
U/A Embedding Net
ANN (Approximate Nearest Neighbor)
- LSH, KD-tree
- ANNoy (ANN Oh Yeah)
- HNSW (Hierarchical Navigable Small World)
- Product Quantization (Meta’s FAISS)
- ScaNN (Scalable NN by Google)
- …
Find N nearest Ads approximately
Ads
User
User
Ad Creatives
= x
User Embedding Vector
AD Embedding Vector
ANN
Bloom Filter, Quotient Filter, etc
CVR & QS
Impression
Click
Conversion
Branding, inventory, CPT/CPM
Tra
ffi
c, audience, CPC
Purchase, right audience, CPA/CPS/AutoBid
Time
Impression
Click ( ~ 10%)
s m d w
Conversion ( ~ 1%)
h
Survival Model
Delay time
D = D0e−λt
Pr(Y = 1 | X) ⟼ Pr(Y = 1 | X, D) * Pr(D | X)
Reference: Modeling delayed feedback in display advertising
eCPMCPA = BACPA * pCTR * pCVR (* 1,000)
#Click / #Impression
#Conversion / #Click
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Order by { Relevance, Popularity, Quality }
Source
Times
Quality(CVR) = f( pCVR(UxA) / pCVR(A) )
eCPM = BA * pCTR * Q(CVR) (* 1,000)
Exploration
A General introduction to Ad ranking algorithms
It’s Travel Time
Refresh yourself. Booking
90% tra
ffi
c pCTR
pCTR’ = pCTR +
𝜶
Random bucket MAB
(Multi-armed bandit)
Thompson sampling
Posterior
Observed
10% tra
ffi
c
make unstable to make stable
Cold-start and Exploration
— Random bucket
— Thompson sampling
— Stochastic feature augmentation (drop-out)
— Transfer learning (with hierarchy)
— Model initialization
— Semantic embedding (learning to hash)
— Jitter (tie-breaking)
Explore to get more training data
Proximity
Negative Feedback
• Hide (Do Not Show Ads)
• AdBlock
• DNT (Do Not Track) / LMT (Limit Ad Tracking)
• ITP / ATT
• NDNC (No Response)
• Abusing / Fraud
Inventory-buying (CPT/CPM)
Audience-buying (CPC/CPA)
Hybrid-buying (CPM + CPC)
Federated Learning
Subscription (Ad-free)
Auction
GSP vs VCG
Auction with Reserve Price
No Bid
Win
Win
2nd price
2nd price
Win
2nd price
Win
Win & 1st price
Auction with Hard Bid Floor Auction with Soft Bid Floor
No Ad
From Prediction to Control
ReCalibration (Platt Scaling, Isotonic Regression)
Image from https://machinelearningmastery.com/calibrated-classi cation-model-in-scikit-learn/
Image from http://www0.cs.ucl.ac.uk/sta
ff
/w.zhang/rtb-papers/linkedin-pacing.pdf
0%
20%
40%
60%
80%
100%
1 2 3 4 5
Viewable Count
vCTR
pCTR = f(USRxAD, Context, VCnt, …)
Quality Control: Cut-o
ff
low performing ADs
pCTR eCPM
No ad > wrong ad
Dynamic Creative Optimization (DCO)
in Perception AI Era
Sorry for nothing to talk about…
Creative Generation (& Personalization)
in Generative AI Era
Sorry for nothing to talk about…
System & Experiment
Data Overload & Imbalance
Millions of clicks over billions of impressions
Negative downsampling (
𝞈
) q =
p
p +
1 − p
ω
Clicked
Not clicked
Research O
ffl
ine Test Online Test Production
• Model validity
• Log-loss, RIG
• Simulation
• Validity & revenue
• CTR, calibration
• 0 Bucket
Problem & ideation Complexity & Stability
Random
A’
B
C
D
A
• 5 ~ 10%
• Exploration (i.e., cold-start), serving-unbiased, reference (worst case)
• Main bucket (control group)
• Current serving version
• Identical model to main bucket
• To check the e
ff
ect of serving bias
• Do not reject null hypothesis (A = A’)
• Test bucket (treatment group)
• 10% (up-to 50%, except random bucket)
• Hours to weeks
• Buckets are randomly assigned to users or tra
ffi
c.
• User-based buckets are periodically re-assigned.
• B’?
Revenue, Revenue, Revenue
- CPM / RPM
- CTR / CVR / ROAS
Model Robustness
- RIG (Relative Information Gain)
- Calibration = predicted / observed
- AUC, Classi
fi
cation accuracy
Better Model More Clicks More Revenue Incentive?
A Data Scientist’s Happiness Circuit
Revenue (B / Y: 99.01%)
Observed CTR (B / Y: 112.83%)
Predicted CTR (B / Y: 113.28%)
Calibration (103.4 vs 102.6)
Serving Latency
• Dimensionality reduction (& feature selection)
• Negative down-sampling
• Candidate generation
• Simple & slim model ⟹ proper model
- Simple structure & less layers/nodes
• Binary representation (vs sparsity & high dimension)
• GoLang / C++
• Scale up & out
• …
Supplement
Account
Campaign
Group (Set)
Creative
Objective
(Budget)
Targeting (PTA)
BidType & BidAmount
IMG/MOV/TXT/DCO/Gen
Rank by Group/Adv
Rank by Creative
BA * pCTR | Targeting(1/0)
Group Creative
BA * pCTR(G)
MAB or Generate
CTR, RPM (5~10%p lift)
Calibration -> bucket size
Contrastive Learning
for better embedding
& more applicable
Triplet Loss
Minimize Max(Sim(A, P) - Sim(A, N) + ⍺, 0)
UserEmbNet AdEmbNet
P
N
A
Positive Negative
UAnc APos ANeg
Loss = Loss +
𝜆
*Diff(Enew - Eold)
Deep Embedding
Simple
Prediction
Wide
Deep
2N
X
2N + N2
None (2N) Inner (2N + 1) Outer (2N + N2)
PQ-Inner (2N + M2) PQ-Outer (2N + M) Element-wise (3N)
LLM / Generative AI
• As a ranker?
• Feature Augmentation (User & Ad)
• Cold-start
• Explainability
• Creative (Message) Generation
• Simulation / Judge
• …
• Agent?
Vibe creation
Ad Automation
• User Response Prediction
• Auto-Targeting (Performance)
• AutoBid
• Creative Generation (DCO/Gen)
• Set Objectives
• Budget Setting
• (Agent?)
• Go or Stop
• Nothing to do
Revenue, Tra
ffi
c, & Automation
Question!
Q’s will set you free

More Related Content

PDF
카카오의 광고지능 (Intelligence on Kakao Advertising)
PDF
Jiří Malý - How to optimize RTB campaigns – current possibilities of the Czec...
PPTX
RTB Bid Landscape in Adform
PPTX
Vpon - 廣告效果導向為基礎的行動廣告系統
PPTX
June 2014 HUG: Interactive analytics over hadoop
PPTX
Deepak-Computational Advertising-The LinkedIn Way
PPTX
Leveraging R in Big Data of Mobile Ads (R在行動廣告大數據的應用)
PPTX
Interactive Analytics in Human Time
카카오의 광고지능 (Intelligence on Kakao Advertising)
Jiří Malý - How to optimize RTB campaigns – current possibilities of the Czec...
RTB Bid Landscape in Adform
Vpon - 廣告效果導向為基礎的行動廣告系統
June 2014 HUG: Interactive analytics over hadoop
Deepak-Computational Advertising-The LinkedIn Way
Leveraging R in Big Data of Mobile Ads (R在行動廣告大數據的應用)
Interactive Analytics in Human Time

Similar to A General introduction to Ad ranking algorithms (20)

PDF
Reel bid insightd-eproject
PDF
A Brief Introduction of Real-time Bidding Display Advertising and Evaluation ...
PPTX
Computational Advertising in Yelp Local Ads
PDF
Customer Churn, A Data Science Use Case in Telecom
PDF
StackAdapt Machine Learning Pipeline
PDF
REX Hadoop et R
PDF
RTB & Programmatic Advertising Italiano
PDF
A dynamic pricing model for unifying programmatic guarantee and real-time bid...
PDF
[DOLAP2020] Towards Conversational OLAP
PDF
Sparse Support Faces - Battista Biggio - Int'l Conf. Biometrics, ICB 2015, Ph...
DOCX
Impact Analysis FRAN PCT DATA DEFINITION CHANGE
PDF
VertaMedia Videonuze presentation
PDF
Lucie Sperkova - Pioneering multi-channel attribution for the lack of compreh...
PPTX
IMPLEMENTATION OF MACHINE LEARNING IN E-COMMERCE & BEYOND
PPTX
Overview RTB ecosystem
PPTX
Overview RTB ecosystem
PDF
Dear - 딥러닝 논문읽기 모임 김창연님
PDF
Translating data to predictive models
PPTX
[Cryptica 22] Intellya’s AI CORE bringing value to businesses: the power of C...
PDF
Translating data to model ICCS2022_pub.pdf
Reel bid insightd-eproject
A Brief Introduction of Real-time Bidding Display Advertising and Evaluation ...
Computational Advertising in Yelp Local Ads
Customer Churn, A Data Science Use Case in Telecom
StackAdapt Machine Learning Pipeline
REX Hadoop et R
RTB & Programmatic Advertising Italiano
A dynamic pricing model for unifying programmatic guarantee and real-time bid...
[DOLAP2020] Towards Conversational OLAP
Sparse Support Faces - Battista Biggio - Int'l Conf. Biometrics, ICB 2015, Ph...
Impact Analysis FRAN PCT DATA DEFINITION CHANGE
VertaMedia Videonuze presentation
Lucie Sperkova - Pioneering multi-channel attribution for the lack of compreh...
IMPLEMENTATION OF MACHINE LEARNING IN E-COMMERCE & BEYOND
Overview RTB ecosystem
Overview RTB ecosystem
Dear - 딥러닝 논문읽기 모임 김창연님
Translating data to predictive models
[Cryptica 22] Intellya’s AI CORE bringing value to businesses: the power of C...
Translating data to model ICCS2022_pub.pdf
Ad

More from Buhwan Jeong (8)

PDF
Life of a data scientist (pub)
PDF
Deep learning - Conceptual understanding and applications
PDF
Recommendation for dummy
PDF
포스트 테일러 시대에 살아남기
PDF
Unexperienced pasts
PDF
Minority Report about Search Experience & Keyword Management
PDF
DDC2011 - Association
PDF
Internet Trends (C*), Search & Social
Life of a data scientist (pub)
Deep learning - Conceptual understanding and applications
Recommendation for dummy
포스트 테일러 시대에 살아남기
Unexperienced pasts
Minority Report about Search Experience & Keyword Management
DDC2011 - Association
Internet Trends (C*), Search & Social
Ad

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Spectroscopy.pptx food analysis technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
cuic standard and advanced reporting.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Network Security Unit 5.pdf for BCA BBA.
Spectroscopy.pptx food analysis technology
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Unlocking AI with Model Context Protocol (MCP)
Assigned Numbers - 2025 - Bluetooth® Document
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Programs and apps: productivity, graphics, security and other tools
Reach Out and Touch Someone: Haptics and Empathic Computing
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
The Rise and Fall of 3GPP – Time for a Sabbatical?
cuic standard and advanced reporting.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

A General introduction to Ad ranking algorithms

  • 1. Beyond Ad Selection to Automation Jeong, Buhwan https://brunch.co.kr/@jejugrapher
  • 2. Nothing is certain but death and taxes. “AD” - Benjamin Franklin
  • 3. Ad Eco System & Selection
  • 4. Audience SSP DSP DMP Publisher Audience Tracking (MAT/SDK/Pixel) Transaction log (train) Audience Info. (target) Log Visit Ad Inventory Ad Selection - Filtering - Ranking - Pricing Mediation (Auction) Log Traf fi c Req4Bid Advertiser Impression Bid (AD) Data
  • 5. SSP DSP RANKr DSP SSP Inventory DSPs ADs Req4Bid Abusing/HideAds User, Inventory, RP Live, Budget Inventory (Size, format) Targeting: U, T, P User, Ads UserInfo Top Ads by eCPM eCPM (BA & pCTR) pCVR, C/G & Cuto f Frequency/Recency Duplicate Top 1 Ad Auction DSPs DSPs DSPs
  • 6. SSP AdServer DSP AdServer Targeting Candidate Gen. Ranking Quality Control DSP AdServer SSP AdServer Ranker Reserve price, feedback (HideAds), abusing On-live, budget, inventory (format, size), time Adv-set user segment → Automatic (LAL) Historical User-Ad interaction & similarity eCPM = BA * pCTR [ * pCVR ] Cut-o ff : eCPM, pCTR, pCVR, BA Frequency capping, implicit feedback Auction (RP, Hard/Soft bid fl oor) SSP DSP DSP DSP From millions to one
  • 7. E ff ective Cost Per Mille (eCPM)
  • 9. M, 30, Riding, Travel A Riding academy 1,000 / mille CPM B Sports wear mall 100 / click CPC C Bicycle shop 10,000 / acqs. CPA
  • 10. BA ChargeRate (CTR/CVR) eCPM (BA * CHR * 1,000) A 1 100% 1,000 B 100 1.2% 1,200 C 10,000 0.011% 1,100
  • 11. Impression (1,000) Click Conversion CHR CPM 1,000 100% CPC 1,200 100 1.2% CPA 1,100 10,000 0.011% eCPM: an estimated revenue per 1,000 impressions
  • 12. eCPM: Single Comparison Metric (Estimated Tra ffi c Value) Ranking (Order by eCPM desc) Charging (Second price / GSP) Bidding (SSP margin) &
  • 13. eCPM = BA * pCHR * 1,000 (pCTR)
  • 14. pCTR
  • 15. Why Accurate pCTR? - Correct ChargeAmount - Wrong Ranking (pCTR < CTR) - Reverse Margin (pCTR > CTR)
  • 16. Leave (y = 0) Click (y = 1) X Traf fi c properties (ADxUSRxPLx…)
  • 17. Pr(y = 1 | x) Aggregation of historical data Learning from historical data Reactive method vs Predictive method
  • 18. Segment Decision Tree Logistic Regression FM/FFM DNN Counting (hCTR) Prediction (pCTR) Few Raw Embedding (DimRed) Interaction & Latent Deep & Wide
  • 20. Linear Regression (Minimizing MSE loss) Logistic Regression (Minimizing NLL loss) 0 1
  • 21. More likely to click Logistic Regression (Maximum entropy) Sum of traf fi c properties Less likely to click Pr(y = 1|x) = 1 1 + exp(−wTx) Softmax of binary (1/0) output
  • 22. Pr(y = 1|x) = 1 1 + exp(−wTx) Loss = |y − ̂ y| y <latexit sha1_base64="paQhm8QH9RuJYjMoRm3VlxatzsM=">AAAB6HicdVDLSsNAFJ3UV62vqks3g0VwFSY1tHVXdOOyBfuANpTJdNKOnUzCzEQIoV/gxoUibv0kd/6Nk7aCih64cDjnXu69x485UxqhD6uwtr6xuVXcLu3s7u0flA+PuipKJKEdEvFI9n2sKGeCdjTTnPZjSXHoc9rzZ9e537unUrFI3Oo0pl6IJ4IFjGBtpHY6KleQfdmoVd0aRDZCdafq5KRady9c6BglRwWs0BqV34fjiCQhFZpwrNTAQbH2Miw1I5zOS8NE0RiTGZ7QgaECh1R52eLQOTwzyhgGkTQlNFyo3ycyHCqVhr7pDLGeqt9eLv7lDRIdNLyMiTjRVJDloiDhUEcw/xqOmaRE89QQTCQzt0IyxRITbbIpmRC+PoX/k27VdpDttN1K82oVRxGcgFNwDhxQB01wA1qgAwig4AE8gWfrznq0XqzXZWvBWs0cgx+w3j4BR9uNPw==</latexit> <latexit sha1_base64="paQhm8QH9RuJYjMoRm3VlxatzsM=">AAAB6HicdVDLSsNAFJ3UV62vqks3g0VwFSY1tHVXdOOyBfuANpTJdNKOnUzCzEQIoV/gxoUibv0kd/6Nk7aCih64cDjnXu69x485UxqhD6uwtr6xuVXcLu3s7u0flA+PuipKJKEdEvFI9n2sKGeCdjTTnPZjSXHoc9rzZ9e537unUrFI3Oo0pl6IJ4IFjGBtpHY6KleQfdmoVd0aRDZCdafq5KRady9c6BglRwWs0BqV34fjiCQhFZpwrNTAQbH2Miw1I5zOS8NE0RiTGZ7QgaECh1R52eLQOTwzyhgGkTQlNFyo3ycyHCqVhr7pDLGeqt9eLv7lDRIdNLyMiTjRVJDloiDhUEcw/xqOmaRE89QQTCQzt0IyxRITbbIpmRC+PoX/k27VdpDttN1K82oVRxGcgFNwDhxQB01wA1qgAwig4AE8gWfrznq0XqzXZWvBWs0cgx+w3j4BR9uNPw==</latexit> <latexit sha1_base64="paQhm8QH9RuJYjMoRm3VlxatzsM=">AAAB6HicdVDLSsNAFJ3UV62vqks3g0VwFSY1tHVXdOOyBfuANpTJdNKOnUzCzEQIoV/gxoUibv0kd/6Nk7aCih64cDjnXu69x485UxqhD6uwtr6xuVXcLu3s7u0flA+PuipKJKEdEvFI9n2sKGeCdjTTnPZjSXHoc9rzZ9e537unUrFI3Oo0pl6IJ4IFjGBtpHY6KleQfdmoVd0aRDZCdafq5KRady9c6BglRwWs0BqV34fjiCQhFZpwrNTAQbH2Miw1I5zOS8NE0RiTGZ7QgaECh1R52eLQOTwzyhgGkTQlNFyo3ycyHCqVhr7pDLGeqt9eLv7lDRIdNLyMiTjRVJDloiDhUEcw/xqOmaRE89QQTCQzt0IyxRITbbIpmRC+PoX/k27VdpDttN1K82oVRxGcgFNwDhxQB01wA1qgAwig4AE8gWfrznq0XqzXZWvBWs0cgx+w3j4BR9uNPw==</latexit> <latexit sha1_base64="paQhm8QH9RuJYjMoRm3VlxatzsM=">AAAB6HicdVDLSsNAFJ3UV62vqks3g0VwFSY1tHVXdOOyBfuANpTJdNKOnUzCzEQIoV/gxoUibv0kd/6Nk7aCih64cDjnXu69x485UxqhD6uwtr6xuVXcLu3s7u0flA+PuipKJKEdEvFI9n2sKGeCdjTTnPZjSXHoc9rzZ9e537unUrFI3Oo0pl6IJ4IFjGBtpHY6KleQfdmoVd0aRDZCdafq5KRady9c6BglRwWs0BqV34fjiCQhFZpwrNTAQbH2Miw1I5zOS8NE0RiTGZ7QgaECh1R52eLQOTwzyhgGkTQlNFyo3ycyHCqVhr7pDLGeqt9eLv7lDRIdNLyMiTjRVJDloiDhUEcw/xqOmaRE89QQTCQzt0IyxRITbbIpmRC+PoX/k27VdpDttN1K82oVRxGcgFNwDhxQB01wA1qgAwig4AE8gWfrznq0XqzXZWvBWs0cgx+w3j4BR9uNPw==</latexit> ŷ <latexit sha1_base64="QmQDjeeN4gpKWLfKwkS/Fz5qGt4=">AAAB7nicdVDLSgNBEOyNrxhfUY9eBoPgKcwEMckt6MVjBPOAZAmzk9lkyOyDmVlhWfIRXjwo4tXv8ebfOJtEUNGChqKqm+4uL5ZCG4w/nMLa+sbmVnG7tLO7t39QPjzq6ihRjHdYJCPV96jmUoS8Y4SRvB8rTgNP8p43u8793j1XWkThnUlj7gZ0EgpfMGqs1BtOqcnS+ahcwVWMMSEE5YTUL7ElzWajRhqI5JZFBVZoj8rvw3HEkoCHhkmq9YDg2LgZVUYwyeelYaJ5TNmMTvjA0pAGXLvZ4tw5OrPKGPmRshUatFC/T2Q00DoNPNsZUDPVv71c/MsbJMZvuJkI48TwkC0X+YlEJkL572gsFGdGppZQpoS9FbEpVZQZm1DJhvD1KfqfdGtVgqvk9qLSulrFUYQTOIVzIFCHFtxAGzrAYAYP8ATPTuw8Oi/O67K14KxmjuEHnLdP/reQAA==</latexit> <latexit sha1_base64="QmQDjeeN4gpKWLfKwkS/Fz5qGt4=">AAAB7nicdVDLSgNBEOyNrxhfUY9eBoPgKcwEMckt6MVjBPOAZAmzk9lkyOyDmVlhWfIRXjwo4tXv8ebfOJtEUNGChqKqm+4uL5ZCG4w/nMLa+sbmVnG7tLO7t39QPjzq6ihRjHdYJCPV96jmUoS8Y4SRvB8rTgNP8p43u8793j1XWkThnUlj7gZ0EgpfMGqs1BtOqcnS+ahcwVWMMSEE5YTUL7ElzWajRhqI5JZFBVZoj8rvw3HEkoCHhkmq9YDg2LgZVUYwyeelYaJ5TNmMTvjA0pAGXLvZ4tw5OrPKGPmRshUatFC/T2Q00DoNPNsZUDPVv71c/MsbJMZvuJkI48TwkC0X+YlEJkL572gsFGdGppZQpoS9FbEpVZQZm1DJhvD1KfqfdGtVgqvk9qLSulrFUYQTOIVzIFCHFtxAGzrAYAYP8ATPTuw8Oi/O67K14KxmjuEHnLdP/reQAA==</latexit> <latexit sha1_base64="QmQDjeeN4gpKWLfKwkS/Fz5qGt4=">AAAB7nicdVDLSgNBEOyNrxhfUY9eBoPgKcwEMckt6MVjBPOAZAmzk9lkyOyDmVlhWfIRXjwo4tXv8ebfOJtEUNGChqKqm+4uL5ZCG4w/nMLa+sbmVnG7tLO7t39QPjzq6ihRjHdYJCPV96jmUoS8Y4SRvB8rTgNP8p43u8793j1XWkThnUlj7gZ0EgpfMGqs1BtOqcnS+ahcwVWMMSEE5YTUL7ElzWajRhqI5JZFBVZoj8rvw3HEkoCHhkmq9YDg2LgZVUYwyeelYaJ5TNmMTvjA0pAGXLvZ4tw5OrPKGPmRshUatFC/T2Q00DoNPNsZUDPVv71c/MsbJMZvuJkI48TwkC0X+YlEJkL572gsFGdGppZQpoS9FbEpVZQZm1DJhvD1KfqfdGtVgqvk9qLSulrFUYQTOIVzIFCHFtxAGzrAYAYP8ATPTuw8Oi/O67K14KxmjuEHnLdP/reQAA==</latexit> <latexit sha1_base64="QmQDjeeN4gpKWLfKwkS/Fz5qGt4=">AAAB7nicdVDLSgNBEOyNrxhfUY9eBoPgKcwEMckt6MVjBPOAZAmzk9lkyOyDmVlhWfIRXjwo4tXv8ebfOJtEUNGChqKqm+4uL5ZCG4w/nMLa+sbmVnG7tLO7t39QPjzq6ihRjHdYJCPV96jmUoS8Y4SRvB8rTgNP8p43u8793j1XWkThnUlj7gZ0EgpfMGqs1BtOqcnS+ahcwVWMMSEE5YTUL7ElzWajRhqI5JZFBVZoj8rvw3HEkoCHhkmq9YDg2LgZVUYwyeelYaJ5TNmMTvjA0pAGXLvZ4tw5OrPKGPmRshUatFC/T2Q00DoNPNsZUDPVv71c/MsbJMZvuJkI48TwkC0X+YlEJkL572gsFGdGppZQpoS9FbEpVZQZm1DJhvD1KfqfdGtVgqvk9qLSulrFUYQTOIVzIFCHFtxAGzrAYAYP8ATPTuw8Oi/O67K14KxmjuEHnLdP/reQAA==</latexit>
  • 23. Find w that minimizes the negative log likelihood (w/ L2 regularization) Control model complexity NLL for logistic regression arg min w n ∑ i=1 log(1 + exp(−yiwT xi)) + λ 2 ∥w∥2 2
  • 24. Stochastic Gradient Descent (SGD) ⌘t <latexit sha1_base64="SU/TSRqhSNKT3zfwyFM+mpJHyjY=">AAAB73icbVBNS8NAEJ3Ur1q/qh69BIvgqSQi6LHoxWMF+wFtKJvttF262cTdiVBC/4QXD4p49e9489+4bXPQ1gcDj/dmmJkXJlIY8rxvp7C2vrG5Vdwu7ezu7R+UD4+aJk41xwaPZazbITMohcIGCZLYTjSyKJTYCse3M7/1hNqIWD3QJMEgYkMlBoIzslK7i8R6GU175YpX9eZwV4mfkwrkqPfKX91+zNMIFXHJjOn4XkJBxjQJLnFa6qYGE8bHbIgdSxWL0ATZ/N6pe2aVvjuItS1F7lz9PZGxyJhJFNrOiNHILHsz8T+vk9LgOsiESlJCxReLBql0KXZnz7t9oZGTnFjCuBb2VpePmGacbEQlG4K//PIqaV5Ufa/q319Wajd5HEU4gVM4Bx+uoAZ3UIcGcJDwDK/w5jw6L86787FoLTj5zDH8gfP5A11OkCs=</latexit> <latexit sha1_base64="SU/TSRqhSNKT3zfwyFM+mpJHyjY=">AAAB73icbVBNS8NAEJ3Ur1q/qh69BIvgqSQi6LHoxWMF+wFtKJvttF262cTdiVBC/4QXD4p49e9489+4bXPQ1gcDj/dmmJkXJlIY8rxvp7C2vrG5Vdwu7ezu7R+UD4+aJk41xwaPZazbITMohcIGCZLYTjSyKJTYCse3M7/1hNqIWD3QJMEgYkMlBoIzslK7i8R6GU175YpX9eZwV4mfkwrkqPfKX91+zNMIFXHJjOn4XkJBxjQJLnFa6qYGE8bHbIgdSxWL0ATZ/N6pe2aVvjuItS1F7lz9PZGxyJhJFNrOiNHILHsz8T+vk9LgOsiESlJCxReLBql0KXZnz7t9oZGTnFjCuBb2VpePmGacbEQlG4K//PIqaV5Ufa/q319Wajd5HEU4gVM4Bx+uoAZ3UIcGcJDwDK/w5jw6L86787FoLTj5zDH8gfP5A11OkCs=</latexit> <latexit sha1_base64="SU/TSRqhSNKT3zfwyFM+mpJHyjY=">AAAB73icbVBNS8NAEJ3Ur1q/qh69BIvgqSQi6LHoxWMF+wFtKJvttF262cTdiVBC/4QXD4p49e9489+4bXPQ1gcDj/dmmJkXJlIY8rxvp7C2vrG5Vdwu7ezu7R+UD4+aJk41xwaPZazbITMohcIGCZLYTjSyKJTYCse3M7/1hNqIWD3QJMEgYkMlBoIzslK7i8R6GU175YpX9eZwV4mfkwrkqPfKX91+zNMIFXHJjOn4XkJBxjQJLnFa6qYGE8bHbIgdSxWL0ATZ/N6pe2aVvjuItS1F7lz9PZGxyJhJFNrOiNHILHsz8T+vk9LgOsiESlJCxReLBql0KXZnz7t9oZGTnFjCuBb2VpePmGacbEQlG4K//PIqaV5Ufa/q319Wajd5HEU4gVM4Bx+uoAZ3UIcGcJDwDK/w5jw6L86787FoLTj5zDH8gfP5A11OkCs=</latexit> <latexit sha1_base64="SU/TSRqhSNKT3zfwyFM+mpJHyjY=">AAAB73icbVBNS8NAEJ3Ur1q/qh69BIvgqSQi6LHoxWMF+wFtKJvttF262cTdiVBC/4QXD4p49e9489+4bXPQ1gcDj/dmmJkXJlIY8rxvp7C2vrG5Vdwu7ezu7R+UD4+aJk41xwaPZazbITMohcIGCZLYTjSyKJTYCse3M7/1hNqIWD3QJMEgYkMlBoIzslK7i8R6GU175YpX9eZwV4mfkwrkqPfKX91+zNMIFXHJjOn4XkJBxjQJLnFa6qYGE8bHbIgdSxWL0ATZ/N6pe2aVvjuItS1F7lz9PZGxyJhJFNrOiNHILHsz8T+vk9LgOsiESlJCxReLBql0KXZnz7t9oZGTnFjCuBb2VpePmGacbEQlG4K//PIqaV5Ufa/q319Wajd5HEU4gVM4Bx+uoAZ3UIcGcJDwDK/w5jw6L86787FoLTj5zDH8gfP5A11OkCs=</latexit> gt <latexit sha1_base64="P/GvVIeqVKiemQWRJKaaMovVVQM=">AAAB9XicbVDLSsNAFL3xWeur6tLNYBFclUQEXRbduKxgH9DWMplO2qGTSZi5UUrIf7hxoYhb/8Wdf+OkzUJbDwwczrmXe+b4sRQGXffbWVldW9/YLG2Vt3d29/YrB4ctEyWa8SaLZKQ7PjVcCsWbKFDyTqw5DX3J2/7kJvfbj1wbEal7nMa8H9KREoFgFK300Aspjv0gHWWDFLNBperW3BnIMvEKUoUCjUHlqzeMWBJyhUxSY7qeG2M/pRoFkzwr9xLDY8omdMS7lioactNPZ6kzcmqVIQkibZ9CMlN/b6Q0NGYa+nYyT2kWvVz8z+smGFz1U6HiBLli80NBIglGJK+ADIXmDOXUEsq0sFkJG1NNGdqiyrYEb/HLy6R1XvPcmnd3Ua1fF3WU4BhO4Aw8uIQ63EIDmsBAwzO8wpvz5Lw4787HfHTFKXaO4A+czx9Ca5L+</latexit> <latexit sha1_base64="P/GvVIeqVKiemQWRJKaaMovVVQM=">AAAB9XicbVDLSsNAFL3xWeur6tLNYBFclUQEXRbduKxgH9DWMplO2qGTSZi5UUrIf7hxoYhb/8Wdf+OkzUJbDwwczrmXe+b4sRQGXffbWVldW9/YLG2Vt3d29/YrB4ctEyWa8SaLZKQ7PjVcCsWbKFDyTqw5DX3J2/7kJvfbj1wbEal7nMa8H9KREoFgFK300Aspjv0gHWWDFLNBperW3BnIMvEKUoUCjUHlqzeMWBJyhUxSY7qeG2M/pRoFkzwr9xLDY8omdMS7lioactNPZ6kzcmqVIQkibZ9CMlN/b6Q0NGYa+nYyT2kWvVz8z+smGFz1U6HiBLli80NBIglGJK+ADIXmDOXUEsq0sFkJG1NNGdqiyrYEb/HLy6R1XvPcmnd3Ua1fF3WU4BhO4Aw8uIQ63EIDmsBAwzO8wpvz5Lw4787HfHTFKXaO4A+czx9Ca5L+</latexit> <latexit sha1_base64="P/GvVIeqVKiemQWRJKaaMovVVQM=">AAAB9XicbVDLSsNAFL3xWeur6tLNYBFclUQEXRbduKxgH9DWMplO2qGTSZi5UUrIf7hxoYhb/8Wdf+OkzUJbDwwczrmXe+b4sRQGXffbWVldW9/YLG2Vt3d29/YrB4ctEyWa8SaLZKQ7PjVcCsWbKFDyTqw5DX3J2/7kJvfbj1wbEal7nMa8H9KREoFgFK300Aspjv0gHWWDFLNBperW3BnIMvEKUoUCjUHlqzeMWBJyhUxSY7qeG2M/pRoFkzwr9xLDY8omdMS7lioactNPZ6kzcmqVIQkibZ9CMlN/b6Q0NGYa+nYyT2kWvVz8z+smGFz1U6HiBLli80NBIglGJK+ADIXmDOXUEsq0sFkJG1NNGdqiyrYEb/HLy6R1XvPcmnd3Ua1fF3WU4BhO4Aw8uIQ63EIDmsBAwzO8wpvz5Lw4787HfHTFKXaO4A+czx9Ca5L+</latexit> <latexit sha1_base64="P/GvVIeqVKiemQWRJKaaMovVVQM=">AAAB9XicbVDLSsNAFL3xWeur6tLNYBFclUQEXRbduKxgH9DWMplO2qGTSZi5UUrIf7hxoYhb/8Wdf+OkzUJbDwwczrmXe+b4sRQGXffbWVldW9/YLG2Vt3d29/YrB4ctEyWa8SaLZKQ7PjVcCsWbKFDyTqw5DX3J2/7kJvfbj1wbEal7nMa8H9KREoFgFK300Aspjv0gHWWDFLNBperW3BnIMvEKUoUCjUHlqzeMWBJyhUxSY7qeG2M/pRoFkzwr9xLDY8omdMS7lioactNPZ6kzcmqVIQkibZ9CMlN/b6Q0NGYa+nYyT2kWvVz8z+smGFz1U6HiBLli80NBIglGJK+ADIXmDOXUEsq0sFkJG1NNGdqiyrYEb/HLy6R1XvPcmnd3Ua1fF3WU4BhO4Aw8uIQ63EIDmsBAwzO8wpvz5Lw4787HfHTFKXaO4A+czx9Ca5L+</latexit> wt <latexit sha1_base64="wQsvs8XlfPgJ6APhixgXICv3Sn0=">AAAB9XicbVDLSsNAFL2pr1pfVZdugkVwVRIRdFl047KCfUAby2Q6aYdOJmHmxlJC/sONC0Xc+i/u/BsnbRbaemDgcM693DPHjwXX6DjfVmltfWNzq7xd2dnd2z+oHh61dZQoylo0EpHq+kQzwSVrIUfBurFiJPQF6/iT29zvPDGleSQfcBYzLyQjyQNOCRrpsR8SHPtBOs0GKWaDas2pO3PYq8QtSA0KNAfVr/4woknIJFJBtO65ToxeShRyKlhW6SeaxYROyIj1DJUkZNpL56kz+8woQzuIlHkS7bn6eyMlodaz0DeTeUq97OXif14vweDaS7mME2SSLg4FibAxsvMK7CFXjKKYGUKo4iarTcdEEYqmqIopwV3+8ippX9Rdp+7eX9YaN0UdZTiBUzgHF66gAXfQhBZQUPAMr/BmTa0X6936WIyWrGLnGP7A+vwBWvuTDg==</latexit> <latexit sha1_base64="wQsvs8XlfPgJ6APhixgXICv3Sn0=">AAAB9XicbVDLSsNAFL2pr1pfVZdugkVwVRIRdFl047KCfUAby2Q6aYdOJmHmxlJC/sONC0Xc+i/u/BsnbRbaemDgcM693DPHjwXX6DjfVmltfWNzq7xd2dnd2z+oHh61dZQoylo0EpHq+kQzwSVrIUfBurFiJPQF6/iT29zvPDGleSQfcBYzLyQjyQNOCRrpsR8SHPtBOs0GKWaDas2pO3PYq8QtSA0KNAfVr/4woknIJFJBtO65ToxeShRyKlhW6SeaxYROyIj1DJUkZNpL56kz+8woQzuIlHkS7bn6eyMlodaz0DeTeUq97OXif14vweDaS7mME2SSLg4FibAxsvMK7CFXjKKYGUKo4iarTcdEEYqmqIopwV3+8ippX9Rdp+7eX9YaN0UdZTiBUzgHF66gAXfQhBZQUPAMr/BmTa0X6936WIyWrGLnGP7A+vwBWvuTDg==</latexit> <latexit sha1_base64="wQsvs8XlfPgJ6APhixgXICv3Sn0=">AAAB9XicbVDLSsNAFL2pr1pfVZdugkVwVRIRdFl047KCfUAby2Q6aYdOJmHmxlJC/sONC0Xc+i/u/BsnbRbaemDgcM693DPHjwXX6DjfVmltfWNzq7xd2dnd2z+oHh61dZQoylo0EpHq+kQzwSVrIUfBurFiJPQF6/iT29zvPDGleSQfcBYzLyQjyQNOCRrpsR8SHPtBOs0GKWaDas2pO3PYq8QtSA0KNAfVr/4woknIJFJBtO65ToxeShRyKlhW6SeaxYROyIj1DJUkZNpL56kz+8woQzuIlHkS7bn6eyMlodaz0DeTeUq97OXif14vweDaS7mME2SSLg4FibAxsvMK7CFXjKKYGUKo4iarTcdEEYqmqIopwV3+8ippX9Rdp+7eX9YaN0UdZTiBUzgHF66gAXfQhBZQUPAMr/BmTa0X6936WIyWrGLnGP7A+vwBWvuTDg==</latexit> <latexit sha1_base64="wQsvs8XlfPgJ6APhixgXICv3Sn0=">AAAB9XicbVDLSsNAFL2pr1pfVZdugkVwVRIRdFl047KCfUAby2Q6aYdOJmHmxlJC/sONC0Xc+i/u/BsnbRbaemDgcM693DPHjwXX6DjfVmltfWNzq7xd2dnd2z+oHh61dZQoylo0EpHq+kQzwSVrIUfBurFiJPQF6/iT29zvPDGleSQfcBYzLyQjyQNOCRrpsR8SHPtBOs0GKWaDas2pO3PYq8QtSA0KNAfVr/4woknIJFJBtO65ToxeShRyKlhW6SeaxYROyIj1DJUkZNpL56kz+8woQzuIlHkS7bn6eyMlodaz0DeTeUq97OXif14vweDaS7mME2SSLg4FibAxsvMK7CFXjKKYGUKo4iarTcdEEYqmqIopwV3+8ippX9Rdp+7eX9YaN0UdZTiBUzgHF66gAXfQhBZQUPAMr/BmTa0X6936WIyWrGLnGP7A+vwBWvuTDg==</latexit> wt+1 <latexit sha1_base64="r/oTFMkBdTR9L3i5TOvM6rbcAK4=">AAAB+XicbVDLSsNAFL2pr1pfUZduBosgCCURQZdFNy4r2Ae0IUymk3boZBJmJpUS8iduXCji1j9x5984abPQ1gMDh3Pu5Z45QcKZ0o7zbVXW1jc2t6rbtZ3dvf0D+/Coo+JUEtomMY9lL8CKciZoWzPNaS+RFEcBp91gclf43SmVisXiUc8S6kV4JFjICNZG8m17EGE9DsLsKfczfeHmvl13Gs4caJW4JalDiZZvfw2GMUkjKjThWKm+6yTay7DUjHCa1wapogkmEzyifUMFjqjysnnyHJ0ZZYjCWJonNJqrvzcyHCk1iwIzWeRUy14h/uf1Ux3eeBkTSaqpIItDYcqRjlFRAxoySYnmM0MwkcxkRWSMJSbalFUzJbjLX14lncuG6zTch6t687asowoncArn4MI1NOEeWtAGAlN4hld4szLrxXq3PhajFavcOYY/sD5/ALPpk68=</latexit> <latexit sha1_base64="r/oTFMkBdTR9L3i5TOvM6rbcAK4=">AAAB+XicbVDLSsNAFL2pr1pfUZduBosgCCURQZdFNy4r2Ae0IUymk3boZBJmJpUS8iduXCji1j9x5984abPQ1gMDh3Pu5Z45QcKZ0o7zbVXW1jc2t6rbtZ3dvf0D+/Coo+JUEtomMY9lL8CKciZoWzPNaS+RFEcBp91gclf43SmVisXiUc8S6kV4JFjICNZG8m17EGE9DsLsKfczfeHmvl13Gs4caJW4JalDiZZvfw2GMUkjKjThWKm+6yTay7DUjHCa1wapogkmEzyifUMFjqjysnnyHJ0ZZYjCWJonNJqrvzcyHCk1iwIzWeRUy14h/uf1Ux3eeBkTSaqpIItDYcqRjlFRAxoySYnmM0MwkcxkRWSMJSbalFUzJbjLX14lncuG6zTch6t687asowoncArn4MI1NOEeWtAGAlN4hld4szLrxXq3PhajFavcOYY/sD5/ALPpk68=</latexit> <latexit sha1_base64="r/oTFMkBdTR9L3i5TOvM6rbcAK4=">AAAB+XicbVDLSsNAFL2pr1pfUZduBosgCCURQZdFNy4r2Ae0IUymk3boZBJmJpUS8iduXCji1j9x5984abPQ1gMDh3Pu5Z45QcKZ0o7zbVXW1jc2t6rbtZ3dvf0D+/Coo+JUEtomMY9lL8CKciZoWzPNaS+RFEcBp91gclf43SmVisXiUc8S6kV4JFjICNZG8m17EGE9DsLsKfczfeHmvl13Gs4caJW4JalDiZZvfw2GMUkjKjThWKm+6yTay7DUjHCa1wapogkmEzyifUMFjqjysnnyHJ0ZZYjCWJonNJqrvzcyHCk1iwIzWeRUy14h/uf1Ux3eeBkTSaqpIItDYcqRjlFRAxoySYnmM0MwkcxkRWSMJSbalFUzJbjLX14lncuG6zTch6t687asowoncArn4MI1NOEeWtAGAlN4hld4szLrxXq3PhajFavcOYY/sD5/ALPpk68=</latexit> <latexit sha1_base64="r/oTFMkBdTR9L3i5TOvM6rbcAK4=">AAAB+XicbVDLSsNAFL2pr1pfUZduBosgCCURQZdFNy4r2Ae0IUymk3boZBJmJpUS8iduXCji1j9x5984abPQ1gMDh3Pu5Z45QcKZ0o7zbVXW1jc2t6rbtZ3dvf0D+/Coo+JUEtomMY9lL8CKciZoWzPNaS+RFEcBp91gclf43SmVisXiUc8S6kV4JFjICNZG8m17EGE9DsLsKfczfeHmvl13Gs4caJW4JalDiZZvfw2GMUkjKjThWKm+6yTay7DUjHCa1wapogkmEzyifUMFjqjysnnyHJ0ZZYjCWJonNJqrvzcyHCk1iwIzWeRUy14h/uf1Ux3eeBkTSaqpIItDYcqRjlFRAxoySYnmM0MwkcxkRWSMJSbalFUzJbjLX14lncuG6zTch6t687asowoncArn4MI1NOEeWtAGAlN4hld4szLrxXq3PhajFavcOYY/sD5/ALPpk68=</latexit> Loss/Cost function (w) (Global) minimum (Local) minimum ηt = α β + ∑ t s=1 g2 s wt+1 = wt − ηtgt
  • 25. FTRL-Proximal (Online) Follow-the-leaders Proximal (stability) Regularization (sparsity) Reference: Ad click prediction: a view from the trenches wt+1 = arg min w (g1:t ⋅ w + 1 2 t ∑ s=1 σs∥w − ws∥2 2 + λ1∥w∥1)
  • 26. AD1 AD2 AD3 AD4 AD5 … AD6 … WUxA X 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 M F 10 20 30 40 50+ SC1 SC2 SC3 … PF1 PF2 PF3 … … WT w340 w3SC2 w3PF1 w3PF3 w3M w3F 𝛔 Pr(y = 1|X) = 1 1 + exp(−w⊤x) Σ* w3M 0 0 0 wTx = w3M+w340+w3SC2+w3PF1+w3PF3 USR
  • 28. Any data (log) but not private - Estimation - Encapsulation/Abstraction - k-Anonymity con fi dential
  • 29. Curse of Dimensionality Millions of features and cardinality Incapable (memory) Speed Sparsity Over millions to billions of sparse encoding
  • 30. User Creative, subscription, KWD, … PCA / AE Clustering Hashing trick Random Projection SVD / [N/B]MF LDA (topic modeling) W2V / Glove Contrastive Learning Dim. Reduction Embedding vector
  • 31. Registration # Activity/Service Log Gender, Age Far far ago Naive Bayes (GA) Ad Feedback (Click) Mapping & Counting (Interest) Clustering (k-means) Topic Modeling (LDA) FM & DNN Subscription (Channel)
  • 32. Feature Embeddingwith Dimensionality Reduction • Reliability / Speed / Scalability • Robustness (+) vs Information loss (-) • Abstraction (anonymity) vs Less interpretability (-) Lessons learned • 30 ~ 50 topics enough • Multiple sources in one embedding? Not work properly • How to retain previous dimension structure (topic semantics) - Syntactic hashing (short term) and re-training (long term)
  • 33. RIG (Relative Information Gain) 0.058 0.059 0.060 0.061 0.062 0.17 0.18 0.20 0.21 0.22 baseline 10 20 30 40 50 LogLoss # Topics
  • 35. Prediction Layer Embedding Layer 2 Soft max = Logistic Regression Deep Aggregate Embedding (Dimensionality reduction / projection) Embedding for each features (Raw data to numerical vectors) Embedding Layer 1
  • 36. 𝛔 Prediction Pr(Y = 1| X) Deep & Cross Embedding Primitive Embedding Demography AD response Subscription AD Pooling & Concat.
  • 38. Two-stream model (W&D, S&C) - Feature interaction (LR → FM → DNN) - Fusion (Ensemble, MoE)
  • 40. Research / Academia Production / Industry Maximize Accuracy Maximize f(I, S, E, …) subject to Accuracy > X Reliability & Robustness
  • 41. - Scale up & out - Slim model - Simple architecture - Few #hidden layers & nodes - Limited features —> incremental model - Starport (C++) (vs deployment time) - Candidate generation - Hybrid (O ff -Heavy + On-Light) Training Time -> Model update delay -> Lack of recency Inference Time -> Time-out (No Ad)
  • 43. Daily tra ffi c: 1,000,000 Avg(eCPM): 2,000 Conversion/Tra ffi c: 0.01% Daily budget: 1,000,000 Avg(pCTR): 1% BAcpc: 100? 200? 500? Ryan LLC RUN with RYAN
  • 44. A B BidAmount (BA) 100 500 pCTR 1% (0.01) 1% (0.01) eCPM (1,000 * BA * pCTR) 1,000 = 1,000 * 100 * 0.01 5,000 = 1,000 * 500 * 0.01 Expected WinRate 10% 90% Expected impression (Tra ffi c * winRate) 100,000 900,000 Spending (Budget: 1,000,000) 100,000 = 100,000 * 0.01 * 100 4,500,000 = 900,000 * 0.01 * 500 [Avg. eCPM = 2,000]
  • 45. Budget Time 1,000,000 900,000 Impressions: 100,000 Conversions: 10 Impressions: 222,222 Conversions: 22 A B What is the optimal BA? BA = 200? Impressions: 500,000 Conversions: 50+ 00:00 24:00
  • 46. Landscape Forecasting Budget Smoothing Tra ffi c Selection Pacing & Control Historical data, ARIMA, Prophet
  • 47. (LinBid) BA = BAbase * Util(Response) - pCTR(UxA) / pCTR(A) - pCVR(UxA) / pCVR(A)
  • 48. PID Control: Proportional (present) + Integral (past) + Derivative (future)
  • 52. Gift for YOU Buy one get one free Shop Now It’s Travel Time Refresh yourself. Booking Congratulations! Happy birthday~~ Purchase Male or young Outdoor activity Rider Potential customers
  • 53. Inventory buying Audience buying Static Info. • Gender, age, region • Interest Context • Placement (inventory) • Current time & location • Device / OS • Wi fi / Cellular Custom • Upload customers • Inclusive / Exclusive Dynamic (behavior) Info. • Site visit • Product (Page) view • Keyword query • Category • Cohort LookALike E ff ective & Coverage
  • 55. Population LookALike (Likely to purchase) Sorted by total information value Seed Audience (Conversion Users) Non-conversion Users Feature #1 (IV) Feature #2 (IV) Feature #3 (IV) Feature #x (IV) Common (p) but Distinguishable (q) IV = (p − q)log p(1 − q) (1 − p)q Impression ➙ Click ➙ Conversion
  • 56. Y = 1 Y = 0 Seed Audience (Conversion Users) Non-conversion Users Pr(Y = 1 | X) = LR(X) = DNN(X) Population LookALike (Likely to purchase) Order by Pr(Y=1|X) desc limit #LAL
  • 58. Only 1,000+ creatives held 95% impressions.
  • 59. 10 50 100 200 500 500+ # creatives (1w, Mobile only) vs 1M creatives
  • 60. User Ad Creatives = x ui T1 T2 T3 T4 T1 T2 T3 T4 A4 A8 click{user, creative} Matrix Factorization
  • 61. 0% 25% 50% 75% 100% 10 50 100 500 1,000 2,000 3,000 5,000 10,000 50,000 2 8 32 Top-N 91~94% + New creatives + High performing creatives
  • 62. Order by < hCTR * log(#Imp) > desc limit 1,000
  • 64. ANN (Approximate Nearest Neighbor) - LSH, KD-tree - ANNoy (ANN Oh Yeah) - HNSW (Hierarchical Navigable Small World) - Product Quantization (Meta’s FAISS) - ScaNN (Scalable NN by Google) - … Find N nearest Ads approximately Ads User
  • 65. User Ad Creatives = x User Embedding Vector AD Embedding Vector ANN
  • 66. Bloom Filter, Quotient Filter, etc
  • 68. Impression Click Conversion Branding, inventory, CPT/CPM Tra ffi c, audience, CPC Purchase, right audience, CPA/CPS/AutoBid
  • 69. Time Impression Click ( ~ 10%) s m d w Conversion ( ~ 1%) h
  • 70. Survival Model Delay time D = D0e−λt Pr(Y = 1 | X) ⟼ Pr(Y = 1 | X, D) * Pr(D | X) Reference: Modeling delayed feedback in display advertising
  • 71. eCPMCPA = BACPA * pCTR * pCVR (* 1,000) #Click / #Impression #Conversion / #Click
  • 72. ABCDEFGHIJKLMNOPQRSTUVWXYZ Order by { Relevance, Popularity, Quality } Source Times
  • 73. Quality(CVR) = f( pCVR(UxA) / pCVR(A) )
  • 74. eCPM = BA * pCTR * Q(CVR) (* 1,000)
  • 77. It’s Travel Time Refresh yourself. Booking 90% tra ffi c pCTR pCTR’ = pCTR + 𝜶 Random bucket MAB (Multi-armed bandit) Thompson sampling Posterior Observed 10% tra ffi c make unstable to make stable
  • 78. Cold-start and Exploration — Random bucket — Thompson sampling — Stochastic feature augmentation (drop-out) — Transfer learning (with hierarchy) — Model initialization — Semantic embedding (learning to hash) — Jitter (tie-breaking) Explore to get more training data Proximity
  • 79. Negative Feedback • Hide (Do Not Show Ads) • AdBlock • DNT (Do Not Track) / LMT (Limit Ad Tracking) • ITP / ATT • NDNC (No Response) • Abusing / Fraud
  • 85. Auction with Reserve Price No Bid Win Win 2nd price 2nd price Win 2nd price Win Win & 1st price Auction with Hard Bid Floor Auction with Soft Bid Floor No Ad
  • 87. ReCalibration (Platt Scaling, Isotonic Regression) Image from https://machinelearningmastery.com/calibrated-classi cation-model-in-scikit-learn/
  • 89. 0% 20% 40% 60% 80% 100% 1 2 3 4 5 Viewable Count vCTR
  • 90. pCTR = f(USRxAD, Context, VCnt, …)
  • 91. Quality Control: Cut-o ff low performing ADs pCTR eCPM No ad > wrong ad
  • 92. Dynamic Creative Optimization (DCO) in Perception AI Era Sorry for nothing to talk about…
  • 93. Creative Generation (& Personalization) in Generative AI Era Sorry for nothing to talk about…
  • 95. Data Overload & Imbalance Millions of clicks over billions of impressions Negative downsampling ( 𝞈 ) q = p p + 1 − p ω Clicked Not clicked
  • 96. Research O ffl ine Test Online Test Production • Model validity • Log-loss, RIG • Simulation • Validity & revenue • CTR, calibration • 0 Bucket Problem & ideation Complexity & Stability
  • 97. Random A’ B C D A • 5 ~ 10% • Exploration (i.e., cold-start), serving-unbiased, reference (worst case) • Main bucket (control group) • Current serving version • Identical model to main bucket • To check the e ff ect of serving bias • Do not reject null hypothesis (A = A’) • Test bucket (treatment group) • 10% (up-to 50%, except random bucket) • Hours to weeks • Buckets are randomly assigned to users or tra ffi c. • User-based buckets are periodically re-assigned. • B’?
  • 98. Revenue, Revenue, Revenue - CPM / RPM - CTR / CVR / ROAS Model Robustness - RIG (Relative Information Gain) - Calibration = predicted / observed - AUC, Classi fi cation accuracy
  • 99. Better Model More Clicks More Revenue Incentive? A Data Scientist’s Happiness Circuit
  • 100. Revenue (B / Y: 99.01%) Observed CTR (B / Y: 112.83%) Predicted CTR (B / Y: 113.28%) Calibration (103.4 vs 102.6)
  • 101. Serving Latency • Dimensionality reduction (& feature selection) • Negative down-sampling • Candidate generation • Simple & slim model ⟹ proper model - Simple structure & less layers/nodes • Binary representation (vs sparsity & high dimension) • GoLang / C++ • Scale up & out • …
  • 104. Rank by Group/Adv Rank by Creative BA * pCTR | Targeting(1/0) Group Creative BA * pCTR(G) MAB or Generate CTR, RPM (5~10%p lift) Calibration -> bucket size
  • 105. Contrastive Learning for better embedding & more applicable
  • 106. Triplet Loss Minimize Max(Sim(A, P) - Sim(A, N) + ⍺, 0) UserEmbNet AdEmbNet P N A Positive Negative UAnc APos ANeg
  • 107. Loss = Loss + 𝜆 *Diff(Enew - Eold)
  • 110. None (2N) Inner (2N + 1) Outer (2N + N2) PQ-Inner (2N + M2) PQ-Outer (2N + M) Element-wise (3N)
  • 111. LLM / Generative AI • As a ranker? • Feature Augmentation (User & Ad) • Cold-start • Explainability • Creative (Message) Generation • Simulation / Judge • … • Agent? Vibe creation
  • 112. Ad Automation • User Response Prediction • Auto-Targeting (Performance) • AutoBid • Creative Generation (DCO/Gen) • Set Objectives • Budget Setting • (Agent?) • Go or Stop • Nothing to do
  • 113. Revenue, Tra ffi c, & Automation