Google アナリティクスと R の併用

Andy Granowitz、Google アナリティクス デベロッパー アドボケイト - 2014 年 9 月

この記事の目標は、現在 R を使用している優れた統計学者、研究者、データ サイエンティストに、Google アナリティクスを有用なデータセットとみなすよう促すとともに、Google アナリティクスのユーザーにも、本格的なデータ処理のニーズに R を活用することを奨励することです。この記事では、R で Google アナリティクスのデータを使用して、マーケティング キャンペーンの長期的な価値を測定する方法の例を紹介します。

はじめに

R は統計コンピューティングで広く使用されているプログラミング言語で、データを分析して分析情報を引き出すための優れたツールです。R と Google アナリティクスのデータを組み合わせると、統計分析を行い、データを可視化してビジネスをより深く理解し、改善することができます。

この記事の残りの部分では、R と Google アナリティクス ライブラリを使用して、示唆に富んだデータやグラフを生成するために必要な手順について説明します。

設定

RGoogleAnalytics ライブラリを使用すると、Google アナリティクスのデータを R からネイティブに取得できます。手順は次のとおりです。

  1. 分析に使用できるデータを含む Google アナリティクス アカウントへのアクセス権があることを確認する
  2. R をインストールする
  3. RGoogleAnalytics パッケージをインストールする
  4. GitHub にあるサンプルコードの手順に沿って、R 内で Google アナリティクスのデータにアクセスできるようにします。

追加の設定リソースについては、RGoogleAnalytics 設定ガイドをご覧ください。

質問

マーケティング キャンペーンの長期的な価値は?

Google アナリティクスの標準レポートは、マーケティング キャンペーンが短期的にコンバージョンにつながっているかどうかを判断するのに役立ちますが、キャンペーンの長期的な価値を判断するには累積分析が必要になるため、困難な場合があります。

分析

マーケティング キャンペーンの長期的な価値を判断するには、R を使用して特定のコホートの累積収益とトランザクションのグラフを生成します。これにより、特定のマーケティング キャンペーンで獲得した顧客のグループが、長期間にわたって行ったトランザクションの数を確認できます。これは、マーケティング キャンペーンからプロパティを訪問したユーザーがすぐに購入を行ったかどうかを監視する、より標準的な分析とは対照的です。

クエリ

この分析を行うには、 RGoogleAnalytics のサンプルクエリを変更します。次のクエリは、2014 年 9 月 1 日から 9 月 7 日までにキャンペーン A からサイトに初めてアクセスし、9 月 1 日から 11 月 29 日までの間に購入に至ったすべてのユーザーのトランザクションと収益を取得します。

query.list <- Init(start.date = "2014-09-01",
        end.date = "2014-11-29",
        dimensions = "ga:date",
        metrics = "ga:transactions,ga:transactionRevenue",
        segment = "users::sequence::^ga:userType==New%20Visitor;dateOfSession<>2014-09-01_2014-09-07;ga:campaign==Campaign%20A;->>perSession::ga:transactions>0",
        max.results = 10000,
        sort = "ga:date",
        table.id = tableId)

セグメントを省略すると、このクエリはすべてのユーザーのトランザクションと収益を日付別に抽出します。サイトに初めてアクセスし、指定した期間にトランザクションを行ったユーザーのみがセグメントに追加されます。

セグメントの見方

セグメントは、いくつかのシーケンス条件で構成されます。

  1. 条件に一致するセッションだけでなく、条件に一致するユーザーのすべてのセッションを含めるため、セグメントでは users:: が選択されます。
  2. sequence:: 接頭辞を使用すると、指定した一連のステップを完了したユーザーセットを選択できます。この場合、最初のステップは特定の期間内に特定のキャンペーンからの訪問で、2 番目のステップは購入です。
  3. ga:userType==New%20Visitor;dateOfSession<>2014-09-01_2014-09-07 の前に ^ 接頭辞を付けると、指定した期間の最初のセッションの最初のヒットで、セッションの日付、キャンペーン、ユーザータイプの条件が true になります。
  4. ->>perSession::ga:transactions>0 は、ある時点で購入を行う 2 番目のステップを指定します。

このセグメントを変更する場合、または独自のセグメントを作成する場合は、作成可能なセグメントの詳細と構文の詳細について、 セグメントに関するデベロッパー ガイドをご覧ください。

結果の操作

このクエリの結果は、指定したユーザー グループの 1 日あたりのトランザクション数と収益です。1 日または増分のトランザクションと 1 日あたりの収益は、cumsum 関数を使用して R の累積数に変換できます。このデータは、plot 関数または ggplot2 パッケージを使用してグラフ化できます。

増分トランザクション プロットは各日付に発生したトランザクション数を示しますが、累積トランザクション プロットは各日付までに発生したトランザクションの合計数を示します。そのため、累積トランザクション プロットでは、各キャンペーンの長期的な価値を確認できます。

結果

これら 2 つのキャンペーンを分析すると、キャンペーン A で獲得した顧客はキャンペーン B で獲得した顧客よりも最初の 4 週間で完了した取引の方が多いものの、長期的にはキャンペーン B で獲得した顧客の方が累積取引数が多くなっていることがわかります。キャンペーン A またはキャンペーン B からのアクセスの直後に発生したトランザクションのみに着目した場合、キャンペーン A の方が効果的であるという誤った結論に至る可能性があります。

キャンペーン A とキャンペーン B の推移です。キャンペーン A のパフォーマンスは、最初はキャンペーン B を上回っているが、9 週間全体では向上していない

R で Google アナリティクス データを分析したいというご要望に、ぜひご参加ください。 Google アナリティクス Reporting API フォーラムにアクセスして、実施中の分析について共有しましょう。

概要を説明した動画

以下の動画は、この記事の例の概要を示しています。さらに、Google アナリティクスで R を使用する別のユースケースを 2 つ紹介します。