サブスクデータ分析 #4 - コホート分析

このノートはサブスクリプション型のビジネスに特有な指標の作成・可視化や分析方法を効率的に学んでいただける「サブスクデータ分析」のトライアルツアーの第4弾、「コホート分析」です。

SaaSやサブスクリプション型のビジネスでは、顧客のリテンション(サービスを継続すること)が改善しているかを可視化するために、「コホート分析」をします。

そこで、今回はサブスクリプション型ビジネスの顧客の契約期間のデータを使って「コホート分析」を実施します。

所要時間は20分ほどです。それでは、さっそく始めていきましょう!!

コホート分析とは?

サブスクリプション型のビジネスでは顧客に製品やサービスを使い続けてもらうことによってビジネスが成長するため、キャンセル率またはその逆であるリテンション率(前期間より残った顧客の率)が最も重要な指標と言えます。

そこで、例えばリテンション率の推移を以下のようにモニターします。

しかし、キャンセル率やリテンション率をモニターするときには気をつけなくてはいけないことがあります。それは、単純にキャンセルしたかどうかだけでなく、顧客になってからどれくらいでキャンセルしたかという「期間」を考慮しなくてはいけないということです。

一般的には顧客はコンバートしてからすぐの期間にキャンセルしやすいものです。サービスを使ってみたが自分のニーズとはマッチしなかった、使い慣れることができなかったなどの理由でです。

逆に期間が長くなればなるほど、サービスの価値を実感することができた人達が残っていることになりますから、その中からキャンセルする人達が出る割合は低くなっていきます。

そこで、それぞれの顧客によって異なる期間を考慮することなく全ての顧客をまとめてキャンセル率やリテンション率を計算するのではなく、以下のような期間ごとに計算した「生存曲線」というものを作ります。

このことを、コンバートしてからどれだけの割合の顧客が残っているかを可視化したチャートを使って、詳しく見てみます。

そして、この曲線を使って複数のグループが、「リテンション」という点でどのように違うのかを分析します。

このように、生存曲線を使って複数の顧客グループ比べた分析のことを「コホート分析」と言ったりします。コホートとはグループのことです。

さらに、SaaSなどのサブスクリプション型のビジネスでよく使われるのは、コンバートした時期によって顧客を複数のコホートに分けたものです。

このチャートを見ると、最近入ってきた顧客のコホートのほうがリテンションが良くなってきているのか、それとも悪くなってきているのかを知ることができます。もちろん、最近のコホートになればなるほど生存曲線が上に上がっていく、つまりリテンションが良くなってきているのが理想となります。それはサービスの価値や顧客ターゲティングなどの改善を示すからです。

それでは、簡単に「コホート分析」をしてみましょう。

必要なデータ

コホート分析をするためには、1行が1観察対象(例:1行が1顧客)のデータが必要です。

また、以下の情報も列に必要です。

  • 開始時期:観察対象の観察の開始時期(例:契約日、利用開始日)
  • 終了時期:観察対象の観察の終了時期(例:契約終了日、契約終了日)
  • 生存状態:観察対象のイベントのステータスを表す、ロジカル型の列(例:キャンセル、退職など)

データの概要

今回は、月額でサービスを提供しているビジネスの顧客契約期間のデータを使います。データはこちらのページからダウンロードできます。

このデータは1行が1人の有料顧客を表していて、列には以下の情報があります。

  • 顧客ID: 顧客ごとに一意なID
  • 契約開始日: 顧客のコンバージョンが発生した日
  • 契約終了日: 顧客がサービスをキャンセルをしている場合は契約終了日、キャンセルをしていない場合は契約終了日を表します
  • キャンセル: 顧客がサービスをキャンセルしているかどうか

データのインポート

Exploratoryを起動したら、プロジェクト「新規作成」ボタンをクリックします。

プロジェクトを作成するためのダイアログが表示されるので、任意の名前をつけて、作成ボタンをクリックします。

プロジェクトを作成できました。

プロジェクトを作成することができたら、次はデータをインポートします。データはこちらのページからダウンロードできます。

顧客の契約データをダウンロードできたら、ダウンロードしたフォルダを開き、「顧客の契約.csv」をExploratoryの画面にドラッグ&ドロップします。

すると、インポートダイアログが表示されます。

インポートダイアログでは左側にある項目から、データをインポートする際の設定を指定できますが、今回は設定は不要なため「保存」ボタンをクリックします。

するとデータフレームの設定ダイアログが表示されるので、「作成」ボタンをクリックします。

顧客の契約状況のデータをインポートできました。

コホート分析をする

コホート分析は、「生存曲線」をグループごとに比べるアナリティクスなので、アナリティクスビューに移動します。

タイプに「生存分析」の「生存曲線」選択します。

「開始時期」に「契約開始日」を選択し、「終了時期」に「契約終了日」を選択します。

続いて生存期間の「期間の単位」を設定します。デフォルトの設定では「自動」になっており、自動で最適な「期間の単位」が設定されます。

今回は月ごとに契約のキャンセルが発生するので、明示的に生存期間の「期間の単位」を「月」に設定します。

最後に「生存状態(イベント)」に「キャンセル」を選択し、実行します。

生存曲線が描かれました。

「期間の単位」に「月」を指定したので、X軸の生存期間の単位は「月」に設定されています。

サービスの利用開始から1ヶ月後に多くの顧客にがキャンセルしていることが分かります。

また、生存率にマウスカーソルを重ねると、経過期間(生存期間)、その期間まで生存している観察対象の数(観察対対象)、生存率の情報が表示されます。

!

例えば、1ヶ月後の生存率は約60%で、40%の顧客が1ヶ月でサービスを解約していることがわかります。

また、顧客のキャンセルは9ヶ月以降に落ち着くように見えます。

次に、顧客を利用開始時期でコホートに分け、それぞれの生存曲線を描くことで、顧客のリテンションが時間の経過とともに改善しているか調べてみましょう。

まず、「色で分割」に「契約開始日」を選択します。

今回は月ごとにリテンションが改善しているかを調べるために、丸め処理には「月」を選択し、実行します。

顧客を利用開始時期でグループに分け生存曲線を可視化できました。

どうやら、顧客のリテンションは一度悪くなった後に、回復しているようです。

2021年10月以降に利用を開始したグループのリテンションは回復し続けていることがわかり、継続してサービス、カスタマーサクセス、サポートなどの改善がうまくいっていることが想定できます。

なお、「生存率表」のタブでは「生存曲線」のタブで可視化されていた情報をテーブル形式で確認できます。

今回は「生存分析」の「生存曲線」をタイプから選択して、コホート分析を行いましたが、「コックス回帰」または「サバイバルフォレスト」といった、生存分析の「予測モデル」を使うと、顧客の生存期間ごとの生存確率を予測できます。

生存分析モデルの詳細に興味がある場合は、こちらのセミナーご覧ください。

参考資料

  • SaaS アナリティクス #7 - コホート分析 Part.2 - 生存曲線 - リンク
  • SaaS アナリティクス #8 - CLV(顧客生涯価値)の計算 - リンク
  • SaaS アナリティクス #14 - 生存分析のためのデータの作り方 - リンク
  • フリーミアムのSaaSやWebサービスのビジネスの顧客のチャーン(離脱)を判別して生存分析のためのデータを作成する方法方法 - リンク
  • コンバートしてから1か月後の生存率の推移をモニターする方法 - リンク
  • 開始から1ヶ月目になる顧客のリテンション率の推移をモニターする リンク

  • 生存モデルを使ったキャンセルの予測 - コックス回帰、サバイバル・フォレスト - リンク

サブスクデータ分析

サブスクリプション型ビジネスユーザー様向けのトライアルツアーの他のパートは下記のリンクからご確認いただけます。

  1. ビジネスKPIの可視化 - リンク
  2. レイヤーケーキ・チャートの作成 - リンク
  3. コンバージョンの要因分析と予測 - リンク
  4. コホート分析

サブスク型ビジネスデータ分析のためのページ

SaaSなどを始めとするサブスクリプション型ビジネスにとって重要なKPI、データの加工、可視化、統計・機械学習といった様々なデータサイエンスの手法やシリコンバレーなどでの事例を1つのページにまとめて紹介しています。

ぜひ、ご覧ください!

詳細はこちら

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio