Slide 1

Slide 1 text

© 2012-2022 BASE, Inc. 1 アジャイルで始める データ分析基盤構築 Looker User Meetup Online #8 BASE株式会社/永野 峻輔(@glassmonenkey)

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

© 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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

© 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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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