ひとことで言うと#
「あるイベント(解約・故障・離脱など)がいつ起きるか」を確率的に分析する手法。まだイベントが起きていないデータ(打ち切りデータ)も有効に活用でき、コホート分析では見えない離脱の細かなタイミングやリスク要因を特定できる。
押さえておきたい用語#
- 生存関数(Survival Function)
- 時間tの時点でまだイベント(解約・故障等)が起きていない確率のこと。生存曲線のY軸に相当する。
- 打ち切りデータ(Censored Data)
- 観察期間内にイベントが発生しなかったデータを指す。「まだ解約していない」ユーザーを捨てずに分析に活用できるのが生存分析の最大の利点。
- カプラン=マイヤー推定量(Kaplan-Meier Estimator)
- 打ち切りデータを考慮して生存関数を推定する最も基本的な手法のこと。階段状の生存曲線を描く。
- ハザード比(Hazard Ratio)
- ある要因を持つグループが持たないグループに比べてイベント発生リスクが何倍かを示す指標である。コックス回帰で算出する。
生存分析の全体像#
こんな悩みに効く#
- サブスクの解約率は把握しているが、「いつ頃」「なぜ」解約されるのかがわからない
- 新規顧客が30日以内に離脱するのと、6ヶ月後に離脱するのでは対策が違うはず
- まだ解約していない顧客のデータも分析に活かしたい
基本の使い方#
分析の対象イベントと観察の開始・終了を明確にする。
- イベント: 解約、初回購入、故障、退職 など
- 開始時点: 登録日、利用開始日、設置日 など
- 観察終了時点: 分析実施日(まだイベントが起きていない=打ち切り)
例: 「2025年1月〜12月に登録したユーザーの解約イベント」
- イベント発生: 解約した → 解約までの日数を記録
- 打ち切り: まだ利用中 → 「最低でもN日は継続」として記録
ポイント: 打ち切りデータを捨てないことが生存分析の最大の利点。通常の平均値計算では利用中のユーザーを除外してしまい、過小評価になる。
時間の経過とともに「まだイベントが起きていない確率(生存率)」がどう推移するかを可視化する。
- X軸: 経過日数(または月数)
- Y軸: 生存率(0%〜100%)
- 曲線が急に落ちるポイント = 離脱リスクが高いタイミング
読み取り例:
- 登録30日後の生存率: 65%(35%が30日以内に離脱)
- 登録90日後の生存率: 50%(半数が3ヶ月以内に離脱)
- 90日以降はなだらか → 3ヶ月を超えると定着する
ツール: Python(lifelines ライブラリ)、R(survival パッケージ)、Excel(手計算も可能)。
異なるグループの生存曲線を重ねて、どのグループが離脱しやすいかを比較する。
比較の切り口:
- 獲得チャネル別(広告経由 vs オーガニック)
- プラン別(無料 vs 有料)
- 行動別(チュートリアル完了 vs 未完了)
- 期間別(2025年前半登録 vs 後半登録)
ログランク検定で統計的に有意な差があるか検定する。
ポイント: グループ間の差が大きい変数 = 離脱に影響する重要な要因。施策のターゲティングに直結する。
コックス比例ハザードモデルで、複数の要因が離脱リスクにどれだけ影響しているかを同時に分析する。
ハザード比の解釈:
- ハザード比 > 1: その要因があると離脱リスクが高い
- ハザード比 < 1: その要因があると離脱リスクが低い
例: チュートリアル未完了のハザード比が2.3 → 未完了ユーザーは完了ユーザーの2.3倍解約しやすい
→ チュートリアル完了率を上げる施策が最優先アクションになる。
具体例#
状況: 月額1,200円の動画配信サービス。有料会員12万人。新規ユーザーの6ヶ月以内の解約率が60%と高く、LTVが伸び悩んでいる。
カプラン=マイヤー曲線の分析結果:
- 7日後の生存率: 82%(18%が1週間以内に解約)
- 30日後の生存率: 55%(無料トライアル終了時に急落)
- 90日後の生存率: 42%
- 180日後の生存率: 38%(以降はなだらか)
グループ比較:
| グループ | 30日生存率 | 180日生存率 |
|---|---|---|
| ウォッチリスト作成あり | 72% | 55% |
| ウォッチリスト作成なし | 40% | 22% |
| 初週に3作品以上視聴 | 75% | 58% |
| 初週に1作品以下 | 38% | 18% |
コックス回帰の結果:
- 初週の視聴数が少ない → ハザード比 2.8(最大のリスク要因)
- ウォッチリスト未作成 → ハザード比 1.9
- モバイルのみ利用 → ハザード比 1.4
施策:
- 登録直後に「おすすめ3作品」をプッシュ通知(初週視聴数を増やす)
- チュートリアルでウォッチリスト作成を必須ステップに
- テレビデバイスでの視聴を促進する案内メール
施策実施後、6ヶ月後の生存率は**38%→48%に改善、LTVは平均30%**向上。「初週の視聴数」が最大リスク要因――これがわかったからこそ、ピンポイントの介入ができた。
状況: 自動車部品メーカー。生産ライン上のプレス機80台を保有。突発的な故障が月平均3.5件発生し、1件あたりの復旧に平均8時間かかる。1時間の停止で約150万円の損失。
生存分析の設計:
- イベント: 故障発生
- 時間軸: 前回メンテナンスからの稼働時間
- 打ち切り: 観察期間終了時点で故障していない機器
カプラン=マイヤー曲線の結果:
- 2,000時間後の生存率: 92%
- 4,000時間後の生存率: 74%
- 6,000時間後の生存率: 45%(急激に低下)
- 8,000時間後の生存率: 18%
コックス回帰(リスク要因):
| 要因 | ハザード比 | 解釈 |
|---|---|---|
| 製造年が10年超 | 2.1 | 古い機器は故障リスク2.1倍 |
| 振動センサー異常値あり | 3.5 | 振動異常は最大のリスク信号 |
| 前回メンテナンスからの稼働5,000h超 | 2.8 | 5,000時間が重要な閾値 |
アクション:
- 稼働5,000時間を予防保全の基準タイミングに設定
- 振動センサーの閾値超過時は即座に点検スケジュールに組み込む
- 製造年10年超の機器には短縮サイクル(3,500時間)を適用
突発故障は月平均3.5件→1.2件に減少。年間の故障関連損失は5,040万円→1,440万円(72%改善)。では何が変わったのか。「壊れてから直す」から「壊れる前に手を打つ」への転換を、データが可能にした。
状況: 登録スタッフ800名の地方の人材派遣会社。派遣先での離職率が6ヶ月以内に42%に達し、採用・研修コストが年間2,400万円かかっている。
生存分析の設計:
- イベント: 派遣先での離職(自己都合退職)
- 開始時点: 派遣開始日
- 打ち切り: 分析時点で就業継続中
カプラン=マイヤー曲線の結果:
- 30日後の生存率: 85%(初月に15%が離脱)
- 90日後の生存率: 68%(3ヶ月で32%が離脱 — 最大の離脱ポイント)
- 180日後の生存率: 58%
- 365日後の生存率: 52%(半年超えると安定)
グループ比較:
| グループ | 90日生存率 | 365日生存率 |
|---|---|---|
| 派遣前面談30分以上 | 78% | 62% |
| 派遣前面談15分未満 | 55% | 38% |
| 月1回のフォロー面談あり | 80% | 68% |
| フォロー面談なし | 58% | 40% |
コックス回帰:
- フォロー面談なし → ハザード比 2.4(最大リスク要因)
- 派遣前面談が短い → ハザード比 1.8
- 通勤時間60分超 → ハザード比 1.5
「月1回のフォロー面談」が離職防止の最も強い保護要因だった。全スタッフへのフォロー面談を義務化し、90日生存率が68%→79%に改善。年間の採用・研修コストは2,400万円→1,600万円に。何をすれば人が辞めないか――答えはデータの中にあった。
やりがちな失敗パターン#
- 打ち切りデータを無視する — 「まだ解約していないユーザーは分析対象外」としてしまうと、データの大部分を捨てることになり、結果が偏る。打ち切りデータを正しく扱うことが生存分析の核心
- 生存曲線だけで満足する — 曲線を描いて「30日後に大きく落ちますね」で終わるのはもったいない。コックス回帰でリスク要因を定量化し、具体的な施策につなげるところまでやる
- 比例ハザードの仮定を確認しない — コックス回帰は「リスク比が時間を通じて一定」という仮定に基づく。この仮定が成り立つかシェーンフェルド残差などで確認する。仮定が崩れる場合は時間依存モデルを検討
- サンプルサイズが小さすぎる — 生存分析にはイベント発生数がある程度必要。コックス回帰では1つの説明変数あたり最低10件のイベントが目安。サンプルが少ない場合は変数を絞るか、カプラン=マイヤー曲線の比較にとどめる
まとめ#
生存分析は、「いつイベントが起きるか」を確率的に分析する手法。打ち切りデータも活用でき、離脱タイミングとリスク要因を精密に特定できる。サブスクの解約予防、設備の予知保全、人材の離職防止など、「時間とイベント」があるデータなら幅広く適用可能。まずは自社サービスのカプラン=マイヤー曲線を描いて、「どのタイミングで大きく離脱するか」を可視化するところから始めよう。