営業担当は「いい感じです」と言う。VP は金曜までにフォーキャストを求めている。パイプラインを開くと取引が47件 — でも、どれが本当にクローズできるのか? 一貫したスコアリングモデルがなければ、パイプラインレビューはただの勘頼みになる。取引スコアリングは、すべての取引に同じ基準を毎回適用することで、これを解決する。
AIを使ってパイプライン内の全取引を自動スコアリングし、チームが確度の高い取引に集中できる仕組みを構築する方法を紹介する。
構築するもの
- CRMパイプラインから全オープン取引を取得
- AI による資格分析で各取引をスコアリング(エンゲージメント、データ品質、企業適合度、パイプライン進捗)
- 優先度バンドでタグ付け — very good、good、medium、low
- スコアをパイプラインに反映し、担当者とマネージャーが実データに基づいて行動できるようにする
所要時間:Claudeコネクタなら0分、MCPなら5分、SDKなら15分。
Path A:Claude の Sanka コネクタを使う(0分)
APIキー不要。設定不要。コード不要。Claudeとの会話だけで完結する。
1. Sanka を接続
Claude 設定 → コネクタ → Sanka を探す → 接続 をクリック。 初回のOAuthログインのみ — 以降はClaudeがワークスペースを記憶する。
2. Claude にやりたいことを伝える
「パイプライン内の全オープン取引をスコアリングして。取引名、スコア、バンド、スコアの主な理由をテーブルで見せて。」
これだけ。Claude がバックグラウンドで Sanka のスコアリングAPIを呼び出し、取引を順に処理して、整理されたテーブルを返す。
3. 結果を確認
Claude はこのように返答する:
| 取引 | スコア | バンド | 主な理由 |
|---|---|---|---|
| アクメ株式会社 — エンタープライズ | 91 | Very good | 資格情報が充実+最近の活動あり |
| ブライト株式会社 — プロ | 78 | Good | 企業適合度は良好、エンゲージメント強化が必要 |
| クラウドノバ — スターター | 42 | Medium | 決裁者のコンタクトが未登録 |
| デブスタック合同会社 — トライアル | 18 | Low | 30日間活動なし — 停滞中 |
さらに続けて指示できる:「スコア50未満の取引を週次でメールして」「毎週月曜にリスコアするワークフローを作って」など。
Path B:IDE で MCP を使って構築する(5分)
Claude Code、Cursor、その他のMCP対応ツールを使う開発者向け。同じスコアリングエンジンを開発ワークフローに統合できる。
1. Sanka MCP を接続
MCP 設定(Claude Code の settings.json または Cursor の MCP 設定)に以下を追加:
{
"mcpServers": {
"sanka": {
"type": "url",
"url": "https://mcp.sanka.com/mcp?apiKey=sk_test_YOUR_KEY"
}
}
}
2. やりたいことを記述
以下のプロンプトをエージェントに貼り付ける:
discovery、proposal、negotiation ステージの全取引を一覧表示。
Sanka のスコアリング API で各取引をスコアリング。
取引名、会社名、ステージ、スコア、バンド、説明を列としたマークダウンテーブルを
スコア降順で出力。スコア40未満の取引は「要注意」とフラグ。
3. 結果を確認
エージェントが list_deals でオープン取引を取得し、各取引のスコアリングツールを呼び出す。IDE 内にマークダウンテーブルが出力され、Slack やスタンドアップドキュメントにそのまま貼り付けられる。
さらに拡張も可能:「これを毎週月曜に実行して #revenue-ops Slack チャンネルに投稿する Python スクリプトを書いて。」
Path C:SDK で構築する(15分)
バージョン管理、CI/CD 統合、カスタムロジックが必要なチーム向け。フルコントロールの本番対応コード。
1. SDK をインストール
pip install sanka-sdk
2. 構築する
from sanka_sdk import Sanka
client = Sanka(api_key="sk_live_...")
# 全オープン取引を取得
deals = client.deals.list(page=1, limit=100)
scored_deals = []
for deal in deals.data:
# 各取引をスコアリング
result = client.ai.score({
"type": "deal",
"deal_id": deal["id"]
})
scored_deals.append({
"name": deal.get("name", "無題"),
"company": deal.get("company", "—"),
"stage": deal.get("stage", "—"),
"score": result["score"],
"band": result["band"],
"explanation": result["explanation"],
})
# スコア昇順でソート(注意が必要な取引が先頭)
scored_deals.sort(key=lambda d: d["score"])
print(f"\n{'取引':<30} {'スコア':>5} {'バンド':<10} {'理由'}")
print("-" * 80)
for d in scored_deals:
flag = " ⚠" if d["score"] < 40 else ""
print(f"{d['name']:<30} {d['score']:>5} {d['band']:<10} {d['explanation']}{flag}")
3. 自動化する
cron ジョブまたは Sanka ワークフローでスケジュール実行:
# 毎週月曜朝に実行する cron
# crontab: 0 8 * * 1 python score_pipeline.py
# または Sanka ワークフローでステージ変更時にスコアリングをトリガー
workflow = client.workflows.create({
"name": "ステージ変更時に取引をスコアリング",
"trigger": {"type": "deal.stage_changed"},
"actions": [
{"type": "score_deal", "config": {"notify_if_below": 40}}
]
})
導入効果
| 指標 | 導入前 | 導入後 |
|---|---|---|
| パイプラインレビューの所要時間 | 週2時間以上 | 15分 — スコア済み・ソート済み |
| フォーキャスト精度 | 勘と期待 | データに基づくバンドと理由 |
| 停滞取引の検知 | 手遅れになってから | スコア40未満で自動フラグ |
| 担当者の集中度 | 全取引に均等 | 高スコア取引に集中 |
次のステップ
- CRM取引を自動エンリッチ — スコアラーが検出したギャップをエンリッチメントで補完
- RevOps(収益運用)ガイド — RevOps の包括的なプレイブック
- AI at Work — AI 運用のガバナンスフレームワーク
- スコアリングAPIリファレンス — エンドポイントの詳細ドキュメントとプレイグラウンド
- スコアリング製品ページ — Sanka UI でのスコアリング機能