平均継続月数の求め方
月額課金サービスのような継続利用サービスの場合、ユーザー平均利用月数は?と聞かれることがあるだろう。しかし、サービス開始間もないときなど、その値を出すにはちょっと頭を使う必要がある。では、どうやってそれを計算したらよいのか。
退会率を実測値から求める
まずは、簡単なモデルを作る。
X月にユーザがA人いて、X+1月にそのうちB人(≠0)がやめたとする。すると、
退会率=B/A
とおける。この退会率をαと置く。本来であれば、X月のユーザがX+2月にやめる率も出していくべきだが、簡易モデルとするため、各月の退会率は一定だと仮定しよう。この条件だけで、ユーザーの平均継続月数を試算する事が出来る。
退会率から平均継続月数を求める計算方法
では、実際に計算してみよう。n月目における期待値(n月目まででの平均継続月数)をSnと置くと、1ヶ月でやめる人α、やめなかった1-αのうち、2ヶ月目にやめるのは退会率αをかけて、(1-α)*αとなる。これを繰り返していく。従って
Sn = 1*α + 2*(1-α)*α + 3*(1-α)^2 *α + 4*(1-α)^3 *α + … + n*(1-α)^n-1 * α
となる。
では、このSnを求めてみよう。Snとそれに1-αをかけたものを用意し、引いてみる。
Sn = 1*α + 2*(1-α)*α + 3*(1-α)^2 *α + 4*(1-α)^3 *α + … + n*(1-α)^n-1 *α
-)
(1-α)*Sn =(1-α)*α + 2*(1-α)^2 *α + 3*(1-α)^3 *α + …. + n*(1-α)^n *α
- – - – - – - – - – - – -
Sn – (1-α)*Sn = α + (1-α)*α + (1-α)^2 *α + (1-α)^3 *α+ … +(1-α)^n-1 *α – n*(1-α)^n *α
これは(1-α)の等比数列になるので、
αSn = α*(1-(1-α)^n) / (1-(1-α)) – n*(1-α)^n *α
Sn = (1-(1-α)^n) / α – n*(1-α)^n = 1/α – (1-α)^n/α – n*(1-α)^n
と求められる。
次に、nが∞になった場合に、Snがどうなるかを求める。Snは上記の式になるので、それぞれを見ていく。
(1-α)^n / α
は、αは退会率であり、1以下である。従って 1-α は0以上1未満であり、それを∞乗している。そうすると、これは0に収束する。
∴ (1-α)^n / α –> 0
次に、
n*(1-α)^n
を求める。ただこれは一筋縄ではいかないので、ちょっと工夫する。
X = n*(1-α)^n
について、双方のlogをとる。
log X = log (n*(1-α)^n) = log n + log (1-α)^n = log n + n*log(1-α)
これも上記同様、1-αは0以上1未満となるので、log(1-α) は0未満の定数となる。 0 < βである定数βを置くと
log X = log n - n*β
となる。ここで、log n と n*βのグラフはどういうものになるかを考える。log n は対数関数のグラフであり、nが大きくなるにつれて傾きは小さくなる。log n の傾きは微分すると 1/n であるので、nが∞になったときは傾きが0である。一方で、n*βのグラフは傾きβ (<0) の直線のグラフとなる。この2つのグラフを考えると、nが∞までいったとすると、必ずn*βの直線は log n の上に来る。すなわち、
n*β > log n
(n –> ∞)
となる。従って、nが∞のときは、
log X = -∞
となり、
X = 0
となる。
ここまで来て、Sn の2項目、3項目が求められたので、
Sn = 1 / α
(n –> ∞)
となる。
まとめ
ここまで長々と計算過程を書いたが、ここだけ覚えておけばよい。サービスの月の退会率αを出したら、平均継続月数は、
1 / α
で出すことができる。
例えば、3月に100人いて、そのうち20人が4月にやめた場合、退会率は20%であり、ユーザーの平均継続月数は5ヶ月 (1/0.2)と推測できる。退会率が5%であれば、平均継続月数は20ヶ月(1/0.05)と推測できる。
もし、あなたのサービスで平均継続月数は?と聞かれたらこの方法で求めた数値を答えよう。