AIを使ってみよう

このレッスンのゴール

 

DataRobotを使って、AIを仕事で使う基本ステップを体験しましょう。

 

 

 

課題

 

あなたは、人事関連のサブスクリプションサービスを提供している会社に勤めています。

アルバイトのシフト管理や給与支払いをLINEで行うサービスです。

あなたは、営業事務として、毎月、リード(見込み顧客)のリストを取りまとめて、営業部門に渡しています。

現在、3人の営業が、毎月平均300件の新規案件に対応しています。

嬉しいことに、最近のデジタル化の波に乗り、引き合いが急増しています。月1,000件を超えるようになってきました。とても営業3人では足りません。

営業部の部長に増員を相談すると、次のように言われました。

部長:「人を増やすより、営業の効率をもっと上げられないかな。成約率5%は低すぎでしょ。成約の見込みの無い案件は捨てて、営業が回る案件の数を減らしてよ。それでも営業の数が足りないなら、増やすことを考えるからさ。」

あなた:「どの案件が成約の見込みがあって、どの案件が見込みが無いのか、私には分かりません。」

部長:「じゃぁ、AIを使ってみようか。AIはね、過去のデータから、どういう案件が成約したのか、パターンを見つけて、その見つけたパターンを使って、これから営業を仕掛けようとしている各案件の成約の見込みを予測してくれるんだよ。」

※AIにはいろいろな定義があります。ここでは、「機械学習」と呼ばれるAIについて説明しています。

 

課題:成約率が低い

対策:AIで成約する見込みを予測して、見込みの高い案件にだけ営業活動をして、成約率を上げる

 

sales_targeting.jpg

 

 

 

AIを使ってみよう

 

いろいろと調べてみると、DataRobotを使えば、Excelしか使ったことがない人でもAIを使えることが分かりました。

DataRobotを使うには、まず、次の2つのことをすれば良いようです。

  1. 何を予測するか決める
  2. 予測に関係ありそうなデータを集める

 

 

何を予測するか決める

 

target.pngまず、何を予測するかを決めます。

そこで、最初の営業活動(訪問またはZoomミーティング)から90日以内に成約するかどうかを予測することにしました。

※予測したいことを「ターゲット」と呼びます。

過去1年間営業活動をした3,000案件のうち、成約したのはわずか149件です。営業部長の言っていた通り、成約率は約5%です。

最近引き合いが3倍以上になっているので、成約する可能性のある案件は少なくとも300件はあるでしょう。そこで、営業する案件数は変えずに、成約率を10%にすることを目標にすることにしました。1案件あたりの平均サブスクリプション費は年間100万円なので、これを達成できれば、約1億5,000万円の売上の増加につながります。俄然やる気が出てきました。

※AIを導入することによって増える利益や減るコストをROI(Return of Investment)と呼びます。実際にAIを導入する前に、どのくらいのROIがありそうかを見積もることはとても大切です。

 

 

予測に関係ありそうなデータを集める

 

次に、予測に関係ありそうなデータを集めます。

それでは、案件が成約するかしないかを予測するのに、どんなことが役立ちそうでしょうか?

questionnaire.jpgこれまで、リード(見込み客)のリストは、Webサイトで公開している資料をダウンロードしてくれた会社のリストを元に作成していました。

『アルバイトを定着させるノウハウ集』という資料です。

そのとき、右図のように、アンケートの回答をお願いしています。アンケートの質問項目は以下の通りです。

  • 職種
  • 役職
  • お勤め先の業種
  • お勤め先の従業員数
  • 資料をダウンロードする目的
  • 資料に関連するサービスの導入に関与する度合い
  • 資料に関連するサービスの導入予定時期
  • 資料に関連するサービスの導入予算

これまでは、ダウンロードしてくれた会社全社に営業してきましたので、このアンケートの結果を使ってきませんでした。もったいない!

でも、きっと、案件が成約するかどうかを予測するのに役に立つに違いありません。

さらに、このアンケートのほかに、成約するかどうかを予測するのに役立ちそうな情報がないか、マーケティング部門に相談してみました。

すると、以下のような項目を加えることを提案してくれました。

  • 資料のダウンロードページへの流入経路
    資料のダウンロードページに至るには、以下の3通りの経路があります。どこから来たか、が案件の成約に関係あるかもしれません。
    • 検索サイト
    • メールマガジン
    • 動画広告(90秒)

  • 資料をダウンロードしてからの日数
    資料をダウンロードしてからリストを作るまでの日数が予測に役立つかもしれません。資料をダウンロードしてからすぐにコンタクトした方が成約する見込みが高そうな気がします。

  • ウェビナーへの参加状況
    毎月一回『幸せな働き方』というウェビナーを実施しています。その参加状況も予測に役立つかもしれません。マーケティング部門のお陰で、名寄せもできています。

  • キャンペーンへの応募状況
    マーケティング部門では、毎月、詳細なアンケートに答えて頂くのと引き換えに抽選で5名にTシャツをプレゼントするというキャンペーンも実施しています。その応募状況も予測に役立つかもしれません。こちらも名寄せできています。

※「名寄せ」とは、資料をダウンロードしてくれたAさんと、ウェビナーに参加してくれたAさんが同じ人かどうかマッチングする作業のことです。

 

過去1年間営業活動をした3,000案件について、上記の項目のデータを集めると、sales_targeting_train.xlsx のようになりました。その一部を見てみると下図のようになります。(※皆さんも、ファイルをダウンロードして、Excelで開いて見てみてください。)

sales_targeting_train.png

 

一番上の行は列名で、各列にどういうデータが入っているかを示しています。

その下の行からは、1行が1案件を表していて、全部で3,000行あります。

1列目「案件ID」は、それぞれの案件に割り振られたIDです。

2列目「90日以内に成約」は、最初の営業活動から90日以内に成約したかどうかを示しています。1は成約したことを示し、0は成約しなかったことを示しています。

3列目「業種」以降の列には、その案件に関するデータが入っています。列名は、下表のように色分けされています。

アンケートに対する回答
オレンジ 資料のダウンロードに関するデータ
ウェビナーやキャンペーンなどへの参加状況

 

データは、文字列で入っていたり、数字で入っていたりします。DataRobotは、文字列のままでもきちんと処理してくれますので、文字列を数値に置き換えたりする必要はありません。

※今回のデータにはありませんが、「値が無い」場合があります。「欠損」と呼びます。DataRobotは、欠損があってもきちんと処理してくれますので、そのままにしておいて構いません。

※3列目以降のデータのことを「特徴量」とか「説明変数」と呼びます。

 

これで、DataRobotを使う準備ができました。

 

 

実習:DataRobotを使ってみよう

 

それでは、一緒にDataRobotを使ってみましょう。

 

DataRobotに、どういう案件が成約するのか学習させる

 

過去1年間営業活動をした3,000案件のデータを集めることができたら、あとは、そのデータをDataRobotに投入するだけです。

すると、DataRobotが、そのデータから、どういう案件が成約して、どういう案件が成約しなかったのか、パターンを見つけて、学習します。(下図)

machine_learning_1.png

 ※コンピューターがデータからパターンを見つけて学習することを「機械学習」と呼びます。

この学習した結果を「モデル」と呼びます。

モデルが出来上がったら、そのモデルに、これから営業活動をする案件のデータを見せます。すると、モデルは学習したパターンに照らし合わせて「私が学習したパターンによれば、この案件は成約するよ」「私が学習したパターンによれば、この案件は成約しないよ(営業活動する価値が無いよ)」と予測してくれるわけです。(下図)

machine_learning_2.png

 

これが「AIを使って、どの案件が成約しそうかを予測する」ということです。

パターンを学習する元となるデータを用意すれば、あとは、DataRobotが自動でやってくれます。

それでは、早速、DataRobotにデータを投入して、「どういった案件が成約して」「どういった案件が成約しないのか」パターンを見つけて学習してもらいましょう。

その手順は、以下のとおり、とても簡単です。

  1. DataRobotにログインする
  2. DataRobotに、過去1年間営業活動した案件に関するデータを投入する
  3. DataRobotに、何を予測したいのかを教える
  4. DataRobotに、パターンを見つけさせる

それでは、順番にやってみましょう。

 

 

1. DataRobotにログインする

 

まず、DataRobotにログインしてください。

※会社で既にDataRobotをお使いの場合は【製品版】のところを、そうでない場合は【トライアル版】のところをご覧ください。

 

【製品版】
  1. ブラウザで https://app.datarobot.com/ にアクセスしてください。
  2. 下図を参照して、ログインしてください。
HarryNakayama_0-1617415737878.jpeg

 

 

【トライアル版】
  1. ブラウザで https://app2.datarobot.com/ にアクセスしてください。
  2. 下図を参照して、ログインしてください。
HarryNakayama_1-1617415737880.jpeg

 

 

 

2. DataRobotに、過去1年間営業活動した案件に関するデータを投入する

 

次に、DataRobotに、過去1年間営業活動した案件に関するデータを投入します。

※会社で既にDataRobotをお使いの場合は【製品版】のところを、そうでない場合は【トライアル版】のところをご覧ください。

 

【製品版】

下のビデオを参照して、ダウンロードした sales_targeting_train.xlsx をDataRobotに投入してください。

※ダウンロードしたファイルは、通常、「ダウンロード」フォルダの中にあります。

[ビデオ]

※このビデオの最初の画面が表示されていない場合は、画面左上のDataRobotのロゴをクリックしてください。

 

【トライアル版】

下のビデオを参照して、ダウンロードした sales_targeting_train.xlsx をDataRobotに投入してください。

※ダウンロードしたファイルは、通常、「ダウンロード」フォルダの中にあります。

[ビデオ]

 

 

 

3. DataRobotに、何を予測したいのかを教える

 

※ここからは、【製品版】も【トライアル版】も同じような画面になります。

data_uploaded.png

画面の右側が右の図のようになり、「◎ターゲットを選択する」と表示されましたら、データの投入は完了です。

次に、DataRobotに、何を予測したいのかを教えます。

今の場合、予測したいのは、それぞれの案件が最初の営業活動から90日以内に成約するかどうかです。

このことをDataRobotに教えるには、投入した過去1年分のデータの中で、それぞれの案件が最初の営業活動から90日以内に成約したかどうかを示している列の名前を教えます。

具体的には、画面左上の「何を予測しますか?」というところに「90日以内に成約」と入力します。

それでは、下のビデオを参照して、「何を予測しますか?」というところに「90日以内に成約」と入力してください。

※半角数字で「90」と入力すると、それに一致する列名「90日以内に成約」が候補として表示されますので、それを選択してください。

[ビデオ]

 

 

 

4. DataRobotに、パターンを見つけさせる

 

ここまできたら、あとは[開始]ボタンを押すだけです。

下図のように画面中央に表示されている[開始]ボタンを押して下さい。あとはDataRobotが自動でパターンを見つけ、学習します。

start.png

 

autopilot_finished.png実は、受験勉強と同じように、どういう案件が成約して、どういう案件が成約しなかったのか、そのパターンの学習方法にはいろいろな方法があります。

そして、どの学習方法が良いかは、データによって異なってくるので、いろいろと試してみて比較してみないと分かりません。

そこで、DataRobotでは、いろいろな学習方法を使って、たくさんのモデルを作ります。

すべてのモデルを作り終えると、右図のように、画面の右側に「オートパイロットが終了しました」と表示されますので、それまでコーヒーブレイクしてください。環境にもよりますが、30分程度で終了すると思います。

 

 

予測がもっとも当たりそうなモデルを選択する

 

DataRobotは、作成したすべてのモデルに共通の模擬テストを受けさせて、その良し悪しを比較します。

※この模擬テストのことを「検定」と呼びます。

その模擬テストの成績順位表のことをDataRobotでは「リーダーボード」と呼びます。

リーダーボードは、下図のように、画面最上部の「モデル」をクリックすると表示されます。

leaderboard.png

 

リーダーボードには、模擬テストの成績の良い順番にモデルが表示されます。別の言い方をすると、予測が当たる順番にモデルが表示されます。

一番上のモデルには[デプロイ推奨]というバッジが付けられています。これは、DataRobotが「このモデルを選択するといいですよ」とお勧めしていることを示しています。

※[デプロイ推奨]というバッジの付いたモデルが、必ずしも「検定」の結果が一番良いとは限りません。DataRobotは、「模擬テストを解くスピード」も合わせて見ていて、「模擬テストを速く解いて、成績も良いモデル」を推奨するようにしています。そして、そのモデルに[デプロイ推奨]というバッジを付けて、必ず一番上に固定表示します。

上の図では「Light Gradient Boosting on ElasticNet Predictions」という名前のモデルが推奨されています。

それでは、このモデルは、どのくらい成約しそうな案件を当てられるのでしょうか?

成約したかどうかの結果が分かっている過去1年間のデータを使って確かめてみましょう。

以下の手順で、この推奨モデルを使って、過去1年間の案件に対して、最初の営業活動から90日以内に成約しそうかどうかを予測します。そして、実際の結果と比較して、どれだけ当てられているかを見てみようと思います。

下図を参照して以下の操作をしてください。

  1. リストの一番上のモデルの名前をクリックしてください。
    ※皆さんの画面では、「Light Gradient Boosting on ElasticNet Predictions」ではないかもしれませんが、とにかく、一番上のモデルの名前をクリックしてください。
  2. 表示されるタブから「予測」タブをクリックしてください。
  3. 画面下部の「トレーニングデータ」の右の方にある「予測を計算」をクリックしてください。

predict_train_1.png

 

 続けて、下図を参照して、以下の操作をしてください。

  1. 「予測を計算」が 「予測をダウンロード」に変わりますので、それをクリックしてください。
  2. 画面左下に表示されるCSVファイルをクリックしてください。Excelで開きます。
predict_train_2.png

 

prediction.pngCSVファイルをExcelで開くと、右図のようになります。

赤枠で囲った「Cross-Validation Prediction」という列が予測値です。

この予測値は「90日以内に成約する確率」です。

「AIが予測するのは確率である」という点に注意してください。過去1年間に営業活動した案件が、それぞれどのぐらいの確率で成約しそうかを予測しているのです。 

したがって、今の場合、この確率が高い順に営業活動をしかけて行くことになります。

現在、一月あたり1,000件案件が発生しています。3人の営業が対応できるのは、一月あたり300件ですので、30%の案件しか営業できません。確率の高い30%の案件に営業活動を行った場合、どのぐらい成約するか見てみましょう。

分かりやすいように、sales_targeting_train_with_prediction.xlsx というファイルを用意しました。これは、sales_targeting_train.xlsx に以下の処理を施したものです。

  1. 予測結果の「Cross-Validation Prediction」列をコピー
  2. 列名を「90日以内に成約する確率(予測値)」に変更
  3. 「90日以内に成約する確率(予測値)」の大きい順にソート

このファイルをダウンロードして開くと以下のようになります。

sales_targeting_train_with_prediction.png

この上位30%(900行)の「90日以内に成約」列の10の数を数えると、以下のようになります。

  • 1(成約した):99
  • 0(成約しなかった):801

図で示すと、下図のようになり、成約率は11%にもなります。すなわち、AIが成約する確率が高いと予測する案件を優先して回れば、成約率を今の倍にすることができ、営業の数を増やさなくても、売上を1億5,000万円も増やすことができそうです!

 train_with_prediction.png

 

 

 

これから営業する案件の成約確率を予測する

 

それでは、DataRobotが推奨するモデルを使って、これから営業活動する案件に対して、最初の営業活動から90日以内に成約する確率を予測してみましょう。

まず、今月、これから営業活動する1,000件に対して、以下のデータを集めました。

  • アンケートに対する回答
  • 資料のダウンロードに関するデータ
  • ウェビナーやキャンペーンなどへの参加状況

それが sales_targeting_test.xlsx です。※ダウンロードしてください。

モデルにこのデータを見せると、モデルは学習したパターンに照らし合わせて、それぞれの案件の成約確率を予測してくれるわけです。

手順は、以下の通り簡単です。※一緒にやってみましょう。

下図を参照して以下の操作をしてください。

  1. リストの一番上のモデルの名前をクリックしてください。
    ※皆さんの画面では、「Light Gradient Boosting on ElasticNet Predictions」ではないかもしれませんが、とにかく、一番上のモデルの名前をクリックしてください。
  2. 表示されるタブから「予測」タブをクリックしてください。
predict_test_1.png

 

続けて、下図を参照して、以下の操作をしてください。

  1.  「ここからデータをインポートします」をクリックしてください。
  2. 表示されるメニューから「ローカルファイル」を選択してください。

predict_test_2.png

 

続けて、下図を参照して、以下の操作をしてください。

  1. ダウンロードした sales_targeting_test.xlsx を選択してください。
  2. 開く]を押してください。
predict_test_3.png

 

続けて、下図を参照して、以下の操作をしてください。

  1. 「sales_targeting_test.xlsx」の右の「予測を計算」をクリックしてください。
predict_test_4.png

 

続けて、下図を参照して、以下の操作をしてください。

  1. 「予測を計算」が 「予測をダウンロード」に変わりますので、それをクリックしてください。
  2. 画面左下に表示されるCSVファイルをクリックしてください。Excelで開きます。
predict_test_5.png

 

prediction_test.pngCSVファイルをExcelで開くと右図のようになります。

赤枠で囲った「Prediction」という列が予測値、AIが予測する「案件が成約する確率」です。

この列の値を、元の sales_targeting_test.xlsx の「90日以内に成約」列に貼り付け、確率の高い順にソートしたものを sales_targeting_test_with_prediction.xlsx として用意しました。ダウンロードしてExcelで開いて見てください。

下図のようになります。

この上位30%の300件に対して営業活動を行えば、成約率は10%以上が期待されます。早速このリストを営業に持って行こうと思います。

sales_targeting_test_with_prediction.png

 

 

 

まとめ

 

AIを仕事で使う基本ステップを経験できたと思います。

AIを使えば、これまで以上に利益を上げたり、コストを削減したり、仕事の効率を上げたりすることができます。

そして、DataRobotを使えば、Excelしか使ったことがない人でもAIを使えることが分かって頂けたと思います。

予測したいことに関係するデータを集めてDataRobotに投入すれば、あとはDataRobotが自動でパターンを見つけて学習してくれます。

 

 

次のレッスン(AIが何を学習したのかを知ろう)へ

バージョン履歴
最終更新日:
‎04-28-2021 09:21 AM
更新者:
寄稿者