LoginSignup
29
17

More than 5 years have passed since last update.

サブスクリプションモデルでの会員の平均継続期間をどう見積もるか?

Posted at

サブスクリプションモデルのビジネスをやっている時に気になるのが平均継続期間だと思います。平均で3ヶ月継続しているのか、平均で10ヶ月継続しているのかでサービスの粘着性の指標になるし、広告予算にいくら使っていいかも変わってくる。じゃあ具体的にどう平均継続期間を見積もるかというところで過去のデータを全てとってきて平均するのは大変だし、過去の情報だけからは将来のことがわからないし、数理的に簡単に計算できないかその辺考えてみました。

結論

簡単に結論から先にいうと、1ヶ月サブスクリプションモデルの平均継続期間(月)は以下で定義できる。

平均継続期間 = \frac{1}{1-継続率}

つまり、継続率が90%なら平均継続期間は10ヶ月だし、継続率が80%なら5ヶ月。簡単に計算できますね。
もし6ヶ月サブスクリプションの平均継続期間を計算したいなら以下のように分子にベースの期間を持って来ればいい。

平均継続期間 = \frac{6}{1 - 継続率}

1ヶ月、6ヶ月、12ヶ月のサブスクリプションが複合で存在するならそれぞれを加重平均とする。

\begin{align}
平均継続期間 = &1ヶ月会員割合 * 1ヶ月会員平均継続期間 + \\
&6ヶ月会員割合 * 6ヶ月会員平均継続期間 + \\
&12ヶ月会員割合 * 12ヶ月会員平均継続期間 
\end{align}

なぜ平均継続期間は(1-継続率)の逆数となるか

このモデルは、サブスクリプションの会員が等比数列で減っていくことを前提としています。実際担当しているサービスの継続率をプロットしてみるとだいたい毎月一定の割合で減少するような傾向は確認しています。
例えば継続率90%の場合当月100人であれば翌月90名、翌々月81名、みたいな。この場合の平均継続期間は全ての契約の継続の累計を全体の人数で割ればいいので以下のようになります。

平均継続期間(月) = \frac{100 + 100*0.9 + 100*0.9^2 + ...}{100}

初期人数a人、継続率rとすると、

\begin{align}
平均継続期間 &= \frac{a + ar + ar^2 + ar^3 + ...}{a} \\
&= 1 + r + r^2 + r^3 + ... \\
\end{align}

これは無限等比級数の公式を使えばシンプルに以下のようになります。

平均継続期間 = \frac{1}{1-r}

カンタン!

無限等比級数の公式

無限等比級数の公式の導出について簡単に。

\sum_{k=0}^{n} r^k = 1 + r + r^2 + ... + r^n \tag{a}

両辺にrをかけると

r\sum_{k=0}^{n} r^k = r + r^2 + r^3 + ... + r^{n+1}\tag{b}

(a)-(b)をするといろいろ相殺されて

\begin{align}
(1-r) \sum_{k=0}^{n} r^k &= 1 - r^{n+1} \\
\sum_{k=0}^{n} r^k &= \frac{1-r^{n+1}}{1-r}
\end{align}

r -> ∞、r<1とするならばr^{n+1}は限りなくゼロに近くので

\lim_{\substack{n \to \infty }} \sum_{k=0}^{n} r^k =  \frac{1}{1-r}

よって、

平均継続期間 = \frac{1}{1-継続率}

なぜ1、6、12ヶ月のプランがある場合に加重平均となるか

自明。

以上!

29
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
17