背景と応用シナリオ
現代のビジネス環境において、顧客一人ひとりに最適なタイミングで、最適な提案やアクションを提示することは、顧客満足度の向上とビジネス成果の最大化に直結します。しかし、営業担当者やサービスエージェントが、膨大な顧客情報と製品・サービスの中から常に「次に取るべき最善のアクション」を判断することは容易ではありません。ここに Salesforce Einstein Next Best Action (アインシュタイン ネクスト・ベスト・アクション) の価値があります。
Salesforce コンサルタントとして、私は多くの企業が「顧客エンゲージメントの質の向上」という課題に直面しているのを見てきました。Einstein Next Best Action は、ルール、予測モデル、ビジネスロジックを組み合わせ、ユーザーに対してリアルタイムでインテリジェントなレコメンデーション(提案)を提示する強力なフレームワークです。これにより、企業は一貫性のあるガイド付きのアクションを大規模に展開できます。
応用シナリオ
Einstein Next Best Action の活用範囲は非常に広く、様々な部門で具体的な価値を創出します。
- 営業部門: 取引先の詳細ページで、顧客の購買履歴や現在の商談フェーズに基づき、「アップセル対象製品の提案」や「特定の値引きオファーの提示」などをレコメンデーションします。これにより、営業担当者は迷うことなく次のアクションを実行でき、クロスセル・アップセルの機会を逃しません。
- サービス部門: サポートエージェントがケースを処理する際、問題のカテゴリや顧客の過去の問い合わせ内容から、「関連するナレッジ記事の提示」や「エスカレーションの提案」、「顧客維持のための特別サポートの提供」などを自動で表示します。これにより、問題解決時間の短縮と顧客満足度の向上が期待できます。
- マーケティング部門: Experience Cloud (旧 Community Cloud) のポータルサイト上で、顧客のプロファイルや行動履歴に応じて、パーソナライズされた「新製品のキャンペーンバナー」や「イベントへの招待」などを表示し、エンゲージメントを高めます。
このように、Einstein Next Best Action は単なる提案エンジンではなく、ビジネスプロセスにインテリジェンスを組み込み、従業員のパフォーマンスを向上させ、最終的に顧客体験を革新するための戦略的なツールなのです。
原理説明
Einstein Next Best Action の仕組みを理解するためには、いくつかのコアコンポーネントを把握することが重要です。コンサルタントとして、これらの要素がどのように連携して動作するのかをクライアントに説明することは、導入成功の鍵となります。
1. Recommendations (レコメンデーション)
レコメンデーションは、ユーザーに提示したい「提案」そのものです。これらは Salesforce 上のレコードとして管理されます。通常、標準オブジェクトである「Recommendation」またはカスタムオブジェクトを使用して作成します。各レコードには、以下のような重要な情報が含まれます。
- Name: 提案の名称(例:「プレミアムサポートへのアップグレード」)
- Description: 提案の詳細な説明
- Acceptance Label: ユーザーが提案を受け入れるボタンのラベル(例:「今すぐアップグレード」)
- Rejection Label: 提案を拒否するボタンのラベル(例:「後で通知」)
- Action: ユーザーが提案を受け入れた際に実行される Salesforce Flow の名前
これらのレコメンデーションレコードを事前に準備しておくことが、すべての出発点となります。
2. Strategy Builder (ストラテジービルダー)
Strategy Builder は、Einstein Next Best Action の頭脳部分です。これはフロービルダーに似たビジュアルインターフェースを持ち、どのレコメンデーションを、どのような条件で、どのような優先順位で表示するかを定義する「戦略」を構築します。Strategy Builder 内では、以下の要素を組み合わせてロジックを組み立てます。
- Load (読み込み): 特定の条件に合致するレコメンデーションレコードを Salesforce から読み込みます。例えば、「有効」フラグが立っているすべてのレコメンデーションを対象とすることができます。
- Filter (フィルター): 読み込んだレコメンデーションを、現在のコンテキスト(例:表示している取引先レコードの業種や年間売上)に基づいて絞り込みます。例えば、「年間売上が1億円以上の顧客にのみ、エンタープライズプランを提案する」といったルールを適用します。
- Sort (並べ替え): 複数のレコメンデーションが候補として残った場合に、どれを優先して表示するかを決定します。例えば、割引率が高い順や、予測される成功確率(Einstein Discovery と連携した場合)が高い順に並べ替えることができます。
- Limit (制限): 最終的にユーザーに表示するレコメンデーションの数を制限します。通常、最も関連性の高い1〜3件の提案に絞ることで、ユーザーが意思決定しやすくなります。
- Map (マップ): 複数のロジックブランチを結合したり、データを変換したりするために使用します。
この Strategy Builder を使うことで、複雑なビジネスロジックもノーコードで実装できるのが大きな特徴です。
3. Flows (フロー)
ユーザーがレコメンデーションの「受け入れ」ボタンをクリックしたときに、実際に何が起こるかを定義するのが Flow です。レコメンデーションレコードには、対応する Flow を指定する項目があります。例えば、アップセルの提案が受け入れられた場合、Flow は以下の処理を自動的に実行できます。
- 新しい商談レコードを作成する。
- 関連する取引先責任者にフォローアップの ToDo を割り当てる。
- 顧客に確認メールを送信する。
Flow と連携することで、提案から実行までをシームレスに繋ぎ、手作業によるミスや時間のロスを削減します。
4. Display Component (表示コンポーネント)
作成した戦略は、Einstein Next Best Action という標準の Lightning コンポーネントを通じてユーザーに表示されます。このコンポーネントを、Lightning アプリケーションビルダーを使って、レコードページ、ホームページ、アプリケーションページ、Experience Cloud サイトなど、任意の場所に配置できます。コンポーネントの設定で、どの戦略を使用するかを選択するだけで、定義したロジックに基づいたレコメンデーションが自動的に表示されるようになります。
示例代码
Einstein Next Best Action は主に宣言的なツールですが、Apex を使用して戦略を呼び出し、その結果をカスタムコンポーネントで利用するなど、より高度なカスタマイズも可能です。ここでは、Apex の ConnectApi を使用して、特定のコンテキストで戦略を実行し、レコメンデーションを取得する公式のコード例を紹介します。
このシナリオでは、特定の取引先レコード(`recordId`)に対して `MyStrategy` という名前の戦略を実行し、返されたレコメンデーションの名前をデバッグログに出力します。
// 取引先のIDをコンテキストとして設定 Id recordId = '001xx000003DHPF'; // ConnectApi.Strategy.executeStrategy メソッドのパラメータを構築 ConnectApi.StrategyRequest strategyRequest = new ConnectApi.StrategyRequest(); // コンテキストレコードのIDを設定 strategyRequest.contextRecordId = recordId; // 呼び出す戦略の名前を設定 String strategyName = 'MyStrategy'; // 戦略のタイプ(ここでは標準の 'NextBestAction')を設定 ConnectApi.StrategyType strategyType = ConnectApi.StrategyType.NextBestAction; try { // 戦略を実行し、結果を取得 ConnectApi.StrategyResult strategyResult = ConnectApi.Strategy.executeStrategy(strategyType, strategyName, strategyRequest); // 返されたレコメンデーションのリストを取得 List<ConnectApi.Recommendation> recommendations = strategyResult.recommendations; // レコメンデーションが存在する場合、それぞれの名前をデバッグログに出力 if (recommendations != null && !recommendations.isEmpty()) { for (ConnectApi.Recommendation recommendation : recommendations) { System.debug('Recommendation Name: ' + recommendation.name); System.debug('Recommendation Id: ' + recommendation.id); } } else { System.debug('No recommendations returned from the strategy.'); } } catch (Exception e) { // エラーハンドリング System.debug('An error occurred while executing the strategy: ' + e.getMessage()); }
コードの解説
- `ConnectApi.StrategyRequest`: 戦略を実行するためのリクエストパラメータを格納するオブジェクトです。`contextRecordId` を設定することで、戦略はこのレコードの情報を基にフィルタリングや判断を行うことができます。
- `ConnectApi.Strategy.executeStrategy`: このメソッドが実際に戦略を呼び出すためのコア部分です。戦略のタイプ、名前、そしてリクエストオブジェクトを引数に取ります。
- `ConnectApi.StrategyResult`: 戦略の実行結果を格納するオブジェクトです。この中にある `recommendations` プロパティに、最終的に選ばれたレコメンデーションのリストが含まれています。
- `ConnectApi.Recommendation`: 個々のレコメンデーション情報を表すオブジェクトです。`id`、`name`、`description` などのプロパティにアクセスできます。
この Apex コードを利用することで、標準コンポーネントの表示形式に縛られず、独自の UI やプロセスに Next Best Action のインテリジェンスを組み込むことが可能になります。
注意事項
Einstein Next Best Action を導入・運用する際には、いくつかの点に注意が必要です。コンサルタントとして、これらのリスクや制約を事前にクライアントに伝えることは、プロジェクトを円滑に進める上で不可欠です。
権限とアクセス設定
- ユーザー権限: レコメンデーションを表示・実行するユーザーには、「Flow を実行」システム権限が必要です。また、レコメンデーションオブジェクトや、Flow 内でアクセスするオブジェクト・項目に対する適切な参照・更新権限も必要です。
- Recommendation オブジェクトの共有設定: レコメンデーションレコードの共有設定が「非公開」の場合、ユーザーが表示できるのは自分が所有するレコード、または共有ルールでアクセスが許可されたレコードのみです。意図しないレコメンデーションが表示されたり、逆に表示されなかったりする問題の多くは、この権限設定に起因します。
API 制限とパフォーマンス
- ガバナ制限: Strategy Builder 内のロジックや、レコメンデーションから呼び出される Flow は、Salesforce の標準的なガバナ制限(SOQL クエリの発行回数、DML ステートメントの実行回数など)の対象となります。非常に複雑な戦略や Flow は、これらの制限に抵触する可能性があります。
- パフォーマンス: Strategy Builder 内で大量のデータを読み込んだり、複雑なフィルタリングを行ったりすると、レコメンデーションの表示に時間がかかることがあります。特に、多くのユーザーが頻繁にアクセスするページに配置する場合は、パフォーマンスを意識した戦略設計が重要です。データロードは必要な項目だけに絞り、可能な限り早い段階でレコードをフィルタリングすることが推奨されます。
エラー処理
- Flow のエラー: ユーザーがレコメンデーションを受け入れた際に実行される Flow が失敗した場合、ユーザーはエラーメッセージを受け取りますが、その後の処理は中断されます。Flow 内には、`Fault` パスを使用した堅牢なエラーハンドリング処理を組み込み、失敗した場合の代替処理や管理者への通知メカニズムを実装することがベストプラクティスです。
- レコメンデーションが表示されない場合: 戦略のロジックによっては、条件に合致するレコメンデーションが一つも存在しない場合があります。このとき、コンポーネントには何も表示されません。これが意図した動作なのか、ロジックの誤りなのかを切り分けられるよう、戦略のデバッグ機能を活用してテストを十分に行う必要があります。
まとめとベストプラクティス
Salesforce Einstein Next Best Action は、データに基づいたインテリジェントな提案をビジネスの最前線に届け、従業員の意思決定を支援し、顧客体験を向上させるための変革的なツールです。その真価を発揮するためには、技術的な実装だけでなく、戦略的なアプローチが求められます。
コンサルタントとしての経験から、成功する導入プロジェクトには以下のベストプラクティスが共通しています。
- 明確なビジネス目標から始める: 「どの KPI を改善したいのか?(例:解約率を5%削減する、クロスセル率を10%向上させる)」といった具体的な目標を設定し、その目標達成に最も貢献するレコメンデーションは何かを定義することから始めましょう。
- データ品質がすべて: レコメンデーションの精度は、基になるデータの品質に大きく依存します。戦略の判断材料となるデータ(顧客の属性、購買履歴、行動履歴など)が正確かつ最新の状態に保たれていることを確認してください。
- スモールスタートと反復的な改善: 最初から複雑で大規模な戦略を構築するのではなく、まずは一つのシンプルなシナリオ(例:特定製品のクロスセル提案)から始め、その効果を測定します。ユーザーからのフィードバックや、どの提案が受け入れられ、どれが拒否されたかの分析データ(`Recommendation` オブジェクトの `Reactions` 関連リストで確認可能)を基に、戦略を継続的に改善していくことが成功への近道です。
- ユーザー体験を最優先に: 提案は、ユーザーの現在のタスクやコンテキストと関連性が高いものでなければなりません。一度に多くの提案を提示してユーザーを混乱させるのではなく、最も価値のあるアクションに絞って提示しましょう。説明文やボタンのラベルも、ユーザーが直感的に理解できる言葉を選ぶことが重要です。
- 他の Einstein 機能との連携を検討する: Einstein 予測ビルダーで顧客の解約スコアを算出し、スコアが高い顧客にのみ維持提案を行う、Einstein Discovery のインサイトを戦略の並べ替えロジックに組み込むなど、他の AI 機能と連携させることで、Next Best Action はさらに強力になります。
Einstein Next Best Action は、ルールベースのシンプルなロジックから、AI を活用した高度な予測ベースのロジックまで、幅広いニーズに対応できる柔軟性を備えています。このツールを戦略的に活用し、ビジネスのあらゆる場面で「次の一手」を最適化していきましょう。
コメント
コメントを投稿