CLTV(顧客生涯価値)には全体レベル(集計レベル)と個人レベル(個々の顧客レベル)のものがあります。
全体レベル(集計レベル)のCLTV(顧客生涯価値)である(Aggregate CLTV)は、多くの場合驚くほどの予測精度ですが、顧客別の状況が見えません。全体レベルCLTV(Aggregate CLTV)をベースに顧客別CLTV(Individual CLTV)を計算すると、驚くほどに不正確になります。
経営レベルの指標としては全体レベルCLTV(Aggregate CLTV)で良いかもしれませんが、マーケターや営業の現場で活用するときの指標としては顧客別CLTV(Individual CLTV)がいいでしょう。
全体レベルCLTV(Aggregate CLTV)は、顧客別CLTV(Individual CLTV)を集計すれば求めることができるわけですから、CLTV(顧客生涯価値)を算出するなら最初から顧客別CLTV(Individual CLTV)が良いかと思います。
今回は、「CLTV(顧客生涯価値)を算出するなら顧客別CLTV(Individual CLTV)」というお話をします。
Contents
全体レベルCLTV(Aggregate CLTV)の計算式
先ず、全体レベルCLTV(Aggregate CLTV)の計算方法を述べます。
大雑把な式で示します。
- T:注文回数/月
- OV:注文金額/回
- GM:粗利率
- LT:顧客期間(月数)
- CR:離反率
- CB:月初既存顧客
- CE:月末継続顧客数(CBの中で月末まで離反せず残った顧客数)
T(注文回数)とOV(注文金額/回)、GM(粗利率)は過去数カ月間の既存顧客全体(全取引)の平均です。CB(月初既存顧客)とCE(月末継続顧客)は対象月の既存顧客数です。新規顧客のCLTVは別途計算します。
LT(顧客期間)はCR(離反率)から計算します。
LT = \cfrac{1}{CR}
CR(離反率)はCB(月初既存顧客)とCE(月末継続顧客)から計算します。
CR = \cfrac{CB-CE}{CB}
CLTV(1既存顧客あたり)は、以下の式で求められます。
CLTV = \cfrac{T \times OV \times GM \times LT}{CE}
当月に顧客になった新規顧客は、前月もしくは過去の同月のデータを元に別途CRを計算し、CLTVを求めます。
全体レベルCLTV(Aggregate CLTV)の計算例
あるカタログ通販会社の例です。
既存顧客に対し、ある月の月末に、過去1年間の平均(月当たり)を計算したら以下のようになりました。
- T:注文回数/月 → 156,294回
- OV:注文金額/回 → 8,498円
- GM:粗利率 → 27.4%
その月の既存顧客数です。
- CB:月初既存顧客数 → 82,762人
- CE:月末継続顧客数 → 78,147人
その月の既存顧客のCR(離反率)を計算します。
CR = \cfrac{CB-CE}{CB}= \cfrac{82,762-78,147}{82,762}=0.05576
LT(顧客期間)を計算します。
LT = \cfrac{1}{CR}= \cfrac{1}{0.05576}=17.934ヶ月
CLTV(1既存顧客あたり)を計算します。
CLTV = \cfrac{T \times OV \times GM \times LT}{CE} = \cfrac{156,294 \times 8,498 \times 0.274 \times 17.934}{78,147} \fallingdotseq 83,517円
全体レベルCLTV(Aggregate CLTV)の予測
全体レベルCLTV(Aggregate CLTV)を予測するときは、以下の数値を予測することで求められます。
- T:購入回数/月
- OV:購入金額/回
- GM:粗利率/回
- LT:顧客期間(月数)
- CR:離反率
- CB:月初顧客数(既存顧客)
- CE:CBの中で月末まで残った顧客数(継続顧客)
個々に時系列モデルを構築することで、それぞれの予測モデルを構築できます。
それぞれの予測モデルから算出された予測値を用いれば、全体レベルCLTV(Aggregate CLTV)の予測値が算出されます。
この予測値は、それなりの精度で、予測値と実測値の誤差は数%レベルで収まると思います(絶対ではないですが……)。
ただ、経営レベルの指標としては全体レベルCLTV(Aggregate CLTV)で良いかもしれませんが、マーケターや営業の現場で活用するときの指標としては顧客別CLTV(Individual CLTV)が欲しいところです。
顧客別CLTV(Individual CLTV)が分かれば、顧客別に対応を変えたり色々なことができます。
全体レベルCLTV(Aggregate CLTV)をベースに顧客別CLTV(Individual CLTV)を計算
全体レベルCLTV(Aggregate CLTV)をベースに顧客別CLTV(Individual CLTV)を計算するとき、以下の数値を顧客別に算出することになります。
- T:注文回数/月
- OV:注文金額/回
- GM:粗利率/回
- LT:顧客期間(月数)
例えば、顧客別にCR(離反率)を計算し、その値を使って顧客別にLT(顧客期間)を計算するという感じです。
先程述べたように、全体レベルCLTV(Aggregate CLTV)の予測値は、時系列モデルを構築することで求めることができます。
最も簡単なのは、顧客属性などで似たような顧客でグルーピングし、その顧客グループごとに時系列モデルを構築することで、顧客グループ別のCLTVの予測値を求めることができます。
もしくは、顧客属性などを説明変数X(特徴量)とした予測モデルを構築する方法です。
顧客別CLTV(Individual CLTV)の数理モデル
幸運なことに、顧客別CLTV(Individual CLTV)モデルは存在します。RやPythonに、そのためのパッケージもあります。
有名なのはPareto/NBDモデル(Pareto/Negative Binomial Distribution)やBG/NBDモデル(Beta Geometric/Negative Binomial Distribution)などです。注文回数を予測することができます。注文金額はGGモデル(Gamma-Gamma model)です。
Rですと、以下のBTYDパッケージです。
Pyhtonですと、以下のLifetimesパッケージです。
別の機会に、パッケージの使い方を含め解説しようとは思いますが、気になる方は使って見てください。さらに、最近ではデープラーニング系のモデルも開発されています。こちらも、別の機会にお話しします。
今回のまとめ
今回は、「CLTV(顧客生涯価値)を算出するなら顧客別CLTV(Individual CLTV)」というお話をしました。
CLTV(顧客生涯価値)には全体レベル(集計レベル)と個人レベル(個々の顧客レベル)のものがあります。
全体レベル(集計レベル)のCLTV(顧客生涯価値)である(Aggregate CLTV)は、多くの場合驚くほどの予測精度ですが、顧客別の状況が見えません。全体レベルCLTV(Aggregate CLTV)をベースに顧客別CLTV(Individual CLTV)を計算すると、驚くほどに不正確になります。
経営レベルの指標としては全体レベルCLTV(Aggregate CLTV)で良いかもしれませんが、マーケターや営業の現場で活用するときの指標としては顧客別CLTV(Individual CLTV)がいいでしょう。
全体レベルCLTV(Aggregate CLTV)は、顧客別CLTV(Individual CLTV)を集計すれば求めることができるわけですから、CLTV(顧客生涯価値)を算出するなら最初から顧客別CLTV(Individual CLTV)が良いかと思います。
全体レベルCLTV(Aggregate CLTV)の予測値は、時系列モデルを構築することで求めることができます。
顧客別CLTV(Individual CLTV)を計算する最も簡単な方法は、顧客属性などで似たような顧客でグルーピングし、その顧客グループごとに時系列モデルを構築することで、顧客グループ別のCLTVの予測値を求めることができます。もしくは、顧客属性などを説明変数X(特徴量)とした予測モデルを構築する方法です。
経営レベルの指標としては全体レベルCLTV(Aggregate CLTV)で良いかもしれませんが、マーケターや営業の現場で活用するときの指標としては顧客別CLTV(Individual CLTV)がいいでしょう。
全体レベルCLTV(Aggregate CLTV)は、顧客別CLTV(Individual CLTV)を集計すれば求めることができるわけですから、CLTV(顧客生涯価値)を算出するなら最初から顧客別CLTV(Individual CLTV)が良いかと思います。
幸運なことに、顧客別CLTV(Individual CLTV)モデルは存在します。RやPythonに、そのためのパッケージもあります。
別の機会に、パッケージの使い方を含め解説しようとは思いますが、気になる方は使って見てください。さらに、最近ではデープラーニング系のモデルも開発されています。こちらも、別の機会にお話しします。