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
CTRオンライン予測システムのアーキテクチャ
Search
Yoshitomo Hayashi
September 27, 2017
Technology
2
4.5k
CTRオンライン予測システムのアーキテクチャ
「Ameba広告システムの裏側見せます - オレシカナイトvol3」発表資料です。
https://cyberagent.connpass.com/event/64176/
Yoshitomo Hayashi
September 27, 2017
Tweet
Share
More Decks by Yoshitomo Hayashi
See All by Yoshitomo Hayashi
Ameba DSPのOpen-Auctionにおける入札戦略
yyhayashi303
2
2.9k
進化する配信ロジックとDSP戦略
yyhayashi303
1
170
モブプロ導入で見えてきた効果@オレシカナイト
yyhayashi303
1
1.2k
CircuitBreakerの適用
yyhayashi303
0
1.7k
Other Decks in Technology
See All in Technology
迷わない!AI×MCP連携のリファレンスアーキテクチャ完全ガイド
cdataj
0
470
First-Principles-of-Scrum
hiranabe
4
2k
AI に「学ばせ、調べさせ、作らせる」。Auth0 開発を加速させる7つの実践的アプローチ
scova0731
0
240
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
210
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
手軽に作れる電卓を作って イベントソーシングに親しもう CQRS+ESカンファレンス2026
akinoriakatsuka
0
210
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
150
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
470
Databricks Free Edition講座 データエンジニアリング編
taka_aki
0
2.5k
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか / A Team's Second Try at Scrum with an Agile Coach
kaonavi
0
220
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
870
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
1
640
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
200
Heart Work Chapter 1 - Part 1
lfama
PRO
4
35k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
180
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Optimizing for Happiness
mojombo
379
70k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.1k
Google's AI Overviews - The New Search
badams
0
890
Facilitating Awesome Meetings
lara
57
6.7k
Test your architecture with Archunit
thirion
1
2.1k
How Software Deployment tools have changed in the past 20 years
geshan
0
31k
The Invisible Side of Design
smashingmag
302
51k
Transcript
CTRΦϯϥΠϯ༧ଌ γεςϜͷΞʔΩςΫνϟ ΦϨγΧφΠτvol.3 גࣜձࣾαΠόʔΤʔδΣϯτ ྛ ۍ๎
ࣗݾհ ྛɹۍ๎ʢ͠Α͠ͱʣ αʔόʔαΠυΤϯδχΞ 2011 αΠόʔΤʔδΣϯτೖࣾ ೖࣾޙ͍͔ͭ͘ͷwebαʔϏε୲ 2015͔ΒMDHͰ৴ϩδοΫͷվળ
ࣗݾհ झຯ ίʔώʔ ՈͰυϦοϓͨ͠Γ ίʔϧυϒϦϡʔ࡞ͬͨΓ Netflix Ξχϝ ΥʔΩϯάɾσου
CTRΦϯϥΠϯ༧ଌ γεςϜͷΞʔΩςΫνϟ
CTRͱʁ
CTRͱ? CTRʢΫϦοΫʣ CTR = Click / Impression
ͳͥ༧ଌ͕ඞཁͳͷ͔ʁ
ࠂͷऩӹ ΫϦοΫ՝ۚ ࠂ1ΫϦοΫ͋ͨΓʓʓԁʢCPCʣ
ࠂͷऩӹ ΫϦοΫ՝ۚ ࠂ1ΫϦοΫ͋ͨΓʓʓԁʢCPCʣ ΑΓΫϦοΫ͞ΕΔ CPC͕ߴ͍ࠂΛ৴͍ͨ͠
ࠂΛϥϯΩϯά CTR × CPCʹΑΔϥϯΩϯά CTRόϯσΟοτΞϧΰϦζϜͰࢉग़ ࣮ͷimp, clickΛ༻ ࣮ͷूܭ [ࠂ ×
Ϣʔβʔଐੑ × ࠂ] ຖʹimp, clickΛܭଌ
͜Ε·ͰͷϥϯΩϯάͷ՝ ࣮͕গͳ͍߹ʹ͏·͘࠷దԽ͞Εͳ͍ Ϣʔβʔຖʹ࠷దͳࠂΛ৴ग़དྷ͍ͯͳ͍
ػցֶशʹΑΔCTR༧ଌ ଟ͘ͷૉੑΛՃՄೳ ࣮͕গͳͯ͋͘Δఔ༧ଌՄೳ ύʔιφϥΠζ͞ΕͨϥϯΩϯά
։ൃମ੍ ॳظ γεςϜΤϯδχΞ2ਓ σʔλαΠΤϯςΟετ1ਓʢळ༿ݪϥϘʣ ݱࡏ γεςϜΤϯδχΞ2ʙ3ਓ σʔλαΠΤϯςΟετ2ਓʢळ༿ݪϥϘ1ਓʣ
ΞʔΩςΫνϟ
ΞʔΩςΫνϟ ֶशσʔλ JoinࡁΈͷ ϩά ϩά ϩά ػցֶश ϝτϦΫε Ϟσϧ ϑΝΠϧ
Ϟσϧ ϑΝΠϧ Stream Aggregator Data Joiner Learner Predictor ModelStore
Data-Joiner
Data-Joinerͷׂ ࠂ͕click͞Ε͔ͨͲ͏͔Λఆ͢Δ imp౸ୡޙɺҰఆظؒclickͷ౸ୡΛͭ impͱclickͷσʔλͷࠩҟΛແ͘͢ refererͷʹࠩҟ͕͋ͬͨ
Apache IgniteΛ༻࣮ͨ͠ Event Notifications imp click Stream Data Joiner Aggregator
Apache IgniteΛ༻࣮ͨ͠ Event Notifications put-event impͷ߹ TTLΛ5ʹઃఆ͠อଘ imp click Stream
Data Joiner Aggregator
Apache IgniteΛ༻࣮ͨ͠ Event Notifications put-event impͷ߹ TTLΛ5ʹઃఆ͠อଘ put-event clickͷ߹ରԠ͢Δ impΛݕࡧ͠click͞Εͨ
impͱͯ͠Aggregatorʹૹ৴ imp click Stream Data Joiner Aggregator
Apache IgniteΛ༻࣮ͨ͠ Event Notifications put-event impͷ߹ TTLΛ5ʹઃఆ͠อଘ put-event clickͷ߹ରԠ͢Δ impΛݕࡧ͠click͞Εͨ
impͱͯ͠Aggregatorʹૹ৴ expired-event 5ܦͬͯclick͕དྷͳ͍ ߹click͞Εͳ͔ͬͨimpͱ ͯ͠Aggregatorʹૹ৴ imp click Stream Data Joiner Aggregator
Aggregator
Aggregatorͷׂ ֶशʹඞཁͳσʔλΛऩू ϩά͔Βऔಘग़དྷΔͷ ϩά͔ΒऔಘͰ͖ͳ͍ͷ ऩूͨ͠σʔλΛLearnerʹૹΔ σʔλαϯϓϦϯά͠100݅ͣͭ
ϩά͔ΒऔಘՄೳͳσʔλ Ϣʔβʔͷใ UA, IPΞυϨε, referer, ϦλήϢʔβʔ͔ etc. ࠂͷใ ۀछID, ࠂओID,
ΫϦΤΠςΟϒID etc. ໘ͷใ ࠂID, ϝσΟΞID etc.
ϩά͔ΒऔಘෆՄೳͳσʔλ Ϣʔβʔͷใ σϞάϥʢੑผɾྸʣ ಠࣗʹ࡞ͨ͠ૉੑ ߦಈཤྺΛϕʔεʹͨ͠ϢʔβʔΫϥελ ࠂςΩετΫϥελ
Learner
Learnerͷׂ Aggregator͔Βड͚औͬͨσʔλΛ༻͠ϞσϧΛߏங͢Δ ϞσϧΛߏங͢ΔίΞ෦C++ʢσʔλαΠΤϯςΟ ετ୲ʣ 15ִؒͰϞσϧΛߋ৽ ϞσϧϑΝΠϧͰϞσϧετΞʢS3ʣʹอଘ ػցֶशϝτϦΫεʢauroc, logloss etc.ʣΛDBʹอଘ
Learner͕ੜ͢Δ ϞσϧϑΝΠϧ ֶश༻ϚελϑΝΠϧʢ12ִ࣌ؒؒͰߋ৽ʣ Learner͜ͷϑΝΠϧΛ༻ֶͯ͠श͢Δ ༧ଌ༻ϚελϑΝΠϧʢ12ִ࣌ؒؒͰߋ৽ʣ Predictor͕CTRΛ༧ଌ͢Δࡍʹ༻͢Δ ༧ଌ༻ύονϑΝΠϧ ༧ଌ༻ϚελϑΝΠϧ͔ΒͷࠩϑΝΠϧ ͜ͷϑΝΠϧ͕LearnerʹΑͬͯ15ִؒͰߋ৽͞ΕΔ
Predictor
Predictor ༧ଌʹඞཁͳσʔλΛड͚औΓ༧ଌCTRΛฦ͢API 15ִؒͰϞσϧετΞ͔Β࠷৽ͷϞσϧϑΝΠ ϧΛऔಘ͠ߋ৽͢Δ
༧ଌ͕։࢝ग़དྷΔ·Ͱ ىಈ࣌ʹϚελϑΝΠϧΛಡΈࠐΉ ϚελϑΝΠϧಡΈࠐΈޙ͔Β༧ଌՄೳ ϚελϑΝΠϧͷ࠷ऴߋ৽͔࣌Βͷࠩύον ϑΝΠϧΛద༻͍ͯ͘͠ʢ࠷େͰ47ϑΝΠϧʣ 1ύονϑΝΠϧ5ʙ6ඵͰద༻ՄೳͳͷͰɺ5 ҎͰྃ
CTR༧ଌγεςϜಋೖޙ
CPMൺֱ ϥϯμϜ ࣮CTR ༧ଌCTR ࣮CTRରൺ7ˋվળ ϥϯμϜରൺ50ˋվળ
CTRൺֱ ࣮CTRରൺ6ˋվળ ϥϯμϜରൺ8ˋվળ ϥϯμϜ ࣮CTR ༧ଌCTR
͓·͚
Real-Time Optimizer ʢROʣ
Real- Time OptimizerʢROʣ 20176݄ϦϦʔε ඪCPAʹ߹ΘͤͯCPCΛࣗಈௐ͢Δ
CPCͷࢉग़ํ๏ CPC = ඪCPA × CVR ඪCPA 1CVಘΔͷʹࢧͬͯྑ͍අ༻ ࠂओ͕ܾఆ CVRʢίϯόʔδϣϯʣ
CV / Click
͜Ε·ͰͷCVRࢉग़ํ๏ աڈ࣮ΛݩʹώϡʔϦεςΟοΫͳCVRࢉग़ ࠂ × ΞΧϯτຖʹCVRΛࢉग़ ϦλήϢʔβʔͷ߹ิਖ਼Ϩʔτ
ݱঢ়ͷ՝ CV͕ग़ʹ͍͘Ҋ݅ͷ߹ʹCVRͷਫ਼͕ѱ͍ ৽نΞΧϯτͷ߹࣮͕ແ͍ ۀछશମͷ࣮Λࢀর ৽نࠂͷ߹ʹ࣮͕ͳ͍ ࠂάϧʔϓͷ࣮Λࢀর
CTR༧ଌγεςϜͷࢿ࢈Λ ׆༻ͨ͠CVR༧ଌγεςϜ
CVR༧ଌγεςϜ Ϟσϧͷߏங࣍όονʢBatch-Learnerʣ Clickൃੜ͔ΒCVൃੜ·Ͱͷ͕͍࣌ؒͷͰϦΞ ϧλΠϜͰֶश͠ͳ͍ LearnerͷίΞ෦ɺੜ͞ΕΔϞσϧϑΝΠ ϧɺPredictorͦͷ··༻
ΞʔΩςΫνϟ Predictor ModelStore Batch-Learner ϞσϧϑΝΠϧ ϞσϧϑΝΠϧ ػցֶश ϝτϦΫε ֶशσʔλ
CVR༧ଌͷঢ়گ ༧ଌCVR ࣮CVR ࣮CVRରൺ3ˋվળ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠