マーケティングアナリティクスデータの概要と一般情報
データモデリングのベストプラクティス
CDTのデータモデリング実践の中核的な原則の一つとして、マーケティングアナリティクスは可能な限りTrusted Data(信頼性の高いデータ)を作成するためのガイドラインに従っています。本質的に、Trusted Data(TD)とは、モデルがすべての段階でコーディングとスタイルガイドを遵守し、情報と結果が完全に検証され正確で信頼できるものであることを意味します。消費者であるあなたにとっては、閲覧している数値と結果が正しいことがわかるということです。
データモデリングは芸術でもあり科学でもあります。このタスクを実行するための多くの方法論とガイドがあり、CDTはマーケティングアナリティクスチーム(およびすべての他の組み込みデータチーム)に多くの役立つツールを提供してきました。データウェアハウス内のすべてのSQLコードの理想的なフォーマットと関数を概説するSQLスタイルガイドから、Tableauでの分析のために取り込まれる最終テーブルを形成するために、さまざまなレベルのモデルがどのように構築され、互いに組み合わさるべきかのフレームワークであるKimball方法論まで多岐にわたります。
Kimball方法論は、生のソースデータから完全に取り込み可能なマート/レポートテーブルへの道筋における重要な「ステージ」を概説しています。
- Raw/Source(生データ/ソース)
- ソースレイヤーから始まります。ソースレイヤーは、分析が必要なデータを含むシステム(例: Salesforce、Marketo、Iterableなど)です
- 各オブジェクト(例: Opportunity、Account、Contactなど)の生フィールドが取り込まれ、フォーマットされ、生/ソーステーブルに明確かつ正確に命名されます
- Prep(準備)
- 生/ソースフィールドは次にprepレイヤーに取り込まれます。ここでは、データのデータジャーニーの次のステージに向けて準備するために、生データに対してベースレベルの計算、変換、その他の論理的なモデリングステップが実行されます
- prepレイヤーは多くの場合、生データに対して実行される主要なロジックの中核リポジトリであるため、最も複雑なレイヤーです
- Dim/Fct(ディメンション/ファクト)
- prepモデルは2つの異なるテーブルに分割されます
- Fct: このテーブルには、特定のオブジェクト/データセットの1つのユニークIDと、他の多数の結合可能なIDがあります。ここでは、日付、ID、および測定値(ビジネス上の意思決定に関わる数値)が格納および準備されます
- Dim: このテーブルには、特定のオブジェクト/データセットの単一のユニークIDと、そのfctテーブルの単一IDの行のすべての記述情報が含まれます
- fctの各IDは単一のDimテーブルを持ち、各DimテーブルにはID内に単一のIDのみが存在します
- Dimは共通のfctテーブルに結合することで互いに結合されます
- prepモデルは2つの異なるテーブルに分割されます
- Mart(マート)
- マートレイヤーはdimsとfctモデルを組み合わせて完全な全体を形成します
- マートはほとんどロジックや計算を持たず、主に特定のオブジェクトやビジネスプロセスのためのクエリ可能な最終テーブルを提示するために機能します
- Report(レポート)
- レポートテーブルはマート(通常)を基に構築されます。特定のビジネス上の質問またはプロセスのためのクエリ可能なテーブルとして機能するマートデータセットの全体のフィルタリングされた分岐です
- 例: Salesforceのすべてのオポチュニティのマートを持ちながら、すべてのClosed Wonオポチュニティのレポート/rptを持つ場合があります。マートの結果を事前フィルタリングすることで、マートの全体のうちの一部のみが必要な場合に、より小さく俊敏なデータセットを提供します
テックスタックの概要
CDTとそれに伴うマーケティングアナリティクスのデータパイプラインテックスタックはシンプルで効率的かつ効果的です。
CDTソーステーブルに示されているように、各ソースシステムから生/ソースデータを抽出することから始まります。抽出は、特定のソースシステムを最もよくサポートするツールに基づいたさまざまなツールで行われます。マーケティングでは主にStitch(SFDC)とFiveTran(MarketoとIterableなど)に依存しています。抽出ツールは各同期テーブル/オブジェクトのすべての指定カラムを取得し、これらのフィールドの生レベルテーブルを作成します。
これらの生テーブルはGitLabのすべてのデータのリポジトリ/ハブであるSnowflakeに抽出されます。
次のレイヤーはデータビルドツール(dbt)で、モデリングプロセスの変換レイヤーです。dbtでは、SQLおよびその他のコードが記述され、上述のprepレイヤーを作成するためにさまざまなフィールドとロジックセットをさらに変換、精製、計算、結合します。
dbtが作成した完成したテーブルは再びSnowflakeに書き込まれ、dbtが作成したテーブルはCDTデータカタログ(データウェアハウスとも呼ばれます)でアクセス可能になります。
プロセスの最後のステップは、dbtが作成したSnowflakeに格納されたテーブルを、通常Tableauである選択したBIツールに取り込むことです。Tableauではさまざまなテーブルからダッシュボードとグラフが作成され、さまざまな分析が容易になります。
データフロー
| ソースシステム | ソースオブジェクト | ソーステーブル | Prepテーブル | Dimテーブル | Fctテーブル | Martテーブル |
|---|---|---|---|---|---|---|
| SFDC | Account | sfdc_account_source | prep_crm_account | dim_crm_account | fct_crm_account | mart_crm_account |
| SFDC | Bizible Attribution Touchpoint | sfdc_bizible_attribution_touchpoint_source | prep_crm_attribution_touchpoint | dim_crm_touchpoint | fct_crm_attribution_touchpoint | mart_crm_attribution_touchpoint |
| SFDC | Bizible Person | sfdc_bizible_person_source | prep_crm_person | dim_crm_person | fct_crm_person | mart_crm_person |
| SFDC | Bizible Touchpoint | sfdc_bizible_touchpoint_source | prep_crm_touchpoint | dim_crm_touchpoint | fct_crm_touchpoint | mart_crm_touchpoint |
| SFDC | Campaign | sfdc_campaign_source | prep_campaign | dim_campaign | fct_campaign | N/A |
| SFDC | Campaign Member | sfdc_campaign_member_source | prep_campaign | dim_campaign | fct_campaign | N/A |
| SFDC | Contact | sfdc_contact_source | prep_crm_person | dim_crm_person | fct_crm_person | mart_crm_person |
| SFDC | Event | sfdc_event_source | prep_crm_event | dim_crm_event | fct_crm_event | mart_crm_event |
| SFDC | Lead | sfdc_lead_source | prep_crm_person | dim_crm_person | fct_crm_person | mart_crm_person |
| SFDC | Opportunity | sfdc_opportunity_source | prep_crm_opportunity | dim_crm_opportunity | fct_crm_opportunity | mart_crm_opportunity |
| SFDC | Task | sfdc_task_source | prep_crm_task | dim_crm_task | fct_crm_task | mart_crm_task |
| SFDC | Users | sfdc_users_source | prep_crm_user | dim_crm_user | N/A | N/A |
| Marketo | アクティビティ固有のソーステーブル | Marketo model source | prep_marketo_activity | dim_marketo_activity | fct_marketo_activity | mart_marketo_activity |
| Marketo | Lead/Person | marketo_lead_source | prep_marketo_person | N/A | N/A | mart_marketo_person |
| Iterable | Campaign History | iterable_campaign_history_source | prep_iterable_campaign | WIP | WIP | WIP |
| Iterable | Campaign List History | iterable_campaign_list_history_source | prep_iterable_campaign | WIP | WIP | WIP |
| Iterable | Campaign Metrics | iterable_campaign_metrics_source | prep_iterable_campaign_metrics | WIP | WIP | WIP |
| Iterable | Campaign Suppression List History | iterable_campaign_suppression_list_history_source | prep_iterable_campaign | WIP | WIP | WIP |
| Iterable | Channel | iterable_channel_source | prep_iterable_user | WIP | WIP | WIP |
| Iterable | Email Link Param History | iterable_email_link_param_history_source | prep_iterable_email_template | WIP | WIP | WIP |
| Iterable | Email Template History | iterable_email_template_history_source | prep_iterable_email_template | WIP | WIP | WIP |
| Iterable | Event | iterable_event_source | prep_iterable_event | WIP | WIP | WIP |
| Iterable | List | iterable_list_source | prep_iterable_list | WIP | WIP | WIP |
| Iterable | List User History | iterable_list_user_history_source | prep_iterable_list | WIP | WIP | WIP |
| Iterable | Message Type | iterable_message_type_source | prep_iterable_message_type | WIP | WIP | WIP |
| Iterable | Template History | iterable_template_history_source | prep_iterable_email_template | WIP | WIP | WIP |
| Iterable | User History | iterable_user_history_source | prep_iterable_user | WIP | WIP | WIP |
| Iterable | User Unsubscribed Channel | iterable_user_unsubscribed_channel_source | prep_iterable_user | WIP | WIP | WIP |
| Iterable | User Unsubscribed Message | iterable_user_unsubscribed_message_type_source | prep_iterable_message_type | WIP | WIP | WIP |
マーケティングデータモデル
すべてのGitLabデータモデルは、一連のフォルダと階層を通じてSnowflake/dbtでグループ化・カテゴリ化されています。以下は主要なマーケティングデータモデル、そのフォルダ、リンク、および説明です。Groupingフィールドという追加の整理レイヤーを設けており、これは使用方法と系統に基づくデータモデルのカスタムグルーピングです。以下のグルーピングのリストはデータモデルインベントリテーブルの前に記載されており、各グルーピングが表すものについての簡単な説明を提供しています。
グルーピング
| グルーピング | 説明 |
|---|---|
| Event Performance | イベントデータストリームを計算・分析するためのモデル。 |
| L2R | Lead to Revenueモデルから構築されたモデル。L2RはSFDC Persons(リード/コンタクト)、Account、Opportunity、BizibleタッチポイントのConsolidationです。 |
| Marketo | Marketoソースデータから構築されたモデル。追加のフィールドと情報のためにL2RとPresentation Layer Modelグルーピングと組み合わせて使用されることが多いです。 |
| Presentation Layer Model | アクティブで公開されたTableauダッシュボードで使用されるモデル。これらは最も一般的に使用され、分析のために提示されるモデルです。 |
| SFDC | SFDCソーステーブルから構築されたモデル。追加のフィールドと情報のためにL2RとPresentation Layer Modelグルーピングと組み合わせて使用されることが多いです。 |
| Web | ウェブトラフィックデータ(ファネルのトップ)をモデル化するために構築されたモデル。 |
