DataRobotを14日間お試しいただける、フリートライアル・プログラムを実施しております。
こちらのプログラムにお申し込みいただき、提供されているサンプルデータはもちろんのこと、お手元のデータを使ってDataRobotをお試しいただけます。
フリートライアルから始めよう!のビデオ・シリーズでは、4つの業界シナリオとサンプルデータを使って、ハンズオンを行うことができます。
また、書籍「DataRobotではじめるビジネスAI入門」も刊行いたしましたので、併せてご活用ください。
このユースケースでは、アメリカの通信会社のマーケティング担当者として「お客様に上位のプランに移行してもらうにはどうしたらよいか」というビジネス課題を機械学習・AIを使って解決します。
この通信会社の上位の料金プランには、下図に示す4種類があります。
どのプランにも入っていないお客様を対象として、この4つのいずれか一つのプランを契約してもらうにはどうしたら良いか、を考えてみましょう。
第1案は、下図のように「全員に全プランを勧めてみる」というものです。しかし、これはベストな方法ではないと考えられています。選択肢を与えすぎると顧客満足度はかえって下がってしまうからです。また、メールで1プランずつお勧めした場合、お客様がそのほとんどに関心がなければ、この通信会社からのメールはすべて迷惑メールとしてブロックされてしまうリスクもあります。さらに、この図の矢印の数だけコストがかかるとすると、プロモーションの方法によっては、ROIを下げることになってしまいます。
第2案は、下図のように「顧客属性などでセグメントに分けて、各セグメントに一つのプランだけを勧める」というものです。この場合は、一人のお客様には1つのプランしかお勧めされませんので、第1案で懸念された問題は解消されそうです。
問題は、反応率です。
単純なルールでは、セグメントに属する全員が同じお勧めプランに反応するというようなセグメントに分けるのは至難の技ですので、反応率の低下は避けられません。したがって、この案ではROIを上げるのは難しそうです。
可能であるならば、下図のように、ひとりひとりに最適と思われるプランだけをお勧めしたいですね。そうすれば、顧客満足度は下がりませんし、反応率も上がって、その結果、収益やLTVも上がりそうです。コストも最小限に抑えることができます。
では、どうすれば、これができるでしょうか?
どうすれば「それぞれの人に最適なプラン」を見つけることができるでしょうか?
ここに、機械学習・AIを使います。
この会社では、過去に1度、お客様全員に全プランをお勧めしたことがあります。その時のデータを使って、DataRobotに「どういう人がどのプランに反応するか」を学習させるわけです。
下図では、それぞれの人がどのプランに移行したかを黄色い矢印で示しています。1番目の人はEvening Call Planに移行しました。2番目の人は、どのプランにも移行しませんでした。こういう人もいることに注意する必要があります。3番目と4番目の人は、ふたりともDaytime Planに移行しました。
こうしたデータから、「どういう人がDaytime Planに移行するのか」「どういう人がEvening Call Planに移行するのか」「どういう人がどのプランにも移行しないのか」ということを学習するわけです。そして、その学習した結果を使って、まだどのプランにも移行していない新しいお客様に対して、どのプランをお勧めしたら反応してくれるかを予測するわけです。
なお、学習に使うデータを「教師データ」、学習した結果をモデル、学習することを「モデリング」と呼びます。
教師データの一部を下図に示します。
1行が一人のお客様を表していて、全部で3,333行あります。3,333人分のデータがあると言い換えることもできます。カラム名に赤く網掛けした「提案プラン」というカラムに、全プランを勧めたときに、そのうちのどのプランに移行したかが入っています。Enhanced Voicemail Planに移行した人もいれば、Evening call planに移行した人もいます。どのプランにも移行しなかった場合は「No Action」と入っています。
教師データには、どのプランに反応したかだけが入っているわけではありません。それぞれの人がどういう人であるか、どういう電話の使い方をしているか、といった情報も入っています。具体的には、どの州に住んでいるか、お客様になっていただいてから何ヶ月経過したか、直近1ヶ月の昼間の総通話分数なども入っています。最後に現在の契約に関する付帯条件がテキストで入っていたりします。
こうした情報のことを特徴量と呼びます。
各特徴量の意味を下表に示します。
特徴量名 |
データ型 |
特殊な列 |
意味 |
顧客ID |
数値 |
リファレンスID |
顧客識別子 |
州 |
カテゴリ |
居住州 |
|
顧客歴 |
数値 |
最初に契約した日からこのデータの集計期間の最終日までの月数 |
|
市外局番 |
カテゴリ |
電話番号の市外局番 |
|
国際通話プラン |
ブーリアン |
国際通話プランを現在契約しているか否か |
|
留守電プラン |
ブーリアン |
留守電プランを現在契約しているか否か |
|
留守電メッセージ件数 |
数値 |
直近1ヶ月間の留守電メッセージ数 |
|
昼間の総通話分数 |
数値 |
直近1ヶ月間の昼間の総通話分数 |
|
昼間の総通話件数 |
数値 |
直近1ヶ月間の昼間の総通話件数 |
|
昼間の通話の総請求額 |
数値 |
直近1ヶ月間の昼間の通話に関する総請求額 |
|
夜間の総通話分数 |
数値 |
直近1ヶ月間の夜間の総通話分数 |
|
夜間の総通話件数 |
数値 |
直近1ヶ月間の夜間の総通話件数 |
|
夜間の通話の総請求額 |
数値 |
直近1ヶ月間の夜間の通話に関する総請求額 |
|
深夜の総通話分数 |
数値 |
直近1ヶ月間の深夜の総通話分数 |
|
深夜の総通話件数 |
数値 |
直近1ヶ月間の深夜の総通話件数 |
|
深夜の通話の総請求額 |
数値 |
直近1ヶ月間の深夜の通話に関する総請求額 |
|
国際通話の総分数 |
数値 |
直近1ヶ月間の国際通話の総分数 |
|
国際通話の総件数 |
数値 |
直近1ヶ月間の国際通話の総件数 |
|
国際通話の総請求額 |
数値 |
直近1ヶ月間の国際通話に関する総請求額 |
|
カスタマーサービスへの電話件数 |
数値 |
直近1ヶ月にカスタマーサービスに電話した件数 |
|
提案プラン |
カテゴリ |
ターゲット |
このあと、お客様に全プランをお勧めしてみたときに、移行したプラン |
料金プランの条件 |
テキスト |
現在の料金プランに対する付帯条件 |
※一部のデータ型がDataRobotが認識する型と異なりますが、そのままモデリングして問題ありません。
ここにコメントを追加するには、ご登録いただく必要があります。 ご登録済みの場合は、ログインしてください。 ご登録がまだの場合は、ご登録後にログインしてください。