2020.06.12 「Einstein AI で Salesforce は進化する:(5) Einstein Discovery は御社の専任データサイエンティストです(後編)」
≪ 2020.06.05 「Einstein AI で Salesforce は進化する:(4) Einstein Discovery は御社の専任データサイエンティストです(前編)」
2020.06.19 「Einstein AI で Salesforce は進化する:(6) Sales Cloud Einstein - 生産性向上の鍵は AI にあり(前編)」 ≫
お世話になっております。
ウフル カスタマーサポート Salesforce 担当の 後藤 でございます。
皆様いかがお過ごしでしょうか。
緊急事態宣言が解除され、街に人が戻ってきてまもなく2週間になります。
弊社オフィスのある東京では「今日も陽性者が10人以上」というニュースと「危惧されていた第二波の兆候は今のところ見られない」というニュースが入り混じって伝えられています。
私も先週から原則オフィスに出勤しておりますが(カスタマーサポートは「待機すること」も仕事のうちですので)、必要以上に悲観的になることなく、かつ警戒を緩めることもなく、冷静に対応していければと思っております。
さて、お送りいたしております Salesforce Einstein のシリーズも第5回となりました。
先週お送りしました「Einstein Discovery」の前編に対し、社内外よりいくつか「わかりやすかった」「難しそうだと思い込んでいた Einstein への敷居を下げてくれた」とコメントをいただきました。
「ユーザ目線」が最大のセールスポイントだと自負しておりますので、今後もその姿勢は変えず、皆様のお役に立てる情報を少しでも多く提供できるよう研鑽してまいります。
今週はその後編となります。先週の記事についてはこちらをご参照ください。
2020.06.05 「Einstein AI で Salesforce は進化する:(4) Einstein Discovery は御社の専任データサイエンティストです(前編)」
https://csminfo.uhuru.jp/hc/ja/articles/900001188966
* 分析モデルをリリースする前に、ストーリーをもう少し深堀りする
先週は、予測ビルダーでも使用した「タイタニック号の乗船者リストの半分(生存可否情報を含む)」を基に、Einstein Discovery でストーリーを作成するところまでご案内しました。
作成したストーリーを開くと、まず最初に「ストーリーの最重要項目」が表示されました。
「一番影響度の高かったファクターは [性別] でした(影響度:29.3%)」というものです。
これはストーリーのあくまでも一要素である「何が起きたか」を表しているもので、実はまだ続きがあります。
「なぜそれが起きたか」 「何が起きる可能性があるか」というボタンが表示されています。それぞれ見てみましょう。
まずは「なぜそれが起きたか」です。
トップファクターは「性別が女性の場合、それ自体が "生存率を 22.5% 押し上げる" 要因である」というものです。
右の「滝グラフ」において、一番上の灰色のバーが「Global Average(グローバル平均)」、つまりサンプルセットに含まれる全データから算出した「生存率」の平均値を示します。
オンマウスで詳細が表示されます。
[Global Mean] の値(38%)がグローバル平均値になります。
[Global Count] がサンプルセットのレコード数(889件)になります。
では、上から二番目の緑色のバーにマウスをあててみましょう。
「Sex is female(性別が女性の場合)」と表示されます。
[Impact] (影響度)は 22%、つまり「"性別が女性であるという事実" はグローバル平均に 22 ポイント上乗せする」、先ほどの「トップファクターの見出し」と一致します。
滝グラフは引き続いて「性別が女性かつ同伴の親子(Parch)がいない場合」「性別が女性かつチケット等級(Pclass)が2等」「性別が女性かつ同伴の夫や兄弟姉妹(SibSp)がいない場合」にスコアが少しずつ向上する旨を表示していきますが、次の「チケット等級(Pclass)が3等かつ性別が女性」で、初めて赤色でスコアが減少するよう表示しています。
[Impact] はマイナス 2.7% です。
つまり、"3等の女性" については逆に生存率が下がるということになります。
その他の微小なファクターについての説明があり、最終的に「性別が女性の全データの生存率平均」が青色のバーで示され、マウスをあてるとグローバル平均と同様に詳細値がポップアップで表示されます。
対象サンプルのグローバル平均値は 74%、対象サンプル数は 312 件です。
サンプルセット全体の生存率 = 38%
女性だけに絞り込んだ場合の生存率 = 74%
そのギャップは 36 ポイントありますが、そのすべてが「女性であること」に起因しているわけではなく、「チケット等級が何等か」「同伴者がいるかいないか」といったさまざまな要因にドリルダウンされ、そのうち「女性である」という要因が「36 ポイント中 22 ポイント」を占めている、という結論が導き出されました。
では、「乗船者の性別が男性だった場合」でも見てみましょう。
女性の場合とは対照的に、グローバル平均値から漸減していく形態になっています。
グローバル平均値(灰色)が 38% なのは女性の場合と同一です。
二行目の「最初の赤色」が「性別が男性であること」で、[Impact] がマイナス 10% になります。
興味深いのがその下の「チケット等級が1等で男性の場合」です。全体で見ると生存率向上のファクターとなっている「チケット等級=1等」でさえも、男性の場合はかろうじて「生存率の減少を緩和させる」働きしかできていないという事実が浮き彫りになっています。
その他の要素(同伴者の人数、乗船した港など)を加味したうえで、最終的に「男性だけに絞り込んだ生存率のグローバル平均値」が青色のバーで表示されます。
(グローバル平均値 = 19%、対象サンプル数 = 577 件)
「なぜそれが起きたか」ビューでは、引き続いて「チケット等級が1の場合と3の場合」「同伴者が8人の場合、6人の場合、全くいない場合」のように、差異が顕著で比較対象にしやすい順に表示されていきます。
引き続いて「何が起きる可能性があるか」ビューを見てみましょう。
左側の「予測するグループを選択」で項目および値を選択すると、右側のメイン画面に予測対象項目のスコアと予測要素、改善点(違う値を選んだ場合にどれくらいスコアが改善するか)が表示されます。
改善点については、予測するグループを選択する際に「アクション可能」をチェックした場合に表示されます。
このチェックは、現実的にアクションが有効なものだけに付与します。
例えば、「男性の場合 19 点です、女性に変更すれば 54 点増加します」というのは、性別の変更は(性転換でもしない限り )無理なので、「興味があるから数値だけ見てみたい」場合を除いてチェックはオフのままにするべきです。
わかりやすい例として、「チケット等級が3等の場合、2等や1等にアップグレードすることで生存率がどれだけ変わるか」を試してみます。
3等の場合の生存率は 25% ですが、2等に変更すると 47%、1等だと 62% まで向上します。
予測するグループに複数項目を指定することも可能です。
例えば、「3等の男性の生存率と改善アクション」を見たい場合はこのように設定します。
「3等の男性」の生存率は 13% と出ましたが、2等に変更しても 17%、1等までアップグレードしても 36% までしか上がりません。
男性の場合はチケット等級アップグレードの恩恵が少ない、ということがわかります。
「3等の女性」の場合を見てみましょう。
最初の時点で生存率 51% ですが、2等に変更すると 88%、1等なら 95% まで向上します。
女性全体のサンプルの中で3等の生存率が群を抜いて低かったため(先ほどの「なぜそれが起きたか」の説明も振り返ってみてください)、男性に比べチケット等級のアップグレードによる効果が顕著という結果になっています。
一通りストーリーの詳細を見たところで、そろそろ「仕上げ」に入りましょう。
「ストーリーを予測モデルとしてリリースし、現在進行中のレコードに反映させて予測値を算出する」手順についてご案内します。
* ストーリーからモデルをリリースし、進行中のレコードで予測値を算出する
予測ビルダーの回でも述べましたが、Einstein 予測分析の肝は
- 過去レコードをサンプルセットとしてデータセットに取り込む
- サンプルセットを分析して予測モデルを構築する
- 現在のレコードを予測セットとしてデータセットに取り込む
- 予測セットに対して予測モデルを反映させ、スコアを算出する
であり、これは Einstein Discovery でも同じです。
予測ビルダーでは、Salesforce にカスタムオブジェクトを作って CSV ファイルを取り込み、ビルダー内の条件設定で「サンプルセット」「予測セット」に区分けしました。
Einstein Discovery では、サンプルセットの作成について「データセットへの取り込み」は行いましたが、予測セットについては未だ取り込んでいません。
予測セットの取り込みには複数方法ありますが、今回は予測ビルダーに揃えて「オブジェクトに取り込む」方法を取ります。
「タイタニックの乗船者リスト」のうち、"test.csv" が「生存可否結果の入っていない半分のデータ群」なので、こちらを取り込みます。
取り込み方については「予測ビルダー編」の後半に記載がありますのでご参考にしていただけますでしょうか。(「スプレッドシートからのカスタムオブジェクトの作成」を推奨します)
2020.05.29 「Einstein AI で Salesforce は進化する:(3) Einstein 予測ビルダーを通じて Einstein AI に触れてみましょう(後編)」
https://csminfo.uhuru.jp/hc/ja/articles/900001089163
サンプルセットの取り込みが完了したら、ストーリーをリリースする 具体的な手順を見てみましょう。
ストーリーの詳細を開き、ヘッダーの「モデル」ボタンをクリックします。
モデルの詳細より「モデルのリリース」ボタンをクリックします。
「Einstein モデルをリリース」ウィザードが開きます。
予測タイトルに名前を付けます。今回は "Titanic_survivors" と名前を付けてみましょう。
「このモデルをリリースする方法を選択」です。
「Salesforce オブジェクトに接続する / しない」の選択は、先述の通り「特定のオブジェクトに関連付ける」方法を取ります。
「スプレッドシートからのカスタムオブジェクトの作成」で "test.csv" を取り込んだ際に生成されたカスタムオブジェクト "Titanic Passengers" を指定します。
項目の対応付けです。
ストーリー作成時、およびサンプルセット取り込み時に項目名を変更していなければ、このように項目名は自動で紐づくはずです。
予測スコアを保存するカスタム項目を作成します。 このあたりは予測ビルダーと同じ考え方ですね。
今回は "SurvivalScore" と名付けます。
「モデルの精度を監視」するかを訊かれます。
予測対象のオブジェクトにて「更新の可能性があるレコードとないレコードが混在している」場合、例えば「進行中商談と完了商談が混在している」場合は、このオプションで「最終状態の定義」を行います。
今回は、全レコードが「既に最終状態に達している」ため、特に定義は行いません。
「アクション可能な変数」の選択です。
先ほどのストーリー分析でもご案内した通り、「この値を変更したらスコアが改善する」項目を指定する場合、ここでチェックをオンにします。
「乗客 ID」など分析に影響ないもの、「性別」や「年齢」など制御できない変数はオフのままにします。
本来は "SibSp" (同乗する兄弟姉妹または配偶者の数) "Parch" (同乗する親また子どもの数)も制御が難しいですが、今回は動作確認のためあえてオンにします。
リリース前の最終確認です。
設定に不足が無いことが確認出来たら右下の「リリース」ボタンをクリックします。
モデルのリリースが完了したら、オブジェクト "Titanic Passengers" のページレイアウトに Einstein Discovery 設定を反映させます。
Lightning ページを新規作成し(「ヘッダーと2つの等しい範囲」テンプレートがお勧めです)、ヘッダーに強調表示パネル、左側にレコードの詳細を配置したのち、右側に「Einstein Discovery 設定」を配置します。
コンポーネントをドラッグドロップした直後は「予測」が指定されていません。
必ず「予測」リストからリリースしたモデルを指定してください。
タイトルもわかりやすく「生存の可能性を Einstein が予測」と日本語で付けてみました。
Lightning ページを保存してオブジェクトのデフォルトに割り当てたら、実際のレコードを開いてみてみましょう。
「38歳女性、3等、同乗者は夫、妹、両親および2人の子ども」の場合です。
(同乗者構成は "SibSp" と "Parch" の値から推測しました)
生存の可能性は 43% と出ました。
「性別は女性です」が 9 pts のプラスとなっていますが、「チケット等級が3等でかつ女性」であることが逆に 9 pts のマイナスとなっています。これは先述の通り、「チケット等級が3等であることの下げ幅が男性より女性の方が高い」ことに起因します。
Einstein Discovery の特徴、「ストーリーから導き出された改善策の提案」が、「これを改善する方法」として表示されています。
チケット等級を1等にすれば 61 pts の改善、2等でも 55 pts の改善になります。
併せて、「もし夫と妹が同乗していなければ生存率はさらに 17 pts 向上していた」と分析しています。
もう一例見てみましょう。
「26歳男性、2等、妻と子どもが同乗」の場合です。
生存確率は 38%、際どいですが男性平均よりは少しだけ高いです。
チケット等級は既に2等なので、1等にアップグレードしても確率向上にはあまり貢献しません。
なので「これを改善する方法」に出てきたのが、「奥さんの他に兄弟をあと4人連れていけ、そうすればあと 15 pts 向上する」という苦し紛れとしか言いようがない提案です。
先ほどの女性の場合「配偶者や兄弟姉妹がいない場合生存確率が向上する」と導き出され、男性の場合は「配偶者あり、もしくは兄弟と同乗の方が生存確率が向上する」と導き出されています。
このあたりは実に興味深いので、皆様よろしければご自身の環境でご確認いただければと存じます。
最後に、Einstein Discovery の「予測ビルダーに対する利点」の一つとして、「レコードを更新すると予測結果も連動して変更される」点があります。
最初の「38歳女性、3等」のチケット等級を2等に変更してみましょう。
<変更前>
<変更後>
ご覧の通り、43% から 98% に爆上げしています。
それに従って「これを改善する方法」も違う提案内容に書き換わっています。
予測ビルダーと Einstein Discovery に触れることで、今までデータ解析とは無縁だった Salesforce ユーザの皆様も、きっと「データを解析することの楽しさ」に気づくはずです。この機会に是非触れてみていただければと存じます。
=================================================
Salesforce Einstein の機能のうち「予測スコアリング」の部分を、予測ビルダーと Einstein Discovery を対比する形で4週にわたってお送りしてまいりました。
主に「タイタニック号の乗船者リスト」を活用してご案内いたしましたが、お客様の中には「うちのデータで試してみたい」とお考えになった方もきっといらっしゃるかと存じます。
もしよろしければ、まずは予測ビルダーを使用して(1モデル分のお試しライセンスが付いてますので)お試しになってみてはいかがでしょうか。
その上で Einstein Discovery も試してみたい、および予測ビルダーの導入のところから相談させてほしい、という案件ございましたら、是非弊社までご連絡いただければ幸いです。
次週は Salesforce Einstein のもう一つの側面、「リードと商談のインサイト」についてご案内いたします。「Einstein で進化した売上予測」の話も出てきます。
今後ともウフル カスタマーサポートを引き続きご愛顧いただきますよう、何卒よろしくお願い申し上げます。
コメント