GoogleAnalytics360と機械学習で売上高予測モデルを構築 1/2

20190318-e

1. GoogleAnalyticsのデータ活用課題

GoogleAnalyticsは世界で最も使用されているWEBサイトのトラッキングツールだ。アクセス情報だけでなく、ECサイトなどの商品売上も計測できる。

有償版のGoogleAnalytics360では、ユーザID単位の分析が可能になり、ユーザ毎の売上高や購入履歴を閲覧できる。これにより、ユーザ単位の売上予測やレコメンド等の機械学習によるモデルが作成できる。

しかし、これは初学者にとってはハードルが高い。機械学習モデルはPythonなどのプログラミング言語を用いて作成するため、言語やアルゴリズムの知識、高性能なインフラ等が必要だ。

これらの課題を解決したのがBigQueryMLである。

2. BigQueryMLの紹介

GoogleAnalytics360のデータはBigQueryと呼ばれる、大規模なデータベースに格納される。BigQueryMLは、BigQuery上で機械学習モデルが構築できる機能だ。以下に、BigQueryMLの特徴を述べる。

2-1:作成可能なモデル
BigQueryMLは教師あり学習とよばれる「データからある値を予測するためのモデル」を作成できる。具体的には以下の通りとなる。

 A:2 項ロジスティック回帰モデル
 2つのクラスの1つを予測する場合に使用する。例えば、ユーザが特定の商品を購入するか否か、ある広告をクリックするか否か、など。

 B:マルチクラス ロジスティック回帰モデル
 3つ以上のクラスを予測する場合に使用する。例えば、ユーザが購入する商品カテゴリは何か、など。

 C:線形回帰モデル
 数値の予測に使用する。例えば、ユーザが購入する商品売上がいくらになるか、サイトに何秒滞在してくれるか、など。

2-2:安価な料金で利用可能
BigQueryMLではモデルを構築している時間だけ課金が発生する。よって、データベースやモデルの構築環境を保持するケースに比べて、はるかに安価である。

3. 線形回帰モデルでGoogleAnalyticsの売上を予測

ここからは、実際にBigQueryMLで線形回帰モデルを作成していく。今回はサンプルで公開されているGoogleAnalyticsの売上データセットを使用する。

このデータはBigQueryを利用できる方は誰でも扱える。GCPのプロジェクトを作成した状態で以下のリンクをクリックすればよい。

https://bigquery.cloud.google.com/table/bigquery-public-data:google_analytics_sample.ga_sessions_20170801

また、BigQueryの操作やBigQueryMLの操作に関しては以下のGoogle公式ドキュメントを参考にしてほしい。

https://cloud.google.com/bigquery/?hl=ja

図1:GoogleAnalyticsの売上データセット
図1:GoogleAnalyticsの売上データセット

3-1:データセットの作成
まずはデータセットの作成が必要だ。BigQueryMLをはじめとした教師あり学習モデルでは説明変数とよばれる特徴データを用いて、目的変数を予測する。

GoogleAnalyticsには扱えるデータが大量に存在するが、今回は売上を予測するために以下のデータを使用する。

目的変数(予測したいデータ)

  • ユーザの総売上:totals.totalTransactionRevenue

説明変数(学習に使用するデータ)

  • 日付:date
  • 訪問回数:visitNumber
  • 直帰か否か:totals.bounces
  • 総ヒット数:totals.hits
  • 新規ユーザか否か:totals.newVisits
  • 総ページビュー数:totals.pageviews
  • 流入元のグループ:channelGrouping
  • 直接流入か否か:trafficSource.isTrueDirect
  • 参照元:trafficSource.source
  • 利用端末の種類:device.deviceCategory
  • 利用端末のOS:device.operatingSystem
  • 大陸:geoNetwork.continent
目的変数と説明変数を決めたら、実際にモデルを作成していく。

お問い合わせ

当社のサービス・製品に関するご相談やご質問、お見積りのご依頼など、こちらからお問い合わせください。