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
なぜエネルギーは保存する? 〜自由落下でわかる“対称性”とネーターの定理〜
syotasasaki593876
0
190
MATSUO Makiko
genomethica
0
150
大黒市で発生した大規模インシデント の ポストモーテムから読み解く、 記憶媒体消去の大切さ
shucho0103
0
190
NDCG is NOT All I Need
statditto
2
3.2k
データベース06: SQL (3/3) 副問い合わせ
trycycle
PRO
1
990
明治薬科大学講義_ビッグデータ解析を支えるデータベース技術とクラウドコンピューティング
ktatsuya
1
110
力学系から見た現代的な機械学習
hanbao
4
4.3k
「遂行理論の未来」(松島斉教授最終講義記念セッションの発表資料)
shunyanoda
0
920
ハミルトン・ヤコビ方程式の解の性質と物理的意味
enakai00
0
690
機械学習 - SVM
trycycle
PRO
2
1.1k
俺たちは本当に分かり合えるのか? ~ PdMとスクラムチームの “ずれ” を科学する
bonotake
2
2.4k
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
1.1k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
528
40k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
160
Are puppies a ranking factor?
jonoalderson
1
3.6k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
YesSQL, Process and Tooling at Scale
rocio
174
15k
ラッコキーワード サービス紹介資料
rakko
1
3.7M
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Tell your own story through comics
letsgokoyo
1
960
Music & Morning Musume
bryan
47
7.2k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.8k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
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ʣʹҠߦ͍͖ͯ͠·͢