SaaSなどサブスクリプション型のビジネスを効率的に改善していくために、 サービスの利用開始タイミングからのリテンション率を、経過時間ごとに可視化して、顧客のリテンションの傾向を的確に理解する生存分析という手法があります。
さらに生存分析では顧客をサービスの購読開始タイミングごとのグループに分けて、コンバートしてからの経過時間ごとの生存率を可視化して、顧客のリテンションを改善することができているかを理解することもできます。(このような分析手法のことをコホート分析と呼びます)
コホート分析は、サービス全体のリテンションが改善していっているのかの理解には役立ちますが、コンバートしてから1か月後の生存率のみに注目して、改善しているかを確認したいときには、その変動を捉えづらいということがあります。
そこで、このノートでは「コンバートしてからNヶ月後の生存率の推移」を可視化する方法を紹介します。
なお、生存分析やコホート分析の詳しいやり方は以下のリンクより、ご確認ください。
今回は月額のSaaSサービスの支払いデータを使って、作成した生存分析用のデータを使っていきます。
上記の通りコホート分析を行うためには以下のような条件が揃っているデータが必要です。
なお、顧客の支払いデータから生存分析用のデータを作成する方法を以下にて紹介していますので、よろしければ、ご参考ください。
アナリティクスビューに移動し、タイプに「生存曲線」を選択します。
続いて、開始時期に「開始時期」、終了時期に「終了時期」を選択し、期間の単位に「月」、生存状態(イベント)に「canceled」を選択します。
このとき期間の単位に月を選択しているのは、今回のデータが月額サービスの支払いデータとなり、顧客のコンバージョンやチャーン(解約)は月ごとに発生するため、月の単位で生存率をモニターしたいからです。
続いて色で分割に、「購読開始時期」を選択肢、スケールに「月」で丸め処理を選択し、実行します。
なお、今回はコンバージョンした月ごとに顧客をグループに分けて、生存率の推移をモニターしたいので、「月」を選択していますが、もし顧客を別の単位でグループに分けたければ、他のスケールの選択も可能です。
生存曲線を利用したコホート分析ができました。
コホート分析の結果が表示されたら、データ・タブに移動します。
このデータを利用すれば、「コンバートしてからNヶ月後の生存率」の可視化ができるので、チャートのエクスポートアイコンをクリックして、「テーブル・データを新規データフレームとして保存」を選択します。
データ・タブの内容をデータフレームとして保存することができました。
今回のデータでは「コホート」の列が日付の情報となっており、この列を使って時系列ごとに生存率を可視化したいので、日付型に変換します。
「コホート」の列ヘッダーメニューから、 データタイプを変換、Date(日付)/ POSIXct(日付時間) タイプに変換、Year, Month, Dayを選択し、実行します。
日付型の列に変換できました。
続いてチャート・ビューに移動し、タイプに「ライン」、X軸に「コホート」を選択し、スケールに丸め処理の月を選択します。
またY軸に「生存率」を選択し、集計関数に平均値(mean)を選択します。
続いて、繰り返しに「生存期間」を選択します。
コンバートしてからの経過月数のグループごとに、生存率の推移を可視化することができました。
例えば、ハイライトされているチャートは、コンバートが発生してから1ヶ月ごとの生存率の推移を表しています。
なお、コンバートが発生した月(生存期間の値が0)はチャーン(解約)が発生しないため、常に生存率が100%になっています。
仮に、コンバートしてから1ヶ月後から6ヶ月後の生存率の推移を可視化したいときは、チャート・レベルフィルタを利用することができます。
チャート上部のフィルタ作成アイコンをクリックして、フィルタ・ダイアログの列に「生存期間」、演算子に「範囲内」、開始の値に「1」、終了の値に「6」と入力し実行します。
これでコンバートしてから1ヶ月後から6ヶ月後の生存率がどのように推移しているかを確認できるようになりました。
今回のケースでは、例えば、2ヶ月後から5ヶ月後の生存率が直近は改善傾向にあることが分かります。
生存曲線からエクスポートしたデータには生存率の信頼区間の情報もあるので、生存率を信頼区間付きで可視化することも可能です。
Y軸メニューから、範囲(信頼区間, etc)を選択します。
続いて、範囲タイプにカスタム、上限に「信頼区間上限」、下限に「信頼区間下限」を選択し適用します。
信頼区間の情報を追加することができました。
生存曲線を実行するときに、繰り返しに、列(今回の場合はOS)を選択して、グループごとにコホート分析を行うことが可能です。
そういったときは、グループごとに生存率の推移が比較できるような形で可視化することも簡単にできます。
同じように生存曲線のデータをエクスポートして、色にos列を追加するだけです!