churn-risk-detector について
churn-risk-detectorは、カスタマーサクセス基盤を持たない初期チーム向けの顧客分析スキルです。サポート、コミュニケーション、利用状況、請求のシグナルをまとめてリスクを評価し、対策を提案します。
主な機能
- 01サポートと連絡状況の分析
- 02利用状況と請求パターンの評価
- 03アカウントのスコア化とリスク分類
- 04高リスクアカウントへの対策作成
- 05週次リスクレポートの作成
活用シーン
- 01維持対応が必要なアカウントの特定
- 02週次の顧客ヘルス状況の確認
- 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:情報の受け取り
アカウントデータ
- 顧客リスト — 会社名、主な連絡先のメールアドレス、契約金額(MRR/ARR)、契約開始日、更新日(わかる場合)を含む CSV またはシート
- 製品/サービスの種類 — 顧客が何に対して料金を支払っているか(想定されるエンゲージメントの調整に役立ちます)
シグナルの情報源(提供できるもの)
- サポートチケット — Intercom、Zendesk、またはメールからエクスポートしたデータ(顧客、日付、件名、ステータス、解決までの時間を含む CSV)
- Slack チャンネルの履歴 — 顧客の Slack チャンネルまたは共有チャンネルのメッセージ
- NPS/CSAT スコア — スコアとコメントを含む直近のアンケート結果
- 利用データ — ログイン数、API 呼び出し数、使用機能、アクティブユーザーなど、追跡しているメトリクス(CSV エクスポート)
- メール/コミュニケーションの記録 — アカウントごとの直近の接点(日付とコンテキスト)
- 請求データ — 支払いの失敗、ダウングレード、割引の依頼
調整
- 「健全な状態」とはどのようなものですか? — 健全な顧客の特徴を説明してください(例:「毎日ログインし、3 つ以上の機能を使い、24 時間以内にメールに返信する」)
- 過去に判明した解約理由 — 過去に顧客が解約した理由は何ですか?(シグナルの重み付けに役立ちます)
フェーズ 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
リスクレベル
| レベル | スコア | ラベル | 対応の緊急度 |
|---|---|---|---|
| Red | 70-100 | 重大なリスク — 解約の可能性が高い | 今週中 |
| Orange | 40-69 | リスク上昇 — 対応が必要 | 2週間以内 |
| Yellow | 20-39 | 早期警告 — 注意深く監視 | 30日以内 |
| Green | 0-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 の費用なし — 分析のみ
起動フレーズ
- 「リスクのある顧客はどれですか?」
- 「解約リスクのスキャンを実行」
- 「週次顧客健全性レポート」
- 「リスクのあるアカウントにフラグを設定」
コメント
Markdown 対応