【データサイエンティストの分析録➁】ECにおける本当の「LTV」とデータ分析の地雷

ECデータ ECマーケティング

前回は、ECサイトにおけるリピーター育成の最初の、そして最も険しい分水嶺である「F2転換」をテーマに、データ構造に潜む地雷や最適なアプローチについて解説しました。

F2転換率を高めることはCPA(顧客獲得単価)の回収スピードを上げ、健全な収益構造を作るための生命線です 。しかし、F2の壁を突破した顧客たちが、長期的に自社にどれだけの価値をもたらしてくれるのかという本質――すなわち「LTV(顧客生涯価値)」の構造を正確に捉えられていなければ、マーケティング投資の判断や顧客育成のロードマップは画竜点睛を欠くことになります。

今回は、1回限りの集計値や単純な「平均LTV」に惑わされず、自社の顧客ポートフォリオにおける真の価値を暴き出すための、より高度で実践的なLTV分析について、現場のデータサイエンティストの視点から解説していきます。

従来手法の限界:単なる「算術平均LTV」だけで顧客価値を語る危うさ

多くのEC担当者が最初に行うのが、過去の実績値に基づいた以下のような単純なLTVの算出です。

LTV=平均客単価 (AOV)×平均購入頻度×平均継続期間

しかし、サブスクなどの契約が存在せず、顧客がいつでも静かに去ってしまう非契約型の通常ECにおいて、この単純な平均値のみを信じて経営や広告投資の意思決定を行うことには、3つの致命的な限界があります。

1. 顧客行動の不均一性(ヘテロジニアス)の無視

すべての顧客が、常に「平均的な頻度」で買い続けるわけではありません。顧客ごとに購買の間隔や休眠に入るタイミングは異なります。平均値による単純計算は、顧客行動が時間経過とともに変化しないという、現実的ではない前提に立っています 。

2. 「黒字倒産」を招くキャッシュフローの無視

LTVは中長期の累積値ですが、日々の資金繰りはリアルの問題です。例えば、顧客が3年かけて30,000円を支払う「LTV 30,000円」の予測が立っていたとします。この数値を信じて「LTV/CAC ≧ 3」の基準に基づき許容CACを10,000円と設定し、新規顧客を大量に獲得したとします。 しかし、初回注文時の利益が2,500円しかなく、次の購入が1年後だとしたら、投資の回収期間(Payback Period)が長期化し、顧客を獲得すればするほど手元のキャッシュが枯渇して黒字倒産に陥るリスク(資本の不整合)が発生します。

3. 「クジラ」に隠された大部分の離脱(一見客)

LTVの実績値を出力すると、以下の売上割合に見えるような極めて歪んだ「ロングテール分布」を示します。

一部の超優良顧客が全体の売上を大きく押し上げているため、全体の平均を出すと数字が著しく高くなります。しかし、実際には顧客の過半数(中央値以下)は初回購入(F1)だけで離脱している一見客です。平均値LTVだけを見て「我が社の顧客1人あたりの価値は高い」と過信し、CAC(獲得単価)を高く設定し続けると、実態として赤字を垂れ流すことになります。

「LTV分析・予測」の実践アプローチ

弊社が提供する「ECコネクター® DashBoard」には「コホート/アクティブ会員」と「デシル分析」、「RF分析」のレポートが標準搭載されています。フィルターでターゲットとなる集団を絞り込むことで多角的な分析を行うことが可能です。

1.「コホート維持率(定着率)」のリアルタイム追跡と可視化

DashBoard内の「コホート/アクティブ会員」レポートでは、顧客を初回獲得月(コホート)ごとにグループ化し、その累積LTVや維持率が経過月数(1か月後、2か月後、3か月後…)に沿ってどのように推移するかを追跡します。

全体平均という「薄まった%」を見るのではなく、獲得月ごとに時系列で分解することで、特定の月に打った獲得施策やプロモーションが、その後のリピート定着にどう影響したのかをデータから客観的に評価できます。

2.「RF分析(顧客・売上)」マトリクスでの離脱傾向の可視化

DashBoard内の「RF分析」では、最終購入経過日数(Recency:R30, R60, R90…)と累計購入回数(Frequency:F1, F2, F3…)をクロス集計したマトリクスをボタン一つで表示します。 ここに「30日前との比較」表示を組み合わせることで、「今月F1×R30の枠にいた顧客が、F2(リピーター)へステップアップしたか」あるいは「購入がないままF1×R60(休眠予備軍)へ移動したか」という顧客ステータスの遷移を把握し、離脱アラートとして活用します。

3. 今後のアップデートで連携される分析機能(生存分析・機械学習)

「ECコネクター® DashBoard」開発チームでは顧客の「一歩先のアクション」を予測するモデル開発を進めています。

前回紹介させていただいた、顧客の購入頻度と活動継続(生存確率)をモデル化する「BG/NBDモデル」と、予測された将来の購入回数に注文単価を掛け合わせるための「Gamma-Gammaモデル」を組み合わせます。これにより、「現時点でこの顧客がまだアクティブ(生存)している確率(P(alive))」を個客レベルで確率的に算出し、将来の予測期間における予測LTV(pLTV)を高い精度で推測、顧客価値のランク付けや広告予算の最適化を可能にします。

分析時にハマる「地雷」と解決策

LTVを投資判断の基準にする場合、売上高ベースの単純LTVではなく、COGS(商品原価)、返品コスト、梱包・配送費、決済手数料などのコストをすべて差し引いた「粗利ベースLTV」を採用しなければ、投資判断を誤ります。しかし、これらを元データから集計する上で、注意しなくてはならないのが「重複計上」問題です。

データマッピングの過程で、受注ヘッダーテーブルと受注明細テーブルを「受注コード」をキーにして結合する際、現場のエンジニアが最もよく踏み抜く地雷がこれです。例えば、受注ヘッダーに含まれる「送料」などのデータが、商品明細の数だけ重複して合算され、顧客単価が実態の2〜3倍になってしまうトラブルが発生します。この地雷を回避するために、明細の1行目以外は受注ヘッダーに含まれる値を0に置換するクエリ例をご紹介します。

クエリ例

WITH prep AS (
SELECT
"受注コード",
ROW_NUMBER() OVER(PARTITION BY "受注コード" ORDER BY "商品コード")
AS "明細番号",
"商品コード",
"販売単価",
"送料",
"クーポン値引き額"
FROM csv_data
)
SELECT
"受注コード",
"明細番号",
"商品id",
"販売単価",
IF ("明細番号" = 1, "送料", 0) AS "送料",
IF ("明細番号" = 1, "クーポン値引き額", 0) AS "クーポン値引き額"
FROM prep

現場ですぐに使えるシンプルな変換ロジックとなっていますので、是非ご活用ください。

自社の顧客データを単なる「集計値」として終わらせず、施策に直結するインサイトへ変えるために、まずは過去1年間の「粗利ベースLTV」を算出することから始めてみてください。

〈筆者プロフィール〉
データサイエンティスト J

ECコネクター® DashBoard 開発・データ分析担当。大学・大学院にてコンピューターサイエンスおよびデータ解析を専攻し、修士課程を修了。
現在は「ECコネクター® DashBoard」の開発エンジニア/データサイエンティストとして、サービス全体のアルゴリズム設計からダッシュボード開発までを担当。 Amazon AthenaやBigQueryを用いた大規模データのクエリ処理、Pythonによるデータパイプライン構築、各種API連携の自動化を得意とし、データの集計・加工からビジネスに直結する可視化までを一貫して手がけている。