Google Cloud Platform にマーケティング データ ウェアハウスを構築する

この記事では、以前は利用できなかったリマーケティング リストを作成するために、複数のソースからデータを収集する方法について説明します。これらのリストを使用すると、顧客の全体像を把握することができます。顧客とブランドの関わり方を理解することで、ライフタイム バリュー(LTV)を高め、より深いマーケティング分析を行うことができます。

マーケティング担当者の役割は、従来型のキャンペーンの実施からリアルタイムのエンゲージメントに変化しています。データ収集と遡及的なパフォーマンス分析が主流だったマーケティング手法も変わり、現在のマーケティング担当者は、データに基づいた顧客の分析、パフォーマンス主導の戦略立案、プロアクティブなターゲティングを行う必要があります。

この新しいアプローチによって新たな課題が生まれています。たとえば、ストレージの価格の継続的な低下は、データが指数関数的に増加している現状には好ましい傾向ですが、データを分析するためにデータをどのように集約するのかは課題として残されています。次のような課題もあります。

  • データソースがサイロ化され、フォーマットも多様。
  • 使いやすい分析ツールや抽出 / 変換 / ロード(ETL)ツールが少ない。
  • 技術リソースが不足している。
  • テストとプロトタイプを柔軟に行うことができない。

この記事では、これらの要素について検討し、独自のデータで扱うワークフローの作成方法を解説します。この記事は、構造化クエリ言語(SQL)の基本的な知識がある方を対象にしています。機械学習に関連する部分については、データ アナリストやデータ サイエンティストの助けが必要になる場合があります。

使用例

以下では、オンラインで化粧品を販売している架空の会社について考えてみます。あなたはマーケティング部門の責任者です。DevOps チームの技術的なサポートを最小限に抑えながら、主要な分析業務を行いたいと考えています。IT リソースは限られていますが、データ サイエンティストのサポートはあります。

現在の主な課題は、広告費の投資収益率(ROI)を追跡して、マーケティング予算を最適化することです。しかし、次のような問題があります。

  • データが Google アナリティクス 360、顧客関係管理(CRM)システム、Google DoubleClick Campaign Manager(DCM)などに分散している。
  • 顧客データと販売データは CRM システムに保存されている。
  • 一部のデータは、クエリを実行できる形式になっていない。
  • データを分析し、結果を他の部門と共有するツールがない。

このような課題について、次の方法を検討します。

  • 共通の保管場所にデータを収集する。
  • 異なるソース間でデータの照会や結合ができるようにデータを変換する。
  • 標準のレポート API では使用できないレポート機能を利用する。
  • 機械学習を活用してユーザーのグループを発見する。

これらの作業を行うことで、これまで利用できなかったリマーケティング リストを作成できます。

アーキテクチャ

次のアーキテクチャ図は、さまざまなソースからデータを取り込み、リマーケティングの決定を行うまでのプロセスを表しています。

データの取り込みからリマーケティングの意思決定まで
図 1: データの取り込みからリマーケティングの意思決定までの流れ

注:

  • この図で薄い色のデータセットの一部は、この記事で説明する事例に関係ありません。ただし、同じ方法で問題を解決できる場合もあります。たとえば、この記事では DCM データに DoubleClick for Publishers(DFP)や YouTube のクエリを実行する方法について説明しますが、BigQuery にエクスポートされたデータでも同じことができます。
  • ダイアグラムに「More advanced」というセクションがあります。データを中央に集約すると、データ サイエンティストは機械学習などの高度な作業を行うことができます。

機能要件

このセクションでは、以下の機能要件で使用する技術オプションについて説明します。

  • データの収集と保管
  • データの変換
  • データの分析
  • データの可視化
  • データの有効化

データの収集と保管

インサイトを得るためにまず必要なことはデータの集約です。Google のデータなど、最も重要なマーケティング チャネルやデータソースから情報を効率的に収集できる技術を選択する必要があります。

BigQuery のストレージ機能とクエリエンジンを利用すること、さまざまなソースからデータを取り込むことができます。ここでは、次のようなデータを収集します。

  • Google 広告: BigQuery Data Transfer Service は、Google DoubleClick、AdWords、YouTube などのソースからデータを自動的に取り込みます。
  • アナリティクス 360: 10 分から 1 日の間でデータの更新頻度を選択できます。要件に最適なオプションを選択します。アナリティクス 360 は BigQuery に直接接続します。
  • 自社データ: CRM や PoS(Point Of Sale)などからデータを取り込むことができます。多くの場合、データの取り込みは、bq コマンドライン ツールAPIウェブ UI を使用してオフラインで行います。データはローカルで読み込むことも、Cloud Storage から読み込むこともできます。巨大なデータセットやデータレイクの構築を検討している場合は、Cloud Storage がおすすめです。
データ収集プロセス
図 2: データの収集と統合。

変換

ここでは、データの分析準備について説明します。巨大なデータセットで一貫性を維持するには、クリーニングや再フォーマットが必要になります。しかし、コーディングの手間はかけたくありません。たとえば、スケーリングや分散変換が可能なビジュアル ツールを使用し、コーディングなしでデータをクリーンアップしたいと思います。

BigQuery では、テーブル間での一括変換やビューの使用が可能です。しかし、より高度な変換が必要な場合は、プログラミングが少なく、複雑なパイプラインでテラバイト規模のデータを扱えるビジュアル ツールのほうが望ましいでしょう。

たとえば、Other_data フィールドなどの Key-Value 文字列が DCM アクティビティ テーブルにエクスポートされているとします。

key1=value1&key2=value2&...keyN=valueN

この文字列を次のような列と値のテーブルに分割します。

key1 | key2 | … | keyN
----------------------
val1 | val2 | … | valN

キー名を列にすると、他のテーブルとの結合が容易になります。キーには、CRM ユーザー ID、商品リスト、UTM(Urchin Tracking Module)データなどのカスタム情報を含めることができます。

Cloud Dataprep のレシピという機能を使用すると、変換を定義できます。レシピは分散環境のシーンの背後で実行される一連のタスクです。

Cloud Dataprep レシピ

レシピを定義すると、Cloud Dataprep はデータの表示方法をプレビューします。次のスクリーンショットのように、変換されたデータが保存されるときに、treatments、products、concerns、membership などの新しい列が追加されます。

変換後のデータの保管

Cloud Dataprep は、BigQuery などのさまざまな入出力ソースに対応しているため、この事例に適した選択肢といえます。Cloud Dataprep では、DCM からインポートした BigQuery データセットを読み取り、その結果を BigQuery に保存できます。

分析

クリーンアップしたデータを一元的に保存したら、分析を行い、インサイトを得ることができます。BigQuery でデータを扱えるようにすると、次のような利点があります。

  • たとえば、DoubleClick のレポート API や UI で処理できるデータよりも大きなデータにクエリを実行できます。
  • UI またはレポート API では扱えない、きめ細かなデータにアクセスできます。
  • 共通キーを使用して、複数のソースのデータを処理し、結合することができます。

このセクションの残りの部分では、利用可能なデータに対して実行できる処理について説明します。このセクションは 2 つの部分に分かれています。

  • 標準分析。構造化クエリ言語(SQL)の基本的な知識が必要になります。主に次の 2 種類の分析を行います。

    • 何が起きているかを把握するための記述的な分析
    • 事象が発生している理由を理解するための診断分析
  • 機械学習ベースの分析。データ アナリストやデータ サイエンティストが必要になりますが、次のような新しい分析が可能になります。

    • 予測分析。履歴データを使用して結果を予測します。
    • 処方的分析。結果を予測して戦略を準備します。

標準分析

広告関連の商品では、毎日数ギガバイト、あるいはテラバイト単位のログデータが生成される可能性があり、分析も容易ではありません。簡易的なレポートツールでは、照会可能な範囲が限定され、正しい結合を実行できない場合もあります。生データの照会ができず、集計結果しか利用できないこともあります。

記述的分析や診断的分析を行うには、ビッグデータにクエリを実行する必要があります。このような分析を行うには、スケーラブルなアーキテクチャが必要です。しかし、このようなアーキテクチャを最小限のオーバーヘッドと妥当なコストで構築することは容易ではありません。特に、技術リソースが限られている場合はなおさらです。この状況を解決する方法の 1 つは BigQuery です。BigQuery は数秒でテラバイト規模のデータを照会可能なストレージ / クエリエンジンで、サーバーを設定する必要はありません。

BigQuery でクエリを実行する最も簡単な方法はインタラクティブ UI を使用する方法です。その他の方法については、データのクエリをご覧ください。

高度な分析と拡充(オプション)

技術的な知識がある場合や、チームにデータ アナリストやデータ サイエンティストがいる場合は、予測アルゴリズムを実行して詳しい情報を取得して、それをデータセットに再度取り込むこともできます。たとえば、次のような作業が可能です。

  • 教師なし機械学習を実行し、顧客を類似オーディエンスにクラスタリングする。
  • 回帰分析を行い、販売数または顧客の LTV を予測する。
  • コメントなどを使用して、商品の感情分析を行う。

機械学習ではアルゴリズムが重要ですが、良い予測ができるかどうかは、モデルのトレーニングに使用できるデータの量と品質で決まります。BigQuery でデータを取り込んだ後は、次のものが必要になります。

  • さまざまな GCP コンポーネントをリンクし、データ サイエンス タスクを簡単に実行できるインタラクティブ ツール。
  • 最小限の DevOps でトレーニングと予測を実行できる機械学習プラットフォーム。

Cloud Machine Learning Engine では、管理されたスケーラブルな方法で TensorFlow モデルを実行し、トレーニングと予測の両方を行うことができます。また、ハイパーパラメータ調整などの機能も追加できます。TensorFlow は、Google が公開した最先端のオープンソース ソフトウェア(OSS)の数値計算ライブラリです。

Cloud Datalab では、Jupyter Notebooks によって BigQueryCloud Storage、Cloud Machine Learning Engine などの GCP サービスや Cloud Natural Language API などの Perception API に接続します。データ サイエンティストは、Cloud Datalab でインタラクティブな分析セッションを実行し、これらのサービスを利用することができます。Cloud Datalab には、NumPyPandas などの標準ライブラリが用意されています。

Cloud Datalab では、Natural Language API の予測機能を使用して、感情分析を行うことができます。次のヒストグラムは、商品やブランドに対して顧客の大多数が好意的な印象を持っていることを表しています。

x = pd.Series(df.avg_sentiment, name="sentiment")
fig, ax = plt.subplots()
ax.set_title("Avg. Sentiment For All Products")
ax = sns.distplot(x, ax=ax)

感情分析

可視化

BigQuery UI で SQL コードを記述したり、Notebook で Python コードを入力するのが面倒なしたりするもあります。たとえば、次のような場合について考えてみましょう。

  • 管理者が、実用的な情報が表示されるダッシュボードにすぐにすアクセスしなければならない。
  • 技術的に詳しくないアナリストが、データをスライスして分析しなければならない。

Google データスタジオを使用すると、技術者以外のユーザーでも、事前に設定されたテンプレートを使用して、共有可能なビジネス ダッシュボードを簡単に作成できます。このツールには、いくつかの利点があります。

  • ドラッグアンドドロップ操作でデータにアクセスできる。
  • 実用的なダッシュボードを作成して、共同作業を行うことができる。
  • ユーザーと意思決定者がダッシュボードを共有できる。

次の例では、異なるソースのデータが表示されています。

  • 左側の真ん中の行には Google アナリティクス 360 のレポートが表示され、右側には DCM が表示されています。
  • 真ん中の上の列に表示されているグラフでは、LTV に対する顧客のエンゲージメントが青い点でプロットされています。

異なるソースのデータを表示

有効化

共通の場所に生データを保存し、データを操作できるプラットフォームを用意して、コードとダッシュボードの両方からアクセスできようにすると、さまざまな意思決定を行うことが可能になります。

  • 記述的分析で、キャンペーンの頻度がユーザーあたりのコンバージョンに与える影響を分析する。 この情報は、特定のユーザーリストに対するリマーケティング キャンペーンの頻度を調整する際に役立ちます。BigQuery から生の DCM データにアクセスすることで、このような情報を得ることができます。

  • 診断分析で、キャンペーンとウェブサイトの動作が販売に及ぼす影響を分析する。 これ分析を行うには、ID を結合する SQL ステートメントを作成して、ビッグデータに実行します。

  • 予測分析で特定のユーザーの LTV を分析する。 特定のユーザー グループの価値を予測することで、効果的なマーケティング キャンペーンを行うことができます。前の図の青い点のグラフを見てください。ユーザーとの関りが強い場合、ブランド エンゲージメントを制限したユーザー グループのほうが購入率が高くなることがわかります。データを結合して機械学習で顧客セグメントを構築し、LTV 量を予測することで、この分析情報を得ることができます。

  • 処方的分析で商品に対する感情を分析する。 コメントと評価の推移を分析することで、特定のユーザー グループが特定の特性を持つ商品をにどのように感じるかを予測することで、不正確なターゲティングを防ぐことができます。この作業では、感情分析と顧客のセグメント化を行います。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...