生存時間分析とは?「解約率◯%」では見えない"いつ辞めるか"の読み方
「今月の解約率は3.2%です」——サブスクリプションや会員サービスの定例会では、この形の報告が定着しています。数字は毎月出ますし、前月と比べることもできます。
ところが、こういう問いが出ると急に答えに詰まります。「解約率は下がっているのに、なぜ売上の伸びが鈍いのか」。
解約率という1つの数値は、月ごとの断面を切り取ったものです。断面をいくら並べても、それぞれの顧客がどのタイミングで辞めやすいのかは見えてきません。そして辞めるタイミングは、売上の積み上がり方を大きく変えます。
この記事では、打ち切りデータという考え方と生存関数を軸に、「いつ辞めるか」を読むための土台を整理します。
出典はlifelines の「Introduction to survival analysis」と、NIST/SEMATECH e-Handbook の Kaplan-Meier 法の節です(いずれも2026年8月29日に取得)。
30秒で要点
- 観察期間中にイベント(解約など)が起きなかった個体は「右側打ち切り」と呼ばれる。残りの経過を観察できていない状態を指す
- 打ち切られた個体を分析から除外すると、真の平均を著しく過小評価することになる
- 打ち切り個体の現時点までの期間を含めて平均を取っても、依然として過小評価になる
- 生存関数は S(t) = Pr(T > t) と定義され、「時点 t においてイベントがまだ起きていない確率」を表す
- Kaplan-Meier 法では、途中で取り除かれた個体は、取り除かれる前の最後の実際のイベント時点までしか勘定に入らない
| 用語 | 意味 |
|---|---|
| イベント | 分析の対象としている出来事。ここでは解約や退会 |
| 右側打ち切り(right-censoring) | 観察を終えた時点で、まだイベントが起きていない状態 |
| 生存関数 S(t) | 時点 t までイベントが起きていない確率 |
| Kaplan-Meier法 | 打ち切りを含むデータから生存関数を推定する、分布を仮定しない手法 |
| チャーン | 顧客が離脱すること。解約・退会と同じ意味で使われる |
「まだ辞めていない人」をどう数えるか
生存時間分析の入口は、ひとつの素朴な問題にあります。まだ辞めていない人の継続期間を、どう数えるか。
lifelines のドキュメントは、この状態を右側打ち切りと呼びます。「イベントを経験していない集団の個体は、右側打ち切りと呼ばれる」とし、その理由を「何らかの外的事情により、残りの生涯を観察しなかった、あるいは観察できなかった」ためだと説明しています。
具体例で考えます。1年前に契約した顧客が、いまも継続しているとします。この人の継続期間は何か月でしょうか。
観測できているのは12か月です。しかし、この人が最終的に何か月続けるかは分かりません。13か月かもしれないし、60か月かもしれない。12という数字が意味しているのは「12か月だった」ではなく「少なくとも12か月以上である」です。
この「以上」という部分が、通常の平均の計算では扱えません。だから工夫が要ります。
除外しても、含めても、過小評価になる
素朴な対処は2つ考えられます。どちらも同じ方向に外れます。
対処1:まだ辞めていない人を分析から除く。 継続期間が確定している人だけで平均を出す、という考え方です。同ドキュメントはこれについて、真の平均寿命を「著しく過小評価する(severely underestimating)」ことになると述べています。
理由は考えてみれば当然で、除外されるのは長く続いている人だからです。分析時点で辞めている人は、相対的に早く辞めた人たちです。その集団だけで平均を取れば、短いほうに寄ります。
対処2:まだ辞めていない人の、現時点までの期間を含める。 12か月継続中の人を「12か月」として平均に混ぜる、という考え方です。1よりは公平に見えます。
しかし同ドキュメントは、これについても「依然として真の平均寿命を過小評価する(still be underestimating)」と述べています。12か月継続中の人の本当の値は12より大きいはずなのに、12として数えているからです。打ち切り個体の期間は、常に真の値より小さい側に丸められます。
つまり、どちらの素朴な対処でも同じ方向にずれます。そして「解約率」という指標も、この問題から自由ではありません。ある月の解約率は、その月に辞めた人数を分母の契約者数で割ったものですが、分母に含まれる人がそれぞれ何か月目なのかという情報は、割り算の中で消えます。
なぜ「解約率」で足りると思ってしまうのか
解約率が定着している理由は、いくつかあります。
ひとつは、計算が単純で、毎月同じ形で出せることです。分子と分母がはっきりしていて、集計も自動化できます。定例会に載せる指標としては扱いやすい。
もうひとつは、下がれば良いという方向が明確なことです。解釈に迷いがありません。前月比で下がっていれば改善したと言えます。
そして三つ目に、辞めたタイミングの分布を見る習慣がないことがあります。契約後1か月で辞める人と、13か月続いてから辞める人は、どちらも同じ「1件の解約」として数えられます。しかし売上への寄与はまったく違いますし、対策も別のものになります。前者は期待値のずれや初期体験の問題であることが多く、後者は価値の陳腐化や競合乗り換えであることが多い。同じ数字に丸めてしまうと、この違いが消えます。
冒頭の「解約率は下がっているのに売上が伸びない」という食い違いも、この線で説明がつくことがあります。早期に辞める層が減って解約率は改善したが、長く続いていた層が辞め始めている——という状態は、解約率という1つの数字ではほとんど見えません。
生存関数という形で持つ
これに対して、生存時間分析は「1つの率」ではなく「時間に沿った曲線」として状態を持ちます。
同ドキュメントは、生存関数をこう定義しています。S(t) = Pr(T > t)。そして「時点 t においてイベントがまだ起きていない確率」を表すと説明しています。
この形にすると、契約から1か月後・3か月後・12か月後にそれぞれ何割が残っているかが、ひと続きの曲線になります。どこで急に落ちているかが見えるようになる、という点が実務上の違いです。曲線が最初の数か月で急降下しているなら手を打つべきは初期体験ですし、途中まで平らでその後に落ちるなら、落ちる手前に何が起きているかを見ることになります。
同ドキュメントは、生存時間分析を「データが右側打ち切りである場合の推定を扱うために発展した」手法だと位置づけています。打ち切りを例外として処理するのではなく、打ち切りがあることを前提に組み立てられた枠組みだということです。
打ち切られた個体は、どこまで勘定に入るのか
推定の具体的な扱いについては、NIST/SEMATECH e-Handbook の Kaplan-Meier 法の節に記述があります。同ページは、試験から取り除かれた(=打ち切られた)未故障の個体について、「取り除かれる前の最後の実際の故障時点までしか勘定に入らない」と説明しています。
言い換えると、打ち切られた個体はそこまでは「残っていた」という情報として貢献し、それ以降は計算から抜けるということです。捨てるのでも、確定値として扱うのでもなく、分かっている範囲だけを使う。これが、先ほどの「除外しても含めても過小評価になる」という問題への回答になっています。
なお、NIST Handbook は信頼性工学の文脈で書かれており、例示は製品の故障データです。解約分析に当てはめる場合、「故障」を「解約」、「試験から取り除かれた個体」を「観察期間の終了時点でまだ継続している顧客」と読み替えることになります。この読み替え自体は、同ページに書かれているものではありません。
確かなことと、まだ確かではないこと
確かなこと:lifelines のドキュメントが右側打ち切りを「イベントを経験していない個体」と定義し、その理由を外的事情により残りの経過を観察できないためと説明していること。打ち切り個体を除外すると真の平均を著しく過小評価し、現時点までの期間を含めても依然として過小評価になると述べていること。生存関数を S(t) = Pr(T > t) と定義していること。生存時間分析が右側打ち切りデータの推定のために発展した手法だとしていること。NIST Handbook が、打ち切られた個体は取り除かれる前の最後の実際の故障時点までしか勘定に入らないと説明していること。
まだ確かではないこと:ハザード関数や Cox 比例ハザードモデルについては、本記事が確認した2ページの範囲を超えるため扱っていません。比例ハザード性などの前提条件にも触れていません。また、生存時間分析を導入すればLTVの精度が上がるといった効果については、今回の出典はいずれも手法の定義を述べたものであり、ビジネス指標への効果を示すものではありません。業界ごとのチャーン率の水準についても、出典に記載はありません。
判断軸の提示
「何%が辞めたか」ではなく、「何か月目に辞めたか」を記録する形に変えること。
手法を導入する前に、データの持ち方が変わります。解約率の集計では、辞めた人数と契約者数があれば足ります。生存時間分析では、顧客ごとに「開始日」「終了日または観察終了日」「終了したかどうかのフラグ」の3つが要ります。
確認の順序としては、次のようになります。
- 顧客ごとの契約開始日が取れるか — 集計済みの月次データしか無い場合、ここから作り直しになる
- 解約日が取れるか — 解約月までしか無いのか、日付まで分かるのか
- まだ継続中の顧客に、フラグを立てられるか — これが打ち切りの印になる
- 曲線のどこを見たいのかを決める — 初期の落ち方か、特定期間の谷か
3番目が肝心です。継続中の顧客を「解約していない」として除外するのではなく、「まだ観察が終わっていない」という別の状態として持つことが、この手法の前提になります。
自分でも試せる、最小の検証
手法を導入する前に、1つだけ確かめられることがあります。直近1年に解約した顧客について、契約から何か月目で解約したかを数え、その分布を見てください。
1か月目に山があるのか、12か月目あたりに山があるのか、それとも平らに散らばっているのか。この分布を見るだけで、解約率という1つの数字が何を隠していたかが見えてきます。
そして、この作業をしたときに「継続中の顧客をどう扱えばいいか分からない」と感じたなら、それがまさに打ち切りの問題です。そこから先が、生存時間分析が扱う領域になります。
この記事で扱ったような指標設計を、自社の状況に照らして整理したい場合は、無料診断ツールで状況を言語化するところから始めることができます。
状況を整理する(15分)