行動分析を使用してチャーン信号を早期に特定し、顧客を保持するための対策を講じます。
SaaSのチャーンを理解する
チャーンの種類
| 種類 | 定義 | 追跡可能? |
|---|---|---|
| 自発的 | 顧客がキャンセル | はい |
| 非自発的 | 支払いが失敗 | はい |
| サイレント | 使用を停止、支払い継続 | はい - 重大! |
| ダウングレード | 低いプランに移動 | はい |
チャーンメトリクス
| メトリクス | 計算式 | 良いベンチマーク |
|---|---|---|
| 月間チャーン率 | 喪失 ÷ 月初 | <5% |
| 年間チャーン | 喪失 ÷ 年間顧客数 | <10% |
| 純収益保持 | (MRR + 拡張 - チャーン) ÷ 開始MRR | >100% |
| ロゴチャーン | 喪失アカウント ÷ 総アカウント | <3% |
チャーン信号を特定する
行動信号
チャーンを予測する使用パターンを追跡します:
| 信号 | リスクレベル | チャーン前の日数 |
|---|---|---|
| ログイン0回(7日間) | 高 | 14-30 |
| 機能使用の減少 | 中 | 30-60 |
| サポートチケットの急増 | 中 | 30-45 |
| 管理者変更 | 要確認 | 45-60 |
| 統合削除 | 高 | 14-21 |
アクティビティ低下の追跡
// 日次アクティブ使用を追跡
zenovay('track','user_session', {
user_id: 'user_123',
account_id: 'acc_456',
session_duration: 1200,
features_used: ['dashboard', 'reports', 'export'],
actions_count: 45
});
// 機能削除を追跡
zenovay('track','feature_disabled', {
account_id: 'acc_456',
feature: 'api_integration',
connected_since_days: 180
});
ヘルススコアを作成
// ヘルススコアを計算して追跡
function updateAccountHealth(accountId) {
const factors = {
login_frequency: calculateLoginScore(), // 0-25
feature_breadth: calculateFeatureScore(), // 0-25
user_growth: calculateUserGrowthScore(), // 0-20
support_sentiment: calculateSupportScore(), // 0-15
billing_health: calculateBillingScore() // 0-15
};
const totalScore = Object.values(factors).reduce((a, b) => a + b, 0);
zenovay('track','health_score_updated', {
account_id: accountId,
score: totalScore,
factors: factors,
risk_level: totalScore < 40 ? 'high' : totalScore < 70 ? 'medium' : 'low'
});
}
チャーンダッシュボードを構築
リスクセグメント
ヘルススコアに基づいてセグメントを作成します:
| セグメント | ヘルススコア | 基数の% | アクション |
|---|---|---|---|
| 健全 | 80-100 | 45% | アップセル |
| 安定 | 60-79 | 30% | 監視 |
| リスク中 | 40-59 | 15% | 介入 |
| 重大 | 0-39 | 10% | 緊急 |
セグメント移動を追跡
// アカウントがリスクレベルを変更した場合を追跡
zenovay('track','risk_level_changed', {
account_id: 'acc_456',
previous_level: 'stable',
new_level: 'at_risk',
trigger: 'login_frequency_dropped',
days_at_previous: 90
});
アラートを設定
以下の場合にアラート:
- アカウントが「リスク中」セグメントに入る
- ヘルススコアが7日間で20ポイント以上低下
- 重要なアカウントで0アクティビティ
- 同じアカウントの複数ユーザーが非アクティブ
使用パターン分析
ログイン頻度追跡
// ログインパターンを追跡
zenovay('track','user_login', {
user_id: 'user_123',
account_id: 'acc_456',
days_since_last_login: 3,
login_streak: 5,
device: 'desktop'
});
機能使用の深さ
機能使用の幅を追跡します:
| 使用レベル | 使用機能 | チャーンリスク |
|---|---|---|
| パワーユーザー | 80%以上の機能 | 非常に低い |
| 通常 | 50-79% | 低い |
| 基本 | 25-49% | 中程度 |
| 最小限 | <25% | 高い |
// 機能エンゲージメントを追跡
zenovay('track','feature_engagement', {
account_id: 'acc_456',
features_available: 20,
features_used_30d: 8,
engagement_score: 40,
trending: 'declining'
});
重要機能の粘着性
保持と関連する機能を特定します:
| 機能 | 使用者 | 12ヶ月保持 |
|---|---|---|
| チーム協業 | 45% | 92% |
| API統合 | 30% | 88% |
| カスタムレポート | 55% | 85% |
| 基本ダッシュボードのみ | 70% | 58% |
粘着性のある機能の採用を追跡:
zenovay('track','sticky_feature_adopted', {
account_id: 'acc_456',
feature: 'team_collaboration',
users_using: 5,
adoption_date: new Date().toISOString()
});
コホートチャーン分析
サインアップコホート
登録月ごとのチャーンを追跡:
| コホート | M1 | M3 | M6 | M12 |
|---|---|---|---|---|
| 1月 | 5% | 12% | 18% | 25% |
| 2月 | 4% | 10% | 15% | - |
| 3月 | 6% | 14% | - | - |
買収チャネル別
| チャネル | 12ヶ月チャーン | 備考 |
|---|---|---|
| 紹介 | 15% | 最高の保持 |
| オーガニック | 22% | 良好なフィット |
| 有料広告 | 35% | 低い品質 |
| アフィリエイト | 40% | 価格駆動 |
プランタイプ別
| プラン | 年間チャーン | MRRチャーン |
|---|---|---|
| 月間 | 28% | 25% |
| 年間 | 8% | 10% |
| エンタープライズ | 5% | 8% |
チャーン前の指標
キャンセルフロー追跡
// ユーザーがキャンセルページを開く
zenovay('track','cancellation_page_viewed', {
account_id: 'acc_456',
current_plan: 'pro',
months_as_customer: 8,
mrr: 99
});
// ユーザーが理由を提供
zenovay('track','cancellation_reason', {
account_id: 'acc_456',
reason: 'too_expensive',
feedback: 'Need more flexible pricing'
});
// キャンセル完了
zenovay('track','subscription_cancelled', {
account_id: 'acc_456',
reason: 'too_expensive',
lifetime_value: 792,
months_as_customer: 8,
cancel_date: new Date().toISOString(),
effective_date: '2025-02-15'
});
保存オファー追跡
// キャンセル中にオファーを表示
zenovay('track','save_offer_shown', {
account_id: 'acc_456',
offer_type: 'discount_30',
offer_value: 30
});
// オファー受け入れ
zenovay('track','save_offer_accepted', {
account_id: 'acc_456',
offer_type: 'discount_30',
new_mrr: 69,
commitment_months: 3
});
プロアクティブな介入
トリガーされたアクション
自動化された介入を設定します:
| トリガー | アクション | 追跡 |
|---|---|---|
| 7日間ログインなし | メールチェックイン | intervention_email_sent |
| 機能使用が50%低下 | アプリ内ヒント | feature_tips_shown |
| サポートチケット否定的 | CSM連絡 | csm_assigned |
| ヘルススコア <40 | 個別通話 | intervention_call |
// 介入を追跡
zenovay('track','intervention_triggered', {
account_id: 'acc_456',
trigger: 'health_score_drop',
intervention_type: 'csm_outreach',
priority: 'high'
});
// 介入結果を追跡
zenovay('track','intervention_outcome', {
account_id: 'acc_456',
intervention_type: 'csm_outreach',
outcome: 'saved',
new_health_score: 65,
notes: 'Resolved integration issue'
});
ウィンバック キャンペーン
離脱顧客の回復を追跡:
// ウィンバックオファーを送信
zenovay('track','winback_campaign_sent', {
account_id: 'acc_456',
days_since_churn: 30,
offer: 'first_month_free'
});
// 顧客が再度有効化
zenovay('track','customer_reactivated', {
account_id: 'acc_456',
days_churned: 45,
reactivation_offer: 'first_month_free',
new_plan: 'pro'
});
チャーン分析レポート
月間チャーンレポート
含める内容:
- 流出したアカウントのリスト
- チャーン理由の内訳
- 収益への影響
- チャーン前のヘルススコア
- 早期警告の精度
コホート保持レポート
長期保持を追跡:
- 1、3、6、12ヶ月の保持
- チャネル、プラン、企業規模別
- トレンド分析
介入の有効性
| 介入 | トリガー | 保存 | 保存率 |
|---|---|---|---|
| メールシリーズ | 150 | 45 | 30% |
| CSM連絡 | 50 | 25 | 50% |
| 割引オファー | 80 | 32 | 40% |
| トレーニングセッション | 30 | 18 | 60% |
予測的チャーンモデル
入力信号
これらのメトリクスをチャーン予測に供給:
- ログイン頻度の傾向
- 機能使用の幅
- サポートチケットの量/センチメント
- 請求の問題
- ユーザー数の傾向
- 管理者アクティビティ
リスク スコアリング
// 日次リスクスコア計算
zenovay('track','churn_prediction', {
account_id: 'acc_456',
churn_probability: 0.35,
confidence: 0.82,
top_factors: [
'login_decline',
'feature_usage_narrow',
'support_negative'
],
predicted_churn_date: '2025-03-15'
});
モデル パフォーマンス
予測精度を追跡:
- 真陽性(予測され流出)
- 偽陽性(予測されたが継続)
- 精度とリコール
- リード時間(どの程度早く予測したか)
ベストプラクティス
早期検出
-
継続的に監視
- ヘルススコアの日次更新
- 週次トレンド分析
- 月次コホートレビュー
-
複数の信号
- 1つのメトリクスのみに依存しない
- 使用 + サポート + 請求を組み合わせる
-
迅速に対応
- 最初の警告で介入
- 確認を待たない
介入戦略
-
セグメント化されたアプローチ
- 高MRR = 個別対応
- 低MRR = 自動化
-
理由を理解
- 症状ではなく根本原因
- 製品の問題 vs フィットの問題
-
効果を測定
- 介入結果を追跡
- データに基づいて最適化
よくある間違い
-
キャンセルのみに焦点を当てる
- サイレントチャーンはより大きい
- サブスクリプションだけでなく使用を追跡
-
すべてを同じに扱う
- 異なるセグメントは異なるアプローチが必要
- 介入をカスタマイズ
-
反応が遅い
- キャンセルする時点では遅すぎることが多い
- 早期警告が重要