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
不動産情報サイトにおけるリアルタイムデータ分析基盤の活用
Search
Red Frasco
December 07, 2023
Technology
1
260
不動産情報サイトにおけるリアルタイムデータ分析基盤の活用
2023/12/07 に開催された Jagu'e'r(Japan Google Cloud Usergroup for Enterprise)データ利活用分科会 LT 大会の登壇資料です。
Red Frasco
December 07, 2023
Tweet
Share
More Decks by Red Frasco
See All by Red Frasco
Datadog Synthetics 活用事例紹介
red_frasco
0
360
バッチ処理が終わらない!? -処理時間を90%削減した話-
red_frasco
1
300
不動産情報サイトにおけるデータ収集で頑張ったこと
red_frasco
0
280
コストに関するヒヤリハットのお話 ~コスト超過で手遅れにならないためにすべきこと~
red_frasco
0
430
Spring Boot 2 から 3 へバージョンアップしてみた
red_frasco
4
17k
チーム一丸となって信頼性向上! 多種多様な監視でサイトを守る取り組みの紹介
red_frasco
1
1.4k
Red Frasco 会社紹介
red_frasco
3
21k
AWS環境におけるSpring BootアプリケーションのCI/CDをCircleCIで構築した話
red_frasco
2
700
Feature 環境の自動生成と Blue Green Deployment で効率的かつ安全なリリースプロセスを構築
red_frasco
1
450
Other Decks in Technology
See All in Technology
単一Gitリポジトリから独立しました
lycorptech_jp
PRO
0
350
AWS Lambdaでサーバレス設計を学ぼう_ベンダーロックインの懸念を超えて-サーバレスの真価を探る
fukuchiiinu
4
930
Go Connectへの想い
chiroruxx
0
140
Data Hubグループ 紹介資料
sansan33
PRO
0
1.8k
ゆるSRE #11 LT
okaru
1
220
うちの会社の評判は?SNSの投稿分析にAIを使ってみた
doumae
0
610
大手企業のAIツール導入の壁を越えて:サイバーエージェントのCursor活用戦略
gunta
34
16k
SwiftUI Transaction を徹底活用!ZOZOTOWN UI開発での活用事例
tsuzuki817
1
140
CSSDay, Amsterdam
brucel
0
270
Kafka vs. Pulsar: Performance Evaluation by Petabyte-Scale Streaming Platform Providers
lycorptech_jp
PRO
1
310
NW運用の工夫と発明
recuraki
2
870
TypeScript をより型安全に扱うプラクティス #TSKaigi #TSKaigi2025_kataritai
bengo4com
0
2.1k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Balancing Empowerment & Direction
lara
1
100
Thoughts on Productivity
jonyablonski
69
4.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
A Tale of Four Properties
chriscoyier
159
23k
Typedesign – Prime Four
hannesfritz
42
2.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Transcript
ෆಈ࢈ใαΠτʹ͓͚Δ ϦΞϧλΠϜσʔλੳج൫ͷ׆༻ Jagu'e'r データ利活⽤分科会 LT⼤会 2023.12.07
⽬次 1. ⾃⼰紹介/弊社紹介 2. 本⽇話すこと/話さないこと 3. なぜリアルタイムデータが必要なのか 4. 分析基盤のシステム構成 5.
リアルタイムデータの活⽤⽅法 6. その他
⾃⼰紹介 杉⼭ 隆(Takashi Sugiyama) 3 • 所属 • 株式会社Red Frasco
• 職種 • データエンジニア/MLエンジニア • 技術 • Google Cloud, Python, Golang • よく使うGCPサービス • Cloud Composer, Dataflow, Dataproc, BigQuery, ...
株式会社Red Frasco • https://www.red-frasco.com/ • 不動産業界に特化したプロダクト開発・集客⽀援を実施 • 今回はとある 賃貸不動産情報サイトのデータ分析基盤 のお話
4
本⽇話すこと/話さないこと • 話すこと • データ分析基盤内のリアルタイムデータについて • ⽬的、取得⽅法、活⽤⽅法・・・等 • 話さないこと •
データ分析基盤のその他の仕組み • データパイプライン、DWH、BI・・・等 5
なぜリアルタイムデータが必要なのか(1/2) • 賃貸不動産情報サイトにおけるユーザーの⾏動パターン • ほとんどのユーザは初回訪問でコンバージョン(Web での問い合わせ 等)する • そのためセッション内での訴求が重要となり、⾏動ログ等のユーザ データをリアルタイムで取得、さらにセッション内の⾏動を計測でき
るようにすることが望まれる 6
なぜリアルタイムデータが必要なのか(2/2) • Google アナリティクスでは要件を満たせなかった • BigQuery Export 機能 • エクスポートされるタイミングが遅い(要件定義時は翌⽇午後)
• 最近早くなってきた(翌⽇早朝)が、それでも要件を満たしていない • ストリーミングエクスポート機能 • 翌⽇以降にエクスポートされたレコードと⽐較すると、2〜3割程度のレコード⽋ 損がある︖(※今回の対象サイトだけかもしれません。ご参考まで。) • 将来的には GA からリアルタイムデータへの移⾏を検討 • UA → GA4 の移⾏に伴う作業が⼤変だった・・・ 7
分析基盤のシステム構成(1/6) 全体構成 8
分析基盤のシステム構成(2/6) 本⽇話す内容はここ︕ 9
分析基盤のシステム構成(3/6) 拡⼤ + 開発中の機能も表⽰ 10
分析基盤のシステム構成(4/6) • ログを取得する仕組みは API で提供 • アプリケーション側に極⼒⼿が⼊らないように • 開発チームとの分離 •
バックエンドは Cloud Run で構築 • 運⽤が楽︕ 11
分析基盤のシステム構成(5/6) • ログの保存先は2つ • Cloud Run → Bigtable • ログをすぐに利⽤したい場合の保存先
• 過去2⽇分を保存 • Cloud Run → Pub/Sub → Dataflow → BigQuery • 通常利⽤の保存先 • 過去分全てを保存 12
分析基盤のシステム構成(6/6) • 当初は Bigtable ではなく Firestore を利⽤していたが 書き込みエラーが多く出たため変更 • エラー原因は結局分からず・・・
• 「500/50/5」ルールはきちんと守っていた・・・はず・・・ 13
リアルタイムデータの活⽤⽅法 • レコメンド機能 • ユーザーの⾏動ログを基にした User-to-Item レコメンド • 直近(同⼀セッション内)の⾏動ログを特徴量として使⽤ •
鋭意開発中︕ 14
その他 • その他の機能も機会があれば話させてください︕ もしくは懇親会で︕ • Embedding を使⽤した Item-to-Item レコメンド •
Cloud Composer のノウハウ • Redash on GKE・・・等 15
Thanks for listening!