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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yoshitomo Hayashi
September 27, 2017
Technology
4.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CTRオンライン予測システムのアーキテクチャ
「Ameba広告システムの裏側見せます - オレシカナイトvol3」発表資料です。
https://cyberagent.connpass.com/event/64176/
Yoshitomo Hayashi
September 27, 2017
More Decks by Yoshitomo Hayashi
See All by Yoshitomo Hayashi
Ameba DSPのOpen-Auctionにおける入札戦略
yyhayashi303
2
3k
進化する配信ロジックとDSP戦略
yyhayashi303
1
170
モブプロ導入で見えてきた効果@オレシカナイト
yyhayashi303
1
1.2k
CircuitBreakerの適用
yyhayashi303
0
1.8k
Other Decks in Technology
See All in Technology
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
1.1k
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.4k
失敗を資産に変えるClaude Code
shinyasaita
0
650
フロンティアAIのゲート化と地政学リスク
nagatsu
0
140
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
180
自律型AIエージェントは何を破壊するのか
kojira
0
160
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
220
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
1k
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
1k
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
2
640
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
160
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
310
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Tell your own story through comics
letsgokoyo
1
950
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
620
How GitHub (no longer) Works
holman
316
150k
Optimizing for Happiness
mojombo
378
71k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Agile that works and the tools we love
rasmusluckow
331
21k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Evolving SEO for Evolving Search Engines
ryanjones
0
220
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ˋվળ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠