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

30分でわかるデータ分析者のためのディメンショナルモデリング #datatechjp...

30分でわかるデータ分析者のためのディメンショナルモデリング #datatechjp / 20250120

オンライン勉強会「datatech-jp Casual Talks #6」の登壇資料です。
https://datatech-jp.connpass.com/event/337374/

■ 採用・カジュアル面談
https://kazaneya.com/recruit

■ サービス提供
https://kazaneya.com/service

■ データ分野への就職・転職を目指す講座
https://note.com/kazaneya/n/ncc469781da05

■ 書籍『アジャイルデータモデリング』
https://amzn.to/4fADGYo

風音屋 (Kazaneya)

January 06, 2025
Tweet

More Decks by 風音屋 (Kazaneya)

Other Decks in Technology

Transcript

  1. ↓ここまではできるけど… • SQLやPython、BIツールを使えるようになった • データの集計や可視化ができるようになった • G検定や統計検定の勉強をしている ↓ここに課題を感じている • ステークホルダーが期待する「ビジネスに役立つデータ分析」とのギャップを感じている

    • 依頼や指示に対応しているだけで、自分からデータ分析の方針を提案できていない • 思いついたものを思いついた順番にやるだけで、要件の網羅性や優先順位に自信がない という「データ分析者」の皆様! もしくは「データ分析に挑戦してみたいデータエンジニア」の皆様! 想定する聞き手 5
  2. 登壇者 7 横山 翔(@yuzutas0) • リクルートやメルカリにてデータ活用を推進、AWSを経て、風音屋を創業 • 広告配信の最適化、店舗営業のインセンティブ改善など、データ分析によって数億円規模のインパクトを創出 • Googleが認定する技術エキスパート「Google

    Cloud Champion Innovator」(Data Analytics)に選出 • 東京大学 経済学研究科 金融教育研究センター 特任研究員、およびランサーズ株式会社 データチームリーダーを兼任 主な登壇・発表 • Pythonのカンファレンス「PyCon JP 2017」にてベストトークアワード優秀賞 • 翔泳社主催「Developers Summit 2018 Summer」にてベストスピーカー賞 • Google主催「Google Cloud Day」(‘21, ‘23),「Google Cloud Next Tokyo」(‘23) • 日本統計学会 第16回春季集会 主な執筆・出版 • 講談社サイエンティフィク『アジャイルデータモデリング』 • 技術評論社『実践的データ基盤への処方箋』 • 技術評論社『Software Design 2020年7月号 - ログ分析特集』 • 風音屋『データマネジメントが30分でわかる本』 • 内閣府「経済分析 第208号 - 景気動向分析の新たな潮流」 主なコミュニティ活動 • 1,500人以上が参加するSlackコミュニティ「datatech-jp」の立ち上げ・運営 • 延べ参加者10,000人以上の勉強会「Data Engineering Study」の立ち上げ・モデレーター • 国内最大規模の技術カンファレンス「Developers Summit」コンテンツ委員会(2022〜2025)
  3. あらゆる場面で意思決定が行われている 19 仕事 生活 経営(マネジメント) 事業(ビジネス) 業務(オペレーション) 作業(タスク) 次の10年に関する判断 次の1ヶ月に関する判断

    次の5分に関する判断 次の30分に関する判断 事業Aに追加投資するか?撤退するか? 企業Dに転職するか?現職に留まるか? 商品Bと商品Cどちらに注力するか? どの顧客を手厚くサポートするか? メールを連休前に送るか?後に送るか? 旅行先は海外か?国内か?具体的にどこ? 自炊するか?カップ麺で済ませるか? 落とし物を拾って渡すか?無視するか?
  4. 例:「キラキラした写真を撮ってSNSに上げたい」ときの旅行先を検討する場合 意思決定において比較検討がなされる 20 論点 実施案 評価 得られるリターン 必要なリソース コンセプト 移動距離

    所要日数 キラキラ感 気分転換 コスト 体力 山 近い 短い 高尾山(日帰り) △〜◯ ◯ ◎ ◯ 長い 房総半島(5泊) △〜◯ ◯ ◯ ◯ 遠い 短い N/A 長い マチュピチュ(1週間) ◎ ◯ △ ✕ 海 近い 短い お台場(1泊) ◯ ◯ ◎ ◎ 長い 伊豆(5泊) △〜◯ ◯ ◯ ◯ 遠い 短い N/A 長い モルディブ(5泊) ◎ ◯ △ △
  5. 問題解決は入れ子の構造 22 目標 現状 課題 解決策 売上10億 新規受注 目標 受注100社

    現状 課題 解決策 リード70社 アポ35社 未返信 離脱50% 文言見直し リマインド
  6. 各フェーズで比較検討を行う 23 目標 現状 課題 解決策 候 補 比 較

    決 定 候 補 比 較 決 定 候 補 比 較 決 定 リマインド 候 補 比 較 決 定 文言見直し 期間 費用 対象 2h 0 既存35社 10h 0 新規n社 即実施 見送り 候 補 比 較 決 定
  7. その意思決定を支えるのがデータ 24 候 補 比 較 決 定 リマインド 文言見直し

    期間 費用 対象 2h 0 既存35社 10h 0 新規n社 即実施 見送り 情報・データ ヒアリング アンケート 計測記録 データベース
  8. データ分析が出来ない = これらが出来ない 1. 目標となる指標・数値を置く(ことが出来ない) 2. 現在の状況を正確に把握する(ことが出来ない) 3. どこに改善余地があるか探る(ことが出来ない) 4.

    解決策の期待効果を見立てる(ことが出来ない) この状態でビジネスを運営しても、問題解決がスムーズに進まない恐れがある (不可能だとは言わないが……) 「データ分析」の効力 26 目標 現状 課題 解決策
  9. • 「集計対象」(Fact:出来事>値>計算)と「切り口」(Dimension:5W1H) • データから「来店数を1,000回増やす」「売上を100万円増やす」ヒントを探る 見るべきデータは「集計対象」と「切り口」の組み合わせ 28 今月の新規顧客の総来店数 今年の渋谷店のバッグの売上 今月 When

    切り口 (dim) Who 新規顧客 集計対象 (fact) Event 来店 Metric 件数 今月 When 切り口 (dim) Where 渋谷店 集計対象 (fact) Event 注文 Metric 金額 What バッグ Calc 総計 Where 店舗(≠EC) Calc 総計
  10. • 指標をどのように計算するかを定める • 四則演算で済ませる現場が多い:構築がラク、解釈がラク、管理がラク ◦ 値、個数、総計 ◦ 割合、平均(per 件数、per 人数、per

    商品数) ◦ 変化量、変化率(YoY:昨年対比、MoM:月、WoW:週、DoD:日) 指標の計算方法 31 注文件数 総計 1人あたり 1商品あたり YoY増加率 集計対象 (fact) Event 来店 Metric 件数 集計対象 (fact) Event 注文 Metric 金額 Calc 総計 Calc 総計
  11. 【分けて】5W1Hで分析の切り口を定める 【比べる】分析軸による差異を比較する ◦ 「都心の店舗」は「郊外の店舗」より(客数が多い|少ない) ◦ 「今年」は「去年」より(注文総額が多い|少ない) ◦ 「バッグ」は「衣類」より(平均単価が高い|低い) ◦ 「高単価の商品」は「低単価の商品」より(レビュー評価が高い|低い)

    ◦ 「リピーター」は「新規顧客」より(1度の注文点数が多い|少ない) 分析軸で「分けて」「比べる」 34 今月 When 切り口 (dim) Who 新規顧客 今月 When 切り口 (dim) Where 渋谷店 What バッグ Where 店舗(≠EC) Who 誰が What 何を When いつ Where どこで Why なぜ How どのように
  12. • 事実(雲) ◦ 都心の店舗は郊外より客数が多い(注文データ) ◦ 営業時間は平日10〜18時のみ(店舗データ) ◦ 18〜65歳の住民は◯◯人で、うち◯%が就学・就業中(行政データ) ◦ 最寄り駅の平日の利用数は1日あたり◯人で住民の◯%(交通データ)

    • 解釈(雨) ◦ 平日10〜18時はターゲット層が不在で、来店できないのではないか (⇒確かめるために現地訪問や追加調査を行う) • 施策(傘) ◦ 郊外店舗は土日営業に切り替えてはどうか (⇒確かめるために期間を区切ってテスト営業してみる) データを確認した上で「解釈・考察」と「アクション」 35 データ・事実 解釈・考察 施策・提案 • XXX(雲) • XXX(雲) • XXX(雲) • XXX(雨) • XXX(雨) • XXX(雨) • XXX(傘) • XXX(傘) • XXX(傘)
  13. • 「都心の店舗は郊外より客数が多い」だけだと「だから都心に専念しよう」 「だから郊外を立て直そう」の両方が成り立つ • 将来的な人口動態、市場ニーズの変化、不動産価格の推移、人材の採用状況、 原材料の調達状況、創業者のビジョンなど、多角的な観点から判断する • 確定値以外のデータは、試算や仮置き(いわゆるフェルミ推定)であったり、 統計的な時系列予測や構造推定(いわゆるデータサイエンス)で算出する •

    ピラミッドストラクチャーやロジックツリーで結論・主張が成り立つように 論理の流れを整える(いわゆるロジカルシンキング) 思いつきの提案ではなく、論理の流れを整える 36 (論拠・理由:雨) (根拠・事実:雲) (根拠・事実:雲) (根拠・事実:雲) (論拠・理由:雨) (論拠・理由:雨) (結論・主張:傘) (根拠・事実:雲) (根拠・事実:雲) (根拠・事実:雲) (根拠・事実:雲) (根拠・事実:雲) (根拠・事実:雲)
  14. • データチームで1冊は持っておくことをオススメしたい ◦ 実際にテーブルを設計・構築しようとしたら「あれ?」と思うポイントが多数 ◦ データエンジニアの疑問に先回りして応えるのが本書 • 先にPower BIのスタースキーマガイドを読んでおくと分かりやすいかも ◦

    https://learn.microsoft.com/ja-jp/power-bi/guidance/star-schema • 本書の内容すべてを無批判に受け入れてそのまま使う必要はない ◦ 風音屋でのデータモデリング標準も本書の内容とは違っている ◦ が、議論や検討を始めるための材料は充実している 具体的なテーブルの設計手順については書籍を参照 46 https://www.amazon.co.jp/dp/4065330785
  15. 2つのデータモデリング( ∋ テーブル設計)の位置付け 47 業務データベースA 例:営業管理システム 業務データベースB 例:予約サイト 目的A 例:営業活動

    目的B 例:店舗予約 目的C 例:広告配信 業務データベースC 例:広告ツール 複数システム横断の モニタリング 複数システム横断の データ分析 複数システム横断の データ活用 複数システム横断の データウェアハウス 業務システムを実現するための 3NFをベースとしたデータモデリング データを分析するための データモデリング(今回の内容)
  16. ①関心対象の特定:経営(マネジメント) • 『アジャイルデータモデリング』掲載、ランサーズの事例 • コーポレートミッション達成や投資判断のためのデータ分析 50 株式会社風音屋(監訳)『アジャイルデータモデリング』より引用 コーポレートミッション達成に向けて “ダッシュボード画面は、社長室のモニターに 投影しており、常にコーポレートミッショ

    ン を意識しながら経営がなされる” • “1人のランサーがサービス横断でどのく らい報酬を得ているのか” • “カンパニー全体でどのくらい仕事の機 会を提供できているのか” • “ランサーズの仕事だけで生活できる水 準の報酬を何人に提供できているのか” 投資判断に向けて • “ランサーズグループが MENTA を買収 した際には、ランサーズと MENTA の利 用状況の重なりを集計し、M&A の成果 (シナジー効果) をモニタリング” • “事業部単体のデータだけを見ると 「ユーザーの利用が減った」(中略) 横断で見ると「ランサーズグループの サービスを利用し続けている」” • “データ分析によって M&A や新規事業の 立ち上げといった経営施策を後押し”
  17. ビジネスイベントをどのような軸で「分けて」「比べる」か洗い出す ⑤-1 / 分析軸(Dimension:5W1H)の洗い出し 58 分析軸(Dimension) Who What Where Why

    & How 集計対象 (Fact) イベント 指標 顧客 従業員 商品 店舗 配送住所 クーポン 受注ID 顧客来店 人数 ✔ ✔ 顧客注文 件数 ✔ ✔ ✔ ✔ ✔ ✔ ✔ 商品発送 期間 ✔ ✔ ✔ ✔ ✔ 株式会社風音屋(監訳)『アジャイルデータモデリング』より引用 5W1Hの詳細は ぜひ書籍でご確認ください ※書籍では7Wとして紹介しています。
  18. ⑤-2 / 分析軸(Dimension:5W1H)の洗い出し(Tips) 59 業務フローから洗い出す 具体例から洗い出す Who 店頭スタッフが What 各商品の在庫を

    When 毎日20:00閉店後に Where 店舗で 商品 ・A ・B 共 通 ジャンル ・衣類 What 商品カテゴリ 差 異 シーズン ・夏物 ・冬物 When 販売時期 営業 ・Cさん ・Dさん 共 通 所属 ・営業2部 Who 企業 > 部門 差 異 担当エリア ・□市 ・☆市 Where 都道府県 > 市区町村 Who 誰が What 何を When いつ Where どこで Why なぜ How どのように
  19. ⑥ Fact (④) と Dimension (⑤) を「イベントマトリックス」としてペラ1にまとめ 62 株式会社風音屋(監訳)『アジャイルデータモデリング』より引用 •

    Factを左に、Dimensionを上に書いて 組み合わせ表(マトリックス)をまとめる • データチームの定期ミーティングにて イベントマトリックスを更新したり データ整備やデータ分析のTODOに反映する
  20. データ整備とデータ分析は常にセット データ整備 【収集】クリミア戦争での英軍の死因を計測した 【集計】月別 x 死因別 に死者数を集計した 【可視化】英国女王がひと目でわかる円グラフで表した データ活用 【事実】負傷(赤)よりも感染症(青)のほうが多い

    【洞察】野戦病院の衛生状態が悪いため、負傷者が感染症に罹る 【打ち手】兵士の訓練強化ではなく、病院の衛生改善に注力する 【改善結果】院内死亡率を40%→2%に大幅削減 Florence Nightingale (1858) "Note on Matters affecting the Health, Efficiency and Hospital Administration of the British Army” ナイチンゲールは「白衣の天使」だったのか?―統計学者ナイチンゲールとその歴史的背景 https://www.kansai.ac.jp/pdf/forward01.pdf コラム:世界一有名な統計学者=データ整備人 69
  21. これまでの観点と違う新しい観点でデータを見る 結果:ビジネスを継続的に改善・進化させるための柔軟なデータ分析を実現 75 繊維 工業 卸小売 飲食業 宿泊業 チームA 京都府

    80 40 60 60 チームB 大阪府 60 60 80 80 チームC 兵庫県 20 80 80 60 チームD 滋賀県 40 20 20 20 市場環境の変化 これまでと違う観点での データ分析 社内外のデータ 根拠のある 意思決定 変化に適応 失敗を検知 マーケット変化への適応 「これまでは営業組織に合わせてエリア別で数字を見ていた」 「新型コロナの影響があるはずなので業種別で数字を見たい」 「飲食業など店頭サービス業での利用は減少したか」 「それらの店舗に対して何か支援を提供できないか」 「逆にこの状況で伸びている業種はあるのだろうか」 「これまでと違った利用の急な増加に備えるべきか」
  22. 分析者のニーズが大きいデータを優先的に整備する • 『アジャイルデータモデリング』掲載、ビズリーチ様の事例 • 分析者のニーズを汲み取って、段階的にデータを整備していく 78 “第 1 ラウンドとして、「ビズリーチ」の「契約 企業」に関する中間テーブルを整備”

    “「Who」に該当するディメンション” “社内から要望の多かった「登録者」(求職者) に 関する中間テーブルも、第 2 ラウンドで整備” “こちらも「7W」における「Who」に該当する ディメンション” “ビズリーチは「契約企業」と「登録者」をマッ チングするビジネスなので、その 2 つの 「Who」を優先的に構築” 株式会社風音屋(監訳)『アジャイルデータモデリング』より引用
  23. ↓ここまではできるけど… • SQLやPython、BIツールを使えるようになった • データの集計や可視化ができるようになった • G検定や統計検定の勉強をしている ↓ここに課題を感じている • ステークホルダーが期待する「ビジネスに役立つデータ分析」とのギャップを感じている

    • 依頼や指示に対応しているだけで、自分からデータ分析の方針を提案できていない • 思いついたものを思いついた順番にやるだけで、要件の網羅性や優先順位に自信がない という「データ分析者」の皆様! もしくは「データ分析に挑戦してみたいデータエンジニア」の皆様! 想定する聞き手(再掲) 83