Content last updated 2025-07-25

Product Data Insights データモデルチートシート

Product Data Insights チームが使用する主なデータモデルの概要

このページの目的

このハンドブックページは、Product Data Insights チームで最もよく使われるデータモデルの概要と、それらのデータモデルについて知っておくと役立つ既知のニュアンスや注意点を、ハイレベルで提供することを目的としています。

このページの内容について共同作業する場合は、MR を提出するか (推奨)、この Epic でディスカッションを開始してください。

役立つ出発点

  • DBT Docs - このリソースには、利用可能なすべての dbt モデルに関する包括的なドキュメントが含まれています。困ったときは DBT を検索しましょう!

  • Data Guides では、GitLab 組織全体で広く有用なエンタープライズ分析対象領域について理解できます。Data チームが管理しています。

  • データパイプラインのドキュメント は技術的に興味のあるアナリスト向けです。このページでは、各データソースと抽出の詳細について説明しています。

  • データソースと更新スケジュールの表 では、各データソースの標準ロード時間を確認できます。

データモデルカテゴリ

これらのカテゴリは、データソースと対象領域でグループ化されています。

Service Ping

Service Ping は、毎週使用状況データの JSON ペイロードを生成して GitLab に送信する、GitLab のデータ収集メカニズムです。これにより、製品、カスタマーサクセス、サポート、セールスの各チームに、GitLab がどのように使用されているかを理解するための集計データが提供されます。Service Ping は、Self-Managed プロダクトの動作を理解するための唯一のデータソースです。Service Ping の方法論では、インストール単位でメトリクスを集計することにより、Self-Managed ユーザーのプライバシーを保護できます。

FAQ

Service Ping データを使用して名前空間レベルやユーザーレベルでレポートすることは可能ですか?

インスタンスとインストールの違いは何ですか?

  • インストールとは、instance_id と host_id の固有の組み合わせです。詳しくはこちら。Self-Managed の分析とレポーティングは、インストール単位で行います。

ドキュメント

クリックして展開

よく使われるデータモデル

クリックして展開
スキーマテーブル名データ粒度説明注記
common_martmart_ping_instancedim_ping_instance_idインストール、サブスクリプション、アカウント、プロダクト情報の追加属性を伴う Ping レベルのデータ。このデータにはメトリクスは含まれません。
common_martmart_ping_instance_metricdim_ping_instance_id, metrics_pathインストール、サブスクリプション、アカウント、プロダクト情報の追加属性を伴う Ping レベルおよびメトリクスレベルのデータ。これは、特定の期間でフィルタリングされた他のテーブルの UNION です: mart_ping_instance_metric_28_day mart_ping_instance_metric_7_day mart_ping_instance_metric_all_time
commonfct_ping_instance_metric_none_nulldim_ping_instance_id, metrics_pathnone および null タイムフレームのメトリクスに関する Ping レベルおよびメトリクスレベルのデータ。
common_mart_productrpt_ping_latest_subscriptions_monthlyping_created_date_month, latest_subscription_id, dim_installation_idシート数を含む、月別のアクティブな Self-Managed サブスクリプション。サブスクリプションが Service Ping を送信している場合、インストールレベルのデータが提供されます。シート数を含み、Service Ping オプトイン率の計算に使用できます
common_mart_productrpt_ping_metric_totals_w_estimates_monthlyping_created_date_month, metrics_path, ping_edition, estimation_grain, ping_edition_product_tier, ping_delivery_typeこのモデルは xMAU/PI レポーティングに使用され、[td_xmau] スニペットの Service Ping データのソースです。

知っておくと役立つこと

クリックして展開
  • 収集されるデータのカテゴリ: サブスクリプション、運用、オプション

  • インストールには Service Ping を生成する曜日がランダムに割り当てられますが、その割り当ては時間が経っても永続します。たとえば、あるインストールに火曜日が割り当てられた場合、常に火曜日に Ping を生成します。週全体でペイロード負荷を均等に分散させるため、異なる曜日に Service Ping を生成・ロードしています。

  • メトリクス辞書milestone フィールドを使用して、メトリクスがインストルメントされたバージョンを特定することもできますが、いくつかの制限があります。第一に、多くのメトリクスは < 13.9 とだけラベル付けされており、古いメトリクスについては詳細が不足しています。第二に、メトリクスは CE と EE で異なるバージョンで導入される可能性があり、milestone が片方のエディション/ディストリビューションでは誤っている可能性があります。これらの理由から、メトリクスがインストルメントされた時期を調べる場合は common_mart_product.rpt_ping_metric_first_last_versions の使用を推奨します。

GitLab.com

GitLab.com (SaaS) は、Service Ping フレームワーク内で単一の Ping をレポートする単一のインストールです。プロダクトティア、プランタイプ、名前空間、ユーザー別にさらに粒度の細かいデータにアクセスするには、GitLab.com Postgres データベースを使用します。このデータソースは、バックエンドテーブルを作成するすべての Service Ping イベントをレプリケートします。

FAQ

なぜすべてのステージとグループのすべてのイベントが GitLab.com データに表示されないのですか?

  • これは、gitlab.com db Postgres レプリカを使用した Service Ping カウンタのレプリケーションの制限によるものです

GitLab.com データのユーザーレベルの動作を Snowplow イベントに関連付けることは可能ですか?

  • いいえ。Snowplow のユーザー識別子は匿名化されていますが、GitLab.com のユーザー識別子は匿名化されていません。ただし、名前空間 (グループ/プロジェクト) レベルで Snowplow と GitLab.com データを結合することは可能です。

GitLab.com データにいくつかの信頼性の問題があると聞きました。停止や既知の問題について最新情報を入手するにはどうすればよいですか?

  • この Issue に GitLab.com レプリカで判明している問題がすべて文書化されています。

ドキュメント

クリックして展開

よく使われるデータモデル

クリックして展開
スキーマテーブル名データ粒度説明注記
common_martmart_event_user_dailyevent_date, event_name, dim_user_id, dim_ultimate_parent_namespace_id名前空間とプランに関する属性を含む、日次のユーザー、名前空間、イベントレベルのデータ
common_martmart_event_namespace_dailyevent_date, event_name, dim_ultimate_parent_namespace_id名前空間とプランに関する属性を含む、日次の名前空間およびイベントレベルのデータ
common_mart_productrpt_event_xmau_metric_monthlyevent_calendar_month, user_group, section_name, stage_name, group_name月次のユーザーグループおよび xMAU メトリクスレベルのデータこれは有料 SaaS xMAU のレポーティングに使用されるモデルで、[td_xmau] スニペットで使用されます
common_mart_productrpt_event_plan_monthlyevent_calendar_month, plan_id_at_event_month, event_name月次のプランおよびイベントレベルのデータ

知っておくと役立つこと

クリックして展開
  • GitLab.com データソースは、GitLab の SaaS 提供内でユーザーが取れるすべての行動を網羅しているわけではありません。

Snowplow

Snowplow は、GitLab で GitLab.com のフロントエンドイベント (ページビュー、CTA クリック、リンククリックなど) を追跡するために使用されるオープンソースのイベント追跡ツールです。このデータソースは、ユーザーのプライバシーを保護するために、識別可能なユーザーデータを収集しません。Snowplow データソースは、GitLab で実験を実装・追跡する方法です。

FAQ

なぜ私のチームが実装したメトリクスがメトリクス辞書に表示されないのですか?

  • メトリクス辞書に表示されるためには、すべてのイベントに .yml ファイルが必要です。これは自動では行われず、Snowplow トラッキングを実装したエンジニアが作成する必要があります。

一部の Snowplow イベントで gsc_namespace_id の値が null になるのはなぜですか?

  • エンジニアは新しいイベントを実装する際に gsc_namespace_id のトラッキングを有効にする必要があります。gsc_namespace_id のトラッキングがすでに有効になっていてもまだ null が発生する場合、イベントは ToDos ページのように特定の名前空間に固有でない GitLab.com 内の場所でトリガーされている可能性があります。

本番環境でトリガーされたイベントを識別する正しいロジックは何ですか?

  • 次のロジックを適用してください: WHERE app_id IN ('gitlab','gitlab_customers')

構造化された Snowplow イベントペイロードの event_category の値はどう解釈すればよいですか?

  • event_category の値はこのコード化されたロジックに従って自動的に設定されます。ただし、イベントをインストルメントするエンジニアがこのロジックをオーバーライドする場合は除き、これはバックエンドイベントでよく発生します。これらの値の意味を検索する良い場所は、この EE controllers リポジトリでキーワード検索することです。EE 以外の controllers も検索可能で、こちらにあります。それ以外の場合は、関心のあるイベントをインストルメントしたチームのエンジニアリング Slack チャンネルに連絡し、そこで event_category の値の正しい解釈について検証を依頼できます。

ドキュメント

クリックして展開

よく使われるデータモデル

クリックして展開
スキーマテーブル名データ粒度説明注記
common_martmart_behavior_structured_eventbehavior_structured_event_pk構造化イベントの分析用に強化された Snowplow テーブル。分析のユースケースに応じて、クエリを妥当な時間枠で実行できるよう behavior_date でフィルタリングすると役立つ場合があります。
commonfct_behavior_structured_event_without_assignmentbehavior_structured_event_pk割り当てイベントを除く Snowplow 構造化イベントのデータを含む派生ファクトテーブル。割り当てイベントとは、ユーザーが実験に登録されたことを示すイベントです。fct_behavior_structured_event_without_assignment_190 および fct_behavior_structured_event_without_assignment_400 も利用可能です。
commonfct_behavior_structured_event_experimentbehavior_structured_event_pk実験関連の構造化イベントの派生ファクトテーブル。
commonfct_behavior_website_page_viewfct_behavior_website_page_view_skページビューの定量データを含むファクトテーブル。ページビューは Snowplow イベントのサブセットで、JavaScript トラッカーによって発火されます。
commonfct_behavior_unstructured_eventfct_behavior_unstructured_sk非構造化イベントの派生ファクトテーブル。
commondim_behavior_eventdim_behavior_event_skSnowplow からの個別のイベントタイプを含むディメンションモデル。

知っておくと役立つこと

クリックして展開
  • 製品の特定のエリアで Snowplow イベントが実装されているか気になる場合は、Snowplow Inspectorメトリクス辞書 (網羅的ではない) の補完リソースとして役立ちます。Snowplow Inspector はサーバーサイドイベントを表示しません。

  • Snowplow は Self-Managed インスタンスでは使用しておらず、GitLab.com でのみ使用しています

  • 開発者や PM が標準的な実装について気になる場合は、イベントスキーマが文書化されています。

名前空間、ユーザー、メンバーシップ

このデータモデルのカテゴリには、GitLab.com (SaaS) の名前空間 (プロジェクトとグループの両方を含む)、その企業属性、個々のメンバーが含まれます。

FAQ

名前空間とは何ですか?

  • 基本から! GitLab には 2 つのカテゴリの名前空間があります。グループとプロジェクトです。一般的に、名前空間は関連するプロジェクトを整理する場所を提供します。詳細はこちら。名前空間は GitLab SaaS と Self-Managed プロダクト内に存在しますが、Self-Managed ユーザーのプライバシーを保護するため、識別可能な名前空間データは SaaS でのみ収集しています。

どのようなタイプの名前空間を通常分析しますか?

  • 通常、Ultimate parent namespace レベルで分析を行います。

メンバーシップ履歴データにアクセスできますか?

  • いいえ。GitLab のメンバーシップ履歴は、いかなるデータモデルにも記録されていません。

ドキュメント

クリックして展開

よく使われるデータモデル

クリックして展開
スキーマテーブル名データ粒度説明注記
commondim_namespacedim_namespace_idプランを含むすべての GitLab.com 名前空間と名前空間属性を含むディメンションテーブル。
commondim_namespace_histnamespace_snapshot_id, dim_namespace_id, valid_from, valid_tocommon.dim_namespace モデルの履歴スナップショット。
commondim_userdim_user_idすべての GitLab.com ユーザーを含むディメンションテーブル。
commondim_user_histdim_user_snapshot_hist_id, dim_user_id, valid_from, valid_tocommon.dim_user モデルの履歴スナップショット。
legacygitlab_dotcom_membershipsmembership_source_id, user_idこのモデルは、ユーザーが名前空間への (完全または部分的な) アクセス権を持つ、すなわち「メンバーシップ」を表す他のモデルをすべて UNION したものです。直接および間接のメンバーシップタイプの両方を含みます。
legacygitlab_dotcom_membersmember_id, user_idGitLab.com メンバーのベースモデル。直接のメンバーシップリンクのみを含みます。招待関連のフィールドに使用されます。

知っておくと役立つこと

クリックして展開
  • common モデル内で見つかる member_count フィールドは正確ではないため、使用しないでください。名前空間あたりのメンバー数を測定する分析には、legacy.gitlab_dotcom_memberships を使用してください。こちらが Issueで、これらの精度の問題を修正する作業を表しています。

Duo

GitLab Duo は、Code Suggestions、Chat、その他の機能を含む AI 搭載機能のスイートです。Duo の使用状況に関するデータは、AI Gateway イベント、Snowplow トラッキング、Service Ping メトリクスを含む複数のソースから取得されます。2024年8月以降、AI Gateway がすべてのデプロイメントタイプの使用状況メトリクスのソースオブトゥルースになっています。最も包括的なドキュメントは Duo 分析の Data Guide を参照してください。

FAQ

いつ Duo 機能全体で重複排除されたユーザー総数をレポートできますか?

  • すべての機能とデプロイメントタイプにわたる完全な重複排除済み総数は、2024年8月3日以降からのみ利用可能です。過去データの可用性は、機能とデプロイメントタイプによって異なります。

Duo の使用状況はどのように顧客に帰属されますか?

  • 使用状況は、イベントが発生した方法 (どの名前空間/インストールがアクセスを有効にしたか) に基づいて帰属され、イベントが発生した場所には基づきません。単一のイベントは複数の顧客によって有効化される可能性があります。

ドキュメント

クリックして展開

よく使われるデータモデル

クリックして展開
スキーマテーブル名データ粒度説明注記
workspace_productwk_mart_behavior_structured_event_ai_gateway_flattened名前空間/インストールあたりのイベント顧客帰属を伴う AI Gateway イベントフラット化モデル - DISTINCT カウントを使用
workspace_productwk_rpt_ai_gateway_events_flattened_with_features名前空間/インストールあたりのイベント各リクエストに関連する機能と結合された、顧客帰属を伴う AI Gateway イベント。フラット化モデル - DISTINCT カウントを使用
common_mart_productrpt_behavior_code_suggestion_outcomeサジェスチョンIDE 拡張からの Code Suggestions メトリクス受け入れ率などの品質メトリクス
restricted_safe_workspace_productrpt_duo_license_utilization_monthlyサブスクリプション/月/アドオンライセンス使用率メトリクス当月を除外
workspace_customer_successwk_license_billable_usersインストールSelf-managed のシート割り当てv17.5+ から利用可能

知っておくと役立つこと

クリックして展開