コラム - Google Analyticsから「AI」が見込み客を見つける仕組みを作ってみた | Nexal
私たちは、ネット×リアルビジネスを最大効果へ導くファシリテーション型コンサルティング企業です。 お問い合わせ

Google Analyticsから「AI」が見込み客を見つける仕組みを作ってみた

Technicians repairing circuit board

こんにちは、ニコライです。

このところ、身の回りでAIというキーワードを目にする機会が増えました。Googleの開発したAI「アルファ碁」が人間のプロ棋士を打ち負かしたニュースは記憶に新しいですね。

我々の仕事を奪いかねないAIですが、うまく活用できれば仕事が楽になる魔法のツールでもあります。今回は表題の通り、Google Analyticsのデータを活用して見込み客を自動的に発見し、メールで教えてくれるツールを作ってみました。実際に弊社Webサイトのアクセスログをもとに来訪者のセグメンテーションを行い、自動検出のベースとしています。AIが算出してくれた分析結果と、その活用方法などについてご紹介しますので、是非皆さんも「AI&アクセス解析」の可能性を感じて頂ければ幸いです。

では、早速、いってみましょう。

AIをアクセス解析に応用する意義とは?

・ そもそもAIとは何か?

AI(人工知能)とは「機械学習などの技術要素を使って、人間が知能を使って行うことを機械に代行させる」ことをいいます(そもそもAIに明確な定義はなく、人工知能学会のWebサイト「http://www.ai-gakkai.or.jp/」でも”議論の余地あり”とされているので、定義のなんたるかについての深い議論は避けたいと思います)。

そして「機械学習」とは、論理的な推論をするための技術であり、沢山のデータの中から特定のパターンを見つけ出したり(学習)、または予め記憶させておいたデータをもとに新しいデータを判断する(推論)ことができる仕組みです。この学習と推論をうまく組み合わせることによって、機械に人間っぽい動作をさせることができるのです。今回、私が構築した「見込み客を見つける」機能もこれらを応用したものです。

・ 「学習」とは?

学習というと、なにかを勉強するような印象がありますが、上述の通り「沢山のデータから将来使えそうな知識(パターン)を見つけること」を指します。有名な「オムツとビールの相関」(*1)が典型例ですね。

(*1) ~ 米国におけるスーパーマーケットの販売データ分析の事例。子供のいる家庭では、母親はかさばるオムツの購入を父親に頼み、来店した父親はついでにビールを購入していたというもの。一見して関連性のない商品だが、売上相関をもとに並べて陳列したら、更によく売れましたというお話。

・ 「推論」とは?

推論とは、「予め記憶させておいたデータ(知識)をもとに、新しい結果を得ること」です。身近な例としては、迷惑メールの振り分け機能に利用されています。

迷惑メールにはいくつかの特徴があります。例えば、有料サイトへ誘導するためのリンクがいくつも貼ってあったり、「激安」「無料」「出会い」といったキーワードが含まれています。このような特徴をパターン化し、いくつ当てはまるかをカウントしていき、それが閾値を超えたら迷惑メールと判定しています。

迷惑メールと判断するポイントを”知識”として機械に記憶させておくことで、新しく受信したメールの診断結果(迷惑メールか普通のメールか)を導くことができるのです。

・ アクセス解析への応用

ここまでで勘の良い方なら、アクセス解析への応用方法がピンときたことでしょう。

まず、「学習」によってアクセスログをもとに来訪者の行動パターンをセグメンテーションします。それによって「問い合わせに至りそうな(案件化しそうな)顧客の行動パターン」を抽出します。

そして抽出したパターンを機械に記憶させます。更に、Google Analyticsから抽出した日ごとのアクセスログを新しいデータとして機械に渡し、パターンに合致する顧客がいないか判断させます。その結果、見込み客と思しきデータを発見したらメールでアラートしてくれるようにすれば完成です。

あとは、放っておいてもシステムが勝手に見込み客を見つけてくれるというわけです(コンテンツの更新やメルマガ送付、SNSの投稿など、継続的なコミュニケーションは絶対必要ですけどね)。

今回利用したもの

・Google Analytics(Google)

来訪者の行動パターンを収集・エクスポートするためにGoogle Analytics(以後GA)を活用します。分析はAIにさせるので、特別な集計やグラフィカルな出力機能は一切使いません。そのためアクセスログさえ取得できるのであれば、他のデータソースでも応用可能です。ただ、本ブログでは利用者が多いことを鑑みて、GAを使うことを前提とします。(ちなみにGAPは使っていません。通常の無料版です。)
ga-logo

・Azure Machine Learning(Microsoft)

Azure Machine Learning(以後AML)は、MicrosoftがXboxやBingの開発を通じて培ったノウハウをもとに、機械学習の機能をクラウドベースで利用できるようしたプラットフォームです。Googleのディベロッパーツールにも機械学習がありますが、使い勝手やわかりやすさという点でAzureを選びました。AMLは統計やプログラミングの高度な知識を必要とせず、ブラウザベースで簡単に機械学習を試すことができるので、私のような初学者には最適です。今回はGAから抽出したアクセスログを分析させて、来訪者をセグメンテーションしたり、見込み客を見つけるために使います。(有料版もありますが、今回は無料のプランを選択しました。)
aml-logo

・どこどこJP(サイバーエリアリサーチ)

弊社のビジネスはBtoBなので、来訪者を「人」単位ではなく「企業」単位に分析する必要があります。IPアドレスから社名や業種などの企業情報を逆引きするためのデータベースとして活用します。(従量課金の有料サービスですが、トライアル期間は無料で利用することができます)
どこどこJP(サイバーエリアリサーチ)

・Java

完全オートメーション化を目指しているので、GAとAMLの橋渡しなどをすべてプログラミングしました。「とりあえず1回だけ動かしてみたい」というなら、手作業でやっても同じ結果が得られますよ。(当然無料です)
java-logo

弊社Webサイトのユーザは「seed」「suspect」「fan」の3種類

弊社WEBサイト「www.nexal.jp」のアクセスログ(約1年分)をGAから抽出して、AMLに投入してみたところ、行動パターンをもとに来訪者(企業単位)を下記3つのパターンに分類することができました。

seed ~ 数ページ見ただけの、いわゆる「様子見客」
suspect ~ 今にも問い合わせしそうなユーザ
fan ~ 何度も再来訪し、情報をくまなくチェックしているユーザ

ちなみに弊社は、セミナー講演や勉強会などのオフラインイベントも定期的に開催しており、その参加状況も記録しているのですが、今回はアクセスログのデータのみで分析を行いました。

・ seed(様子見客)

下記グラフはセグメント「seed」に属する来訪者の行動パターンをグラフ化したものです。コンテンツカテゴリ別のアクセス数を心電図のような波形で表しています。波形が大きいほど、アクセス数(PV)が大きいことを意味しています。
seed

ちなみに各コンテンツカテゴリの定義はこんな感じです。

・ service ~ コンサルティングメニューやサービス紹介
・ case ~ お客様事例、弊社クライアントの声
・ seminar ~ セミナーや講演などのイベント情報、出版・執筆情報も含みます
・ column ~ マーケティングのヒントなどを紹介する社員ブログ
・ company ~ 取引先やアクセス方法などの会社情報
・ contract ~ コンサルティングフローやFAQなど、コンサル契約に関する情報

Seedはサービスやセミナー情報などをチラッと見ただけで離脱するユーザがほとんどですね。代表の上島は講演する機会が多いので、セミナーで認知された方が名前で検索して、会社情報だけ見て帰るというパターンが多いのかもしれません。またコラムのアクセスが若干多いですが、ここに直接ランディングして直帰するユーザは弊社を認知・意識していないケースがほとんどだと思います。

「コンサルを探す or 依頼する」という意識でWebサイトをご覧になっていないので、コンサルティングフローなどの契約にまつわる情報はほぼアクセスがありませんね。

ただ個々の企業単位にアクセス状況を細かく見ていくと、「1~2PVで再来訪なし」という完全コールドなお客様から、「サービスページも数PV見ていて、もう少しでsuspectになるかも?」という成長段階のお客様までが混じっていました。今後も継続したコミュニケーションを通じて、マインドレベルを高めていく必要があるという意味で”種”という意味のseedと命名しました。

・ Suspect(見込み客)

suspect(サスペクト)とは、刑事ドラマなどに出てくる容疑者という意味で(日本語にすると印象がよくないですが)、可能性がある状態を指すキーワードとして、マーケティングで広く使われているものです。ここでは、「あと少しでお問い合わせに至りそうな(その可能性がある)ユーザ群」という意味で、suspectと命名しています。

IPアドレスから企業名を見てみると、このセグメントにはWebからお問い合わせがあった企業様、実際にコンサル契約した企業様が多数含まれていました。ですので、AMLのセグメンテーション結果がまんざら外れていないということだと思います。

ちなみにこのセグメントは、更に下記2つのパターンに細分化できました。
suspect

suspect1はサービス情報から事例、会社情報まで、ある程度のアクセス数があります。といっても、すべてページを舐めるように見るのではなく、特定のサービス(例えばKPI設計)とそれに関連する実績を集中的に見るなど、興味のある分野がはっきりしており、「しっかり検討しておられる」ということがログから伝わってきます。

ただ、まだ発注のための検討段階にはないようで、コンサルティングフローやFAQなどの契約関連のページは、あまり閲覧していないようです。ただ、なにかのきっかけがあれば、お問い合わせに至る可能性が高いお客様であり、順調にリードナーチャリング(関係醸成)が進んでいるユーザと言えるでしょう。

一方、suspect2はサービス情報や事例ページの閲覧はそこそこに、契約関連ページだけを集中的にご覧になっています。実務的にも「急ぎでコンサルを探している」とか、「期末までにシナリオを立て直したいが頼めるか?」といったお問い合わせを頂くことがあり、こうした企業様のアクセスパターンが該当するのだと思います。

尚、competitor(競合、パートナーを含む)というセグメントも抽出できるかと期待していたのですが、行動パターンが通常のお客様と似通っているため、suspectの中に紛れてしまい、うまく分類できませんでした。IPを見れば一発でわかるんですが、行動パターンだけでは仕分けるのは難しいようです。やはりcompetitorは予めIPをリスト化して、分析の前段階で弾いておかないといけないですね。

・ fan(ファン)

3つのめのセグメントはファンです。企業名を見ると、ほとんど既存のお客様(過去にコンサルをした、または現在コンサルを継続中)が多いですね。パターンのグラフを見比べてもらうと分かる通り、かなりアクセス数が多いです。
fan

fanの特徴は、アクセスの多さもしかりですが、IPあたりの来訪者数(正確にはユニークブラウザ数)の多さも目立ちます。特に取引があるお客様の場合、「今、コンサルをお願いしているNexalさんです」と社内で共有して頂く機会が多いので、対象部門だけでなく、他部門の方も弊社サイトをご覧になるのでしょう。そのため、PVがかなり増えるのだと思います。

「Suspect」のデータを記憶させ、パターンに合致するユーザを「見込み客」としてアラートする

さて、ここまでAMLを使って来訪者をパターン化することに成功しました。次は、抽出したパターンを使って、新しいデータがそのパターンにマッチするかを判別する仕組みを作ります。

具体的には、AMLにsuspectのデータパターンを記憶させ、GAで毎日最新のアクセスログをアップロードし、「seed」から「suspect」に状態変化したユーザがいるか見つけてもらいます。このプロセスをプログラミングすることで(一切の手作業を排除する)ことで、見込み客を見つける作業を完全自動化することができます。

・ AMLの「クラス分類」で企業を仕分ける

冒頭で説明した迷惑メールフィルタの要領で、与えられたデータに対して適切なクラスを割り当てる(例 A:迷惑メールだ、B:迷惑メールじゃない)のが、クラス分類と呼ばれるものです。今回はこれを使って、suspectの見極めをしていきます。

下記がAMLの画面です。マウスのドラッグアンドドロップだけでモデルが作れてしまうので比較的簡単です。ルックアンドフィールはEloquaのシナリオ作成画面に似ています。MSがEloquaを買収していたら、Azureシリーズの中に組み込まれていたんでしょうね。

aml

・ 作ったモデルをWebサービスとして公開して利用する

AMLでは自分で作ったモデルをREST APIのWebサービスとして公開することができます。詳しい手順は別記事に書きますが、公開することでバッチまたはリアルタイム処理での呼び出しが可能となります。

・ 最新のGAデータを取得してWebサービスに送る

1日の終わりに、最新のアクセスログをGAから取得して先ほどのWebサービスに送信し、企業単位にクラス分類の結果を受け取ります。メールでアラートする対象の候補が確定したら、企業情報(会社名や業種など)をIPアドレスをもとにどこどこJPから逆引きして、アラートの内容をわかりやすく整形します(IPアドレスだけアラートされても意味不明ですから)。

・ 見込み客を見つけたらメールでアラート

すでに「見込み客」だとわかっているユーザを毎日メールされるのも鬱陶しいので、「seed」から「suspect」に変化した企業だけを教えてくれるようにプログラミングしました。AMLの画面を毎日覗きにいくのも面倒なので、私のgmailへアラートしてくれるようにします。下記のような感じで、「見込み客見つけたよ!」と教えてくれます。

smartphone

とりあえず、うまく動きました。

活用方法

・ キャンペーンのターゲット抽出

AMLの機械学習をうまく利用すれば、Webサイト利用者のマインドレベル(大よその検討段階)と興味分野を特定することができます。そのセグメント情報を利用してキャンペーンを実施すれば、マーケティングの精度やROIを高めることができるのではないでしょうか。一斉配信で興味のない人にメルマガを送って、オプトアウトを量産するよりは断然よいと思います。

・ コンテンツマーケティング

ユーザの行動パターンが可視化されることで、コミュニケーションのヒントが多く得られました。「このコンテンツは良さそう」とか「○○なコンテンツが足りない」という示唆は、Webサイトの改善方針だけでなく、コンテンツマーケティングを進めるうえでの重要な情報源となるでしょう。

・ MAシナリオのイベントトリガー

BtoBの商材では、複数の担当者が情報収集にあたることが多いため、リード単位の行動パターンではホットと見なせないが、アカウント単位(企業単位にサマリする)で見ればホットと判断できるという場合は多いでしょう。そのためアカウントベースでセグメントして、当たりがありそうな企業の担当者へ適切なタイミング(seedからsuspectになったタイミング)でプッシュメールできれば、さりげなく、しかし強力にその背中を押すことができるかもしれません。

今後の課題

・ コンテンツの追加

行動パターンを分析していくなかで痛感したのが、Webサイトのコンテンツ不足です。「この業種のお客様なら、もっと●●な事例が読みたいだろうな」 とか、「具体的な成果物のサンプルがあったほうがわかりやすいよね」 など、お問い合わせには至らないが行動パターンとしては見込みがあるお客様の閲覧状況を追っていくと、いくつも改善案が出てきます。

そして、可視化することが最終目標ではないものの、いろんなコンテンツがあるほうがユーザのマインドレベルや興味分野を把握しやすいのです。更新のしやすさという点から、どうしても「コラム」に逃げてしまうのですが、それ以外のコンテンツをもっと手厚くしたいなと感じた次第です。

・ 精度の向上

今回トライアル的に分析してみましたが、「もっと細分化してパターン化できそう」な手ごたえをつかみました。ただし、今のデータセットだけでは不十分で、アクセス数以外の付加情報をパラメータとして与えてあげれば、有意な示唆が得られるような気がしています。まだまだ直感の域を出ていませんが、下記のようなデータがあれば、面白い結果が導けそうな予感がします。

①時間軸の反映

今回の分析では、企業単位に”初回来訪時から現在までのアクセスの累計”をもとにセグメントしています(実際には過去1年分のデータしかないので、ぶつ切りになっている企業もありますが・・・ 理論上はそういうことです)。しかし、実際にコンサル依頼を検討している時期にはWebサイトへ集中的にアクセスし、発注に至らなければアクセスも下火になるはずです。そのため商材に合った適切な検討期間で切り取ってアクセスの傾向(マインドの高まり)を判別する必要があるでしょう。今回はそれができていないので、時間軸の概念をうまく取り込みたいなと思っています。どうやるかは思案中。

②オフライン情報の反映

今回はオンラインの行動パターンだけを対象にしましたが、セミナーや講演などのイベント参加状況など、オフラインのデータも統合して分析してみたいと思います。DB的にはカラムを1個加えるだけの簡単な作業なんですが、名寄せがシンドイですね。今回オフラインデータを除外したのも、名寄せで心が折れたのが原因ですので、うまいやり方を考えないといけません。

③個人情報の反映

オンライン上でコンバージョンしたり、メアドに仕込んだパラメータ付きURLなどをユーザに踏ませることで、個人とcookieの紐づけが可能になります。個人情報の「役職」や「職種」、(うちのサイトでは取得していませんが、「予算」とか「導入予定時期」などの情報もある企業サイトなら分析が楽しそうです)などの情報でうまくセグメントできるか試してみたいと思っています。

「決裁権者(課長以上)が契約関連のコンテンツを見たら、その企業からのCV確率が40%アップ」みたいなパターンが出せると面白そうです。

レシピ

読者の中には、「自分もやってみたい」とお考えの方もいらっしゃることでしょう。そこで今後全10回の連載を通じて、本記事で実践した内容を公開していきたいと思います。Web担当者や同業の方なら、ディープなITにも強いと思いますので、是非トライしてみてください。

※章立てや構成は執筆時に変更する可能性がありますので、悪しからず・・・・

第1回 Google AnalyticsにIPアドレスとユーザIDを記録する(編集中)
第2回 Google Analyticsからデータをエクスポートする(編集中)
第3回 エクスポートデータをAML投入用に整形する(編集中)
第4回 AMLを始める – アカウント登録と初期設定(編集中)
第5回 AMLで来訪者をセグメンテーションする(編集中)
第6回 セグメンテーションの精度を高める(編集中)
第7回 AMLでクラス分類のワークフローを作る(編集中)
第8回 完成したワークフローをWebサービスとして公開する(編集中)
第9回 来訪者を自動的にセグメンテーションする(編集中)
第10回 見込み客と判断したらメールでアラートする(編集中)

参考文献

下記の書籍やWebサイトが、今回の取り組みへのヒントやきっかけを与えてくれました。様々な情報や知見を発信して下さる諸先輩方に敬意を表します。ありがとうございました。

一般社団法人 人工知能学会

書籍:さわってわかる機械学習 Azure Macine Learning 実践ガイド

書籍:クラウドではじめる機械学習 Azure MLでらくらく体験

書籍:知りたい分かりたい人の 体験する機械学習

a2i.jp アナリティクス アソシエーション (特に衣袋先生のコラム)




  • ※当該コラムに関する詳細な説明を希望されるお客様は、お気軽にお問合せください。
  • ※当該コラムの無断転用・転載等はご遠慮ください。
  • ※当該コラムを引用される際は、出典元(Nexal,Inc.)を明記して頂きますよう、お願い致します。

関連するコラム

Copyright©Nexal, Inc. All Rights Reserved.