見出し画像

【SaaS企業に勤める人は必見】高校数学で解き明かす、"何故LTVはチャーンレートに反比例するのか?"

はじめに

この記事では、高校数学の知識を使って「LTVは何故チャーンレートに反比例するのか?」を解き明かします。高校数学の知識と申しましたが、具体的には数Ⅱ・Bの領域から「数列の和」「極限(lim)」の知識を用います。

言葉の定義の確認

SaaS系の指標に慣れ親しんだ方々からすれば「LTV」や「チャーンレート」は言わずもがなだとは思いますが、一応前提を共有しておきましょう。

LTV

Life Time Valueの略称。とある顧客から生涯に渡って徴収できる利用料の期待値。各ユーザのLTVの最大化は、あらゆるSaaS・サブスクサービス事業者の売上を上げる為の最も重要な目標となります。

チャーンレート (Churn Rate)

あるユーザが利用期間が経過した際にSaaS・サブスクサービスを解約する確率・割合のこと。細かい事言うと、チャーンには顧客チャーンと収益チャーンの2種類があり、前者は顧客数(会員数)の減少を指し、後者は収益(売上)の減少を指します。特に後者の場合、会員数が減らずとも売上が減るといった場合に当てはまる概念です。例えば、何等かのサブスクサービスに松竹梅のプランがあり、価格が松>竹>梅であった場合、会員が松プランから梅プランにダウングレード(ダウンセル)した場合は、顧客チャーンに変動が無くとも、収益チャーンが上昇(収益減少率が上昇)します。以後は「顧客チャーンレート」を「チャーンレート」として語ります。

LTVとチャーンレートの関係

いきなり答からいきますが、ある一人のユーザのLTVについて以下のような関係式が成り立ちます。

LTV = 100M/α

ここでMとαは以下の様な定義とします。

・月額利用料:M[円]
・月次チャーンレート:α[%]
    ※翌月解約されてしまう確率

100Mが分子、αが分母です。Mは既に決まっている値ですから、LTVはαに反比例すると言えます。
(ちなみに、分子の100はαが百分率で表される為に出てきているものです)

「SaaSのLTVはこういう公式で表されるんだなぁ〜。違和感ナシ!」という方はここで読むのを辞めても大丈夫です。ここから先はひたすら計算式を解いて、何故この様な式になるのかを証明します。

証明

nヶ月間の期待売上を示す

あるサブスクサービスについて、チャーンレートがα[%]である場合、初月からnヶ月までの期待売上は以下のとおりです。

0ヶ月目(初月):M
1ヶ月目:M × (100 - α) ÷ 100
2ヶ月目:M × (100 - α)^2 ÷ 100
3ヶ月目:M × (100 - α)^3 ÷ 100
・・・
nヶ月目:M × (100 - α)^n ÷ 100
---
※a^nは「aのn乗」を表しています。

初月にM円の利用料を支払ったユーザが α[%] の確率で解約してしまうとすると、逆に継続利用してくれる確率は (100 - α)[%] となります。すると、翌月1ヶ月目の売上の期待値(値×確率)は M × (100 - α) ÷ 100 となります。これが2ヶ月目以降に対しても言えるわけで、要はずっと(100 - α)[%] を前月分に掛け続ける事で売上の期待値が計算できるわけです。よって、nヶ月目の売上の期待値は

M × (100 - α)^n ÷ 100

となります。ここで、式を少し簡単に書き換えます。「÷ 100」を()の中に入れてしまうと以下のようになります。

M × (1 - α/100)^n

さて、初月〜nヶ月目までの売上の期待値を足し合わせたものが「nヶ月間の期待売上」になります。この「nヶ月間の期待売上」をS(n)として、Σ(シグマ)を使って表すと以下の様になります。

S(n) = Σ (i = 0 → n) { M × (1 - α/100)^i }

ここでMは定数ですので、Σの外に出してもいいですよね。

S(n) = M × Σ (i = 0 → n) { (1 - α/100)^i }

Σを用いずに示せば、

S(n) = M {1 + (1 - α/100) + (1 - α/100)^2 +  … +(1 - α/100)^n }

です。

LTVを数式で表現する

さて、「nヶ月間の期待売上」を数式で示すことができましたので、ここから「LTV」も数式で示します。しかし、実はとても簡単。LTVは「生涯に渡って徴収できる利用料の期待値」ですから、つまり

LTV = lim (n → ∞) S(n)

となります。つまり、LTVを求める為には、S(n)を求めnについて無限大の極限値を取ればよい、という事になります。

S(n)についての式を立てる

今、

S(n) = M × Σ (i = 0 → n) { (1 - α/100)^i }

と置きました。ここでMは定数であり、nに関係の無い値です。式をスッキリさせる為に、Mを除したS'(n)を考えましょう。

S'(n) = S(n)/M = Σ (i = 0 → n) { (1 - α/100)^i }

Σを用いずS'(n)を表したものは

S'(n) =  1 + (1 - α/100) + (1 - α/100)^2 +  … +(1 - α/100)^n ・・・(1)

ですよね。式(1)としておきましょう。さて、S'(n+1)を考えてみます。すると以下の様になります。

S'(n+1) = S'(n) + (1 - α/100)^(n+1) ・・・(2)

単に「(n+1)ヶ月目の売上の期待値」を「nヶ月間の期待売上」に加えただけですね。ここまでは問題ないですね。これを式(2)とします。
次に、少しテクニカルな事をしてみます。式(1)の両辺に(1 - α/100)を掛けてみます。すると以下の式(3)を得ます。

(1 - α/100)S'(n) = 
(1 - α/100) + (1 - α/100)^2 +  … +(1 - α/100)^n + (1 - α/100)^(n+1) ・・・(3)

さて、式(2) - 式(3)をすると、以下の式を得ることができます。

S'(n+1) - (1 - α/100)S'(n) = 1

おお!?なんかすごく美しい形になりましたね!式(2)から式(3)を引いたものは「1」になるんですね〜。美しい。
これをS'(n+1)について解きますと以下のようになります。

S'(n+1) = (1 - α/100)S'(n) + 1 ・・・(4)

S(n)を求める

S'(n)はnに関する数列となります。そして、nが一個進んだ場合=S'(n+1)との関係が上の式というわけです。これ、見覚えありますか?数Bで履修した「数列の漸化式」に出てくる一つのパターンです。

漸化式:a(n+1) = p×a(n) + qの解き方
a(n+1) = p×a(n) + qは以下のように書き換えられる。
a(n+1) - c = p{a(n) - c}
ここでcは以下の特性方程式を満たす。
c = p × c + q

https://rikeilabo.com/bacis-recurrence-formula-list#23

特性方程式!懐かしいですね!早速式(4)の特性方程式を解いてみましょう。

s = (1 - α/100)s + 1

特性方程式の解をsと置きました。sについて解くと、

s = 100/α

となります。お、LTVの式「100M/α」に近いです。なんだか答えに近づいていそうです。このsを用いて式(4)を漸化式の解き方に従って式変形しますと、

S'(n+1) - 100/α  = (1 - α/100){S'(n) - 100/α}

う〜ん。なんか逆にぐちゃぐちゃしてきた気がしますね。ここで

T(n) = S'(n) - 100/α ・・・(5)

としますと、即座に

T(n+1)  = (1 - α/100)T(n) ・・・(6)

を得ます。これだとスッキリします。そしてこの式(6)、これは等比数列です。

等比数列の漸化式:a(n+1) = r×a(n)の解き方
a(n) = a(1)×r^(n-1)

https://rikeilabo.com/bacis-recurrence-formula-list#23

さて、等比数列の公式に従ってT(n)を求めると、

T(n) = T(1)(1 - α/100)^(n-1)

となります。なお今回はn=0を考えています。n=0は初月を表していましたね。つまり初項をT(1)ではなくT(0)としたいです。すると、

T(n) = T(1)(1 - α/100)^(n-1)
          = (1 - α/100)T(0)(1 - α/100)^(n-1)
          = T(0)(1 - α/100)^n
・・・(7)

となります。T(n)が解けました!やった〜!式(7)に式(5)を代入し、S'(n)について解くと

S'(n) = {S'(0) - 100/α}(1 - α/100)^n + 100/α ・・・(8)

です。ちなみに、S'(0)はなんでしょうか?

S'(0) = S(0)/M = M/M = 1

となります。S(0)は初月(0ヶ月目)の期待売上ですが、それは1ヶ月目に支払う利用料M[円]に他ならないですね。さて式(8)を整理すると、

S'(n) = (1 - 100/α)(1 - α/100)^n + 100/α

です。S'(n) = S(n)/M でしたから、S(n)について示すと、

S(n) = M{(1 - 100/α)(1 - α/100)^n + 100/α}
          = M(1 - 100/α)(1 - α/100)^n + 100M/α

となります。

LTVをS(n)の極限値から求める

ここまで来たらもう一歩です。さて、LTVの定義から

LTV = lim (n → ∞) S(n)
         = lim (n → ∞){M(1 - 100/α)(1 - α/100)^n + 100M/α}

です。ここで第一項だけ取り出してみて考えます。

M(1 - 100/α)(1 - α/100)^n

これ、(1 - α/100)は1より小さい値ですよね。αはチャーンレートですから1~100の間の値を取ります。1より小さい値を無限にかけ合わせると0に収束していきます。つまり、

lim (n → ∞){M(1 - 100/α)(1 - α/100)^n} = 0

になります。よって、第二項:100M/αだけが残ります。第二項はnに関係しない定数です。

証明完了

LTV = lim (n → ∞) S(n) = 100M/α

を得ることができました。チャーンレートが半分になればそのユーザから得られる期待売上(LTV)は2倍になります。つまりチャーンレートを小さく抑えることこそ、LTVを最大化する唯一無二の方策というわけです。SaaS・サブスクサービス事業者はチャーンレートを低減させる為にあらゆる努力を尽くす必要があるわけですね。

おわり

この記事が気に入ったらサポートをしてみませんか?