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

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

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

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

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)

    View full-size slide

  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
    永野 峻輔 (ながの しゅんすけ)
    昨年寄稿させていただきました

    View full-size slide

  3. © 2012-2022 BASE, Inc. 3
    #lookermeetup
    @glassmonkey

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  8. © 2012-2022 BASE, Inc. 8
    #lookermeetup
    @glassmonkey
    アジャイルソフトウェア宣言より
    ● プロセスやツールよりも個人と対話を、
    ● 包括的なドキュメントよりも動くソフトウェアを、
    ● 契約交渉よりも顧客との協調を、
    ● 計画に従うことよりも変化への対応

    View full-size slide

  9. © 2012-2022 BASE, Inc. 9
    #lookermeetup
    @glassmonkey
    少しずつ学習を重ねていくこと

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  12. © 2012-2022 BASE, Inc. 12
    © 2012-2022 BASE, Inc. 12
    チーム体制

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  17. © 2012-2022 BASE, Inc. 17
    © 2012-2022 BASE, Inc. 17
    データ基盤の歩み

    View full-size slide

  18. © 2012-2022 BASE, Inc. 18
    #lookermeetup
    @glassmonkey
    ある日の一コマ
    BASE BANKチーム
    全社的なデータ基盤構築などを担当
    データプラットフォームチーム
    なるほど
    ぼく
    Looker導入するで!!

    View full-size slide

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

    View full-size slide

  20. © 2012-2022 BASE, Inc. 20
    #lookermeetup
    @glassmonkey
    怒涛の新概念

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  26. © 2012-2022 BASE, Inc. 26
    #lookermeetup
    @glassmonkey
    最初の壁
    ● Redashでもよくないか?
    ● 覚えること多い
    ○ Lookerに忖度してる感覚がかなりあった
    ○ なれると便利(primary key, demention group, etc…)
    ● 設計で聞ける人がいなかった

    View full-size slide

  27. © 2012-2022 BASE, Inc. 27
    #lookermeetup
    @glassmonkey
    閃きと教え
    データベースに詳しい先輩
    派生テーブル
    使えばいいのか
    ぼく
    スタースキーマ
    最高

    View full-size slide

  28. © 2012-2022 BASE, Inc. 28
    #lookermeetup
    @glassmonkey
    Lookerの活用の開始
    ● 業務テーブルをそのまま使わないこと
    ● 目的別にエクスプローラーを作成することに
    ○ 現在データの分析
    ○ 日時データの分析

    View full-size slide

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

    View full-size slide

  30. © 2012-2022 BASE, Inc. 30
    #lookermeetup
    @glassmonkey
    日時データの分析とは
    ● 最小単位を「ユーザー」 + 「日」
    ○ ユーザーの属性の分類に備えて
    ● スパースなデータなのでカレンダーテーブルを規程に
    ○ これにJOINしていく方式に
    ex) 日毎のユニークユーザー数

    View full-size slide

  31. © 2012-2022 BASE, Inc. 31
    #lookermeetup
    @glassmonkey
    データ分析にも適応するFBループ
    要件定義・設計
    企画
    開発
    テスト
    問い合わせ対応
    デプロイ
    運用
    Software
    Developers
    データ整備

    View full-size slide

  32. © 2012-2022 BASE, Inc. 32
    #lookermeetup
    @glassmonkey
    拡大するフィードバックループ
    事業計画
    日々のデータ監視
    施策振り返り
    OKR振り返り

    View full-size slide

  33. © 2012-2022 BASE, Inc. 33
    © 2012-2022 BASE, Inc. 33
    大事なことはデータ基盤を
    自分達で整備していくこと

    View full-size slide

  34. © 2012-2022 BASE, Inc. 34
    #lookermeetup
    @glassmonkey
    まとめ
    ● 文化ができる
    ○ リリース後の速報が把握できる&するようになった。
    ○ データを見る習慣ができてきた。
    ● ユーザーへの解像度があがった。
    ○ 日にどれくらい使われる?
    ○ このままの成長でシステムが耐えられるか?
    ● アンラーン大事

    View full-size slide

  35. © 2012-2022 BASE, Inc. 35
    #lookermeetup
    @glassmonkey
    +α(開発者視点)
    ● テーブル設計レベルでビジネスメンバーを巻き込める点
    ● システムの異常系検知に便利
    ○ ex) 資金調達可能ショップ数の前日比の異常現象検知など
    ● 効果測定を加味したシステム設計

    View full-size slide

  36. © 2012-2022 BASE, Inc. 36
    #lookermeetup
    @glassmonkey
    今後
    ● dbtを使ったクエリ管理
    ○ 1視聴者として今日の発表は楽しみ
    ● PDTの活用
    ○ まだ複雑ではないので耐えられている
    ● 機械学習システムとの連携

    View full-size slide

  37. © 2012-2022 BASE, Inc. 37
    #lookermeetup
    @glassmonkey
    フルサイクル開発やってます!!
    興味あったらDM待ってます!!
    We are hiring !!

    View full-size slide