Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アジャイルで始める データ分析基盤構築

アジャイルで始める データ分析基盤構築

# 概要
Lookermeetup 第8回でトークした内容です。
https://looker-japan-user-group.connpass.com/event/253923/

384e4d8bab8ac2a5e6f64dab1300c491?s=128

glassmonenkey

July 22, 2022
Tweet

More Decks by glassmonenkey

Other Decks in Programming

Transcript

  1. © 2012-2022 BASE, Inc. 1 アジャイルで始める データ分析基盤構築 Looker User Meetup

    Online #8 BASE株式会社/永野 峻輔(@glassmonenkey)
  2. © 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 永野 峻輔 (ながの しゅんすけ) 昨年寄稿させていただきました
  3. © 2012-2022 BASE, Inc. 3 #lookermeetup @glassmonkey

  4. © 2012-2022 BASE, Inc. 4 #lookermeetup @glassmonkey 現在は、即座に資金調達ができる「YELL BANK」、ショップの売上がそのまま支払いに使える「BASEカード」、 最短翌営業日に売上金が振り込まれる「お急ぎ振込」を提供しています。

    3つのサービスで総合的に加盟店のお金周りのサポートをしています。 振込申請 BASEカード YELL BANK かんたん、即座に 1万円から資金調達が可能 売上をそのままお支払いに使える 「お急ぎ振込」では 最短翌営業日に売上を振込 弊チームの扱うプロダクト達
  5. © 2012-2022 BASE, Inc. 5 #lookermeetup @glassmonkey 不確実性との戦い

  6. © 2012-2022 BASE, Inc. 6 #lookermeetup @glassmonkey アジャイルで始める データ分析基盤構築

  7. © 2012-2022 BASE, Inc. 7 #lookermeetup @glassmonkey アジャイルで始める データ分析基盤構築

  8. © 2012-2022 BASE, Inc. 8 #lookermeetup @glassmonkey アジャイルソフトウェア宣言より • プロセスやツールよりも個人と対話を、

    • 包括的なドキュメントよりも動くソフトウェアを、 • 契約交渉よりも顧客との協調を、 • 計画に従うことよりも変化への対応
  9. © 2012-2022 BASE, Inc. 9 #lookermeetup @glassmonkey 少しずつ学習を重ねていくこと

  10. © 2012-2022 BASE, Inc. 10 #lookermeetup @glassmonkey アジャイルで始める データ分析基盤構築

  11. © 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
  12. © 2012-2022 BASE, Inc. 12 © 2012-2022 BASE, Inc. 12

    チーム体制
  13. © 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
  14. © 2012-2022 BASE, Inc. 14 #lookermeetup @glassmonkey フルサイクルエンジニアという文化 要件定義・設計 企画

    開発 テスト 問い合わせ対応 デプロイ 運用 Software Developers フルサイクル開発チーム • フルサイクルでプロダクト開発をするため、 アプリケーション設計・開発、デプロイの構築、 運用設計・インフラ構築まで担う職能横断チーム • 自分たちで開発したプロダクト・機能はグロース・サ ポートまで担当します • Netflixが提唱する「Full Cycle Developer」 職能横断チーム
  15. © 2012-2022 BASE, Inc. 15 #lookermeetup @glassmonkey 不確実性との戦い

  16. © 2012-2022 BASE, Inc. 16 #lookermeetup @glassmonkey 大事なことは リリース後の基盤も 自分たちでつくる

  17. © 2012-2022 BASE, Inc. 17 © 2012-2022 BASE, Inc. 17

    データ基盤の歩み
  18. © 2012-2022 BASE, Inc. 18 #lookermeetup @glassmonkey ある日の一コマ BASE BANKチーム

    全社的なデータ基盤構築などを担当 データプラットフォームチーム なるほど ぼく Looker導入するで!!
  19. © 2012-2022 BASE, Inc. 19 #lookermeetup @glassmonkey 背景 • Redashをもともと使ってた

    ◦ 大量のメンテされてないダッシュボードが氾濫してた ◦ 分析用途の基盤は主にMySQL 5系が使われてた • DWHにBigQueryを使っていくぞという動きもあった ◦ チームの基盤は業務DB(MySQL)を直接使っていた
  20. © 2012-2022 BASE, Inc. 20 #lookermeetup @glassmonkey 怒涛の新概念

  21. © 2012-2022 BASE, Inc. 21 #lookermeetup @glassmonkey LookMLの用語と概念 より

  22. © 2012-2022 BASE, Inc. 22 #lookermeetup @glassmonkey 不確実性との戦い

  23. © 2012-2022 BASE, Inc. 23 #lookermeetup @glassmonkey どこから始めたか?

  24. © 2012-2022 BASE, Inc. 24 #lookermeetup @glassmonkey 必要なところから

  25. © 2012-2022 BASE, Inc. 25 #lookermeetup @glassmonkey 必要なところ • Redashで見ていたデータから

    • データの同期は日時 • MySQL -> BigQueryはシンプルなCDCで ◦ embulkを使用 ◦ 更新日時にindexを貼る + マージクエリで実現 ◦ Fargate上でテーブル単位で並行で動くように ◦ いつでも捨てられるように
  26. © 2012-2022 BASE, Inc. 26 #lookermeetup @glassmonkey 最初の壁 • Redashでもよくないか?

    • 覚えること多い ◦ Lookerに忖度してる感覚がかなりあった ◦ なれると便利(primary key, demention group, etc…) • 設計で聞ける人がいなかった
  27. © 2012-2022 BASE, Inc. 27 #lookermeetup @glassmonkey 閃きと教え データベースに詳しい先輩 派生テーブル

    使えばいいのか ぼく スタースキーマ 最高
  28. © 2012-2022 BASE, Inc. 28 #lookermeetup @glassmonkey Lookerの活用の開始 • 業務テーブルをそのまま使わないこと

    • 目的別にエクスプローラーを作成することに ◦ 現在データの分析 ◦ 日時データの分析
  29. © 2012-2022 BASE, Inc. 29 #lookermeetup @glassmonkey 現在データの分析とは • 最小単位をユーザー

    ◦ ユーザーの属性の分類に備えて ex) 現在のユニークユーザー数
  30. © 2012-2022 BASE, Inc. 30 #lookermeetup @glassmonkey 日時データの分析とは • 最小単位を「ユーザー」

    + 「日」 ◦ ユーザーの属性の分類に備えて • スパースなデータなのでカレンダーテーブルを規程に ◦ これにJOINしていく方式に ex) 日毎のユニークユーザー数
  31. © 2012-2022 BASE, Inc. 31 #lookermeetup @glassmonkey データ分析にも適応するFBループ 要件定義・設計 企画

    開発 テスト 問い合わせ対応 デプロイ 運用 Software Developers データ整備
  32. © 2012-2022 BASE, Inc. 32 #lookermeetup @glassmonkey 拡大するフィードバックループ 事業計画 日々のデータ監視

    施策振り返り OKR振り返り
  33. © 2012-2022 BASE, Inc. 33 © 2012-2022 BASE, Inc. 33

    大事なことはデータ基盤を 自分達で整備していくこと
  34. © 2012-2022 BASE, Inc. 34 #lookermeetup @glassmonkey まとめ • 文化ができる

    ◦ リリース後の速報が把握できる&するようになった。 ◦ データを見る習慣ができてきた。 • ユーザーへの解像度があがった。 ◦ 日にどれくらい使われる? ◦ このままの成長でシステムが耐えられるか? • アンラーン大事
  35. © 2012-2022 BASE, Inc. 35 #lookermeetup @glassmonkey +α(開発者視点) • テーブル設計レベルでビジネスメンバーを巻き込める点

    • システムの異常系検知に便利 ◦ ex) 資金調達可能ショップ数の前日比の異常現象検知など • 効果測定を加味したシステム設計
  36. © 2012-2022 BASE, Inc. 36 #lookermeetup @glassmonkey 今後 • dbtを使ったクエリ管理

    ◦ 1視聴者として今日の発表は楽しみ • PDTの活用 ◦ まだ複雑ではないので耐えられている • 機械学習システムとの連携
  37. © 2012-2022 BASE, Inc. 37 #lookermeetup @glassmonkey フルサイクル開発やってます!! 興味あったらDM待ってます!! We

    are hiring !!