Slide 1

Slide 1 text

データ整備を前向きに考える会 綺麗なデータマートをつくろう! - 自分のためにもデータ整備を - 2025年 10月8日 ブレインパッド 浅野

Slide 2

Slide 2 text

本日の資料はSpeaker deckにアップ済です! リラックスしてお聞きください!

Slide 3

Slide 3 text

浅野 (アサノ) @nash_efp ブレインパッド データサイエンティスト 最近行ってよかった場所:万里の長城(中国)

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

5 ©BrainPad Inc. Strictly Confidential 著書:先輩データサイエンティストからの指南書(2025, 技術評論社) 目次 1章:実務で生き抜くためのエンジニアリングスキル 2章:環境構築 3章:コードの品質管理 4章:データの品質確認 5章:機械学習モデルの実験管理 6章:プロトタイプ開発 実践的なエンジニアリングスキルを まとめた書籍です!

Slide 6

Slide 6 text

6 ©BrainPad Inc. Strictly Confidential 変革を目指す企業と共に最前線を走り続ける、データ活用推進パートナーのパイオニア 2004年創業、日本初の “対象業界を問わない総合データ分析サービス企業 ” として事業展開  社名 |株式会社 ブレインパッド  所在地 |東京都港区六本木 3-1-1 六本木ティーキューブ 11F・12F  設立 |2004年3月18日  株式市場 |東京証券取引所 プライム市場 (証券コード: 3655)  従業員 |545名(連結、 2024年6月30日現在)  代表者 |代表取締役社長 CEO 関口 朋宏  グループ |株式会社 TimeTechnologies  株式会社 電通クロスブレイン ブレインパッドについて

Slide 7

Slide 7 text

©BrainPad Inc. Strictly Confidential 7 データ活用の促進 を通じて持続可能な未来 をつくる PURPOSE 息を吸うように データが活用される社会 をつくる “Data-driven as Usual” VISION 技術と人材のサプライチェーン を再構築し、 国際競争力のある豊かな日本の再生に貢献 する MISSION ブレインパッドについて

Slide 8

Slide 8 text

8 ©BrainPad Inc. Strictly Confidential ブレインパッドについて 最適なデータ活用を設計し、経営に実装する データ活用のさまざまなプロフェッショナルが、多様な視点からアナリティクスとエンジニアリングのス キルを駆使して、その企業に最適なデータ活用を実装します。 (データサイエンティスト 200名以上、ビジネスコンサルタント 50名以上、エンジニア 100名以上在籍) プロダクト・サービス プロフェッショナル・サービス 実用的なSaaSで、データ活用を日常化する 可視化や効率化、データによる意思決定を日々の業務に落とし込むために、誰もが使いこなせる実 用的なプロダクト群で、データ活用の日常化をサポートします。 (2006年自社開発プロダクト「 Rtoaster」をはじめ、データを基点としたプロダクトを多数用意) データに纏わる技術と専門性を駆使した 2種類のサービスを組み合わせ、 企業のデータ活用・ DX・課題解決を支援

Slide 9

Slide 9 text

9 ©BrainPad Inc. Strictly Confidential いろいろ発信しています! ブレインパッド公式技術メディア 生成AI・LLMやデータサイエンスプロジェクトについて発信しています! X/twitter@doors_brainpad 会社の神資料を公開するプロジェクト 公開した資料が ITmediaとNIKKEIリスキリングに取り上げられました! X/twitter@Open_BrainPad 会社のみんなでやっている podcast & Meetup データサイエンスについて語って配信 & コミュティづくりをしています! X/twitter @shirokane_fm

Slide 10

Slide 10 text

©BrainPad Inc. Strictly Confidential 10 本日のテーマ データ整備のいままでとこれから の前に... 「データサイエンスプロジェクト」の いままでとこれから

Slide 11

Slide 11 text

©BrainPad Inc. Strictly Confidential 11 本日のテーマ データ整備のいままでとこれから の前に... 「データサイエンスプロジェクト」の いままでとこれから

Slide 12

Slide 12 text

©BrainPad Inc. Strictly Confidential 12 データサイエンスプロジェクトのいままでとこれから 参考:[先輩データサイエンティストからの指南書 1章 | 技術評論社] いままで (というか一昔前) これから (というかここ最近) 技術の目新しさから、まずはPoCをする! 結果的にPoCで止まってしまうこともしばしば... データサイエンスへの過度な期待と幻想はなくなる 運用に載せること、継続的な価値を出すことが前提

Slide 13

Slide 13 text

©BrainPad Inc. Strictly Confidential 13 つまり... これからのデータ整備も 「運用に載せること、継続的な価値を出すこと」を前提 として進める必要がある データサイエンスプロジェクトのいままでとこれから 参考:[先輩データサイエンティストからの指南書 1章 | 技術評論社] いままで (というか一昔前) 技術の目新しさから、まずはPoCをする! 結果的にPoCで止まってしまうこともしばしば... データサイエンスへの過度な期待と幻想はなくなる 運用に載せること、継続的な価値を出すことが前提 これから (というかここ最近)

Slide 14

Slide 14 text

14 ©BrainPad Inc. Strictly Confidential データサイエンティストが取り組むデータ整備 データレイク データウェアハウス データマート ビジネス活用 サービスへ接続 ダッシュボード 意思決定に利用 ・・・ ・・・ データ基盤 (三層構造) データソース データサイエンティスト データエンジニア DSのデータ整備はデータマートの前後を担当することが多い (本発表のメインテーマもここ) 備考:データレイクや上流のほうは、本イベントのほかの発表者(特に ikkiさんとウィルさん)が話してくれる気がする

Slide 15

Slide 15 text

©BrainPad Inc. Strictly Confidential 15 データ整備を前向きに考えよう! 綺麗なデータマートを作ると、 何よりも恩恵を受けるのは自分

Slide 16

Slide 16 text

©BrainPad Inc. Strictly Confidential 16 なんか見つけたデータマート 悲劇のストーリー「犯人は...」 これはどんなデータマートなんや!? 理解のためにメタデータやコードを見てみるか... Aさん

Slide 17

Slide 17 text

©BrainPad Inc. Strictly Confidential 17 万里の長城より長いコード 悲劇のストーリー「犯人は...」 Aさん コードが長すぎて読む気が起きないし、 ドキュメントも古そうだ.. 恐竜の化石と一緒に発掘した 古いドキュメント

Slide 18

Slide 18 text

©BrainPad Inc. Strictly Confidential 18 悲劇のストーリー「犯人は...」 Aさん 誰や!このデータマートを作ったのは! ひどいデータマート 被害者の会

Slide 19

Slide 19 text

©BrainPad Inc. Strictly Confidential 19 悲劇のストーリー「犯人は...」 Aさん ワイやで ひどいデータマート 被害者の会 過去のAさん ※フィクションです

Slide 20

Slide 20 text

©BrainPad Inc. Strictly Confidential 20 ● 思ったより書き捨てのコードは少ない ○ 気軽に作ったデータマートが継続的にアップデートされる ○ (よくもわるくも)PoCで使ったコードがそのまま運用に載る ■ 載せれない場合はリファクタリングやアップデートが必要になり、 運用に載せるまで工数がかかる ● 運用に載せたあともアップデートは続く ○ 忘れたころにもアップデートする必要がある ● 未来の自分も、第三者の立場として自分が書いたコードを読む機会がある 実際のプロジェクトでは...

Slide 21

Slide 21 text

©BrainPad Inc. Strictly Confidential 21 実際のプロジェクトでは... 作業を楽にするために、 初めから綺麗なコードで作ろう コード(=プロセス)が綺麗だと、 データマート(=成果物)も綺麗 単に作業やプロジェクトが効率的になる だけでなく、精神衛生が保たれる(だいじ)

Slide 22

Slide 22 text

©BrainPad Inc. Strictly Confidential 22 今日はデータマート作成の際のtipsを紹介します! 発表を通して、綺麗なデータマートづくりに貢献できたら嬉しいです! ※ 具体のツールとしてはBigQueryを例に話しますが、   ほかのクラウドSQLやPythonでも根本にある思想は変わりません というわけで...

Slide 23

Slide 23 text

©BrainPad Inc. Strictly Confidential 23 クエリは小さく分ける ドメインや役割ごとに分ける データマート作成の際のtips SQLでも関数、変数を使う DRY原則に従う コードの説明を冒頭に書く コードもドキュメント コード上でメタデータを扱う コード内にスキーマ設定とDescription

Slide 24

Slide 24 text

24 ©BrainPad Inc. Strictly Confidential クエリは小さく分ける

Slide 25

Slide 25 text

©BrainPad Inc. Strictly Confidential 25 イメージ:ある売上ログのデータマートを作る場合... 売上ログ加工.sql 会員マスタ加工.sql 商品マスタ加工.sql 税率マスタ加工.sql hoge加工.sql 売上ログにjoinするだけ.sql WHERE句書くだけ.sql 追加でカラム生成したり.sql

Slide 26

Slide 26 text

©BrainPad Inc. Strictly Confidential 26 最初はそれぞれのドメインで加工するだけ 売上ログ加工.sql 会員マスタ加工.sql 商品マスタ加工.sql 税率マスタ加工.sql hoge加工.sql 売上ログにjoinするだけ.sql WHERE句書くだけ.sql 追加でカラム生成したり.sql

Slide 27

Slide 27 text

©BrainPad Inc. Strictly Confidential 27 売上ログにjoinするだけ.sqlのイメージ 売上ログ加工.sql 会員マスタ加工.sql 商品マスタ加工.sql 税率マスタ加工.sql hoge加工.sql 売上ログにjoinするだけ.sql WHERE句するだけ.sql 追加でカラム生成したり.sql SELECT col1, col2, … FROM 加工した売上ログ LEFT JOIN 加工した会員マスタ ON 結合キー LEFT JOIN …

Slide 28

Slide 28 text

©BrainPad Inc. Strictly Confidential 28 WHERE句書くだけ.sqlのイメージ 売上ログ加工.sql 会員マスタ加工.sql 商品マスタ加工.sql 税率マスタ加工.sql hoge加工.sql 売上ログにjoinするだけ.sql WHERE句書くだけ.sql 追加でカラム生成したり.sql SELECT col1, col2, … FROM joinしまくった売上ログ WHERE 抽出条件 - - コメントに理由 AND 抽出条件 - - コメントに理由… AND 抽出条件 - - コメントに理由… …(例:返品やキャンセルの除外)

Slide 29

Slide 29 text

©BrainPad Inc. Strictly Confidential 29 結合や抽出したあとに初めて加工できる処理は、最後にまとめて実施 売上ログ加工.sql 会員マスタ加工.sql 商品マスタ加工.sql 税率マスタ加工.sql hoge加工.sql 売上ログにjoinするだけ.sql 追加でカラム生成したり.sql WHERE句書くだけ.sql

Slide 30

Slide 30 text

©BrainPad Inc. Strictly Confidential 30 ● ドメインや役割ごとに分ける ○ 前提として、長いコードは読むのに労力が必要 ○ よくあるのは、コードが長く、色々なところでwhere句を書いてしまっているため、 抽出条件の把握や変更に労力が必要... ● 「どこで何をしているか」をわかりやすくすることでデバッグも楽になる ○ アップデートしたい際にどこに手を加えればよいかがわかる ○ クエリごとにテストを書くことで、気軽にリファクタリングできる クエリは小さく分ける

Slide 31

Slide 31 text

31 ©BrainPad Inc. Strictly Confidential SQLでも関数、変数を 使う

Slide 32

Slide 32 text

©BrainPad Inc. Strictly Confidential 32 ● DRY原則に従う(Don’t Repeat Yourself:繰り返さない) ○ 同じ処理を繰り返したいときは、UDFを使うこと(UDF:ユーザー定義の関数) ● 長い処理はUDFは積極的に使う ○ 長ったらしい処理やCASE文なども関数で表す ○ 全体の見通しがしやすくなる ● 特定の日付や条件で抽出するときなどは変数で宣言 SQLでも関数、変数を使う 引用:発表者アサノのQiita記事 [BigQueryでデータマートを作成するときのtips #SQL - Qiita] https://qiita.com/nash_efp/items/f645e006506a643c7dc1

Slide 33

Slide 33 text

33 ©BrainPad Inc. Strictly Confidential コードの説明を 冒頭に書く

Slide 34

Slide 34 text

©BrainPad Inc. Strictly Confidential 34 ● コードを触る人が最初にが読むドキュメントはコード ○ 何をするコードかはファイル名だけだとすべてを表すことは難しい ○ 順序関係も必要だったりする ○ コメントで書いておく ○ コードに手を加える際にコードは絶対に見るため、「ドキュメントだけ更新さ れない」を防ぐのに役立つ コードの説明を冒頭に書く

Slide 35

Slide 35 text

35 ©BrainPad Inc. Strictly Confidential コード上でメタデータ を扱う

Slide 36

Slide 36 text

©BrainPad Inc. Strictly Confidential 36 ● スキーマ設定をする ● Descriptionをコード内に書く ● 詳細はDescriptionに書いてしまうのがよい ○ 全員が参照できる ● スキーマ設定も必ずする ○ 面倒だがWebUI上で色んな人が参照する コード上でメタデータを扱う 引用:発表者アサノのQiita記事[BigQueryでデータマートを作成するときのtips #SQL - Qiita] https://qiita.com/nash_efp/items/f645e006506a643c7dc1 BigQuery上のメタデータをコード管理する - istyle Tech Blog https://techblog.istyle.co.jp/archives/5935

Slide 37

Slide 37 text

37 ©BrainPad Inc. Strictly Confidential データマートが綺麗だ と何がよい?

Slide 38

Slide 38 text

©BrainPad Inc. Strictly Confidential 38 ● 使い回しができる ○ 中間テーブルが実質的にDWHやクレンジング層になる ○ ※ データマネージャなどと情報連携してガバナンスを効かせたうえで進行 ○ 「1つのテーマの限定したものにだけ使う」ではなく、 「複数の人、複数のテーマで使う」ことができる ● 継続的に使える ○ コードが綺麗だとメンテナンスがしやすい ● 細かく分けることでテストが書きやすい = 品質を保つ仕組みがはたらく ○ テストを書いていると安心してアップデートができる ○ コードが綺麗で、テストも通っているので、結果も信頼ができる→重要 データマートが綺麗だと何がよい?

Slide 39

Slide 39 text

39 ©BrainPad Inc. Strictly Confidential 個人的な成功体験

Slide 40

Slide 40 text

©BrainPad Inc. Strictly Confidential 40 ● 最初に何気なく作ったデータマートが4年経過した今も運用に使われたり、 アドホックな分析に使われている。自分自身も使っている ○ ※ 運用とアドホックな分析に使うコードやデータマートはそれぞれ独立している ● そしてそのデータマートを必要に応じてメンテしている。 ● 特に受託分析だと、自分たちが離れてもうまく回る仕組みを常に作っておく必要が ある ○ ただ、これは受託に限らず、多くの現場でも共通して必要なことだと考えられる 実際自分の体験として...

Slide 41

Slide 41 text

©BrainPad Inc. Strictly Confidential 41 (おまけ)今日話しきれなかったところは過去の発表資料を参照 & 懇親会にて! [白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方 - Speaker Deck] https://speakerdeck.com/brainpadpr/bai-jin-kuang-ye-meetup-vol-dot-17-arudetasaienteisutonodetamanezi mentotonoxiang-kihe-ifang

Slide 42

Slide 42 text

©BrainPad Inc. Strictly Confidential 42 ● データ整備の恩恵を受けるのは、まずデータサイエンティストや分析官の仕事 をしている人たち、自分のためにやろう! ● 結果的にプロジェクト、プロダクト、社会のためになる ● データサイエンティスト/アナリスト側に、データ整備に寄り添う人がいれ ば、プロジェクトがスムーズに進むはず...! ● 今日紹介したtipsが絶対的な正解ではないですが、データ整備しやすいような 工夫は絶対にしたほうがよい!自分のためにも、みんなのためにも!

Slide 43

Slide 43 text

©BrainPad Inc. Strictly Confidential 43 ● これからのデータサイエンティストプロジェクトとデータ整備 ○ これから(というかここ最近)のデータサイエンスプロジェクトは 運用に載せること、継続的な価値を出すことが前提になっている ○ データ整備もこの前提に従う必要がある ● 実際のプロジェクトでは... ○ 思ったより書き捨てのコードは少ない ■ あるいはPoCで書いたコードを書き捨てにする場合は、その分あとから作業コストを払う必要がある ○ 運用に載せたあともアップデートは続く ○ 未来の自分も第三者の立場としてコードを読む機会がある ● データマートが綺麗なメリット ○ 使い回しができる ○ 継続的に使える ○ コードが綺麗だとメンテナンスがしやすい ○ 細かく分けることでテストも書きやすい ● Tips ○ クエリは小さく分ける ○ SQLでも関数、変数を使う ○ コードの説明を冒頭に書く ○ コード上でメタデータを扱う サマリ

Slide 44

Slide 44 text

©BrainPad Inc. Strictly Confidential 44 Pythonの話も聞きたかった方いますか...? データサイエンティストにとっての リーダブルコードがあればいいのに... ところで...

Slide 45

Slide 45 text

©BrainPad Inc. Strictly Confidential 45 引用:[『先輩データサイエンティストからの指南書』浅野らの書評 - StatModeling Memorandum] https://statmodeling.hatenablog.com/entry/brainpad-senpai-book 先日こんな書評ブログを発見..! > 名著『リーダブルコード』のデータサイエンス版 に近いです 備考:タイトルについてはホントにおっしゃる通りでして、それに近い仮タイトルの時期もありました。 ただ、課題感が具体化できていない層に届けたく、よりキャッチーなタイトルにしました。

Slide 46

Slide 46 text

46 ©BrainPad Inc. Strictly Confidential 著書:先輩データサイエンティストからの指南書(2025, 技術評論社) 目次 1章:実務で生き抜くためのエンジニアリングスキル 2章:環境構築 3章:コードの品質管理 4章:データの品質確認 5章:機械学習モデルの実験管理 6章:プロトタイプ開発 本日、会場でも販売! 今日はだいぶ細かいtipsの話でしたが、書籍にはマクロな 観点でデータ整備に役立つことを書いています!

Slide 47

Slide 47 text

最後に 大事なことを言います (私にとって)

Slide 48

Slide 48 text

We are Hiring!! 気になった方は@nash_efpへお気軽にDMをください! まずはお話したりご飯に行ったりしましょう~! で働く仲間を募集しています!

Slide 49

Slide 49 text

49 ©BrainPad Inc. ブレインパッドでは、多様な職種で一緒に働く仲間を募集しています! 気になる求人がある方は、ぜひカジュアル面談をしましょう!(もちろん、直接応募も Welcome!) 一緒に働く仲間を募集しています! ★Pick UP求人★ BIアナリティクスコンサルタント データサイエンティスト データプラットフォーム テックリード データ基盤構築や構築後のデータ活用 支援業務をお任せいたします! • システム要件定義、設計・開発・運用・活 用支援までの一連工程 • クラウドをベースとしたアーキテクチャ設 計 • データベース設計・構築 などを実施 広範囲にわたる業界の様々な分野での データ活用プロジェクトにおける設計、分 析、意思決定の支援を実施! • 若手もシニア層も募集 • データサイエンティスト 150名以上が在 籍している環境で、データ活用に取り 組みませんか? 技術・ビジネス両面を見渡す BI領域の エキスパートとして、クライアントの 経営改善をリード • BIを活用したマーケティング戦略立案・ 実行、オペレーション改革を実施 • 課題設定からビジネス活用を一貫して 提供していきたい方を募集!

Slide 50

Slide 50 text

50 ©BrainPad Inc. カジュアル面談は、弊社採用ホームページより申し込みください! 一緒に働く仲間を募集しています! \応募はこちらから/

Slide 51

Slide 51 text

株式会社ブレインパッド 106-0032 東京都港区六本木三丁目1番1号 六本木ティーキューブ TEL:03-6721-7002 FAX:03-6721-7010 www.brainpad.co.jp [email protected]  本資料は、未刊行文書として日本及び各国の著作権法に基づき保護されております。本資料には、株式会社ブレインパッド所有の特定情報が含まれており、これら情報に基づく本資料の内容は、貴社以外の第三者に開示されること、また、本資料を評価する以外の目的で、その 一部または全文を複製、使用、公開することは、禁止されています。また、株式会社ブレインパッドによる書面での許可なく、それら情報の一部または全文を使用または公開することは、いかなる場合も禁じられております。 ©BrainPad Inc.

Slide 52

Slide 52 text

©BrainPad Inc. Strictly Confidential 52 (たとえばビジネスサイドの方などに) データを入力してもらう際に、Googleスプ レッドシートの入力規則の設定をしておくと ヒューマンエラーを防げる 8桁の数字のみが入力できる設定の例 → (おまけ)ちょっとしたtips共有