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
glassmonenkey
July 22, 2022
Programming
1
3.2k
アジャイルで始める データ分析基盤構築
# 概要
Lookermeetup 第8回でトークした内容です。
https://looker-japan-user-group.connpass.com/event/253923/
glassmonenkey
July 22, 2022
Tweet
Share
More Decks by glassmonenkey
See All by glassmonenkey
アジャイルテストの4象限で考える プロダクト開発の品質への向き合い方
nagano
1
1.4k
パッケージ管理ツール Ryeへの旅路
nagano
1
490
PHPerにとってのWebAssemblyの可能性
nagano
1
1.3k
PHPをブラウザで動かす技術
nagano
0
2.3k
PHPとWebAssembly
nagano
19
5.2k
Goで始めるTDD
nagano
1
2.8k
Python製の姓名分割 ライブラリをGoに移植した話
nagano
0
1.4k
PHPとGraphQL
nagano
3
5.5k
BASEの資金調達サービスを New Relicで楽に パフォーマンス改善できた話
nagano
0
1.4k
Other Decks in Programming
See All in Programming
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
750
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
Symfony Mapper Component
soyuka
2
730
良いユニットテストを書こう
mototakatsu
7
2.2k
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
MCP with Cloudflare Workers
yusukebe
2
220
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
3
280
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
930
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
Go の GC の不得意な部分を克服したい
taiyow
3
780
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
460
33k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
We Have a Design System, Now What?
morganepeng
51
7.3k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
BBQ
matthewcrist
85
9.4k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
It's Worth the Effort
3n
183
28k
Transcript
© 2012-2022 BASE, Inc. 1 アジャイルで始める データ分析基盤構築 Looker User Meetup
Online #8 BASE株式会社/永野 峻輔(@glassmonenkey)
© 2012-2022 BASE, Inc. 2 #lookermeetup @glassmonkey 自己紹介 所属 BASE
株式会社 BASE BANKチーム Engineering Program Manager 資金調達プロダクト「YELL BANK」の開発責任者やってます。 Go, PHP, Pythonを書きつつ、片足データエンジニアも。 趣味 Flutterアプリ開発 hasura.ioやsupabaseがマイブーム SNS Twitter:@glassmonekey Github: https://github.com/glassmonkey 永野 峻輔 (ながの しゅんすけ) 昨年寄稿させていただきました
© 2012-2022 BASE, Inc. 3 #lookermeetup @glassmonkey
© 2012-2022 BASE, Inc. 4 #lookermeetup @glassmonkey 現在は、即座に資金調達ができる「YELL BANK」、ショップの売上がそのまま支払いに使える「BASEカード」、 最短翌営業日に売上金が振り込まれる「お急ぎ振込」を提供しています。
3つのサービスで総合的に加盟店のお金周りのサポートをしています。 振込申請 BASEカード YELL BANK かんたん、即座に 1万円から資金調達が可能 売上をそのままお支払いに使える 「お急ぎ振込」では 最短翌営業日に売上を振込 弊チームの扱うプロダクト達
© 2012-2022 BASE, Inc. 5 #lookermeetup @glassmonkey 不確実性との戦い
© 2012-2022 BASE, Inc. 6 #lookermeetup @glassmonkey アジャイルで始める データ分析基盤構築
© 2012-2022 BASE, Inc. 7 #lookermeetup @glassmonkey アジャイルで始める データ分析基盤構築
© 2012-2022 BASE, Inc. 8 #lookermeetup @glassmonkey アジャイルソフトウェア宣言より • プロセスやツールよりも個人と対話を、
• 包括的なドキュメントよりも動くソフトウェアを、 • 契約交渉よりも顧客との協調を、 • 計画に従うことよりも変化への対応
© 2012-2022 BASE, Inc. 9 #lookermeetup @glassmonkey 少しずつ学習を重ねていくこと
© 2012-2022 BASE, Inc. 10 #lookermeetup @glassmonkey アジャイルで始める データ分析基盤構築
© 2012-2022 BASE, Inc. 11 #lookermeetup @glassmonkey Lookerでショップショップカルテを作った話 簡易crmを作った話 https://devblog.thebase.in/entry/looker-debut
https://devblog.thebase.in/entry/2021/07/07/110000
© 2012-2022 BASE, Inc. 12 © 2012-2022 BASE, Inc. 12
チーム体制
© 2012-2022 BASE, Inc. 13 #lookermeetup @glassmonkey チーム体制 PdM デザイナー
PMM etc… 振込申請 EPM Engineer EPM Engineer EPM Engineer TL Planing Sprint:1 … Release Planing Sprint:1 … Release Planing Sprint:1 … Release
© 2012-2022 BASE, Inc. 14 #lookermeetup @glassmonkey フルサイクルエンジニアという文化 要件定義・設計 企画
開発 テスト 問い合わせ対応 デプロイ 運用 Software Developers フルサイクル開発チーム • フルサイクルでプロダクト開発をするため、 アプリケーション設計・開発、デプロイの構築、 運用設計・インフラ構築まで担う職能横断チーム • 自分たちで開発したプロダクト・機能はグロース・サ ポートまで担当します • Netflixが提唱する「Full Cycle Developer」 職能横断チーム
© 2012-2022 BASE, Inc. 15 #lookermeetup @glassmonkey 不確実性との戦い
© 2012-2022 BASE, Inc. 16 #lookermeetup @glassmonkey 大事なことは リリース後の基盤も 自分たちでつくる
© 2012-2022 BASE, Inc. 17 © 2012-2022 BASE, Inc. 17
データ基盤の歩み
© 2012-2022 BASE, Inc. 18 #lookermeetup @glassmonkey ある日の一コマ BASE BANKチーム
全社的なデータ基盤構築などを担当 データプラットフォームチーム なるほど ぼく Looker導入するで!!
© 2012-2022 BASE, Inc. 19 #lookermeetup @glassmonkey 背景 • Redashをもともと使ってた
◦ 大量のメンテされてないダッシュボードが氾濫してた ◦ 分析用途の基盤は主にMySQL 5系が使われてた • DWHにBigQueryを使っていくぞという動きもあった ◦ チームの基盤は業務DB(MySQL)を直接使っていた
© 2012-2022 BASE, Inc. 20 #lookermeetup @glassmonkey 怒涛の新概念
© 2012-2022 BASE, Inc. 21 #lookermeetup @glassmonkey LookMLの用語と概念 より
© 2012-2022 BASE, Inc. 22 #lookermeetup @glassmonkey 不確実性との戦い
© 2012-2022 BASE, Inc. 23 #lookermeetup @glassmonkey どこから始めたか?
© 2012-2022 BASE, Inc. 24 #lookermeetup @glassmonkey 必要なところから
© 2012-2022 BASE, Inc. 25 #lookermeetup @glassmonkey 必要なところ • Redashで見ていたデータから
• データの同期は日時 • MySQL -> BigQueryはシンプルなCDCで ◦ embulkを使用 ◦ 更新日時にindexを貼る + マージクエリで実現 ◦ Fargate上でテーブル単位で並行で動くように ◦ いつでも捨てられるように
© 2012-2022 BASE, Inc. 26 #lookermeetup @glassmonkey 最初の壁 • Redashでもよくないか?
• 覚えること多い ◦ Lookerに忖度してる感覚がかなりあった ◦ なれると便利(primary key, demention group, etc…) • 設計で聞ける人がいなかった
© 2012-2022 BASE, Inc. 27 #lookermeetup @glassmonkey 閃きと教え データベースに詳しい先輩 派生テーブル
使えばいいのか ぼく スタースキーマ 最高
© 2012-2022 BASE, Inc. 28 #lookermeetup @glassmonkey Lookerの活用の開始 • 業務テーブルをそのまま使わないこと
• 目的別にエクスプローラーを作成することに ◦ 現在データの分析 ◦ 日時データの分析
© 2012-2022 BASE, Inc. 29 #lookermeetup @glassmonkey 現在データの分析とは • 最小単位をユーザー
◦ ユーザーの属性の分類に備えて ex) 現在のユニークユーザー数
© 2012-2022 BASE, Inc. 30 #lookermeetup @glassmonkey 日時データの分析とは • 最小単位を「ユーザー」
+ 「日」 ◦ ユーザーの属性の分類に備えて • スパースなデータなのでカレンダーテーブルを規程に ◦ これにJOINしていく方式に ex) 日毎のユニークユーザー数
© 2012-2022 BASE, Inc. 31 #lookermeetup @glassmonkey データ分析にも適応するFBループ 要件定義・設計 企画
開発 テスト 問い合わせ対応 デプロイ 運用 Software Developers データ整備
© 2012-2022 BASE, Inc. 32 #lookermeetup @glassmonkey 拡大するフィードバックループ 事業計画 日々のデータ監視
施策振り返り OKR振り返り
© 2012-2022 BASE, Inc. 33 © 2012-2022 BASE, Inc. 33
大事なことはデータ基盤を 自分達で整備していくこと
© 2012-2022 BASE, Inc. 34 #lookermeetup @glassmonkey まとめ • 文化ができる
◦ リリース後の速報が把握できる&するようになった。 ◦ データを見る習慣ができてきた。 • ユーザーへの解像度があがった。 ◦ 日にどれくらい使われる? ◦ このままの成長でシステムが耐えられるか? • アンラーン大事
© 2012-2022 BASE, Inc. 35 #lookermeetup @glassmonkey +α(開発者視点) • テーブル設計レベルでビジネスメンバーを巻き込める点
• システムの異常系検知に便利 ◦ ex) 資金調達可能ショップ数の前日比の異常現象検知など • 効果測定を加味したシステム設計
© 2012-2022 BASE, Inc. 36 #lookermeetup @glassmonkey 今後 • dbtを使ったクエリ管理
◦ 1視聴者として今日の発表は楽しみ • PDTの活用 ◦ まだ複雑ではないので耐えられている • 機械学習システムとの連携
© 2012-2022 BASE, Inc. 37 #lookermeetup @glassmonkey フルサイクル開発やってます!! 興味あったらDM待ってます!! We
are hiring !!