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
5.7k
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
CVPR2023 EarthVision Workshopより衛星画像関連論文紹介 / Satellite Imaging Processing Papers in CVPR2023 EarthVision Workshop
nttcom
0
110
精神疾患患者のアクティビティデータを利用したリハビリテーションのためのシステムに関する研究
comfortdesignlab
0
140
論文紹介 DISN: Deep Implicit Surface Network for High quality Single-view 3D Reconstruction / DISN: Deep Implicit Surface Network for High quality Single-view 3D Reconstruction
nttcom
0
110
Generative AI - practice and theory
gpeyre
1
550
デフスポーツにおける支援技術 〜競技特性・ルールと技術との関係〜
slab
0
210
Julia Tokyo #11 トーク: 「Juliaで歩く自動微分」
abap34
1
1.3k
SCOPE-RL: オフライン強化学習とオフ方策評価のライブラリ
aiueola
0
110
自己教師あり学習による事前学習(CVIMチュートリアル)
naok615
2
1.4k
第59回名古屋CV・PRMU勉強会:ICCV2023論文紹介(自己教師あり学習)
naok615
0
310
Cross-Media Information Spaces and Architectures
signer
PRO
0
120
オープンな日本語埋め込みモデルの選択肢 / Exploring Publicly Available Japanese Embedding Models
nttcom
13
5.2k
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
1
230
Featured
See All Featured
Designing with Data
zakiwarfel
95
4.8k
Navigating Team Friction
lara
177
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
The Language of Interfaces
destraynor
151
23k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
658
120k
4 Signs Your Business is Dying
shpigford
175
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
29
6k
YesSQL, Process and Tooling at Scale
rocio
163
13k
Debugging Ruby Performance
tmm1
70
11k
Thoughts on Productivity
jonyablonski
57
3.8k
Producing Creativity
orderedlist
PRO
336
39k
Principles of Awesome APIs and How to Build Them.
keavy
120
16k
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