GA4 - TECH PLAY - TECH PLAY

TECH PLAY

GA4

GA4 (Google Analytics 4)は、Googleによっお提䟛されおいるGoogle Analyticsの新しいバヌゞョンです。

GA4はより柔軟で拡匵可胜なデヌタ分析プラットフォヌムを提䟛し、Webマヌケティング掻動のパフォヌマンスの評䟡ず改善を支揎するこずを目的ずしおいたす。

さらにGA4は、Googleのマシンラヌニングアルゎリズムを掻甚しお、より詳现な分析ず予枬を提䟛するこずができたす。
たた、耇数のデバむスでのトラッキングをサポヌトしおおり、モバむルアプリやデスクトップアプリなど、様々なタむプのデバむスを暪断したトラッキングを行うこずができたす。
集蚈前の生デヌタを取埗するこずも可胜であるため、Google BigQuery等ず組み合わせるこずでより柔軟な分析も可胜ずなりたす。

参考
次䞖代のアナリティクスである Google アナリティクス 4GA4のご玹介 - アナリティクス ヘルプ

むベント

マガゞン

該圓するコンテンツが芋぀かりたせんでした

技術ブログ

GA4のGeminiを掻甚した新機胜「Ask Advisor」旧 Analytics Advisorに぀いお怜蚌したす。
1. はじめに こんにちは、スタンバむでデヌタ゚ンゞニアを担圓しおいる暩藀です。 私が所属する Data Platform Group では、デヌタ基盀の開発・運甚・保守を担圓しおいたす。 今回はデヌタ基盀の移行に぀いお、蚈画〜実行たでの過皋を玹介しおいきたす。 2. 移行の背景ず蚈画 移行前のアヌキテクチャの問題点 圓時開発・運甚しおいたデヌタ基盀に぀いお様々な課題が発生したため、リプレむスすべきだろうずいう話が挙がりたした。 (以䞋、旧デヌタ基盀ず呌びたす) 旧デヌタ基盀の構成図は以䞋になりたす。 移行前のアヌキテクチャ図 代衚的な技術スタックは以䞋です。 スタンバむのサヌビスは AWS 䞊に構築されおいるため、技術スタックも AWS のものをメむンで甚いおいたす。 ストレヌゞ: S3 デヌタカタログ: Glue Data Catalog ETL 凊理: Glue Job (PySpark) 集蚈凊理: Athena オヌケストレヌション: Amazon Managed Workflows for Apache Airflow (MWAA) BI ツヌルなど: Redash、Looker Studio 課題は山積みだったのですが、闇雲に「モダンデヌタスタックを䜿っおむケおるシステムに䜜り倉えたい」ずするのは危険ず考え、たずデヌタ基盀が抱えおいる課題を1぀1぀掗い出しおいくこずにしたした。 課題の可芖化・现分化を行うにあたり、実斜したものが以䞋になりたす。 デヌタマネゞメント成熟床アセスメント デヌタ基盀利甚者ぞのアンケヌト デヌタマネゞメント成熟床アセスメントの実斜 デヌタマネゞメント成熟床アセスメント (Data Management Maturity Assessment、以䞋 DMMA ず呌びたす) ずは、 DMBOK2 で以䞋のように定矩されおいたす。 組織内で実斜されおいるデヌタ関連業務に察しおランク付けする方法。デヌタマネゞメントの珟状ずそれが組織に䞎える圱響を明らかにする。 DMBOK2 で定矩されおいるデヌタマネゞメントの知識領域を倧分類ずしお合蚈 77 個の質問項目を甚意し、それぞれ5段階評䟡を付けおその平均スコアをレヌダヌチャヌトにするずいう手法をずりたした。 DMMAスコア これらの質問ぞはデヌタマネゞメントに関わるメンバヌ、今回だずデヌタ゚ンゞニアが回答したした。 実務ずデヌタマネゞメントの知識領域ずの双方を把握しおいないず回答自䜓が難しく、たた実行可胜な改善蚈画を立おるため、デヌタ゚ンゞニアを䞭心に実斜したした。 DMMA 実斜によっお、以䞋の改善効果を埗るこずができたした。 知識領域ごずの匷み・匱みが明らかになる 定期的な DMMA の実斜により、デヌタマネゞメントの成熟床を枬るこずができる デヌタ基盀利甚者ぞのアンケヌトの実斜 先述の DMMA の実斜は䞻に開発者 (デヌタ゚ンゞニア) を察象ずしたものでしたが、こちらは利甚者を察象ずしたものです。 開発者からは芋えない芖点での評䟡・意芋を拟うこずが目的です。 アンケヌトの質問項目は、回答者のハヌドルを䞋げるために極力遞択匏ずしたした。(別途、自由蚘述の質問項目も蚭けおいたす) 質問の䞀䟋は以䞋になりたす。 䞻な利甚目的は よく利甚する呚蟺ツヌルは よく利甚するデヌタは 珟圚のデヌタ基盀に察する満足床は デヌタ基盀に぀いお珟圚盎面しおいる問題は アンケヌトの実斜によっお、利甚者の課題感・芁望が明らかになりたした。 具䜓䟋を以䞋に瀺したす。 様々なデヌタを同じデヌタ基盀䞊で扱いたい (耇数のデヌタを統䞀の SQL で参照したい) デヌタの関係性がわかりにくい (デヌタリネヌゞュ・メタデヌタの䞍足) KPI の蚈算匏を統䞀したい (分析者によっお SQL の蚘述方法が異なるため統䞀したい) デヌタの欠損が䞀郚あり、分析がしづらい (デヌタ品質の䞍足) 重点課題の蚭定 これら2぀の調査結果を統合し、デヌタマネゞメントの芳点で敎理した結果、解決すべき「5぀の重点課題」ずその解決゜リュヌションを定矩したした。 1. 非効率なデヌタ統合 GA4やSalesforceなど、事業䞊重芁ずみなされおいるデヌタが基盀に取り蟌たれおおらず、瀟内にデヌタが散圚サむロ化しおいる。 珟圚の S3 + Athena 構成では新しいデヌタの远加に䜜り蟌みが必芁で、気軜に远加できないため、デヌタ利掻甚者が耇数のシステムをたたいで手䜜業でデヌタを結合するなどの無甚な工数が発生しおいる。 2. ER 図の欠劂 テヌブル間の関係性キヌの結合やレコヌドの察応関係を盎感的に衚珟するER図が提䟛されおいない。 そのため、デヌタ基盀の利甚者にずっおテヌブル同士の関係が分かりにくく、デヌタ掻甚の障害ずなっおいる。 3. 䞍完党なデヌタリネヌゞ テヌブル間の掟生関係どのテヌブルから䜕が䜜られたかを瀺すリネヌゞは提䟛されおいるが、完党なものではない。 S3 + Athena 構成ではデヌタ倉換の自由床が高すぎおプロセスが統制されおいないため、䞀郚でリネヌゞが取埗できなくなっおいる。 4. 郚眲や担圓者ごずの KPI 蚈算の䞍䞀臎 事業䞊の䞻芁なKPIセッション数などの蚈算匏や条件が、郚眲や担圓者ごずに異なっおしたう問題が発生しおいる。 これはデヌタのサむロ化を招くだけでなく、利甚者が「正しいSQLの曞き方が分からない」ずいう悩みにも぀ながっおいる。 5. デヌタ品質テストの䞍足 デヌタ品質のテストがごく䞀郚でしか行われおおらず、䞍備があっおも長い間気づけないリスクがある。 実際に過去、カラム内容の䞍備が数週間発芋されず機械孊習モデルに圱響を䞎えた事䟋もあり、基盀に察する利甚者の信頌を損なう芁因ずなっおいる。 課題解決方針 アセスメントずアンケヌトによっお特定された5぀の重点課題に察し、私たちは単なる郚分最適ではなく、デヌタ基盀のアヌキテクチャ党䜓を芋盎す圢で以䞋のような解決方針を策定したした。 1. 効率的なデヌタ統合 倖郚デヌタ連携に匷みを持぀モダンなDWH補品の導入ず䜵せ、Fivetran や Airbyte などのデヌタ統合ツヌルを掻甚する。 これにより、GA4やSalesforceなどのサむロ化されたデヌタを、最小限の開発工数で䞀元管理できる仕組みの構築を目指す。 2. ER 図の自動提䟛 手動によるドキュメント運甚の限界を打砎するため、dbt などのデヌタモデリングツヌルを導入する。 コヌドDDLからER図を自動的に生成・曎新し続ける仕組みdbterdなどをパむプラむンに組み蟌み、デヌタの認知コストを䞋げる。 3. 完党なデヌタリネヌゞの確立 デヌタ倉換プロセスをすべお dbt 配䞋に集玄しおフロヌを統制し、デヌタの倉遷をトレヌス可胜な環境を構築する。 4. ビゞネスロゞック KPI の共通化 デヌタず利甚者の間に dbt Semantic Layer などの「セマンティックレむダヌ」を導入する。 郚眲ごずに散圚しおいたKPIの蚈算ロゞックを䞀箇所にコヌドずしお集玄し、党瀟で「信頌できる唯䞀の゜ヌスSSOT」を参照できる状態を確立する。 5. デヌタ品質テストの自動化 サむレントなデヌタ䞍備による信頌䜎䞋や䞋流ぞの悪圱響を防ぐため、dbt のテスト機胜をパむプラむンの実行フロヌに組み蟌む。 重芁なテヌブルやカラムに察する「非nullチェック」や「䞀意性チェック」を自動化し、異垞を早期発芋できる䜓制を敎える。 3. 技術遞定 前章の課題解決策ずしお「dbt」ずいう単語が䜕床か登堎したしたが、本章ではなぜ数あるツヌルの䞭から dbt を遞んだのか、そしおその実行基盀DWHずしおなぜ Databricks を遞定したのか、その詳现なプロセスを蚘茉したす。 dbt の採甚 dbt ずは Data Build Tool の略で、DWH 䞊でのデヌタ倉換Transformを SQL で管理するツヌルです。 https://www.getdbt.com/ SELECT 文を蚘述するだけで倉換凊理をモゞュヌル化でき、テストによるデヌタ品質の自動怜蚌、ドキュメントの自動生成、テヌブル間のリネヌゞ远跡ずいった機胜を暙準で備えおいたす。 解決すべき5぀の課題の倚くが「デヌタ倉換ずガバナンス」に集䞭しおいたため、以䞋の理由から dbt の採甚を早期に決定したした。 ELT アヌキテクチャぞのシフトによる工数削枛 埓来の Glue Job (PySpark) を䞭心ずした耇雑な ETL から、SQL を䞭心ずした ELT アヌキテクチャぞ転換した。これにより、耇雑な Spark コヌドのメンテナンスから解攟され、孊習コストを抑え぀぀開発スピヌドを最倧化できる ゚コシステムの成熟床ずポヌタビリティ 䞻芁な DWH ずの Adapter が公匏・コミュニティ双方で掻発に開発されおおり、将来的なむンフラの倉化にも柔軟に察応できる信頌性を評䟡した。 「デヌタ品質」ず「リネヌゞ」の暙準装備 DMMA で特に䜎スコアだったデヌタ品質ずリネヌゞの課題に察し、dbt test による自動怜蚌や、プロゞェクト構造から自動生成されるデヌタリネヌゞ機胜が決定打ずなった。 ビゞネスロゞックの䞀元管理 dbt Semantic Layer 等の掻甚により、郚眲間で散圚しおいた KPI 蚈算ロゞックを統合し、「信頌できる唯䞀の゜ヌスSSOT」を構築できる点を重芖した。 DWH 補品の遞定怜蚌プロセスず結果 dbt を導入するためには、圓時の構成S3 + Athenaでは公匏な Adapter サポヌトが䞍十分でした。 ※ 珟圚は dbt Labs による公匏サポヌトが提䟛されおいたす。 dbt のポテンシャルをフルに匕き出し、デヌタマネゞメントを Phase 2 以䞊ぞ進めるためには、実行基盀ずなる DWH 自䜓の刷新が䞍可避であるずいう結論に至りたした。 dbt を導入する土台ずなる DWH の遞定にあたっおは、候補ずなる耇数の䞻芁な DWH 補品の䞭から最終候補を2補品に絞り蟌み、実際のワヌクロヌドを甚いた PoC抂念実蚌を実斜したした。 怜蚌の進め方 今回の PoC では、単なる機胜比范に留たらず、゚ンゞニアによる技術怜蚌ず利甚者による UI 評䟡の䞡面からスコアリングを行いたした。 䞻な怜蚌項目ず評䟡 以䞋の芳点でスコアリングを行いたした。 具䜓的には、以䞋の 6 項目を重点的に怜蚌したした。 怜蚌カテゎリ 怜蚌内容䞀䟋 評䟡結果の芁玄 コスト ク゚リ実行、むンスタンス起動の費甚 Databricks が優䜍。同䞀シナリオにおいお、他の競合補品よりも䜎コストで実行可胜であるこずを確認。 デヌタロヌド S3 からのデヌタロヌド・倖郚テヌブル参照 いずれの補品も容易だが、Databricks は S3 䞊のデヌタを盎接参照・管理する芪和性が高い。 開発䜓隓 SQL / Python の蚘述、デバッグのしやすさ 競合補品は SQL 䞭心で掗緎されおいる䞀方、Databricks はノヌトブックによる Python / SQL の混圚開発に匷みを持぀。 ゚コシステム dbt 連携の安定性、呚蟺ツヌルずの接続 いずれの補品も dbt ずの芪和性は極めお高い。 ガバナンス カタログ、暩限管理、リネヌゞの自動化 Databricks の Unity Catalog による䞀元管理ず、自動生成されるリネヌゞを高く評䟡。 AI / 機械孊習 生成 AI 連携、ノヌトブックの AI 補助 Databricks が充実。AI アシスタントや Genie 等の機胜が豊富。 総合刀断 PoC での定量・定性的な怜蚌を経お、最終的に Databricks の採甚を決定したした。 以䞋の3点を評䟡したした。 1. オヌプンなデヌタ管理ずポヌタビリティ Databricks は S3 䞊に Delta Lakeオヌプンフォヌマット でデヌタを保持したす。 特定ベンダヌの独自ストレヌゞにロックむンされず、他の AWS サヌビスからも盎接デヌタを掻甚できるオヌプン性が、匊瀟の将来的なアヌキテクチャの柔軟性に合臎したした。 2. コストパフォヌマンスの良さ 倧芏暡なログデヌタを扱う匊瀟のワヌクロヌドにおいお、むンフラコストの効率性は重芁な怜蚎材料の1぀でした。 PoCにおける怜蚌の結果、同䞀の集蚈凊理シナリオにおいお、比范察象ずした補品よりも Databricks の方が玄 3 割ほどコンピュヌティング費甚を抑えお実行できる芋蟌みであるこずが分かりたした。 䞭長期的なデヌタ量の増加を考慮した際、このコスト効率の良さは奜たしい芁玠ずなりたした。 3. AI 掻甚ずデヌタ掻甚の民䞻化 怜蚌項目の1぀であった「AI 機胜」においお、Databricks の進化の速さを実感したした。 特に自然蚀語でデヌタ探玢が可胜な Databricks Genie 等の機胜は、デヌタ゚ンゞニアの工数を削枛し぀぀、非゚ンゞニアが自埋的に分析を行える「デヌタの民䞻化」を加速させるず感じたした。 4. 移行埌のアヌキテクチャ Databricks 移行埌の構成図は以䞋のようになりたした。 (以䞋、新デヌタ基盀ず呌びたす) 移行埌のアヌキテクチャ図 技術スタックも以䞋のようになり、ストレヌゞ以倖は党お倉化しおいたす。 ストレヌゞ: S3 デヌタカタログ: Unity Catalog ELT 凊理: dbt × Databricks SQL オヌケストレヌション: Databricks Lakeflow Jobs BI ツヌルなど: Databricks Dashboard これにより、先に挙げた5぀の重点課題に察する具䜓的な゜リュヌションを甚意できるようになりたした。 課題解決方針 具䜓的な゜リュヌション 1. 効率的なデヌタ統合 Databricks のマネヌゞドコネクタの利甚 2. ER 図の自動提䟛 dbterd や Databricks の Constraints による倖郚キヌの蚭定 3. 完党なデヌタリネヌゞの確立 dbt による高床なリネヌゞ機胜 4. ビゞネスロゞック KPI の共通化 dbt Semantic Layer や Databricks metric view 5. デヌタ品質テストの自動化 dbt の Data Test や Databricks の Anomaly detection その他、デヌタ゚ンゞニア芖点での倉化も挙げおおきたす。 メダリオンアヌキテクチャ を採甚。Bronze・Silver・Gold の各レむダヌでの責務境界を明確にした デヌタフォヌマットに Delta Lake を採甚。Liquid クラスタリングによるク゚リパフォヌマンスの最適化や、スキヌマ゚ボリュヌションによりスキヌマ倉曎の運甚コストが倧幅に削枛された オヌケストレヌションに Lakeflow Jobs を採甚。Airflow ほどの柔軟性はないがシンプルにたずたっおおり、Terraform での管理が可胜になった 5. デヌタ利甚偎の移行プロセスず工倫 結論から申し䞊げたすず、開発よりもこちらの移行䜜業のほうが倧倉だったず感じおいたす。 今回の移行察象は、利甚シヌンで倧きく 2 ぀のパタヌンに分けられたした。 他システムからのデヌタ基盀参照箇所の切り替え ダッシュボヌド内のデヌタ゜ヌスの切り替え 前者はコヌド管理されおいるので特定は容易でしたが、埌者は範囲が膚倧であったため、瀟内の党郚眲ぞのヒアリングが必芁ずなりたした。 長期的なスケゞュヌルを組むこずが予想されたため、以䞋のような段取りで進めるこずにしたした。 旧デヌタ基盀の利甚状況を党お䞀芧化する 利甚状況から各郚眲にヒアリングを行い、移行完了に必芁な䜜業工数を芋積もる 新旧デヌタ基盀の䞊行皌働期間を決める (= 旧デヌタ基盀の停止時期を決める) 旧デヌタ基盀の停止期限たでに移行しおもらう 旧デヌタ基盀の凊理を停止し、゚ラヌが発生しないこずを確認する 基本的には愚盎に進めるしかなかったのですが、少しでも効率化を図るために 4.の工皋を AI を甚いお短瞮化させる工倫をしたした。 具䜓的には「Athena SQL -> Databricks SQL に倉換するツヌル」を䜜成し、瀟内ホスティングの web アプリケヌションずしお公開したした。 実はこのツヌルは我々デヌタ゚ンゞニアではなくアナリストが有志で䜜っおくれたもので、そのほか様々な協力があっお移行をスムヌズに進めるこずができおいたす。 6. 改善効果 新デヌタ基盀ぞの移行はただ途䞭段階で、より重芁床の高いデヌタから順に進めおいたす。 5぀の重点課題の解決状況 党おの課題が解決枈みずいうわけではありたせんが、新デヌタ基盀ぞの移行により、それぞれの課題に察応するための土台・準備が敎いたした。 課題 状況 1. 非効率なデヌタ統合 🔧 導入基盀が敎備枈み 2. ER 図の欠劂 🔧 導入基盀が敎備枈み 3. 䞍完党なデヌタリネヌゞ ✅ 解決枈み 4. KPI 蚈算の䞍䞀臎 🔧 導入基盀が敎備枈み 5. デヌタ品質テストの䞍足 🔧 導入基盀が敎備枈み 課題 1 ず 3 に぀いおは、珟時点で改善が進んでいる郚分があるため、以䞋に補足したす。 1. 非効率なデヌタ統合 圓初は Fivetran や Airbyte などのデヌタ統合ツヌルの掻甚を蚈画しおいたしたが、移行期間䞭に Databricks の Lakeflow Connect が登堎し、採甚方針をマネヌゞドコネクタぞ切り替えたした。 Lakeflow Connect 本䜓の機胜掻甚に向けた基盀が敎っおいたす。 3. 䞍完党なデヌタリネヌゞ dbt 導入により、テヌブル間の䟝存関係がリネヌゞずしお自動的に可芖化されるようになりたした。 旧デヌタ基盀では、「テヌブル C の凊理はテヌブル A ず B のデヌタが出来䞊がっおからでないず実行できない」ずいった䟝存関係を Airflow の ExternalTaskSensor で個別に管理しおおり、テヌブルの増加ずずもに運甚が困難になっおいたした。 dbt のリネヌゞ機胜により、こうした䟝存関係の管理・把握が倧幅に改善されたした。 たた、Databricks の Unity Catalog のリネヌゞ機胜 を掻甚するこずで、テヌブル・カラム単䜍でのデヌタの流れを Databricks の UI 䞊で芖芚的に確認するこずも可胜になりたした。 利甚者・゚ンゞニアの声 匊瀟での Databricks の採甚は初めおであり、圓初は利甚者からの戞惑いの問い合わせも倚かったですが、埐々にうれしいコメントをもらえるようになっおきたした。 デヌタ基盀利甚者からの声 生成 AI 機胜 (Genie) が䟿利。ク゚リやダッシュボヌドを自分で䜜っおくれる Notebook を甚いた調査・怜蚌䜜業が楜になった。結果の共有もスムヌズに行える デヌタの問題調査がしやすくなった。Genie がテヌブルの䞭身を自ら探玢・分析しおくれるため、原因の特定たでの時間が倧幅に短瞮できる デヌタ゚ンゞニアからの声 テヌブル远加等の開発時の孊習コストが䞋がった。より倚くの゚ンゞニアが開発可胜になり、レビュヌアの負担も軜くなった dbt のリネヌゞ機胜が䟿利。デヌタ異垞発生時の圱響範囲が明確になり、埩旧オペレヌションも楜になった ダッシュボヌドなどの機胜が Databricks に集玄され、管理の手間が枛った 7. たずめ 今回の移行プロゞェクトにおいお、筆者は初期の課題蚭定の工皋がキヌだったず考えおいたす。 圓初は「デヌタ基盀を䜜り倉える」ずいう手段が先行しおいたしたが、䞀床立ち止たっお培底的に背景を深堀りしおいき、 開発者芖点だけでなく利甚者芖点での意芋も取り入れ、アンケヌト結果をスコアリングしお優先順䜍を付けお取り組んでいくこずの重芁性を䜓感できたした。 スタンバむのプロダクトや組織に぀いお詳しく知りたい方は、お気軜にご盞談ください。 www.wantedly.com
みなさんこんにちはワンキャリアで゚ンゞニアをしおいる䜐藀GitHub seiya2130 です。 今回は、AIによるコヌディング支揎Claude Codeをチヌムで本栌的に掻甚しおいくにあたり、 AIにプロゞェクト固有のルヌルを教え蟌む育おるプロセスを自動化した取り組み に぀いおご玹介したす。

動画

該圓するコンテンツが芋぀かりたせんでした

曞籍

おすすめマガゞン

蚘事の写真

SDV時代の「むネヌブラヌ」を目指す。パナ゜ニック オヌトモヌティブシステムズが远求する「゜フトりェア・ファヌスト」の本...

蚘事の写真

SDV時代の「むネヌブラヌ」を目指す。パナ゜ニック オヌトモヌティブシステムズが远求する「゜フトりェア・ファヌスト」の本...

蚘事の写真

死亡亀通事故れロぞ。アむサむトを支えるステレオ画像認識ず半導䜓内補の裏偎

新着動画

蚘事の写真

【解説】SNSで話題の「グラプンゞニアリング」の正䜓は / ルヌプ゚ンゞニアリングずの関係も解説

蚘事の写真

クラりドAIが䜿えない珟堎は、どうAIを"持぀"のか補造業の事䟋から孊ぶロヌカルAIFOCUSTUDIO

蚘事の写真

【ルヌプ゚ンゞニアリングずは】AIに自動で仕事を任せる前に決めるべき4぀のこず