Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SmartNews Adsの配信最適化のお話
Search
Ryoichi Nishio
June 20, 2018
Research
4
6.1k
SmartNews Adsの配信最適化のお話
SmartNews Adsでの運用型広告の自動入札機能における、入札価格の最適化の理論について解説します。
(Line Ad Meetup 2018/06/20 にて発表)
Ryoichi Nishio
June 20, 2018
Tweet
Share
Other Decks in Research
See All in Research
[論文紹介] Intuitive Fine-Tuning
ryou0634
0
130
Mamba-in-Mamba: Centralized Mamba-Cross-Scan in Tokenized Mamba Model for Hyperspectral Image Classification
satai
3
120
財務諸表監査のための逐次検定
masakat0
0
150
Adaptive Experimental Design for Efficient Average Treatment Effect Estimation and Treatment Choice
masakat0
0
130
一人称視点映像解析の最先端(MIRU2025 チュートリアル)
takumayagi
6
3.9k
Time to Cash: The Full Stack Breakdown of Modern ATM Attacks
ratatata
0
160
Galileo: Learning Global & Local Features of Many Remote Sensing Modalities
satai
3
370
能動適応的実験計画
masakat0
2
860
引力・斥力を制御可能なランダム部分集合の確率分布
wasyro
0
260
地域丸ごとデイサービス「Go トレ」の紹介
smartfukushilab1
0
200
IMC の細かすぎる話 2025
smly
2
700
まずはここから:Overleaf共同執筆・CopilotでAIコーディング入門・Codespacesで独立環境
matsui_528
2
640
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Into the Great Unknown - MozCon
thekraken
40
2.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
990
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Unsuck your backbone
ammeep
671
58k
Transcript
SmartNews Ads ͷ৴࠷దԽͷ͓ ඌ ྄Ұ June 20, 2018 εϚʔτχϡʔεגࣜձࣾ
ࣗݾհ • 2010 – 2013 ૉཻࢠཧͷത࢜ɾ ϙευΫ • 2013 εϚʔτχϡʔεೖࣾ
ΞϧΰϦζϜͷઃܭ͕ಘҙͰɺ 2017 ͔Βࠂͷ৴࠷దԽʹऔΓ ΜͰ͍·͢ɻࠂ։ൃνʔϜͷΤϯ δχΞϦϯάϚωʔδϟΛ͍ͯ͠·͢ɻ 1 / 23
SmartNews ͱ SmartNews Ads ͷ հ
SmartNews ͷհ ੜ׆ऀͷʮຖͷश׳ʯ ຊ࠷େͷχϡʔεΞϓϦ ݄ؒສ ΞΫςΟϒϢʔβʔ Ҏ্ ఏܞഔମ 4NBSU'PSNBUରԠ
̍ར༻ ਓ͋ͨΓ ˞݄ݱࡏ ܦฏۉ͕Ұ࣌ٸམ ੈքג҆ͷݯ શࠃ৽ฉ ܦࡁใΦϯϥΠϯ टձஊͰΞδΞͷ ྗਤͲ͏มΘΔ 2 / 23
SmartNews Ads ͷհ SmartNews Mixi ʹࠂ৴Λߦͳ͍·͢ 3 / 23
७ࠂͱӡ༻ܕࠂ ७ࠂ ৴Λଋ͢Δ (༧ܕ) ӡ༻ܕࠂ ࠂओ͕ఆΊͨೖࡳՁ֨ʹԠͯ͡ɺ৴͕૿ݮ͢Δ (ΦʔΫ γϣϯܕ) ࣗಈೖࡳػೳ (oCPC)
͕͋Γ·͢ 4 / 23
७ࠂͱӡ༻ܕࠂ ७ࠂ ৴Λଋ͢Δ (༧ܕ) ӡ༻ܕࠂ ࠂओ͕ఆΊͨೖࡳՁ֨ʹԠͯ͡ɺ৴͕૿ݮ͢Δ (ΦʔΫ γϣϯܕ) ࣗಈೖࡳػೳ (oCPC)
͕͋Γ·͢ ࠓͷςʔϚӡ༻ܕࠂͷࣗಈೖࡳػೳͰ͢ʂΤϯδχΞϦϯ άͷػցֶशͷҰͤͣʹɺ࠷దೖࡳՁ֨Λܾఆ͢Δཧ ͷհΛ͠·͢ 4 / 23
ΦʔΫγϣϯܕࠂͷੈք
CV ൃੜ·Ͱͷ 3 ͭͷน (WR, CTR, CVR) ӡ༻ܕࠂʹ͓͚ΔࠂओͷతɺCV Λൃੜͤ͞Δ͜ͱ •
imp: ݟͨ (දࣔͨ͠) • click: ΫϦοΫ • cv: Πϯετʔϧɺߪ ೖͳͲ auction 1 ճʹର͢Δ cv ൃੜ֬ cv = WR · CTR · CVR 5 / 23
ೖࡳՁ֨ b ͱίετ • ࠂओɺೖࡳՁ֨ (bid price) b Λࣗ༝ʹઃఆͰ͖Δ •
ೖࡳՁ֨ b Λ্͛Δͱ auction Ͱউͪ͘͢ͳΔ (ޙड़) ͕ɺ ͦͷίετ૿͑ͯ͠·͏ɻ • ͜͜Ͱ՝ۚϙΠϯτ click ͱ͢Δɻ(imp ͷέʔε͋Δ) ΫϦοΫ୯ՁͱೖࡳՁ֨ • 1st price auction: ΫϦοΫ୯Ձ = ೖࡳՁ֨ b • 2nd price auction: ΫϦοΫ୯Ձ ≤ ೖࡳՁ֨ b auction 1 ճ͋ͨΓͷίετͷظ cost ≤ WR · CTR · b 6 / 23
Auction ͱείΞ auction: ͦΕͧΕͷࠂʹείΞΛ༩͑ͯιʔτ͢Δ είΞ͕ߴ͍ࠂͷॱʹɺimp ͷൃੜ͍͢͠ʹஔ͢Δ (RTB ͱҧͬͯɺෳͷࠂΛฒ͍ͯ͘) είΞͷఆٛ (ྫ)
score = CTR · b : imp 1 ճ͋ͨΓͷظച্ (ͷ্ݶ) • CTR ༧ଌΛ͏ • είΞ b ʹൺྫ͢ΔͷͰɺb ͕ߴ͍΄ͲΦʔΫγϣϯʹ উͬͯ imp ͕ൃੜ͍͢͠ = WR b ͷ૿Ճؔ 7 / 23
·ͱΊ auction 1 ճ͋ͨΓͷ cv ͱ cost ͷظ (࠶ܝ) cv
= WR(b) · CTR · CVR cost ≤ WR(b) · CTR · b ࠂओʹͱͬͯͷɺb Λ্͛Δ͜ͱͷϝϦοτɾσϝϦοτ • cv ↑ (Good) • cost ↑, CPA = cost/cv ↑ (Bad) : ࠂओʹͱͬͯͷɺ࠷దͳ b ͱ? യવͱݴ͑ɺCV ͱ cost(or CPA) ͱͷόϥϯεΛߟ͑ͯ b ΛܾΊΕྑ͍ɻ۩ମతʹͲͷΑ͏ͳΛղ͚ྑ͍ͷ ͔ʁ͜ΕΛࠓ͔Βߟ͍͖͑ͯ·͠ΐ͏ʂ 8 / 23
ࣗಈೖࡳ (oCPC)
Ҏ߱ͷɺ Weinan Zhang, Shuai Yuan, Jun Wang Optimal Real-Time Bidding
for Display Advertising (2014) ͱ͍͏จͷ༰ΛΞϨϯδͨ͠ͷʹͳ͍ͬͯ·͢ 9 / 23
Auction ͝ͱͷ”࠷దͳೖࡳՁ֨”ΛͲ͏ఆࣜԽ͢Δ? auction ͷಛϕΫτϧΛ x ͱ͢Δɻ(ࠂϦΫΤετΛߦͳͬͯ ͍ΔϢʔβʔͷଐੑߦಈཤྺͳͲ) ೖࡳՁ֨ b
x ͷؔͱ͢Δ ఆࣜԽͷํ ଋറ͖݅ͷ࠷దԽͱΈͳ͢ɻ ࣍ͷଋറ݅Λຬͨ͢ൣғͰɺظ CV ͕࠷େԽ͞ΕΔΑ͏ ͳɺؔ b(x) ͕࠷దͳೖࡳՁ֨Ͱ͋Δ ଋറ݅ CPA ͷظ͕ɺઃఆ͞Εͨඪ CPA(tCPA) ʹͳΔ (ࠓͷͰ৮Εͳ͍͕) ଋറ݅ͱͯ࣍͠ߟ͑ΒΕΔ ଋറ݅’ 1 ͷظ Cost ͕ઃఆ͞Εͨ༧ࢉ B ҎԼʹͳΔ 10 / 23
ͷֶతఆࣜԽ • ͋ΔΩϟϯϖʔϯ c ʹͯٞ͠ΛਐΊΔɻ༷ʑͳม ʹఴࣈ c Λ͚ͭΔ͖ͱ͜ΖΛɺݟ͢͞ͷͨΊʹলུ͢Δ • auction
ͷಛϕΫτϧ x ͷ֬ີΛ f (x) ͱ͢Δ (࣍ݩΛ D ͱ͢Δ) • WR b ͱ x ͷɺCTR ͱ CVR x ͷؔͰ͋Δͱ͢Δ • (ෆ߸͕ѻ͍ʹ͍͘ͷͰ) 1st price auction Ͱ͋Δͱ͢Δ auction 1 ճ͋ͨΓͷ CV ͱ Cost ͷظ (x ͷΛߟྀ) CV [b] = ∫ dDx f (x)WR(b(x), x)CTR(x)CVR(x) COST[b] = ∫ dDx f (x)WR(b(x), x)CTR(x)b(x) 11 / 23
ͷֶతఆࣜԽ (࠶ܝ)CV ͱ Cost ͷظ CV [b] = ∫ dDx
f (x)WR(b(x), x)CTR(x)CVR(x) COST[b] = ∫ dDx f (x)WR(b(x), x)CTR(x)b(x) CPA ͷظ͕ઃఆ͞Εͨඪ CPA(tCPA) ʹͳΔ݅ COST[b] − tCPA · CV [b] = 0 (1) ଋറ݅ (1) Λຬͨ͢ൣғͰɺCV [b] Λ࠷େԽ͢Δؔ b(x) ͕ ࠷దͳೖࡳՁ֨Ͱ͋Δɻ: b(x) ΛٻΊΑɻ 12 / 23
Ұճཱͪࢭ·ͬͯݕ౼͢Δ ଋറ݅ COST[b] − tCPA · CV [b] = ∫
dDx f (x)WR(b(x), x)CTR(x) [b(x) − tCPA · CVR(x)] = 0 ҎԼͷ b(x) ඃੵ͕ؔ 0 ʹͳΔͷͰଋറ݅Λຬͨ͢ b(x) = tCPA · CVR(x) (2) ࣜ (2) ͕ CV [b] Λ࠷େԽ͢Δͷ͔?ͦΕͱɺ࠷దͳೖࡳՁ֨ ผʹ͋Δͷ͔? ͜ͷʹ͜Ε͔Β͑·͢ʂ 13 / 23
४උ 1: ଋറ͖݅࠷େԽϥάϥϯδϡͷະఆ๏Ͱղ͘ ྫ 1 f (x, y) Λ࠷େԽ͢Δ (x,
y) Λ୳ͤ ∂f ∂x = 0 , ∂f ∂y = 0 ྫ 2 ଋറ݅ g(x, y) = 0 ͕͋Δͱ͖ʹ f (x, y) Λ࠷େԽ͢Δ (x, y) Λ୳ͤ ϥάϥϯδϡͷະఆ๏ (ϥάϥδΞϯ L Λఆٛ͠ɺ͋ͱ ಉ༷ʹඍΛ 0 ͱ͢ΕΑ͍) L(x, y; λ) ≡ f (x, y) + λg(x, y) ∂L ∂x = 0 , ∂L ∂y = 0 , ∂L ∂λ = 0 14 / 23
४උ 2: ൚ؔͱม ؔͱ൚ؔ ؔͱΛ༩͑ΔͱΛฦ͢ͷɻ ྫ: f (x) = x2
ͱ͢Δɻf (x) x ͷؔͰ͋Δɻ ൚ؔͱɺؔΛ༩͑ΔͱΛฦ͢ͷɻ ྫ: I[f ] = ∫ dx(f (x))2 ͱ͢ΔɻI[f ] f ͷ൚ؔͰ͋Δɻ CV [b], COST[b] b ͷ൚ؔͰ͋Δ มͱɺ൚ؔͷඍͷ͜ͱͰ͋Δ ྫ: f (x) = x2 Λ x Ͱඍ͢Δͱ? ∂f ∂x = 2x ྫ: I[f ] = ∫ dx(f (x))2 Λ f Ͱม͢Δͱ? δI δf (x) = 2f (x) (ඃੵؔ f 2 Λ f Ͱඍ͢Ε͍͍) 15 / 23
४උ͕Ͱ͖ͨͷͰɺ࠷దͳೖࡳՁ֨ΛٻΊ͍ͯ͜͏ ϥάϥδΞϯ: L b ͷ൚ؔɺ͔ͭɺλ ͷؔ L[b; λ] ≡
CV [b] + λ(SALES[b] − tCPA · CV [b]) ҎԼΛຬͨ͢ b(x) ͕࠷దͳೖࡳՁ֨Ͱ͋Δ δL δb(x) = 0, ∂L ∂λ = 0 16 / 23
४උ͕Ͱ͖ͨͷͰɺ࠷దͳೖࡳՁ֨ΛٻΊ͍ͯ͜͏ ϥάϥδΞϯ: L b ͷ൚ؔɺ͔ͭɺλ ͷؔ L[b; λ] ≡
CV [b] + λ(SALES[b] − tCPA · CV [b]) ҎԼΛຬͨ͢ b(x) ͕࠷దͳೖࡳՁ֨Ͱ͋Δ δL δb(x) = 0, ∂L ∂λ = 0 ༨ஊ ʮ࠷খ࡞༻ͷݪཧʯΛͬͯ b(x) ͷӡಈํఔࣜΛٻΊΔͱ͍ ͏ཧֶͷͱಉ༷Ͱ͢ 16 / 23
్தܭࢉ: ڵຯͷ͋Δਓ͚͍ͩͬͯͩ͘͞ ݟ͢͞ͷͨΊҎԼͷΑ͏ʹུه͢Δɻ WR′(b, x) = ∂WR ∂b (b, x)
มΛܭࢉ... δL δb(x) = f (x)WR′(b(x), x)CTR(x)CVR(x) + λf (x)CTR(x) × [ WR′(b(x), x)b(x) + WR(b(x), x) − tCPA WR′(b(x), x)CVR(x) ] = 0 17 / 23
͜Ε͕࠷దͳೖࡳՁ֨ͩ! 18 / 23
͜Ε͕࠷దͳೖࡳՁ֨ͩ! ࠷దͳೖࡳՁ֨ b(x) ͕ຬͨ͢ํఔࣜ ( b(x) + WR(b(x), x) WR′(b(x),
x) ) = (λ−1 − tCPA) · CVR(x) (3) ∫ dDx f (x)WR(b(x), x)CTR(x) [b(x) − tCPA · CVR(x)] = 0 (4) ࣜ (3) ʹΑͬͯ b(x) ͕ x ʹΑΒͳ͍ λ ʹґଘͨ͠ܗͰٻ·Δɻ ͜ΕΛࣜ (4) ʹೖ͢Δ͜ͱͰ λ ͕ܾఆ͞ΕΔɻ ͜ΕҎ্ͷղੳܭࢉ WR(b, x) ͷؔܗΛܾΊͳ͍ͱਐΊͳ͍ɻ 18 / 23
Winning-Rate WR(b, x) ʹ͍ͭͯ WR(b, x) ͷఆٛ (෮श) ೖࡳՁ֨ b
Ͱ auction ʹࢀՃͨ͠ͱ͖ʹɺimp ͕ൃੜ͢Δ֬ɻ • imp ൃੜ֬ࠂܝࡌҐஔ·ͰͷεΫϩʔϧྔͳͲʹґଘ ͢ΔͷͰɺαʔϏεʹΑͬͯେ͖͘ҧ͏ͣ • imp ൃੜ֬Ϣʔβʔͷੑ࣭ (x) ʹڧ͘ґଘ͢Δ • auction ʹࢀՃ͢ΔଞͷࠂͷྔͳͲʹґଘ͢Δ • b ґଘੑ score = CTR(x) · b ͷܗͰݱΕΔͣ ϩάੳͳͲ͔Β WR(b, x) Λܾఆ͢Δͷ͕ਅ໘ͳํ๏ͩΖ͏ɻ ͜͜ͰղੳܭࢉՄೳͳϞσϧؔΛͯΊͯΠϝʔδΛ͑ ͍ͨɻ 19 / 23
έʔε 1: b ͷ͖ؔ ࣍ͷܗΛԾఆͯ͠ΈΑ͏ WR(b, x) = G(x)(CTR(x)b)α G(x)
x ͷҙͷਖ਼ͷؔɺα ҙͷਖ਼ͷఆɻ ͜ͷ߹ɺࣜ (3),(4) ΑΓɺ࠷దͳ b(x) ࣜ (2) b(x) = tCPA · CVR(x) Ͱ͋Δ͜ͱ͕ࣔ͞ΕΔ (εΰΠ: G(x), α, f (x), CTR(x) ʹґଘ͠ͳ͍!) 20 / 23
έʔε 2: ্ݶ͋Γͷܗ έʔε 1 ͷɺWR ֬ͳͷʹେ͖ͳ b Ͱ 1
Λ͑ͯ͠ ·͏Ͱ͋Δɻ(b ͕େ͖͗͢Δ߹ഁ͢Δɻ) ͜ͷΛվળ ͢ΔͨΊ࣍ͷܗΛԾఆͯ͠ΈΑ͏ Ծఆ (b → ∞ ͕༗ݶͳྫ) WR(b, x) = G(x) CTR(x)b c + CTR(x)b G(x) x ͷҙͷਖ਼ͷؔɺc ҙͷਖ਼ͷఆɻ ࣜ (3) ͔ΒҎԼ͕ٻ·Δɻ(͜ΕΛࣜ (4) ʹೖ͢Δ͜ͱͰ λ ͕ఆ ·Δ) b(x) = c CTR(x) ( −1 + √ 1 + CTR(x) c (tCPA − λ−1) CVR(x) ) 21 / 23
έʔε 1,2 ͷൺֱ case2 ͰɺείΞ (= CTR · b) ΛͲΜͳʹ্͛ͯ
WR ʹ্ ݶ͕͋ΔͷͰɺCTR, CVR ͕ྑ͍߹ʹɺ૬ରతʹೖࡳՁ֨Λ্ ͛͗͢ͳ͍Α͏ʹ͠ɺͦͷ CTR, CVR ͕͍߹ʹߴΊʹೖ ࡳ͢Δͷ͕࠷దઓུʹͳΔɻ 22 / 23
·ͱΊ ࡾߦ·ͱΊ • ೖࡳՁ֨ͷ࠷దԽϥάϥϯδϡͷະఆ๏ͱม๏Λ ͬͯղ͚Δ • WR ΛΔ͜ͱ͕࣮ॏཁͩ • WR
ͷݟ͕͋·Γͳ͚Εɺb(x) = tCPA · CVR(x) ͱ͢ Δͷ͕࣍ળͷࡦͱͯ͠༗ޮͩ (έʔε 1) ͨͩ͠ຊͷ࠷ద ͳೖࡳՁ֨ͬͱෳࡶͳܗΛ͍ͯ͠Δ (ྫ:έʔε 2) Ԡ༻ྫ • ༧ࢉΛଋറ݅ͱ͢Δ߹ • ϑϦʔΫΤϯγʔ੍ԼͰͷϦʔν࠷େԽ 23 / 23