CONTENTS
- [今回作るもの — 全体アーキテクチャ](#overview)
- [Agentforceエージェントの作成](#step1)
- [Accountカスタムフィールドの準備](#step2)
- [テストデータの投入](#step3)
- [レコードトリガフローの構築](#step4)
- [動作検証と結果](#step5)
- [まとめと本番運用に向けて](#summary)
SaaSビジネスにおいて、既存顧客の解約(チャーン)は売上に直結する最重要課題です。「気づいたときには解約申請が出ていた」という経験をお持ちの方も多いのではないでしょうか。
利用頻度の低下、NPS(顧客推奨度)の悪化、サポート問い合わせの増加――これらのシグナルはSalesforce上にデータとして存在しているのに、人手でチェックし続けるのは現実的ではありません。
そこで今回は Salesforce Agentforce を使い、解約予兆を自動で検知し、リテンション施策まで提案してくれるAIエージェントを構築してみました。ノーコード中心で、Salesforce管理者の方でも再現できる内容です。
今回作るもの — 全体アーキテクチャ
全体のアーキテクチャはシンプルです。Account(取引先)のデータが更新されたらフローが自動起動し、AIが解約リスクを分析して後続アクションまでつなげます。
データの流れ(具体例)
① 入力:Accountの既存データ
- 利用回数(Monthly_Usage_Count__c)
- NPSスコア(NPS_Score__c)
- 最終ログイン日(Last_Login_Date__c)
- 未解決ケース数(Open_Case_Count__c)
- 顧客満足度(Customer_Satisfaction__c)
➡
② AI処理:フロー内で自動分析
- 利用量50%以上減少 → +40点
- NPS 6以下 → +25点
- 未ログイン30日以上 → +15点
- 未解決ケース3件超 → +15点
- 合計点でリスクレベル判定(60点以上=高、30点以上=中)
➡
③ 出力:Account更新 + ToDo作成
- 解約リスクスコア(65点 → 「高」)
- 判定理由(「利用量50%以上減少+NPS低下」等)
- 推奨施策(「緊急ヒアリング実施」等)
- 高・中リスク時 → CS担当にToDo自動作成
このPoCでは、Agentforceエージェントを「解約リスクアナリスト」として作成し、レコードトリガフローと組み合わせることで、データ更新を起点とした自動分析パイプラインを実現しています。
Step 1 — Agentforceエージェントの作成
エージェントの新規作成
Agentforce Studioを開き、「New Agent」ボタンから新しいエージェントを作成します。
| 設定項目 | 値 |
|---|---|
| エージェント名 | 解約リスクアナリスト |
| API参照名 | Churn_Risk_Analyst |
| 種別 | AgentforceEmployeeAgent(社内向け) |
| 説明 | 取引先の利用状況データを総合分析し、解約リスクを自動判定。リスクレベルに応じたリテンション施策を提案し、フォローアップタスクを自動作成します。 |

Agentforce Studioのエージェント一覧。作成した「解約リスクアナリスト」が表示されています。
エージェントの詳細設定
エージェントの詳細画面で、ロールと会社情報を設定します。
ロール設定
「あなたは解約リスクアナリストです。取引先の利用データ(月間利用回数、前月比変化率、NPS、サポート満足度、未解決ケース数、最終ログイン日、契約更新日)を総合的に分析し、解約リスクスコア(0〜100)とリスクレベル(高・中・低)を判定します。リスクが高い取引先には具体的なリテンション施策(割引提案、専任サポート、機能トレーニング等)を提案してください。」
会社情報
「はてなベース株式会社は、SaaSプロダクトを提供するIT企業です。顧客の継続利用と満足度向上を最重要課題としており、データドリブンなカスタマーサクセス活動を推進しています。解約予兆を早期に検知し、プロアクティブなリテンション施策を実施することで、顧客のLTV最大化を目指しています。」

トピック「解約予兆分析」の設定
エージェントにトピックを追加し、プロンプトで分析ロジックを指示します。
| 設定項目 | 値 |
|---|---|
| トピック名 | 解約予兆分析 |
| 分類の説明 | Account(取引先)の利用状況・満足度データから解約リスクを分析する |
| スコープ | Account(取引先)データの解約リスク分析 |
トピックの指示文に含めるポイント
- 分析対象データ — 月間利用回数と前月比、NPSスコア(-100〜100)、サポート満足度、未解決ケース数、最終ログイン日からの経過日数、契約更新日までの残日数
- 判定基準 — 利用量50%以上減少は重大リスク、NPS負値は批判者で重大リスク、30日以上未ログインは離脱リスク、未解決ケース3件超は不満蓄積リスク
- 出力形式 — 0〜100のリスクスコアをHigh/Medium/Lowに分類し、リテンション施策を日本語で提案
Step 2 — Accountカスタムフィールドの準備
入力用フィールド(解約シグナルデータ)
Accountオブジェクトにカスタムフィールドを追加します。オブジェクトマネージャーのAccount設定から「項目とリレーション」→「新規」で追加できます。
| フィールド名 | API名 | 型 | 補足 |
|---|---|---|---|
| 月間利用回数 | Monthly_Usage_Count__c | 数値(10,0) | 当月のサービス利用回数 |
| 前月利用回数 | Previous_Month_Usage__c | 数値(10,0) | 比較用の前月データ |
| 最終ログイン日 | Last_Login_Date__c | 日付 | 最後にサービスにログインした日 |
| サポート満足度 | Support_Satisfaction__c | 選択リスト | 非常に満足/満足/普通/不満/非常に不満 |
| NPSスコア | NPS_Score__c | 数値(3,0) | -100〜100 |
| 未解決ケース数 | Open_Case_Count__c | 数値(10,0) | オープンなサポートケース数 |
| 契約更新日 | Contract_Renewal_Date__c | 日付 | 次回の契約更新予定日 |
出力用フィールド(AI分析結果)
AIエージェントの分析結果を格納するフィールドも用意します。
| フィールド名 | API名 | 型 | 補足 |
|---|---|---|---|
| 解約リスクスコア | Churn_Risk_Score__c | 数値(3,0) | 0〜100の総合スコア |
| リスクレベル | Churn_Risk_Level__c | 選択リスト | 高/中/低(60点以上=高、30-59=中、30未満=低) |
| リテンション施策 | Retention_Action__c | ロングテキスト | 推奨するリテンション施策 |
| AI判定理由 | Churn_AI_Reason__c | ロングテキスト | 検知されたシグナルの詳細 |
| 解約予兆検知日 | Churn_Signal_Detected_Date__c | 日付 | フロー実行日 |
| リテンション対応状況 | Retention_Status__c | 選択リスト | 未対応/対応中/対応済/解約 |
| AI処理済フラグ | Churn_AI_Processed__c | チェックボックス | FALSE(デフォルト) |
フロー内の変数・数式
| 変数名 | 型 | 用途 |
|---|---|---|
| v_RiskScore | 数値(初期値 0) | 加点式のリスクスコア累計 |
| v_RiskLevel | テキスト(初期値「低」) | リスクレベル(高/中/低) |
| v_Reason | テキスト | 判定理由を連結 |
| v_Action | テキスト | 推奨アクションを連結 |
リスクスコアリングロジック
フローの中心となるスコアリングロジックです。4つの「決定」要素を順番に実行し、該当する条件ごとに「割り当て」要素でスコアを加点していきます。
決定1 — 利用量低下チェック
- 50%以上減少 → +40点。「CSマネージャーによる緊急ヒアリング実施」
- 20〜50%減少 → +20点。「利用促進キャンペーンの実施を検討」
決定2 — NPS悪化チェック
- NPS負値(批判者) → +25点。「特別割引・機能追加等の提案を検討」
- NPS 0〜30未満(中立者下位) → +10点。「フォローアップ頻度の増加を推奨」
決定3 — 未ログインチェック
- 30日以上未ログイン → +15点。「リエンゲージメントメール送信」
決定4 — 未解決ケースチェック
- 3件超 → +15点。「サポートチームによる優先対応」
リスクレベル判定と結果書き戻し
スコアリング完了後、合計スコアに基づいてリスクレベルを判定し、Accountレコードに書き戻します。
| スコア範囲 | リスクレベル | アクション |
|---|---|---|
| 60点以上 | 高 | 即時対応 + ToDo自動作成 |
| 30〜59点 | 中 | 要注意 + ToDo自動作成 |
| 30点未満 | 低 | 通常対応(定期チェックイン継続) |
ToDo自動作成
リスクレベルが「高」または「中」の場合、取引先所有者にフォローアップToDoを自動作成します。
ToDo自動作成のメリット
分析結果が確実にアクションにつながる仕組みです。CSマネージャーはToDoを受け取ったら、記載された推奨アクションに沿って即座にフォローアップを開始できます。件名には「【解約リスク高】アルファ商事 フォローアップ」のようにリスクレベルと取引先名が自動で入ります。

Flow Builderで表示したフロー全体図。開始要素からスコアリング → リスク判定 → 結果書き戻し → ToDo作成までの流れが確認できます。
Step 5 — 動作検証と結果
テスト実行
アルファ商事(高リスク想定)の月間利用回数を変更して保存すると、フローが自動起動します。数秒後にレコードをリロードすると、分析結果が反映されています。
アルファ商事の分析結果 — 95点(高リスク)
- 利用量50%以上減少(月間20 vs 前月100 = -80%) → +40点
- NPSスコアが負値(-10) → +25点
- 30日以上未ログイン(45日前) → +15点
- 未解決ケースが3件超(5件) → +15点
- 合計 95点 → リスクレベル「高」

アルファ商事のAccountレコード。解約リスクスコア95点、リスクレベル「高」が表示され、フォローアップToDoも自動作成されています。
全7件のテスト結果
| 取引先名 | スコア | レベル | スコア内訳 | 主な検知理由 |
|---|---|---|---|---|
| アルファ商事 | 95点 | 高 | 利用+40, NPS+25, ログイン+15, ケース+15 | 全シグナル検知 |
| ベータ工業 | 30点 | 中 | 利用+20, NPS+10 | 利用量37.5%減・NPS15 |
| ガンマソリューションズ | 20点 | 低 | 利用+20 | NPS30は閾値境界で非該当 |
| デルタコンサルティング | 45点 | 中 | 利用+20, NPS+10, ログイン+15 | 複合リスク |
| イプシロンテック | 0点 | 低 | 加点なし | 全指標健全 |
| ゼータホールディングス | 0点 | 低 | 加点なし | ロイヤル顧客 |
| エータサービス | 95点 | 高 | 利用+40, NPS+25, ログイン+15, ケース+15 | 最も深刻 |
7件中、高リスク2件(アルファ・エータ)、中リスク2件(ベータ・デルタ)、低リスク3件(ガンマ・イプシロン・ゼータ)と、設計通りの判定結果になりました。
注目ポイント
- ガンマソリューションズは当初「中リスク」を想定していましたが、実際は20点で「低リスク」判定に。NPS=30がちょうど閾値境界で「30未満」の条件に該当しなかったためです。閾値を ≤30 に変更すれば対応可能です
- ベータ工業は30点でちょうど「中リスク」の下限に該当。スコアリングの閾値設計が想定通り機能しています
- 高リスクの2件はいずれも95点で、4つのリスクシグナル全てが検知されています
まとめと本番運用に向けて
構築したもの
| コンポーネント | 名称 | 内容 |
|---|---|---|
| Agentforceエージェント | 解約リスクアナリスト | Employee Agent。トピック「解約予兆分析」 |
| カスタムフィールド | 16個 | 入力7 + 出力8 + 数式1 |
| レコードトリガフロー | 解約予兆AI検知フロー | 加点式スコアリング + ToDo自動作成 |
| Lightning Record Page | Accountレコードページ | 「解約シグナル」「AI分析結果」の2セクション |
| テストデータ | 7件 | 高リスク2件・中リスク2件・低リスク3件 |
実装のポイント
再現しやすい設計
- レコードトリガフロー + 加点式スコアリングで、データ変更を起点にリスク分析を自動実行。フロービルダーから構築可能なノーコードアプローチ
- Churn_AI_Processed__c フラグで無限ループを確実に防止
- Lightning Record Pageのカスタマイズで、入力データとAI分析結果を1画面に集約
- ToDo自動作成により、分析結果が確実にアクションにつながる仕組み
スコアリング閾値の調整ガイド
本番運用では、自社のビジネス特性に合わせてスコアリングの閾値を調整することをお勧めします。
| 調整ポイント | 現在の設定 | 検討例 |
|---|---|---|
| 利用量減少の重度閾値 | 50%以上 | 業種によっては30%でも重大リスク |
| NPS閾値 | 負値で重度、30未満で中度 | NPS業界平均に合わせて調整 |
| 未ログイン日数 | 30日 | 日次利用SaaSなら7日、月次なら60日 |
| 未解決ケース数 | 3件超 | サポート体制に応じて2件や5件に |
| リスクレベル境界 | 60点/30点 | 高感度にするなら50点/20点に |
本番運用での拡張アイデア
- Einstein Prompt Template連携 — フロー内からPrompt Templateを呼び出し、LLMにより高度なリテンション施策を提案させる
- 利用データの自動連携 — 外部SaaSのAPIとフローHTTP Callout機能で利用回数・ログイン日を自動更新
- ダッシュボード — CRM Analyticsで「リスクレベル別取引先数推移」「業種別解約リスク分布」を可視化
- Slackアラート — 高リスク検知時にCSチャンネルへ自動通知
- スケジュール実行 — 日次スケジュールフローで全Accountのフラグをリセットし、定期的にリスク再評価