とりあえずLTVという言葉だけ出てる時には疑って聞くという習慣がついてるけど、具体的な計算方法を紹介している例はあまり見なかったのでメモ。
Calculating your customers lifetime value (with code) | The Startup Foundry
こちらの記事はまっとうかつ地味にまとめてる。
Customer LTV = Revenue Per Month * Number of Months being a customer
ということですがデータが取れていることを前提に例えば、サイト全体のLTVを以下のようなクエリーで計算できる
SELECT SUM(Transaction.amount) AS totalrevenue, COUNT(DISTINCT(Customer.id)) AS numberofcustomers, totalrevenue/numberofcustomers AS averagecustomerltv FROM Customer LEFT JOIN Transactions ON (Transaction.customerid = Customer.id AND Transaction.approved = 1) WHERE Customer.signupdate BETWEEN 3-1-2011 AND 3-30-2011;
これはあくまで登録当月の人全体の費消額と平均額を出しただけだけど、これがまぁ基本。
SELECT SUM(Transaction.amount) AS totalrevenue, COUNT(DISTINCT(Customer.id)) AS numberofcustomers, totalrevenue/numberofcustomers AS averagecustomerltv, Customer.id FROM Customer LEFT JOIN Transactions ON (Transaction.customerid = Customer.id AND Transaction.approved = 1) WHERE Customer.signupdate BETWEEN 3-1-2011 AND 3-30-2011 GROUP BY Customer.id ORDER BY averagecustomerltv;
途端にレコード数が多くなるけど、カスタマーID別に出力しています。きっとこれでヒストグラム作ったりするとそれっぽくなってくるんだろうけど。
セグメント的な話をすると、元記事には例えばGoogle Analyticsでの流入経路を使って、流入経路ごとの違いを作ったりもしているみたいですね。