Salesforce Einstein 予測ビルダー活用ガイド:AIでビジネス価値を最大化するコンサルタントの視点

背景と応用シナリオ

Salesforce 相談コンサルタントとして、私は日々多くのお客様と接し、彼らが抱えるビジネス課題の解決を支援しています。近年、ほぼすべてのお客様が共通して関心を寄せているテーマが「データ活用」と「AI(人工知能)」です。多くの企業は Salesforce 内に豊富な顧客データや営業データを蓄積していますが、「そのデータを未来の予測にどう活かせばよいのか」という点で壁にぶつかっています。

そこで登場するのが、Einstein Prediction Builder(アインシュタイン予測ビルダー)です。これは、Salesforce プラットフォームにネイティブで組み込まれた、クリック操作のみでカスタムの AI 予測モデルを構築できる画期的なツールです。従来、予測モデルの構築にはデータサイエンティストのような専門知識を持つ人材と、複雑なプログラミングが必要不可欠でした。しかし、Einstein Prediction Builder は、Salesforce 管理者や我々のようなコンサルタントが、ビジネスユーザーと協力しながら、ノーコードでビジネスに直結する予測を可能にします。

具体的な応用シナリオは多岐にわたります。

営業部門での活用例

  • 商談の成約予測: 過去の商談データ(業種、リードソース、活動履歴など)を基に、進行中の商談が成約するかどうか(Yes/No)を予測します。スコアの高い商談に営業リソースを集中させることができます。
  • リードの転換予測: 新規リードが、将来的に顧客へと転換する可能性をスコアリングします。マーケティング部門は、有望なリードに対してより効果的なアプローチを計画できます。

サービス部門での活用例

  • ケースのエスカレーション予測: 問い合わせ(ケース)の内容や顧客情報から、そのケースが上位のサポートチームへエスカレーションされる可能性を予測します。事前に対応することで、顧客満足度の低下を防ぎます。
  • 顧客離反(チャーン)予測: 顧客の活動履歴やサポートへの問い合わせ頻度などから、その顧客がサービスを解約するリスクを予測します。リスクの高い顧客に対して、プロアクティブなリテンション活動を展開できます。

その他のカスタム活用例

  • 請求の支払い遅延予測: カスタムオブジェクトで管理している請求情報から、どの請求が期日通りに支払われない可能性が高いかを予測します。
  • 不動産物件の成約価格予測: 物件の所在地、広さ、築年数などのデータから、最終的な成約価格(数値)を予測します。

このように、Einstein Prediction Builder は、あらゆる業界、あらゆる部門の「Yes/No」または「数値」の予測問題に適用可能な、非常に強力なツールなのです。コンサルタントとして、このツールをお客様のビジネスプロセスにどう組み込み、具体的な ROI(投資収益率)に繋げるかを設計することが我々の重要な役割です。


原理説明

Einstein Prediction Builder がどのようにして魔法のような予測を実現するのか、その仕組みをコンサルタントの視点からクライアントに説明する際のステップに沿って解説します。複雑な数式は不要で、コンセプトを理解することが重要です。

1. 予測対象の定義 (Define the Goal)

最初に、「何を予測したいのか?」を明確に定義します。これは最も重要なステップです。

  • Yes/No 予測 (Binary Classification / 二項分類): ある事象が発生するか・しないか、真か・偽かを予測します。例:「この商談は成約するか?」「この顧客は離反するか?」。結果を保持する項目は、チェックボックス項目や選択リスト項目が適しています。
  • 数値予測 (Regression / 回帰): 金額や日数、数量といった連続的な数値を予測します。例:「この物件の成約価格はいくらか?」「ケースの解決まで何日かかるか?」。結果を保持する項目は、数値項目や通貨項目になります。

2. データセットの準備 (Prepare the Data)

AI はデータから学習します。そのため、学習元となる「教師データ」が必要です。Einstein Prediction Builder は、指定した Salesforce オブジェクトの既存レコードをデータセットとして使用します。

  • 履歴データ: 予測したい結果がすでに出ている、過去のレコードが必要です。例えば、商談の成約予測をしたいなら、過去の「成立」または「不成立」が確定している商談レコードが多数必要です。
  • データ量: Yes/No 予測の場合、最低でも400件のレコードが必要で、かつそれぞれの結果(Yes/No)が最低100件ずつ含まれていることが推奨されます。データが多ければ多いほど、モデルの精度は向上する傾向にあります。

3. 予測の構築 (Build the Prediction)

Salesforce の設定画面から、ウィザード形式で予測モデルを構築します。

  1. オブジェクトの選択: 予測したいオブジェクト(商談、ケース、カスタムオブジェクトなど)を選択します。
  2. セグメント化(任意): 特定のレコード群(例:「日本の商談のみ」)に絞って予測モデルを構築したい場合に条件を設定します。
  3. 予測項目の選択: ステップ1で定義した、予測したい結果が入っている項目(例:商談の「フェーズ」が「成立」かどうか)を選択します。
  4. 学習に使用する項目の選択: どの項目を予測の手がかり(予測因子)として使用するかを選択します。デフォルトでは Einstein が自動で関連性の高そうな項目を選択しますが、ビジネス知識に基づいて手動で調整することも可能です。個人情報など、予測に含めるべきでない項目は除外します。
  5. 予測名の設定と構築開始: 予測に名前をつけ、構築を開始します。データの量によりますが、数十分から数時間かかることがあります。

4. スコアカードのレビュー (Review the Scorecard)

モデルの構築が完了すると、Scorecard(スコアカード)が生成されます。これはモデルの「成績表」であり、予測の品質を評価するための非常に重要なツールです。

  • 予測品質 (Prediction Quality): モデル全体の精度が0から100のスコアで示されます。これが高いほど、信頼性の高いモデルと言えます。
  • 上位の予測因子 (Top Predictors): どの項目が予測結果に最も大きな影響を与えているかを示します。例えば、「リードソース」や「年間売上」が上位にあれば、それらの項目が商談成約の重要な鍵であることを意味します。これはビジネスインサイトの宝庫です。

5. 有効化と活用 (Enable and Use)

スコアカードの内容に問題がなければ、予測を有効化します。有効化すると、指定したオブジェクトに新しいカスタム項目が作成されます。この項目には、各レコードに対する予測スコア(0〜100)が自動的に保存されます。 このスコアを、リストビュー、レポート、ダッシュボードで可視化したり、FlowApex を使って「スコアが80を超えたら、担当者に ToDo を自動作成する」といったビジネスプロセスの自動化に繋げることができます。


サンプルコード

Einstein Prediction Builder は基本的にノーコードツールですが、コンサルタントとして高度なインテグレーションやカスタムUIを提案する際には、Apex を使って予測結果をプログラムで取得する方法を知っておくと非常に役立ちます。例えば、カスタムの Lightning Web Component 内で特定のレコードの予測スコアをリアルタイムに表示したい場合などに利用できます。

ここでは、ConnectApi を使用して、特定のレコード ID と予測定義 ID を基に予測結果を取得する Apex コードの例を紹介します。これは Salesforce の公式ドキュメントでも推奨されている安全な方法です。

// 特定のレコードIDの予測結果を取得するApexクラスの例
public class EinsteinPredictionChecker {

    // 商談レコードIDを引数として受け取る呼び出し可能なメソッド
    @InvocableMethod(label='Get Opportunity Prediction Score' description='Fetches the Einstein Prediction score for a given Opportunity.')
    public static List<Double> getPredictionScore(List<ID> opportunityIds) {

        if (opportunityIds == null || opportunityIds.isEmpty()) {
            return null;
        }

        // 1つのレコードIDのみを処理する
        ID recordId = opportunityIds[0];
        
        // 予測結果を格納するリスト
        List<Double> predictionScores = new List<Double>();
        
        // 事前に設定画面で確認した予測定義のID
        // これは各予測モデルに固有のIDです
        String predictionDefinitionId = '0N1xxxxxxxxxxxxxxx'; // 実際の予測定義IDに置き換えてください

        try {
            // ConnectApi.EinsteinPrediction.getPredictionsメソッドを呼び出し
            // 予測定義IDとレコードIDを渡す
            ConnectApi.EinsteinPrediction predictionResult = ConnectApi.EinsteinPrediction.getPredictions(predictionDefinitionId, new List<String>{ recordId });
            
            // 予測結果のリストを取得
            List<ConnectApi.Prediction> predictions = predictionResult.predictions;

            if (predictions != null && !predictions.isEmpty()) {
                // 最初の予測結果を取得
                ConnectApi.Prediction singlePrediction = predictions[0];
                
                // 予測スコア(0.0から1.0の間の値)を取得
                Double score = singlePrediction.value;
                
                // スコアを100点満点に変換してリストに追加
                if (score != null) {
                    predictionScores.add(score * 100);
                }
                
                System.debug('Prediction Score for Record ' + recordId + ': ' + (score * 100));
            } else {
                System.debug('No prediction found for Record ' + recordId);
            }
        } catch (Exception e) {
            // エラーハンドリング
            System.debug('An error occurred while fetching Einstein Prediction: ' + e.getMessage());
            // 必要に応じて例外を処理
            throw new AuraHandledException(e.getMessage());
        }

        return predictionScores;
    }
}

このコードは、Flow から呼び出すことも可能です。予測スコアに基づいて複雑な分岐ロジックを実行したい場合に、Apex Action としてこのメソッドを呼び出すことで、標準機能だけでは実現できない高度な自動化を実現できます。


注意事項

Einstein Prediction Builder の導入を成功させるために、コンサルタントとしてお客様に必ず伝えるべき注意事項がいくつかあります。

権限 (Permissions)

予測モデルを構築・管理するには、「Einstein Builder」権限セットが必要です。また、一般ユーザーが予測結果(スコア)を参照するには、オブジェクトや項目への参照権限に加えて、「Einstein Prediction Builder User」権限セット(または同等のカスタム権限)が必要です。導入時には適切な権限設定が不可欠です。

データ品質 (Data Quality)

「Garbage In, Garbage Out(ゴミを入れれば、ゴミしか出てこない)」という言葉は、AI の世界では真理です。予測の精度は、元となるデータの品質に大きく依存します。

  • データの完全性: 多くの項目が空欄であるレコードばかりでは、AI は有効なパターンを学習できません。
  • データの一貫性: 入力ルールや選択リスト値が統一されていないと、ノイズが多くなり精度が低下します。
  • データの偏り (Bias): 特定のパターンのデータに極端に偏っている場合、予測結果もそのバイアスの影響を強く受けます。公平な予測のためには、多様なデータセットが必要です。

API制限とガバナ制限 (API and Governor Limits)

Einstein Prediction Builder には、組織ごとに利用できる予測の数や、1ヶ月あたりにスコアリングできるレコード数に上限があります。大量のレコードを扱う場合や、複数の予測モデルを有効化したい場合は、事前に Salesforce のヘルプドキュメントで最新の制限値を確認し、ライセンスの範囲内で運用計画を立てる必要があります。

モデルのメンテナンス (Model Maintenance)

一度構築した予測モデルは、永久に有効なわけではありません。市場環境やビジネスプロセスが変化すると、過去のデータから学習したパターンが通用しなくなることがあります(モデルの劣化)。定期的にスコアカードを見直し、必要に応じて新しいデータでモデルを再構築(リフレッシュ)することが、予測精度を維持する上で非常に重要です。


まとめとベストプラクティス

Einstein Prediction Builder は、Salesforce に蓄積されたデータを活用し、専門家でなくともビジネスの未来を予測する力を与えてくれる、非常にパワフルなツールです。コンサルタントとして、私はこのツールがお客様のデジタルトランスフォーメーションを加速させるための重要な鍵になると確信しています。

導入を成功に導くためのベストプラクティスは以下の通りです。

  • 明確なビジネス課題から始める: 「AIを使いたい」ではなく、「商談の成約率を上げたい」といった具体的なビジネス課題からスタートしましょう。
  • データ品質の確保を最優先する: 導入プロジェクトの初期段階で、データクレンジングや入力ルールの整備に時間を割くことが、最終的な成功に繋がります。
  • ビジネス部門の専門家を巻き込む: どの項目が予測に重要かは、現場の担当者が最もよく知っています。彼らの知見をモデル構築に活かしましょう。
  • スモールスタートで反復改善する: 最初から完璧なモデルを目指すのではなく、まずは一つの予測から始めて、スコアカードの結果を分析し、改善を繰り返していくアジャイルなアプローチが有効です。
  • 予測スコアをアクションに繋げる: スコアをただ表示するだけでなく、Flow や Apex を活用して具体的なアクション(タスク作成、通知、承認プロセスなど)を自動化することで、初めて AI の価値が最大化されます。

Einstein Prediction Builder を正しく理解し、計画的に導入することで、あらゆる企業がデータドリブンな意思決定を実現し、競争優位性を確立することができます。ぜひ、皆様の Salesforce 活用の一歩先を行くための武器として、この素晴らしいツールを検討してみてください。

コメント