Googleがベータ版として提供しているAutoML Tablesについて、BigQuery上のGA4のサンプルデータを元に「分類」のタスクを回してみました。
そもそもデータがサンプルということもあり精度はでていませんが、試用レビューとしてご活用ください。
Google Auto ML Tablesとは
Google Auto ML Tablesは、Googleがベータ版として提供しているAuto MLサービスです。公式ドキュメントはこちらです。
Auto MLとは、(正確な定義ではないかもしれませんが)、機械学習に必要な作業のうち、おおよそ以下の(1)と(3)の2つの作業を自動化してくれる『総合的な機械学習活用基盤』とでも理解しておくと良いかと思います。
(1) 特徴量ハンドリング
(2) モデルの作成・評価
(3) モデルのデプロイ・自動実行
(1) 特徴量ハンドリング:
広い意味では、データの整形(特徴として用いたいカラムの取得、欠損値の処理、標準化など)や、ハイパーパラメーターチューニング(精度を高めるために、モデルに与える初期値の調整)など、通常、人間が試行錯誤を強いられる作業を自動でやってくれます。
(3)モデルのデプロイ・自動実行:
精度がある程度高く、実用に足ると判断されたモデルを業務に組み込むにあたり、人間ががいちいち新しく入ってきたデータをモデルに掛け、予測(や分類)し、結果を他のシステム(広告やMAなど)に渡すということを自動で行うための仕組みを提供してくれます。
本記事で紹介するGoogle Auto ML Tablesレビューの内容
試用の範囲:特徴量ハンドリングとモデルの作成・評価まで
本記事で紹介しているGoogle Auto ML Tablesのレビューの内容は、「(1) 特徴量ハンドリング」と「(2)モデルの作成・評価」までであり、「(3) モデルのデプロイと自動実行」は含まれておりません。
また、データがサンプルということもあり、「精度が十分にでるかどうか?」をレビューしたのではなく、あくまでも「使用感」をレビューしています。
与えたデータと分類したかったこと
与えたデータと分類したかったことは以下の通りです。
公開されているGA4のBigQuery上のデータ(3ヶ月分)を元に、
購入の発生した初回訪問時のユーザーの振る舞いをインプットとしてAuto ML Tablesに掛け、一人ひとりのユーザーに対する「2回め購入する、しないの分類」をアウトプットとして取得する。
というタスクです。
このタスクが必要となる状況としては、初回購入が完了した時点で、ユーザーを「2回目購入をしてくれそうなユーザー」と「してくれなさそうなユーザー」に分けて施策を出し分けたい。といったことが考えられます。
購入が完了しているので、アカウントが作成されていたり、メアドが取得できているのが一般的でしょうから、MA施策やメール施策立案のための基礎データとする。という意味合いです。
与えたデータは、具体的には以下の9つです(すべてユーザー単位)。
- 初回訪問時の日時
- 初回訪問時のブラウザ種類
- 初回訪問時のデバイスカテゴリ
- 初回訪問時のメディア
- 初回訪問時の国
- 初回訪問時のランディングページ
- 初回訪問時のセッションが「エンゲージのあったセッション」であったかどうかの有無
- 初回訪問のユーザーエンゲージメント
- 初回訪問時(かつ初回購入時)の購入金額
Auto ML Tablesに流したデータ
ターゲットとなるカラム(右端の、multi_transaction_flagカラムをあわせ)は全部で10カラム、1655レコードからなるテーブルです。
Google Auto ML Tablesレビューのまとめ
細かな画面コピー等は後述しますが、まとめとしては以下です。
Auto ML Tables試用レビューまとめ
- BigQuery上でSQL文を書き、「Auto ML Tables」に対して流すデータを作るところにそれなりの時間がかかる。当たり前だが、その作業は、他の自動でないBibQuery MLのサービスを使う場合と全く変わらない。
- 特徴量ハンドリングやハイパーパラメータチューニングを自動でやってくれるのはありがたいが、
- マーケティングでは一般にKaggleで勝つような精度の予測(や分類)は求められないと思うので、その部分はそれほど付加価値は高くないと感じた。
- モデルの構築に1時間弱かかった(モデル作成時間予算を1時間で設定したためでもある)。また(プロモーションとして課金はされなかったが)費用がかかった。そうした点は、事前にどのような精度がでるか分からないタスクを流すにはハードルとなると感じた。
- 今回のレビュー範囲外ではあるが、機械学習を利用した「予測(や分類)」を業務に組み込んで自動化させるという点では価値があると感じた。
Auto ML Tablesをどのように利用するべきかについて
以上から、私の現時点での結論は、以下の通りです。
マーケターが自社業務に機械学習を組み込んで成果を出したい場合、まずは通常のBigQuery MLを利用して「手動」で予測タスクなり、分類タスクなりを実行し、その結果を手動で他システムにし、マーケティング上の成果が定常的に出るかどうかを確認する、いわば、PoCフェーズを経た上で、安定して成果がでるようであれば、Google Auto ML Tablesを始めとするAuto MLサービスの利用を検討するのが良い。
本記事読者の皆さんへ
上記レビューはGoogleがデモとして提供する、GA4で計測したGoogle Merchandise StoreのBigQueryデータで行いました。
一方、本ブログ記事読者の皆さんの自社のデータでも、当然同じ分析はできますし、精度も本レビューでお伝えしたのとは違って出てきます。こうした分析ができるようになったのも、GA4がBigQueryにデータをエクスポートする仕様となったおかげです。
プリンシプルではGA4の導入支援を承っていますので、本レビューで紹介したような新しいテクノロジーを活用するためにGA4を導入したいという方は、是非こちらのお問い合わせフォームよりご相談ください。
以下は詳細が気になる方だけご覧下さい。
Google Auto ML Tablesを利用する上でのキーとなる画面操作
「実際にやってみよう」という方の参考になるように、私が通過した画面操作のうち、キーとなる部分を共有します。
データ読み込み完了画面
この画面では、データ型や欠損値や、ターゲットとの相関が分かるので、概要を捉えるのに非常に役立ちます。
モデルの評価画面
分類タスクの精度が多数の指標で評価されます。解釈には基本的な統計学の知識が必要となります。
モデルの評価画面に添えられる混同行列
実際の値が”TRUE”の場合の予測は、93%が失敗(偽陰性)しており、精度は低いことが分かります。
テストデータにおける評価の詳細
Google Auto ML Tablesで良心的だと感じたのは、テストデータ(デフォルトでは全データの10%)における、予測スコアと分類結果を、BigQueryのテーブルにエクスポートする機能があることです。
以下のような表が入手できます。
しきい値の調整
デフォルトでは予測スコアのしきい値は0.5に設定されており、0.5未満だとFALSE(このユーザーは2回目以降の購入はしない)と分類します。が、しきい値を変化させた場合に、指標がどう動くのかも確認できます。
下図では、しきい値を0.5から0.4に下げた場合に、モデルの総合的なあてはまりの良さを示す値とされているF値が0.125から、0.333に改善することが分かります。
仮にこのモデルを実際の業務に使うのであれば、しきい値を0.4で設定するのが妥当と思います。