本文へ移動します

DX station

CRM データ × Azure ML で解約予測!サンプルを動かしてみよう

八木 真理奈

八木 真理奈

こんにちは。データサイエンスチームの八木です。

顧客関係管理 (CRM) は、マーケティング戦略を考えるうえで重要な項目の一つです。日々発生する購買データやコミュニケーションのデータを貯めている企業も多いと思いますが、そのデータを活用できていますか?貯めたデータを AI や機械学習などの技術を用いて分析し、ユーザーの解約や新しい製品の購入意欲、アップセル・クロスセルの傾向などを予測することで、売上の維持や向上に役立てることができます。これを実現するためには様々な方法がありますが、今回は Azure Machine Learning (Azure ML) という Microsoft のサービスを使い、解約予測モデルを構築する一連の流れをご紹介します。機械学習やコーディングの経験がそこまでないといった場合でも、Azure ML を使えばすぐにモデル構築に着手することができますので、ぜひ参考になさってください。



「CogEra」はこちら

「Knowledge Bot」はこちら

「ML Connect」はこちら

「機械学習導入支援サービス」はこちら


顧客関係管理 (CRM) データを活用した業務改善

CRM のデータには、企業規模や役職など顧客の属性に関する情報や、顧客とのやり取りの記録である過去の提案履歴や発注金額など、マーケティングや営業活動に活用できる多くの情報が格納されています。また、他のマーケティングツールとの連携により、メールの開封率やアンケート回答結果、Web サイトの行動ログなどを取得されている企業も多いことでしょう。例えば、貯めた CRM データを使って以下のような分析を行うことで、営業活動の改善や業務効率化のポイントを見つけ出し、売上向上やコスト削減に貢献することができます。

(1) 失注分析
顧客のニーズと営業プロセスを見直すことで、失注率を改善する

(2) 因果推論
「マーケティング施策を打ったことでどうなったのか」、「再度施策を打ったらどうなるのか」を推定し、効果的な予算配分を実現

(3) 解約予測
顧客の解約確率を推定し、解約しそうな顧客に対し適切な施策を実施することで、売上の維持に貢献

今回は、(3) 解約予測に着目し、AzureML を使って解約予測モデルを構築する一連の流れをご紹介します。



「CogEra」はこちら

「Knowledge Bot」はこちら

「ML Connect」はこちら

「機械学習導入支援サービス」はこちら


Azure ML と使用するデータ

この章では、Azure ML と使用するデータについて、簡単に説明します。

① Azure ML
Azure ML とは、 Microsoft 社が提供するクラウドベースの機械学習プラットフォームサービスのことです。今回は、Azure ML のデザイナーという GUI でモデル構築ができる機能を使用します。Azure ML のデザイナーには様々なサンプルが用意されており、今回はその中から顧客関係管理 (CRM) システムのデータをもとに解約予測を行うサンプルを動かしてみようと思います。解約予測はチャーン予測や離反予測とも呼ばれ、属性情報や行動のデータをもとにユーザーの解約率を予測します。解約率を予測できるようになると、解約する可能性の高いユーザーのみをピックアップして施策を打つことができるようになり、費用対効果の高い施策戦略を実現することができます。
Azure ML にはその他にも、機械学習モデルの学習やその自動化、Web サービスのデプロイなど、機械学習を活用するための様々な機能が用意されています。Azure ML の各機能の説明や Azure ML スタジオ の詳細については、以下の Azure ML 公式リファレンスを参考にしてください。

②使用するデータ
今回は、KDD Cup 2009 というコンペティションのデータを使用します。KDD Cup とは、Knowledge Discovery and Data Mining (KDD) という団体が毎年開催しているデータ分析のコンペティションのことで、機械学習分野では有名なコンペティションの一つです。今回は2009年に開催された会の Orange というフランスのテレコム企業のデータ (行 50,000 × 列 230) を使用します。詳しくは以下の KDD の Web サイトを参考にしてください。


コンペティションでは、プロバイダーを解約する、新しいサービスを購入する、サービスのアップグレードや追加を行うなどのユーザー傾向を予測することを目指していましたが、今回は解約のみに絞って予測します。早速、Azure ML に用意されているサンプルを使い、解約予測モデルを構築してみましょう。


「CogEra」はこちら

「Knowledge Bot」はこちら

「ML Connect」はこちら

「機械学習導入支援サービス」はこちら


Azure ML で解約予測サンプルを動かす

  1. Azure ML にログインします。
  2. https://ml.azure.com/

    ※まだアカウントを持っていない方は、以下より Azure の無料アカウントを作成して試してみてください。
    https://azure.microsoft.com/ja-jp/services/machine-learning/

  3. ホーム画面の左メニューから [デザイナー] をクリックします。
  4. [新しいパイプライン] セクションで、[サンプルの表示数を増やす] をクリックします。
  5. サンプルの表示数が増えたら、その中から [Binary Classification - Customer Relationship Prediction] を探し、クリックします。
  6. 少し待つと、サンプルの実行画面に遷移します。
  7. [グラフの検証] タブをクリックし、 [設定パネルでコンピューティング先を選択してください。] をクリックします。
  8. 画面の右側に [設定] ペインが開きますので、[Azure ML コンピューティング インスタンス を作成する] をクリックします。
  9. コンピューティングインスタンスを作成する画面に遷移したら、コンピューティング名の入力と必要なスペックの選択を行います。今回は、コンピューティング名を CRM-prediction とし、仮想マシンのサイズはデフォルトで設定されている Standard_DS3_v2 で作成します。
  10. コンピューティングが作成されたら、[Azure ML コンピューティング インスタンス を選択する] から、作成した CRM-prediction を選択し、[送信] をクリックします。
  11. [パイプライン実行のセットアップ] という画面が出てきますので、実験名を入力して、[送信] をクリックします。実験名は何でもよいですが、今回は CRM-pipeline とします。
  12. 実行中の画面に切り替わったら、実行完了までしばらく待ちます。
  13. 実行が完了すると、右上に [実行が完了しました] と表示されます。画面上の背景グレーの部分をキャンバスと呼ぶのですが、キャンバス上の一つ一つの部品 (コンポーネントや資産と呼びます) にも [完了] と記載されていることが分かります。
  14. 今回の場合、以下のような流れで各コンポーネントがつながっています。
    (1) 元データの [CRM Dataset Shared] に対して [Clean Missing Data] で欠損値のクリーニングを実施する
    (2) [Add Columns] で正解データである [CRM Churn Labels Shared] と結合する
    (3) [Split Data] で、学習用データとテスト用データに7:3 で分割する
    (4) [Two-Class Boosted Decision Tree] というアルゴリズムを使用し、[Train Model] で学習させる
    (5) [Score Model] で学習済みモデルを使った予測を行い、[Evaluate Model] で作ったモデルの予測精度を算出する

    [Split Data] 以降が2つに分かれていますが、これはオーバーサンプリングの手法である [SMOTE] を適応してから学習させるか否かの違いです。今回のデータだと正例と負例のデータ数が不均衡になっているため、SMOTE の適応有無で結果を比較できるように用意されているのでしょう。

    各コンポーネントの概要や設定値について詳しく知りたい方は以下を参考にしてください。

  15. 実行が終わりましたので、分析結果を見てみましょう。[Evaluate Model] を右クリックし、[データを表示する] をクリックします。
  16. 以下のような分析結果画面が開きます。
  17. [SMOTE]ありバージョンとなしバージョンともに結果を確認したところ、[SMOTE] なしが精度 0.929、[SMOTE] ありが精度 0.93とどちらも良い結果でしたが、[SMOTE] ありの方が若干精度高くなっていました。ROC 曲線や混同行列の見方については長くなってしまうので今回は割愛しますが、気になる方は以下のサイトを参考にしてください。

  18. 結果の確認が終わり、今回作成したものが不要な場合はリソースグループごと削除しましょう。Azure Portal (https://portal.azure.com/) より当該のリソースグループにアクセスし、[リソース グループの削除]をクリックしたら、[リソース グループ名を入力してください:] にリソースグループを記入し、[削除] をクリックします。

今回作成したものを残しておきたい場合はリソースグループを削除せず、作成したコンピューティングの停止や削除をしておくことで費用を抑えましょう。Azure ML のホーム画面の左メニューから [コンピューティング] をクリックし、作成したコンピューティングを選択して、[停止] や [削除] をクリックします。

以上、Azure ML を使って解約予測モデルを構築する一連の流れを紹介しました。今回作成したデザイナーのパイプラインは、データを入れ替えて再利用することも可能です。顧客管理のデータをお持ちの方はぜひ自社のデータに置き換えて試してみてください。



「CogEra」はこちら

「Knowledge Bot」はこちら

「ML Connect」はこちら

「機械学習導入支援サービス」はこちら


さいごに

本記事では、Azure ML に用意されているサンプルを用いて、解約予測モデルを構築する流れについて紹介しました。Azure ML を使えば、Python や R などのプログラミング言語の知識がないユーザーでも、簡単に分析に着手することができます。そして、今回は Azure ML の機能の一つであるデザイナーを紹介しましたが、Azure ML に用意されている機能はそれだけでなく、Auto ML (自動化された機械学習) や Notebook、画像のアノテーションなど、ユーザーの目的やデータの性質、機械学習のスキルに応じた使いやすい機能が揃っていますので、ぜひ色々試してみてください。

ビジネスの観点から考えると、「AI の民主化」が進み分析を比較的簡単に実施できるようになってきた中で、データの活用・分析はデータドリブンな組織運営を行うための鍵となっています。データを活用して業務にフィードバックを行い、適切な期間で改善サイクルを回していくという考え方を、Microsoft ではデジタルフィードバックループと呼んでいます。これは DX の推進にかかせないサイクルです。データを貯めるだけでも分析をしただけでもよい結果は得られません。取得しているデータを分析してその結果をフィードバックし、改善を行う。そして、その改善結果から生み出されたデータを用いて更なる分析・施策を実施するという、データ循環型の組織運営によって、データの価値を最大化することができるのです。その結果として、売上の向上やコスト削減といった組織目標の達成が可能となります。

本記事で紹介した解約予測についても同様です。CRM のデータを分析して得られた解約予測結果を業務にフィードバックし、適切な施策を実施するところまでをプロジェクトの取り組みととらえる必要があります。また、分析の前後では、部門間の連係や将来像のすり合わせ、ディスカッションなどを行うことも重要です。

PoC が目的化してしまったり、PoC から得た成果を次につなげられず無駄になってしまったりすることを「PoC 死」、「PoC 貧乏」などと呼んだりします。その様な状況を避け、プロジェクトが停滞することを防ぐためにも、データ分析だけでなく、分析の目的整理や結果活用まで一緒に考え分析を深化させていく必要があります。

SBT では、このようなデジタルマーケティング分野での AI 活用支援をはじめ、様々な分野での AI や機械学習モデルの構築を承っております。現行の作業を軽減してより重要な作業に時間を当てたい、取得しているデータを活用して課題解決を行いたいなど AI 活用を検討中の担当者の方がいましたら、ぜひ当社にお問い合わせください。まず何から始めればよいか悩んでいるといったお客様も、お気軽にご相談いただければと思います。




関連ブログ記事 

マーケティング分析入門編!どんな課題を解決できるの?課題と分析内容、得られる効果について解説します
【ケーススタディ】機械学習導入支援サービスで会員サイト改善を実現!SBT の導入プロジェクト
顧客満足度の向上や業務効率化に音声認識を活用!Azure Speech to Text入門

関連ページ

「CogEra」はこちら
「Knowledge Bot」はこちら
「ML Connect」はこちら
「機械学習導入支援サービス」はこちら

お問い合わせ

製品・サービスに関するお問い合わせはお気軽にご相談ください。