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
論文紹介 DSRNet: Single Image Reflection Separation via Component Synergy (ICCV 2023)
tattaka
0
140
First Authorに俺はなるっ!! IROS’23 CCC2023 FY
shota_nishiyama
0
150
プロシェアリング白書2024_PROSHARING_REPORT_2024
circulation
0
380
Image generation with Shortest Path Diffusion
dasayan05
0
160
Generative Spoken Dialogue Language Modeling [対話論文読み会@電通大]
yuta0306
1
130
Source Code Diff Revolution (JetBrains Open Reading Club)
tsantalis
0
200
熊本都市交通リノベーション_熊本青年会議所ローカルマニフェスト検証会
trafficbrain
1
500
自己教師あり学習による事前学習(CVIMチュートリアル)
naok615
2
1.2k
20240127_熊本から今いちど真面目に都市交通~めざせ「車1割削減、渋滞半減、公共交通2倍」~ 全国路面電車サミット2024宇都宮
trafficbrain
1
590
CoRL2023速報
rpc
1
1.9k
言語間転移学習で大規模言語モデルを賢くする
ikuyamada
4
1.4k
ニフティのインナーソース導入事例 - InnerSource Commons #11
niftycorp
PRO
0
220
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
109
6.4k
Design by the Numbers
sachag
274
18k
Designing for Performance
lara
601
67k
Practical Orchestrator
shlominoach
180
9.6k
KATA
mclloyd
14
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
4
1.4k
Six Lessons from altMBA
skipperchong
19
2.9k
The Invisible Customer
myddelton
114
12k
Teambox: Starting and Learning
jrom
126
8.3k
The Brand Is Dead. Long Live the Brand.
mthomps
48
19k
Making Projects Easy
brettharned
106
5.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
930
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