SaaS(Software-as-a-Service)を含むサブスクリプション・ビジネスにとって、CLV (Customer Lifetime Value/顧客生涯価値)を理解することは非常に重要です。
なぜなら売り切りのビジネスとは異なり、サブスクリプション・ビジネスでは同じ顧客から得られる通算の収益は時間の経過とともに増えていくからです。
例えば、毎月20ドルの課金をしているNetflixのようなサービスを例に考えてみます。
最初の1ヶ月は顧客から20ドルの収益を得ることしかできませんが、もしこの顧客がその後12ヶ月間サービスを解約しなければ、この顧客からは通算で240ドルの収益を得ることができます。
これを顧客生涯価値またはCLV(Customer Life Time Value)と呼びます。
顧客1人からどれくらいの収益が見込めるかを理解できれば、新規顧客の獲得や既存顧客のリテンションにどれくらいの費用をかけられるかを決めることができるので、CLVを知ることは重要となります。
CLVは以下の3つの方法で計算することができ、このノートではそれぞれの方法を紹介します。
それでは、一番な簡単なものから始めていきましょう。
例えば、顧客の平均的な継続期間が12ヶ月ぐらいと想定して、1人あたりの月間収益が100ドルの場合、CLVは1200ドルになります。
12 * 100 = 1200
ただこの計算は少し単純すぎるかもしれません。なぜなら、この12ヶ月という数字には根拠がなく、また誰もチャーンしないことを前提にCLVを見積もっているからです。
しかし残念ながら、どんなビジネスでも顧客はチャーンするので、このような見積は現実的ではありません。
顧客の平均継続期間は、チャーン率に大きく左右されます。例えば顧客のチャーン率が高ければ、平均継続期間は短くなり、チャーン率が低ければ、平均継続期間は長くなります。
そして顧客の平均継続期間は以下の計算によって求めることが可能です。
平均継続期間 = 1 / チャーン率
例えば、毎月のチャーン率が10%だとすると、平均継続期間は以下のように計算できます。
1 / 0.1 = 10
平均継続期間は上記の通り10ヶ月となります。
平均継続期間を計算したら、あとは1人あたりの月間収益を掛けることでCLVが計算できます。
1人あたりの月間収益が100ドルの場合、CLVは1,000ドルになるわけです。
10 * 100 = 1,000
ただし、この計算には問題があります。
というのも、チャーン率は月によって異なるので、毎月同じだけの月間収益を期待することはできないということがあります。
例えば、最初の月のチャーン率は40%、2ヶ月目は30%、その後は25%で、フラットになっていったりするわけです。
従って、より現実に近い形でCLVを計算したい場合は、顧客生涯における、各期間までのリテンション率(生存率)を計算し、それらの値を月間収益に掛けるた方が良いということがあります。
顧客がコンバージョンしたタイミングからの生存率(またはリテンション率)を推定するために最も適したやり方は、統計のアルゴリズムとしてよく知られているカプラン・マイヤー法を利用することです。
カプラン・マイヤー法の優れたところは、コンバージョンが発生したばかりでサービスを利用し始めて日が浅いユーザーや、チャーンしているか不明なユーザーを考慮できる点にあります。
Exploratoryでは、アナリティクス・ビューの「生存曲線」から顧客のコンバージョンしたタイミングからの生存率を、カプラン・マイヤー法を使って計算、可視化することができます。
例えば、1行が1顧客となっていて、列に以下の情報を含むデータを持っていたとします。
なお生存曲線のデータの作り方はこちらで詳しく説明していますので、よろしければ、ご参考ください。
アナリティクス・ビューに移動して、タイプに「生存曲線」を選択します。
続いて以下の列を各々の項目に選択し、実行します。
生存曲線を描くことができました。
この「生存曲線」のチャートは、各期間の生存率を示しています。そして現在、期間は「週」に設定されています。
そこで期間の単位に「月」に変更して、経過「月」ごとの生存率を可視化していきます
これで月ごとの生存率を可視化することができました。
例えば1ヶ月目の生存率は、67.47%であることが分かります。
では、この生存曲線を使ってどのようにしてCLV(顧客生涯価値)を計算すればいいのでしょうか?
改めてになりますが、CLVとは顧客がコンバージョンしてからチャーンするまでの間に期待される収益のことです。
そのため、各期間の期待収益は次のように計算することができます。
ある期間の期待収益 = その期間までの生存率 * 顧客1あたりから得られる平均的なMRR(ARPU)
生存曲線に照らし合わせると、X軸が0の期間はコンバージョンしたタイミングを意味をしているので、100%から始まります。
仮にこのサービスの月額費用が100ドルだとすると、顧客1人あたり100ドルの収益が期待できるということになります。
また2ヶ月目の生存率は67.47%です。
ここから言えることは、この期間の顧客1人当たりの期待収益は100ドルではなく、約67ドルであるということです。
もしこの説明で疑問が生じないようであれば、この説明はスキップして、次のセクションに進んでください。またこの説明で疑問が生じる場合は、このまま読み進めてください。
仮に最初に100人の顧客がいた場合、生存率が67%ということは、この期間が終わるまでに67人の顧客しか残っていないということになります。
つまり、この67人からしか収益が期待できないということです。このサービスの月額費用は100ドルのため総収益は6,700ドルとなります。
67人 * 100ドル(1人あたりの月間収益)= 6700ドル
元々100人の顧客がいたので、顧客1人あたりの平均収益を計算するには 6,700ドルを100で割り、67ドルになるわけで、以下のような計算をしていることになります。
0.67(67%)* 100ドル(1人あたりの月間収益)= 67ドル
このように、1人あたりの月間収益に、その期間の生存率を掛けることで、各期間の期待収益を計算することができます。
3ヶ月目も同様です。
生存率は約63%なので、この期間の顧客1人当たりの期待収益は63ドルです。
0.63 * $100 = $63
生存率は期待収益と同様に、時間が経つごとに減少する傾向にあると言え、全員がチャーンするまでの全期間の期待収益を足し上げたものがCLVとなるわけです。
生存率を使ってCLVを計算するロジックがわかったところで、実際にExploratoryで計算してみましょう。
「エクスポート」ボタンをクリックして、「チャート・データを新規データフレームとして保存」を選択します。
これにより、エクスポートしたデータを元に新しいデータフレームが作成されます。
これでCLVを計算できるようになりました。
「Survival Rate(生存率)」の列ヘッダーメニューから「計算を作成(Mutate)」を選択します。
「Survival Rate(生存率)」の列はパーセンテージが単位の列になっているので、100で割ってから100ドルの月間収益を掛ける必要があります。
そこで以下のように計算式を入力し、実行します。
`Survival Rate`/ 100 * 100
すべての期間での期待収益の計算ができたので、後はこれらの収益を足し上げるだけです。
一番簡単なやり方はチャート・ビューからピボットテーブルを使って集計することです。
期待収益の列を値に選択して、集計関数に合計値(SUM)を選択します。
CLVが 608.74ドルになることが分かりました。
ところで、元のデータには、それぞれのユーザーがどのPCのOSを使っているかを示す列があったことを覚えていますか?
Windowsを利用する顧客と、Macを利用する顧客のCLVの間に違いがあるのか、あるとすればどのくらいの違いがあるのかを知りたい場合、どうすれば良いでしょうか。
これらのCLVも簡単に計算することができます。
まず、セグメントごとの生存曲線を作成します。
アナリティクス・ビューで作成した元の生存曲線に戻り、色で分割に「OS」列を割り当てて実行します。
これでWindowsとMacの生存曲線が描けました。
先程と同じようにこのデータをエクスポートして、再度新しいデータフレームを作成します。
これで、MacとWindows用のデータの準備ができました。
先程と同じように期待収益を計算していきます。
テーブルビューに移動し、ピボットテーブルを作成します。
先ほどと同じ方法でピボットテーブルを作成しますが、今回は「Cohort」列を行に割り当てます。
これでOSごとのCLVが計算できました。
MacユーザーのCLVは620.60ドル、WindowsユーザーのCLVは599.37ドルとなっています。
生存率を利用してCLV を計算することは、実際の顧客のリテンション(あるいはチャーン)のパターンを反映している点において、すべての期間に単純に同じだけの月間収益を掛けるよりも、優れた計算方法と言えます。
一方で、後述の内容を考慮した方がいい場合もあります。
生存曲線では、データがある期間だけで生存率が計算がされます。もしサービスをリリースしてから短い時間(例えば6ヶ月)しか経過していない場合、計算されたCLVは6ヶ月間の顧客1人当たりの期待収益の合計となるわけですが、多くの場合、顧客は6ヶ月を超えてあなたのサービスを利用するかもしれません。(そうあって欲しいものです!)
そのような場合、(チャーン率はすぐに変化するので)得られるCLVの信頼性が高くない可能性があることを理解したうえで、先程紹介したようなシンプルな方法ででCLVを計算した方がいいかもしれません。
もう一つは、貨幣の価値は時間の経過とともに変わりうるということです。仮に金利がマイナスにならないようであれば、銀行に100ドルを預けておくことで、3年後には、100ドル以上の価値を期待することができます。そういった意味において今日の100ドルは3年後の100ドルとは同じとは言えないわけです。
これを割引率といい、割引率を使ってより厳密にCLVを計算することができるのですが、そのやり方はまた別のノートで説明したいと思います。
SaaS/サブスクリプション型ビジネスにとって重要なKPI、データの加工、可視化、統計・機械学習といった様々なデータサイエンスの手法やシリコンバレーなどでの事例を以下のページで紹介していますので宜しければご参考ください!