Slide 1

Slide 1 text

SaaSメトリクス開発の歴史から見る データ品質要求への応答 


Slide 2

Slide 2 text

2 セクション概要 
 freeeが構築するデータモデリング環境上で稼働する具体的なDWHのうち、 SaaSメトリクスDWHについて簡単にご紹介
 
 freeeでもっとも歴史があると言っても過言ではないSaaSメトリクスデータのモ デリングの歴史をご紹介しつつ、各フェーズにおいてどのような品質担保が実 現されてきたのか、またそれらの歴史を経て現状どのような構成で実現され、 現時点で直面している課題や展望についてお話しします
 


Slide 3

Slide 3 text

3 01 freeeのSaaSメトリクス
 02 SaaSメトリクス開発の歴史
 03 現在の課題感と展望
 04 まとめ
 目次


Slide 4

Slide 4 text

  4 中道 舗彌
 プロフィール ❏ 某SIer
 ❏ データエンジニア ❏ freee
 ❏ データエンジニア ❏ アナリティクスエンジニア 
 特記事項
 ❏ 猫派
 
 
 
 アナリティクスエンジニア 
 Nakamichi Nobuya


Slide 5

Slide 5 text

5 01 freeeのSaaSメトリクス
 02 SaaSメトリクス開発の歴史
 03 現在の課題感と展望
 04 まとめ
 目次


Slide 6

Slide 6 text

6 freeeのメトリクス 概要
 Fact
 Product
 Product Group
 Customer Segment
 Revenue Owner Dept
 Charge Segment
 Charge State x Product Group
 … etc
 Dimension
 ARR
 └ Subsc ARR
 └ Transaction ARR
 └ OneTime ARR
 Renewal Rate
 Churn Rate
 Attachment Rate


Slide 7

Slide 7 text

7 freeeのメトリクス 概要
 Fact
 Product
 Product Group
 Customer Segment
 Revenue Owner Dept
 Charge Segment
 Charge State x Product Group
 … etc
 Dimension
 ARR
 └ Subsc ARR
 └ Transaction ARR
 └ OneTime ARR
 Renewal Rate
 Churn Rate
 Attachment Rate


Slide 8

Slide 8 text

8 freeeのメトリクス 概要
 Fact
 Product
 Product Group
 Customer Segment
 Revenue Owner Dept
 Charge Segment
 Charge State x Product Group
 … etc
 Dimension
 Snapshot
 ×
 Moment
 Time Axis
 ARR
 └ Subsc ARR
 └ Transaction ARR
 └ OneTime ARR
 Renewal Rate
 Churn Rate
 Attachment Rate


Slide 9

Slide 9 text

9 freeeのメトリクス 概要
 ARR
 └ Subsc ARR
 └ Transaction ARR
 └ OneTime ARR
 Renewal Rate
 Churn Rate
 Attachment Rate
 Fact
 Product
 Product Group
 Customer Segment
 Revenue Owner Dept
 Charge Segment
 Charge State x Product Group
 … etc
 Dimension
 Fact は限定的
 Dimension は豊富
 Snapshot
 ×
 Moment
 Time Axis


Slide 10

Slide 10 text

10 freeeのメトリクス 構造
 id
 created_at
 ARR
 0
 2022-04-01 11:00:00
 50
 1
 2022-04-01 16:00:00
 100
 id
 created_at
 ARR
 0
 2022-04-01 11:00:00
 50
 1
 2022-04-01 16:00:00
 100
 2
 2022-04-02 10:00:00
 200
 Snapshot
 Date (月末) 2025/4/30 2025/5/31 ・
 ・
 ・
 過去の各月数字fix 時点のソースデータ
 スナップショットを保 持
 s_date
 id
 created_at
 ARR
 group
 start_date
 end_date
 2025/4/30
 0
 2022-04-01 11:00:00
 50
 会計
 2025/1/1
 2025/12/31
 2025/4/30
 1
 2022-04-01 16:00:00
 100
 人事労務
 2025/3/1
 2026/2/28
 2025/5/31
 0
 2022-04-01 11:00:00
 50
 会計
 2025/1/1
 2025/12/31
 2025/5/31
 1
 2022-04-01 16:00:00
 100
 人事労務
 2025/1/1
 2026/2/28
 2025/5/31
 2
 2022-04-02 10:00:00
 200
 人事労務
 2025/5/1
 2026/4/30
 過去実績から今日まで1つのテーブルに積み上げ
 ARR、顧客数、契約数などYoY、MoMで一括計算可能


Slide 11

Slide 11 text

11 freeeのメトリクス 構造
 仕様補正など発生した際に過去断面の再集計を行う
 id
 created_at
 ARR
 0
 2022-04-01 11:00:00
 50
 1
 2022-04-01 16:00:00
 100
 id
 created_at
 ARR
 0
 2022-04-01 11:00:00
 50
 1
 2022-04-01 16:00:00
 100
 2
 2022-04-02 10:00:00
 200
 Snapshot
 Date (月末) 2025/4/30 2025/5/31 ・
 ・
 ・
 過去の各月数字fix 時点のソースデータ
 スナップショットを保 持
 s_date
 id
 created_at
 ARR
 group
 start_date
 end_date
 2025/4/30
 0
 2022-04-01 11:00:00
 50
 会計
 2025/1/1
 2025/12/31
 2025/4/30
 1
 2022-04-01 16:00:00
 100
 人事労務
 2025/3/1
 2026/2/28
 2025/5/31
 0
 2022-04-01 11:00:00
 50
 会計
 2025/1/1
 2025/12/31
 2025/5/31
 1
 2022-04-01 16:00:00
 100
 人事労務
 2025/1/1
 2026/2/28
 2025/5/31
 2
 2022-04-02 10:00:00
 200
 人事労務
 2025/5/1
 2026/4/30
 過去実績から今日まで1つのテーブルに積み上げ
 ARR、顧客数、契約数などYoY、MoMで一括計算可能
 アナリティクス
 エンジニアの力が
 必要!


Slide 12

Slide 12 text

12 s_date
 id
 created_at
 ARR
 group
 start_date
 end_date
 2025/4/30
 0
 2022-04-01 11:00:00
 50
 会計
 2025/1/1
 2025/12/31
 2025/4/30
 1
 2022-04-01 16:00:00
 100
 人事労務
 2025/3/1
 2026/2/28
 2025/5/31
 0
 2022-04-01 11:00:00
 50
 会計
 2025/1/1
 2025/12/31
 2025/5/31
 1
 2022-04-01 16:00:00
 100
 人事労務
 2025/1/1
 2026/2/28
 2025/5/31
 2
 2022-04-02 10:00:00
 200
 人事労務
 2025/5/1
 2026/4/30
 freeeのメトリクス 構造
 id
 created_at
 ARR
 0
 2022-04-01 11:00:00
 50
 1
 2022-04-01 16:00:00
 100
 id
 created_at
 ARR
 0
 2022-04-01 11:00:00
 50
 1
 2022-04-01 16:00:00
 100
 2
 2022-04-02 10:00:00
 200
 Snapshot
 Date (月末) 2025/4/30 2025/5/31 ・
 ・
 ・
 過去の各月数字fix 時点のソースデータ スナップショットを保 持
 アナリティクス
 エンジ(以下ry)
 ワイドテーブルライクな構造
 → スタースキーマ構造が求められつつある
 過去実績から今日まで1つのテーブルに積み上げ
 ARR、顧客数、契約数などYoY、MoMで一括計算可能


Slide 13

Slide 13 text

13 freeeのメトリクス 用途
 事業数値モニタリング 
 
 事業管理部門はじめ各部門における
 実績モニタリングのソースとして参照
 
 IR実績開示
 
 freeeの公開資料に掲載する
 具体的な数字情報のソースとして活用
 
 
 プロダクト連携 
 
 過去通算での契約状況や課金額といった
 情報をfreeeの各種プロダクトに提供
 オペレーションデータソース 
 
 請求書データへの属性付与 @収益管理部門
 売上/ARRの整合分析 @経理部門(予定)
 社内/社外におけるfreeeの実績数値データソースとして活用


Slide 14

Slide 14 text

14 01 freeeのSaaSメトリクス
 02 SaaSメトリクス開発の歴史
 03 現在の課題感と展望
 04 まとめ
 目次


Slide 15

Slide 15 text

15 SaaSメトリクス開発の歴史 
 第4世代 リリース予定 2025年
 ARR300億 2025年
 第3世代 リリース 2024年
 ARR200億 2023年
 第1世代 リリース 201x年
 ARR100億 2021年
 マザーズ(現グロース)上場 2019年
 第2世代 リリース 2019年
 イマココ! 
 Redshift → BigQuery 移行 2022年


Slide 16

Slide 16 text

16 SaaSメトリクス開発の歴史 
 第4世代 リリース予定 2025年
 ARR300億 2025年
 第3世代 リリース 2024年
 ARR200億 2023年
 第1世代 リリース 201x年
 ARR100億 2021年
 マザーズ(現グロース)上場 2019年
 第2世代 リリース 2019年
 イマココ! 
 Redshift → BigQuery 移行 2022年
 第1世代 リリース 201x年
 SaaSメトリクス開発の歴史 


Slide 17

Slide 17 text

17 第1世代: SQL オンリー
 開発者が素のSQLを実装
 
 digdag へデプロイ
 
 Redshift上で定期更新
 
 
 
 品質要求への応答 
 ❏ スケジュール実行
 ❏ GitHub・PR運用
 ❏ 自動デプロイ
 課題
 ❏ 単一オーソリティによるSQLの継ぎ接ぎ → 超難解SQL化
 ❏ No テストコード


Slide 18

Slide 18 text

18 SaaSメトリクス開発の歴史 
 第4世代 リリース予定 2025年
 ARR300億 2025年
 第3世代 リリース 2024年
 ARR200億 2023年
 第1世代 リリース 201x年
 ARR100億 2021年
 マザーズ(現グロース)上場 2019年
 第2世代 リリース 2019年
 イマココ! 
 Redshift → BigQuery 移行 2022年
 第2世代 リリース 2019年
 SaaSメトリクス開発の歴史 


Slide 19

Slide 19 text

19 第2世代: Node.js + SQL
 品質要求への応答 
 ❏ Node.jsを併用し、超絶難解SQLを簡素化
 ❏ 重要パイプラインへ昇格
 ❏ unit test 導入
 課題
 ❏ システム補正とビジネスロジックの混在
 ❏ DWHモデルとしての不備
 ❏ トラッキング不可
 ❏ ユニークidの不備
 ❏ 中間レイヤーの物理排除
 ❏ 特定の集計粒度ニーズへの応答不可


Slide 20

Slide 20 text

20 SaaSメトリクス開発の歴史 
 第4世代 リリース予定 2025年
 ARR300億 2025年
 第3世代 リリース 2024年
 ARR200億 2023年
 第1世代 リリース 201x年
 ARR100億 2021年
 マザーズ(現グロース)上場 2019年
 第2世代 リリース 2019年
 イマココ! 
 Redshift → BigQuery 移行 2022年
 第3世代 リリース 2024年
 SaaSメトリクス開発の歴史 


Slide 21

Slide 21 text

21 第3世代: PySpark + SQL with dbt
 品質要求への応答 
 ❏ システムレイヤーとビジネスレイヤーの明確 な分離
 ❏ 分散処理による処理高速化
 課題
 ❏ システム・ビジネス責任分界による機動性の 欠如
 ❏ Spark 運用の知識不足と人員確保問題
 ❏ リネージを含むパイプライン運用の非統合 性


Slide 22

Slide 22 text

22 SaaSメトリクス開発の歴史 
 第4世代 リリース予定 2025年
 ARR300億 2025年
 第3世代 リリース 2024年
 ARR200億 2023年
 第1世代 リリース 201x年
 ARR100億 2021年
 マザーズ(現グロース)上場 2019年
 第2世代 リリース 2019年
 イマココ! 
 Redshift → BigQuery 移行 2022年
 第4世代 リリース予定 2025年
 SaaSメトリクス開発の歴史 


Slide 23

Slide 23 text

23 第4世代: SQL with dbt
 品質要求への応答 
 ❏ transformをSQL一本化
 ❏ 認知不可とスキル水準の維持
 ❏ Stream Aligned な組織体制の移行を機に transform Architecture 見直し 
 ❏ システム/ビジネス分界の排除
 ❏ unittest の拡張
 ❏ データマネジメントおよびガバナンスへの適 合


Slide 24

Slide 24 text

24 第4世代: SQL with dbt (Layer Architecture)
 Marts/Intermediate
 DWH/Intermediate
 DWH
 Staging
 Lake
 Component
 Subcomponent
 Marts
 Medalion
 Blonze
 Silver
 Gold
 クレンジング処理
 ・リネーム
 ・重複排除
 ・不足断面の補填
 ・空文字null変換
 システムレベル補正
 ・レコード粒度調整
 ・スキーマ調整
 ・JOIN/FILTER/UNION OK
 
 データ拡張
 ・レコード増幅
 モデルを部品として配置するだけ
 
 Component
 モデル単体で業務エンティティ
 を表す
 
 Subcomponent
 Component 作成の補助モデル
 DWHのComponentを組み合わ せて錬成
 
 個別ビジネスロジック実装
 ・セグメント定義
 ・業務特殊補正
 末端 I/F


Slide 25

Slide 25 text

25 第4世代: SQL with dbt (テスト機構 )
 System Layer
 Business Layer
 Lake
 before
 after
 各モデルの
 単体testをPytestで 実装し品質担保
 他方ビジネスロジッ クは、スプレッドシー トの
 テストケースを突き 合わせ都度人力で 行われていた
 ◯
 △
 ✕
 Not Null、
 Unique、
 リレーション
 テストは担保
 ソースデータの
 テストは未実施
 (個別のチェック機構 が必要。だが、手が 回らず…)
 Lake
 Staging Layer
 DWH Layer
 (Int)
 Marts Layer
 (Int)
 従来行われていた Not Null、Unique、リレーションテスト
 → generic test で引き続き網羅的に担保
 
 ソースデータのテスト
 → 上記同様 generic test により大部分カバーできる公算
 
 ビジネスロジック
 → 参照をmockして中間(Intermediate)層時点でunittestを実装
 単一のテスト機構で
 パイプライン全体をテスト可
 


Slide 26

Slide 26 text

26 01 freeeのSaaSメトリクス
 02 SaaSメトリクス開発の歴史
 03 現在の課題感と展望
 04 まとめ
 目次


Slide 27

Slide 27 text

27 第4世代の課題感と展望 
 ❏ 現状のE2Eテスト構成によるロジック認知負荷
 ❏ テスト駆動に適したモデルへの再構築
 ❏ インシデント発生時の影響範囲特定遅延
 ❏ ソースから分析I/Fまで一気通貫管理のリネージ運用
 ❏ 旧設計踏襲によるパイプラインのムダ
 ❏ システム/オペレーショナルメタデータをベースにアーキテクチャ再考
 ❏ 局所的シングルソース状態
 ❏ SaaSメトリクスだけでなく、その他実績メトリクスにも対応可能な本当の Single Source Warehouseへの進化と啓蒙


Slide 28

Slide 28 text

28 01 freeeのSaaSメトリクス
 02 SaaSメトリクス開発の歴史
 03 現在の課題感と展望
 04 まとめ
 目次


Slide 29

Slide 29 text

29 まとめ
 ❏ freeeは組織の進化に伴い メトリクスパイプラインについても変容を遂げてきた
 ❏ システム的、ビジネス的な品質要請に最速で応えることが目的
 ❏ (かなり遠回りをしてしまった感はあるが、)将来的な運用とデータマネジメント を見据え たアーキテクチャ選択が品質に結びつくと気付かされた
 ❏ 個の技術として優れているのは理解しつつ、統合がなされていない場合に発生する 認知不可とナレッジのロストは非常に根深い
 ❏ シングルソース化 の道は険しい
 ❏ 故にやりがいはある!(オモシロイヨ)


Slide 30

Slide 30 text

30 We’re hiring !!
 マルチプロダクト環境におけるデータモデリング・アナリティクスにご興味のある方は是 非!
 アナリティクスエンジニア
 シニアアナリティクスエンジニア
 プロダクトデータアナリスト


Slide 31

Slide 31 text

スモールビジネスを、世界の主役に。