mcpField
C
churn-risk-detector

churn-risk-detector

github.com/gooseworks-aiマーケティング・グロース1.3k46 回インストール3 日前に更新
リポジトリ

churn-risk-detector について

churn-risk-detectorは、カスタマーサクセス基盤を持たない初期チーム向けの顧客分析スキルです。サポート、コミュニケーション、利用状況、請求のシグナルをまとめてリスクを評価し、対策を提案します。

主な機能

  1. 01サポートと連絡状況の分析
  2. 02利用状況と請求パターンの評価
  3. 03アカウントのスコア化とリスク分類
  4. 04高リスクアカウントへの対策作成
  5. 05週次リスクレポートの作成

活用シーン

  1. 01維持対応が必要なアカウントの特定
  2. 02週次の顧客ヘルス状況の確認
  3. 03更新前の連絡優先度の判断

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gooseworks-ai/goose-skills --skill churn-risk-detector

インストール後、Claude Code で/churn-risk-detectorを入力して読み込まれたか確認します。

同梱ファイルskill.meta.json

詳細

解約リスク検出

手遅れになる前に、解約のリスクがあるアカウントを見つけます。サポート、コミュニケーション、利用パターンからシグナルを集約し、具体的な引き留め策を含むリスクレポートをスコア付きで作成します。

対象: CS プラットフォーム(Gainsight、ChurnZero など)を導入していないアーリーステージのチーム。顧客リストのスプレッドシートと、Slack チャンネル、サポート受信箱があれば、このスキルでそれらの生データを、対応可能な解約リスク一覧に変換できます。

使用するタイミング

  • 「解約リスクのある顧客はどの顧客ですか?」
  • 「毎週の解約リスクスキャンを実行してください」
  • 「注意すべきアカウントにフラグを立ててください」
  • 「しばらく連絡が取れていない顧客は誰ですか?」
  • 「顧客のヘルスレポートを作成してください」

フェーズ 0:情報の受け取り

アカウントデータ
  1. 顧客リスト — 会社名、主な連絡先のメールアドレス、契約金額(MRR/ARR)、契約開始日、更新日(わかる場合)を含む CSV またはシート
  2. 製品/サービスの種類 — 顧客が何に対して料金を支払っているか(想定されるエンゲージメントの調整に役立ちます)
シグナルの情報源(提供できるもの)
  1. サポートチケット — Intercom、Zendesk、またはメールからエクスポートしたデータ(顧客、日付、件名、ステータス、解決までの時間を含む CSV)
  2. Slack チャンネルの履歴 — 顧客の Slack チャンネルまたは共有チャンネルのメッセージ
  3. NPS/CSAT スコア — スコアとコメントを含む直近のアンケート結果
  4. 利用データ — ログイン数、API 呼び出し数、使用機能、アクティブユーザーなど、追跡しているメトリクス(CSV エクスポート)
  5. メール/コミュニケーションの記録 — アカウントごとの直近の接点(日付とコンテキスト)
  6. 請求データ — 支払いの失敗、ダウングレード、割引の依頼
調整
  1. 「健全な状態」とはどのようなものですか? — 健全な顧客の特徴を説明してください(例:「毎日ログインし、3 つ以上の機能を使い、24 時間以内にメールに返信する」)
  2. 過去に判明した解約理由 — 過去に顧客が解約した理由は何ですか?(シグナルの重み付けに役立ちます)

フェーズ 1:シグナルの抽出

1A:サポートシグナルの分析

サポートチケットのデータから、アカウントごとに以下を計算します。

シグナル計算方法リスクの重み
チケット数の急増直近 30 日間のチケット数が平均の 2 倍を超える高
未解決チケット7 日を超えて未解決のチケット高
エスカレーションを示す表現キーワード:「cancel」、「frustrated」、「alternative」、「not working」、「disappointed」重大
応答時間の悪化この顧客への平均応答時間が長くなっている中
同じ問題の繰り返し同じ問題が 2 回以上報告されている高
1B:コミュニケーションシグナルの分析

Slack/メールの履歴から分析します。

シグナル計算方法リスクの重み
連絡が途絶えている以前は活発だったが、30 日以上メッセージがない高
頻度の低下過去 90 日間と比べてメッセージの頻度が 50%を超えて低下中
ネガティブな感情への変化トーンが肯定的から中立/否定的に変化中
担当者のエンゲージメント低下主な連絡先から返信がなくなった重大
新しい関係者からの質問新しい人物が「これは何をするものですか?」といった基本的な質問をしている中(組織再編の可能性)
1C:利用シグナルの分析(データがある場合)
シグナル計算方法リスクの重み
ログイン数の減少アクティブユーザー数が前月比で 30%を超えて減少高
機能の利用停止以前は定期的に使っていた主要機能を使わなくなった高
浅い利用多くの機能に料金を支払っているが、使っている機能は 1 つだけ中
成長なし6 か月以上、シート数/ユーザー数に変化がない低
エクスポート数の急増データのエクスポートが突然増加重大(移行の可能性)
1D:商業シグナルの分析
シグナル計算方法リスクの重み
割引の依頼価格の引き下げを依頼した高
ダウングレードに関する問い合わせ下位のプランについて問い合わせた重大
支払いの失敗支払いの失敗が 7 日以上解決されていない高
契約更新が近い更新まで 60 日を切っているが、更新について話し合っていない中
競合他社への言及いずれかのチャンネルで競合他社に言及した高

フェーズ 2:リスクスコアの算出

スコアリングモデル

各アカウントには、複合リスクスコア(0~100)が付与されます。

Risk Score = Σ (signal_weight × signal_present)

Weights:
  Critical signal = 25 points each
  High signal     = 15 points each
  Medium signal   = 8 points each
  Low signal      = 3 points each

Score cap: 100
リスクレベル
レベルスコアラベル対応の緊急度
Red70-100重大なリスク — 解約の可能性が高い今週中
Orange40-69リスク上昇 — 対応が必要2週間以内
Yellow20-39早期警告 — 注意深く監視30日以内
Green0-19健全 — 対応不要定期確認

フェーズ 3:引き留め策の作成

Red および Orange の各アカウントについて、具体的な引き留め策を作成します。

引き留め策のテンプレート
ACCOUNT: [Company Name]
RISK TIER: [Red/Orange]
RISK SCORE: [X/100]
MRR/ARR: $[X]

SIGNALS DETECTED:
- [Signal 1] — [Evidence: specific data point]
- [Signal 2] — [Evidence]
- [Signal 3] — [Evidence]

ROOT CAUSE HYPOTHESIS:
[1-2 sentences: What do you think is actually going wrong?
 E.g., "Champion left the company and new stakeholder hasn't been onboarded"
 or "They hit a technical limitation with [feature] that's blocking their primary use case"]

RECOMMENDED SAVE PLAY:
1. [Immediate action — e.g., "Schedule a call with [contact] this week"]
2. [Follow-up — e.g., "Send a personalized Loom showing how to solve [specific issue]"]
3. [Structural fix — e.g., "Assign a dedicated onboarding session for new stakeholder"]

TALK TRACK:
"[2-3 sentences the CSM/founder can use to open the conversation naturally,
 without saying 'we noticed you might be churning']"

ESCALATION TRIGGER:
If [specific condition] by [date], escalate to [founder/CEO call].

フェーズ 4:出力形式

# Churn Risk Report — Week of [DATE]
Total accounts scanned: [N]
Data sources: [list what was available]

---

## Risk Summary

| Tier | Count | Total MRR at Risk |
|------|-------|-------------------|
| 🔴 Red (Critical) | [N] | $[X] |
| 🟠 Orange (Elevated) | [N] | $[X] |
| 🟡 Yellow (Early Warning) | [N] | $[X] |
| 🟢 Green (Healthy) | [N] | $[X] |

**Total MRR at risk (Red + Orange):** $[X] ([Y]% of total MRR)

---

## 🔴 Critical Risk Accounts

### [Company Name 1] — Score: [X]/100 | MRR: $[X]
**Signals:** [bullet list]
**Root cause:** [hypothesis]
**Save play:** [specific actions]
**Owner:** [who should act]
**Deadline:** [date]

### [Company Name 2] — ...

---

## 🟠 Elevated Risk Accounts

### [Company Name] — Score: [X]/100 | MRR: $[X]
**Signals:** [bullet list]
**Recommended action:** [1-2 sentences]

---

## 🟡 Early Warning Accounts

| Account | Score | Key Signal | Suggested Action |
|---------|-------|------------|-----------------|
| [Name] | [X] | [Signal] | [Action] |
| [Name] | [X] | [Signal] | [Action] |

---

## Trends vs Last Week

- Accounts moved Red → Green: [list — wins!]
- Accounts moved Green → Yellow/Orange: [list — new risks]
- Accounts churned since last report: [list]

---

## Signal Distribution

| Signal Type | Accounts Affected |
|------------|-------------------|
| Support ticket spike | [N] |
| Gone silent | [N] |
| Usage decline | [N] |
| Competitor mention | [N] |
| Payment issue | [N] |
| Champion disengagement | [N] |

---

## Recommended Focus This Week

1. **[Account]** — [Why + what to do]
2. **[Account]** — [Why + what to do]
3. **[Account]** — [Why + what to do]

現在の作業ディレクトリに risk-report-[YYYY-MM-DD].md として保存します。

スケジュール設定

毎週実行します。

0 8 * * 1 python3 run_skill.py churn-risk-detector --client <client-name>

費用

項目費用
すべてのシグナル分析無料(LLM による推論)
Slack/メールの解析無料
合計無料

必要なツール

  • CSV/シートからの入力データ(サポートチケット、利用状況、NPS)
  • 任意: コミュニケーションに関するシグナルを確認するための Slack チャンネルの読み取り
  • 外部 API の費用なし — 分析のみ

起動フレーズ

  • 「リスクのある顧客はどれですか?」
  • 「解約リスクのスキャンを実行」
  • 「週次顧客健全性レポート」
  • 「リスクのあるアカウントにフラグを設定」

コメント