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
一休.com を支えるデータ分析基盤
Search
yusuke sasajima
August 17, 2017
Science
6.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
一休.com を支えるデータ分析基盤
yusuke sasajima
August 17, 2017
More Decks by yusuke sasajima
See All by yusuke sasajima
一休.comにおけるfrontend開発
zimathon
3
1.3k
SQLアンチパターン勉強会 #2
zimathon
0
390
Other Decks in Science
See All in Science
Toward Causal Scientific Discovery with AI
sshimizu2006
0
160
「念のためのログ保存」を組織全体でやめるためのポリシーと仕組み作り
i2tsuki
4
360
データベース02: データベースの概念
trycycle
PRO
2
1.4k
データベース01: データベースを使わない世界
trycycle
PRO
1
1.5k
データベース12: 正規化(2/2) - データ従属性に基づく正規化
trycycle
PRO
0
1.7k
コーヒー豆様核 (Coffee-bean nuclei) における形態学的サブタイピングと精選・焙煎特性の同定
jagupath
PRO
0
150
大黒市で発生した大規模インシデント の ポストモーテムから読み解く、 記憶媒体消去の大切さ
shucho0103
0
250
20260722【JAWS-UG東京 ランチタイムLT会 #37④】AWS Well-Architectedフレームワークに沿った回答をするAIエージェントを作ってみた
nozakijcom
1
140
機械学習 - 決定木からはじめる機械学習
trycycle
PRO
0
1.6k
機械学習 - SVM
trycycle
PRO
2
1.2k
データベース08: 実体関連モデルとは?
trycycle
PRO
0
1.6k
Leitner Inauguration Lecture Chalmers University of Technology
xleitix
0
310
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
430
Git: the NoSQL Database
bkeepers
PRO
432
67k
What's in a price? How to price your products and services
michaelherold
247
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
500
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
690
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Chasing Engaging Ingredients in Design
codingconduct
0
290
Transcript
ҰٳDPNΛࢧ͑Δ σʔλੳج൫ ౡ༞հ
σʔλੳج൫ڥͷ࠶ߏங
࠶ߏஙલͷσʔλੳج൫ʢࣾͷωοτϫʔΫʹߏஙʣ 基幹DB セッションログ (行動ログ) GA + BigQuery 統合データ (DWH) データ分析
様々なデータソース 統合されたデータ (社内NW) 抽出 CRM施策 (オフライン) データサイエンティスト、 マーケ、エンジニア メール配信 (ごぶさたクーポン) ETL メール配信 (Price down通知)
Ҡߦͷഎܠ • ຊ൪ڥͱࣾͷੳڥͷωοτϫʔΫஅ͞Ε͍ͯΔ – ݱߦͷੳڥʢ42-4FSWFSʣࣾڥʹߏங͞Ε͍ͯΔ – அ͞Ε͍ͯΔ͜ͱʹΑΔ͞·͟·ͳ੍͕ൃੜ͍ͯͨ͠ • ຊ൪ڥͷ%#͞·͟·ͳ߹ʹΑΓҰҰճ͔͠&5-Ͱ͖ͳ͍ •
σΟεΫ༰ྔෆ – ރׇ͢ΔՄೳੑ͕ৗʹ͋Δ • ͜ͷαʔόʹෆ۩߹͕ى͖ΔͱʑͷϚʔέςΟϯάࢪࡦ͕ࢭ·ͬͯ͠·͏ͱ͍ ͏ڪා h"p://localhost:3000/api/campaign/
σʔλੳج൫Ϋϥυڥ 基幹DB セッションログ (行動ログ) 統合データ (DWH) データ分析 様々なデータソース 統合されたデータ 抽出
CRM施策 (オフライン) データサイエンティスト、 マーケ、エンジニア ETL クラウド環境に移⾏ ログ基盤を内製 メール配信 (ごぶさたクーポン) メール配信 (Price down通知)
3FETIJGU্ʹߏங࣮͠ࡍʹࢼͯ͠Βͬͨͱ͜Ζʜ 基幹DB セッションログ (行動ログ) 統合データ (DWH) データ分析 様々なデータソース 統合されたデータ (クラウド)
抽出 CRM施策 (オフライン) データサイエンティスト、 マーケ、エンジニア ETL ・今の環境からの移行が大変そう ・移行するだけなら効果が出ない ・慣れた道具をわざわざ変えるのは… メール配信 (ごぶさたクーポン) メール配信 (Price down通知)
%BUB8BSFIPVTFͱͯ͠ར༻͢ΔαʔϏεͷํస Redshift → Azure SQL Data Warehouse • ར༻͢Δ͖αʔϏεΛ࠶બఆ –
ੳڥ͔ΒͷҠߦίετ͕ߴ͍ • 3FETIJGU1PTUHSF42-͕ϕʔε • "[VSF42-%BUB8BSFIPVTF42-4FSWFS͕ϕʔε – 3FETIJGUʹҠߦ͢Δ߹ɺݱߦͷ42-4FSWFSϕʔεͰͷσʔλੳ༻εΫϦϓτͷ΄ͱΜͲ શͯΛॻ͖͢ඞཁ͕͋Δʢ"[VSF42-%BUB8BSFIPVTFͰҰ෦ॻ͖͢ඞཁ͋Δʣ – ͔͠͠ɺطଘࢿ࢈ͷ΄ͱΜͲ͕ͯ͢ྲྀ༻Մೳ • ҠߦίετؑΈͨஅ͕ඞཁͩͬͨ – Ұٳͷຊ൪ڥશ໘తʹ"84ͷҠߦΛਐΊ͓ͯΓɺͦͷจ຺͔Β 3FETIJGUʹҠߦ͖͢ͱஅͯ͠͠·ͬͨ
৽σʔλੳج൫"[VSF42-%BUB8BSFIPVTFΛத৺ͱͨ͠ ͷʹ 基幹DB セッションログ (行動ログ) 統合データ (DWH) データ分析 様々なデータソース 統合されたデータ
(クラウド) 抽出 CRM施策 (オフライン) データサイエンティスト、 マーケ、エンジニア ETL メール配信 (ごぶさたクーポン) メール配信 (Price down通知)
ҰٳDPNͷϩάج൫ɺσʔλੳج൫
ϩάج൫
ϩάج൫ʹΑͬͯηογϣϯϩάʢߦಈϩάʣΛੵ 基幹DB セッションログ (行動ログ) 統合データ (DWH) データ分析 様々なデータソース 統合されたデータ (クラウド)
抽出 CRM施策 (オフライン) データサイエンティスト、 マーケ、エンジニア ETL メール配信 (ごぶさたクーポン) メール配信 (Price down通知)
ϩάج൫ͷશମ૾
ϩάૹ৴ઌͱͳΔ"1*ͷΞʔΩςΫνϟ AjaxでH"pRequest
ੑೳΛݕূͨ݁͠Ռ(PͰ࣮ΛਐΊ·ͨ͠ 当初は API Gateway + Lambda の想定
ߏ UTNBMM ʹͯ҆ఆՔಇத
ϩάूΞʔΩςΫνϟ Kinesis Stream を利⽤
,JOFTJTͱ-BNCEBͷ૬ੑൈ܈ • ૬ੑ͕ྑ͍ཧ༝ – σʔλར༻ઌ͕૿͑ͨ߹-BNCEBଆͰΠϕϯτΛొ͢Δ͚ͩ – Τϥʔ͕ൃੜͨ͠߹ʹσʔλͷ༗ޮظݶ·ͰϦτϥΠ͢Δ
σʔλੳج൫
σʔλੳج൫ͷશମ૾
ॳͷϓϥϯ
"[VSFͷڥʹΑΔ੍͕ݪҼ • "[VSF42-%BUB8BSFIPVTFͰඞཁͳσʔλՃॲཧ͕୯ମͰ ࣮ࢪͰ͖ͳ͍ – +40/Λύʔε͢Δॲཧ͕ॻ͚ͳ͍ɺਖ਼نදݱΛར༻ͨ͠ॲཧ͕ॻ͚ͳ ͍ • ͭ·Γɺੜσʔλͦͷ··Ͱར༻ෆՄ –
"[VSF42-%BUB8BSFIPVTFʹσʔλΛೖ͢ΔલʹՃ͢Δॲཧ͕ ඞཁʹͳΔ • େྔϑΝΠϧͷσʔλϩʔυੑೳ – ͞·͟·ͳߏΛࢼͨ݁͠Ռɺݱঢ়ͷߏ͕࠷ద • $MPVE4UPSBHF্ͷࡉԽ͞ΕͨϩάใΛ#JH2VFSZʹҰ୴ू͢Δ – $MPVE4UPSBHF͔Β"[VSF42-%BUB8BSFIPVTF·Ͱ
#JH2VFSZϩάΛՃͱू͢ΔׂΛ࣋ͭ
σʔλੳج൫ͷ׆༻ࣄྫ
۩ମతͳ׆༻ࣄྫ • ,1*ूܭ – ࣄۀͷ,1*ͱͳ͍ͬͯΔࢦඪͷࢉग़ • ๚ɺ$73 • ৽نձһొϦϐʔτɺϦϐʔλʔຖͷച্ •
νϟωϧຖͷച্ • $3.ࢪࡦ – ϝʔϧΛར༻ͨ͠UPϚʔέςΟϯά
,1*ूܭ
ϝʔϧΛར༻ͨ͠UPϚʔέςΟϯάʢ͝Ϳͨ͞Ϋʔϙϯʣ
ϝʔϧΛར༻ͨ͠UPϚʔέςΟϯάʢ1SJDFEPXO௨ʣ
σʔλੳج൫ɾϩάج൫ͷࠓޙͷ׆༻
ηογϣϯϕʔεͰͷސ٬ͱͷίϛϡχέʔγϣϯྫ 前回のセッションの行動か ら予約の再検討を提案
ϩάج൫ΛԽͨ͠ཧ༝ • ϢʔβʔͷߦಈϩάΛՄೳͳݶΓૣ͘ऩू͢Δҝ – ηογϣϯىͰͷϢʔβʔߦಈΛิͯ͠ϦΞϧλΠϜͳࢪࡦΛଧ ͍ͪͨ – Google Analytics +
BigQueryの構成では解決できない問題があった • σʔλੵͷλΠϜϥάʢ࠷Ͱ࣌ؒޙʣ • ͦͦΞϓϦέʔγϣϯαʔό͔Βੵ͞Εͨσʔλ͕ӾཡͰ͖ͳ͍ 自分たちでコントロールできる Google Analy>cs + BigQueryのようなものが必要
ϦΞϧλΠϜߦಈϩάͷऩू
ΧελϚʔδϟʔχʔ૬ͷσʔλ͕ϦΞϧλΠϜʹར༻Մೳ Ϣʔβʔͷηογϣϯ୯ҐͰͷߦಈϩά͕ϦΞϧλΠϜʹੵɾߋ৽͞ΕΔ 初回と最終の 訪問日時と訪 問URLを保持 ユーザーが対 象の画面を通っ たかどうかをフ ラグで管理 サイトに滞在し
た時間
·ͱΊ • Ұٳʹ͓͚Δσʔλੳج൫ͷ࠶ߏஙʹ͓͚Δϩάج൫ɺσʔλ ੳج൫ʹ͍͖ؔͯͤͯͨͩ͠͞·ͨ͠ • ࠶ߏங࣌ݱߦۀσʔλྔɺσʔλੳج൫ʹؔΘΔཁૉΛ ͖ͪΜͱੳͯ͠ਐΊΔ͖ͩͱ࠶ೝࣝ͠·ͨ͠ • ࠓޙϚʔέςΟϯάࢪࡦͷىΛશͯ৽͍͠σʔλੳج൫ ʢ"[VSF42-%BUB8BSFIPVTFʣʹҠߦ͍͖ͯ͠·͢