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
300
不動産情報サイトにおけるリアルタイムデータ分析基盤の活用
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
“後発優位”で挑んだ 「いい部屋ネット」再構築: 4年間のAWS移行で実現した成果とその舞台裏
red_frasco
0
72
Datadog Synthetics 活用事例紹介
red_frasco
0
460
バッチ処理が終わらない!? -処理時間を90%削減した話-
red_frasco
1
340
不動産情報サイトにおけるデータ収集で頑張ったこと
red_frasco
0
310
コストに関するヒヤリハットのお話 ~コスト超過で手遅れにならないためにすべきこと~
red_frasco
0
470
Spring Boot 2 から 3 へバージョンアップしてみた
red_frasco
4
17k
チーム一丸となって信頼性向上! 多種多様な監視でサイトを守る取り組みの紹介
red_frasco
1
1.5k
Red Frasco 会社紹介
red_frasco
3
28k
AWS環境におけるSpring BootアプリケーションのCI/CDをCircleCIで構築した話
red_frasco
2
740
Other Decks in Technology
See All in Technology
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
3
300
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
130
KMP の Swift export
kokihirokawa
0
330
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
590
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
130
GC25 Recap+: Advancing Go Garbage Collection with Green Tea
logica0419
1
400
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
0
130
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
110
extension 現場で使えるXcodeショートカット一覧
ktombow
0
210
Function calling機能をPLaMo2に実装するには / PFN LLMセミナー
pfn
PRO
0
910
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.8k
Trust as Infrastructure
bcantrill
0
320
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Why Our Code Smells
bkeepers
PRO
339
57k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Site-Speed That Sticks
csswizardry
11
880
Producing Creativity
orderedlist
PRO
347
40k
Raft: Consensus for Rubyists
vanstee
139
7.1k
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!