執筆者:Salesforce コンサルタント
背景と応用シナリオ
現代のビジネス環境において、企業は日々膨大な量のデータを生成・蓄積しています。Salesforce をはじめとする CRM システムには、顧客情報、商談履歴、サービスケース、マーケティング活動など、価値あるデータが眠っています。しかし、多くの企業が直面する課題は、「このデータをどのようにして実用的な洞察に変え、ビジネスの意思決定に活かすか」という点です。従来の BI (Business Intelligence) ツールは「何が起こったか」を可視化することに長けていますが、「なぜそれが起こったのか」「次に何が起こる可能性があるのか」「どうすれば望ましい結果を得られるのか」といった、より高度な問いに答えることは困難でした。
ここで登場するのが Salesforce Einstein Discovery です。Einstein Discovery は、Salesforce プラットフォームにネイティブに組み込まれた Augmented Analytics (拡張分析) ツールです。高度な統計モデリングと機械学習アルゴリズムを用いて、人間のアナリストでは見つけ出すのが難しいデータ内のパターン、相関関係、そして未来の予測を自動的に発見します。コンサルタントとして、私たちがクライアントのビジネス課題を解決する上で、Einstein Discovery は極めて強力な武器となります。
具体的な応用シナリオは多岐にわたります:
- 営業部門:
- 受注確度の予測: 個々の商談が受注に至る確率を予測し、営業担当者が注力すべき案件を特定します。
- 解約リスクの特定: 顧客の行動パターンから解約の兆候を早期に発見し、プロアクティブな対策を講じます。
- リードスコアリングの最適化: どのような属性を持つリードが最も成約しやすいかを分析し、スコアリングモデルを改善します。
- サービス部門:
- 初回解決率 (First Call Resolution) の向上: どのようなケースが初回で解決しにくいかを予測し、適切な担当者への割り当てやナレッジの提供を最適化します。
- 顧客満足度 (CSAT) の予測: CSAT が低くなる可能性のあるケースを特定し、エスカレーションや特別な対応を事前に検討します。
- マーケティング部門:
- キャンペーン ROI の最大化: どのマーケティングチャネルやセグメントが最も高いコンバージョンを生むかを分析し、予算配分を最適化します。
- 顧客生涯価値 (LTV) の予測: LTV が高くなる顧客セグメントを特定し、ターゲットを絞ったナーチャリング活動を展開します。
原理説明
Einstein Discovery が魔法のように洞察を生み出すプロセスは、いくつかの論理的なステップに分かれています。コンサルタントとして、このプロセスをクライアントに分かりやすく説明することが、導入成功の鍵となります。
1. データ準備 (Data Preparation)
すべての分析の基礎はデータです。Einstein Discovery は CRM Analytics (旧称 Tableau CRM) のデータセットを分析の入力として使用します。このステップでは、Salesforce オブジェクトや外部システムから関連するデータを抽出し、分析に適した形式に加工・統合します。例えば、「商談の受注予測」というテーマであれば、商談オブジェクトの項目(金額、フェーズ、リードソースなど)、関連する取引先オブジェクトの項目(業種、従業員数など)、さらには活動履歴(電話やメールの回数)などを一つのデータセットにまとめます。データの品質が分析結果の品質を直接左右するため、この準備段階は非常に重要です。「Garbage in, garbage out(ゴミを入れれば、ゴミしか出てこない)」の原則がここでも当てはまります。
2. ストーリー作成 (Story Creation)
データセットが準備できたら、次に Story (ストーリー) を作成します。ストーリーとは、Einstein Discovery が実行する自動分析のプロセスとその結果をまとめたものです。ユーザーは分析の「ゴール」を設定します。例えば、「商談項目の『成立』を最大化する」や「顧客項目の『解約フラグ』を最小化する」といった具体的な目標です。ゴールを設定すると、Einstein Discovery はデータセット内のすべての変数(列)の組み合わせを統計的に分析し、ゴールとの相関関係を網羅的に調査します。
3. 洞察の解釈 (Interpreting Insights)
ストーリーが完了すると、Einstein Discovery は豊富なビジュアライゼーションと共に、以下の3種類の洞察を提示します。
- 記述的インサイト (Descriptive Insights - What Happened): 「何が起こったか」を説明します。例えば、「リードソースが『Web』である商談は、平均受注額が15%高い」といった事実を示します。
- 診断的インサイト (Diagnostic Insights - Why It Happened): 「なぜそれが起こったか」を深掘りします。単なる相関関係だけでなく、複数の変数がどのように相互作用しているかを明らかにします。「業種が『製造業』で、かつ商品区分が『ハイエンドモデル』の場合にのみ、割引率の高さが受注率の低下に強く影響している」といった、より複雑なパターンを発見します。これが Einstein Discovery の最も強力な機能の一つです。
- 予測的・処方的インサイト (Predictive & Prescriptive Insights - What Could Happen & How to Improve): 分析結果から予測モデルを自動生成し、「次に何が起こるか」を予測します。さらに、予測結果を改善するための具体的なアクション(処方箋)を提示します。「この商談の現在の受注確度は35%ですが、エグゼクティブスポンサーを付けることで確度を52%まで高めることができます」といった具体的な提案を行います。
4. モデルの展開と組み込み (Model Deployment and Integration)
生成された予測モデルは、ワンクリックで Salesforce プラットフォームに Deploy (展開) できます。展開されたモデルは、Lightning レコードページにコンポーネントとして埋め込んだり、Flow や Apex から呼び出したりすることが可能です。これにより、分析結果が単なるレポートに留まらず、日々の業務プロセスの中に直接組み込まれ、ユーザーの意思決定をリアルタイムで支援する仕組みが完成します。
サンプルコード
Einstein Discovery で作成した予測モデルは、Einstein Prediction Service API を通じてプログラムから利用することができます。これにより、カスタムコンポーネントや外部システムとの連携など、柔軟なアプリケーション開発が可能になります。以下は、Apex を使用して特定の商談レコードに対する予測を取得する公式ドキュメントに基づいたコード例です。
この例では、すでに「商談受注予測」モデルが展開されており、そのモデル ID が分かっていることを前提とします。
Apex から Einstein Prediction Service を呼び出す
まず、予測リクエストを行うための Apex クラスを作成します。このクラスは HTTP リクエストを構築し、Einstein Prediction Service のエンドポイントに送信します。
// ConnectApi.EinsteinDiscovery を使用して予測を取得する Apex クラスの例 public class EinsteinDiscoveryPrediction { // 特定の商談 ID と使用するモデル ID を引数に取り、予測結果を返すメソッド public static ConnectApi.EinsteinDiscoveryPrediction getOpportunityPrediction(String recordId, String modelId) { // ConnectApi.EinsteinDiscovery.getPrediction メソッドを呼び出す // 第1引数: 予測モデルの ID // 第2引数: 予測対象のレコード ID // 戻り値: 予測結果を含む EinsteinDiscoveryPrediction オブジェクト try { ConnectApi.EinsteinDiscoveryPrediction predictionResult = ConnectApi.EinsteinDiscovery.getPrediction(modelId, recordId); // 予測結果をコンソールに出力 System.debug('Prediction Result for Record ' + recordId + ': ' + predictionResult); // 予測値(例:受注確率) System.debug('Predicted Value: ' + predictionResult.prediction.value); // 予測に最も貢献した上位の要因 for (ConnectApi.EinsteinDiscoveryPredictor predictor : predictionResult.prediction.predictors) { System.debug('Predictor: ' + predictor.columnName + ', Impact: ' + predictor.value); } return predictionResult; } catch (Exception e) { System.debug('Error calling Einstein Prediction Service: ' + e.getMessage()); return null; } } // テスト用のメソッド @isTest static void testGetPrediction() { // このテストはモックコールアウトを使用しないと実際のエンドポイントにアクセスしようとするため、 // 通常は `Test.setMock(HttpCalloutMock.class, new YourMockClass());` が必要です。 // ここでは、メソッドの構造を示すための概念的なコードとして提示します。 // 実際には、有効な商談 ID とモデル ID を使用する必要があります。 // String testOppId = '006XXXXXXXXXXXXXXX'; // String testModelId = '123XXXXXXXXXXXXXXX'; // ConnectApi.EinsteinDiscoveryPrediction result = getOpportunityPrediction(testOppId, testModelId); // 実際のテストでは、モックのレスポンスを検証します。 // System.assertNotEquals(null, result); } }
コードの解説:
ConnectApi.EinsteinDiscovery.getPrediction(modelId, recordId)
: このメソッドが Einstein Prediction Service へのコールアウトの核心部分です。Salesforce が提供するネイティブの Connect API を利用しており、認証やエンドポイントの設定を自動的に処理してくれるため、非常にシンプルに実装できます。modelId
: Einstein Discovery でモデルを展開した際に生成される ID です。recordId
: 予測対象となるレコード(この場合は商談)の ID です。predictionResult
: 戻り値のオブジェクトには、予測値 (prediction.value
)、予測に影響を与えた要因 (prediction.predictors
)、そして予測結果を改善するための提案 (prediction.prescriptions
) など、豊富な情報が含まれています。
この Apex コードを Lightning Web Component (LWC) や Aura Component のコントローラーから呼び出すことで、レコードページ上にリアルタイムの予測と改善アクションを表示するカスタム UI を構築できます。
注意事項
Einstein Discovery を導入・活用する上で、コンサルタントとして留意すべき点がいくつかあります。
- 権限とライセンス (Permissions and Licenses): Einstein Discovery を利用するには、CRM Analytics Plus または Einstein Predictions ライセンスが必要です。また、ユーザーには「Einstein Discovery User」や「CRM Analytics Plus User」といった適切な権限セットを割り当てる必要があります。権限不足は、ストーリー作成の失敗や予測表示エラーの一般的な原因です。
- データ品質とバイアス (Data Quality and Bias): 予測モデルの精度と公平性は、元となるデータに完全に依存します。データセットに偏り(バイアス)がある場合(例:特定の地域のデータが極端に少ない)、モデルもそのバイアスを学習してしまい、不公平な予測を生み出す可能性があります。データ準備段階で、データの代表性や潜在的なバイアスを慎重に評価することが不可欠です。
- API 制限 (API Limits): Einstein Prediction Service API の呼び出しには、組織ごとのガバナ制限があります。大量のレコードをバッチ処理で予測するようなユースケースでは、API コールの上限に抵触しないよう、設計段階で慎重な考慮が必要です。
- モデルの監視と再トレーニング (Model Monitoring and Retraining): ビジネス環境は常に変化します。一度展開したモデルも、時間の経過と共に市場や顧客行動の変化によって精度が低下する可能性があります(これをモデルドリフトと呼びます)。定期的にモデルのパフォーマンスを監視し、最新のデータで再トレーニングすることが、予測の精度を維持するために重要です。
まとめとベストプラクティス
Salesforce Einstein Discovery は、単なる分析ツールではなく、データに基づいた意思決定文化を組織に根付かせるための変革エンジンです。コンサルタントとして、私たちは技術的な導入支援に留まらず、クライアントがその価値を最大限に引き出すための戦略的なパートナーでなければなりません。
以下に、Einstein Discovery プロジェクトを成功に導くためのベストプラクティスをまとめます。
- 明確なビジネス課題から始める (Start with a Clear Business Question): 「AI を使いたい」という技術的な動機ではなく、「受注率を5%向上させたい」「優良顧客の解約率を10%削減したい」といった、具体的で測定可能なビジネス目標を設定することから始めます。
- スモールスタートで反復する (Start Small and Iterate): 最初から全社的な大規模プロジェクトを目指すのではなく、特定の部門の具体的な課題一つに絞ってPoC(概念実証)を行います。小さな成功を積み重ね、効果を実証しながら段階的に展開していくアプローチが、リスクを低減し、関係者の賛同を得やすくなります。 - データ準備に十分な時間をかける (Invest in Data Preparation): プロジェクト全体の成功の8割はデータ準備で決まると言っても過言ではありません。関連データの特定、クレンジング、加工に十分なリソースと時間を割り当ててください。
- ユーザーへの説明責任を果たす (Focus on Explainability): Einstein Discovery の強みは、予測結果の「なぜ」を説明できる点にあります。この説明可能性を活用し、現場のユーザーが予測を信頼し、日々の業務で活用できるように、丁寧なトレーニングとコミュニケーションを行います。
- 業務プロセスへの組み込みを徹底する (Embed Insights into Business Processes): 予測結果は、ユーザーが毎日使う画面やプロセスの中に自然に組み込まれてこそ価値を生みます。Lightning ページへのコンポーネント配置や、Flow によるアクションの自動化を積極的に活用しましょう。
Einstein Discovery を正しく活用することで、企業はデータという資産を競争優位性の源泉へと変えることができます。私たちの役割は、その変革の旅路において、クライアントを導く信頼できるナビゲーターとなることです。
コメント
コメントを投稿