顧客の生涯価値 第 1 部:生涯価値の予測

関連リソース
・このブログで参照する顧客の生涯価値 第 1 部の Notebook をダウンロード
オンデマンドワークショップでさらに詳しく
・ブログシリーズ「顧客の生涯価値」第 2 部:消費の予測

 
マーケティング担当者が直面する最大の課題は、自社ブランドの収益性を高めるために、どのように予算を使うべきかということです。私たちは常に、最高の顧客の獲得にマーケティング費用を投資したいと考えます。そして同時に、不採算の顧客やブランドエクイティを低下させる活動への支出は避けたいと考えています。

マーケティング担当者は、収益を大きくするために、広告やプロモーションの費用はどれくらいが限界であるかなど、支出の効率性だけに目を向けがちです。ROI の指標だけに注目すると、ブランドエクイティが弱まり、また、売上を伸ばす手段として、価格によるプロモーションに依存するようになってしまいます。
 
既存の顧客の中には、ブランドロイヤリストからブランドトランジェントまで、さまざまな人がいます。ブランドロイヤリストは、あなたのブランドに非常に関心があり、自分の経験を他の人と共有することをいとわず、商品を再購入する可能性が最も高い顧客です。一方、ブランドトランジェントは、ブランドへの忠誠心はなく、価格を基準に買い物をします。マーケティング費用は、ブランドロイヤリストを増やすことに集中し、ブランドトランジェントへ投資は最小限に抑えるのが理想的です。
 では、このようなブランドロイヤリストを見極め、関係を長続きさせるには、どのようにマーケティング費用を使えばよいのでしょうか。
 
現在、顧客には非常に多い選択肢があります。その中で企業の優位性を高めるには、モニターや電話、ステーションを介して、個人のニーズや要望に直接語りかける必要があります。パーソナライズされたエンゲージメントは、適切に実行されれば、収益の向上、マーケティングの効率化、顧客の維持につながります。ケイパビリティが成熟し、顧客の期待が高まるにつれ、パーソナライゼーションを適切に実行することはますます重要になっていきます。この点について、マッキンゼー・アンド・カンパニーは、「パーソナライゼーションは、今後 5 年以内にマーケティングを成功させるための主要な原動力になる」と提唱しています。
 
パーソナライゼーションを実行するうえで重要なのは、全ての顧客が同じ収益性を持っているわけではないことを理解することです。顧客によって製品やサービスから得られる価値が異なり、結果として、この差異が、私たちが予期する収益・価値との誤差をもたらすのです。企業と顧客の関係を相互に有益なものにするには、顧客獲得コスト(CAC)と維持率を、その関係が継続する期間に企業が享受する総収益、または顧客生涯価値(CLV)に注意深く関連づけする必要があります。
 
これが、顧客生涯価値計算の主な原理です。関係が存続期間中の、顧客から得られる収益を計算することで、両者の関係価値を最大化すべく、投資を適切に行うことができるようになります。さらに、ある顧客が企業の製品やサービスを他の顧客よりも高く評価している要因を特定し、より期待性の高い顧客を獲得するメッセージ創出ができる可能性もあります。また、CLV を集計することによって、エクイティ構築に向けたマーケティング手法の有効性を評価したり、イノベーションや市場の変化が、時間の経過とともに CLV に与える影響をモニタリングできるようになります。
 
CLV は強力なツールですが、それが 2 つの独立した推定値から得られていることを理解することが重要です。1 つ目の推定値は、特定の顧客から予想される 1 トランザクションあたりの消費額(または平均注文額)です。もう1つの推定値は、ある期間にその顧客から予想されるトランザクション数の推定です。この推定値は、目的を達成する手段としての中間推定値と考えられがちですが、実際は、企業がマーケティング費用を新規顧客の獲得からリテンションへと移行するにつれて、それ自体が非常に価値のあるものになっていきます。

顧客生涯のインテントシグナル

多くの小売企業のケースが当てはまる非契約型(non-contractual)のシナリオでは、顧客は自由に出入りできます。小売企業において、顧客関係の残りの生涯(ライフタイム)を評価しようとする場合、顧客が以前に行ったトランザクションシグナルを、その頻度や経過時間の観点から慎重な考察が求められます。例えば、頻繁に購入していた顧客が、購入パターンを減らしたり、長期間再来店しなかったりした場合は、顧客との関係が終わりに近づいていることを示唆している可能性があります。一方、購入頻度が低い顧客は、同じように不在期間があっても、有効な関係を続けている可能性があります。

トランザクション数が同じでも、顧客生涯の異なるインテントを示す顧客
トランザクション数が同じでも、顧客生涯の異なるインテントを示す顧客

顧客と企業の関係がどの段階にあるのかを理解することは、適切なメッセージを適切なタイミングで届けるために非常に重要です。企業ブランドとの長期的な関係を望んでいる顧客は、短期的な収益を犠牲にしても、企業との関係を深め、強化し、長期的な関係の可能性を最大化するような高額な投資のオファーに積極的に反応する可能性があります。一方、短期的な関係を望んでいる顧客は、同様のオファーに躊躇したり、最悪の場合、企業が投資額を回収できる見込みのないオファーを受け入れる可能性があります。
 
機械学習モデルの管理・展開プラットフォームである mlflow を活用することで、我々のモデルを標準化されたアプリケーションプログラムインターフェースに簡単にマッピングできます。mlflow は、lifetimes(CLV 計算の Python ライブラリ)から生成されたモデルをネイティブにサポートしていませんが、この目的のために簡単に拡張できます。その結果、学習したモデルを関数やアプリケーションに即時変換でき、定期的かつリアルタイムにインタラクティブな顧客生涯のスコアリングを可能にします。
 
同様に、長期でサービス利用している顧客について、その関係性の終焉フェーズ特有のシグナル変化を認識できます。その状況を認識できれば、代替となる製品やサービスを促進し、顧客を企業またはパートナーとの収益性の高い新たな関係に移行させることが可能です。また、顧客寿命が短い顧客に対しても、限られた期間内に収益を最大化する製品・サービスを考案できます。最終的には、同様のサービスを求める他の顧客に、その製品・サービスを推薦してくれる可能性があります。
 
ピーター・フェーダー氏とサラ・トムズ氏の著書「The Customer Centricity Playbook」には、効果的な顧客中心の戦略について、こう書かれています。
「最大限の利益を得る機会を特定し、それをうまく使います。しかし、これらの高リスクの賭けは、低リスクのカテゴリーの資産にも重み付けを配分する必要があります。」
顧客がライフタイムジャーニーのどの段階にいるかを慎重に推定することで、適正なバランスを見つけ、適切なインタラクションが行えるようになります。

トランザクションシグナルから顧客生涯を推定する

前述したように、非サブスクリプションモデルでは、顧客の正確なライフタイムや、その中での段階を知ることはできません。しかし、顧客が生成するトランザクションシグナルを活用して、その顧客がアクティブになり将来的に戻ってくる可能性かあるかどうかを推定できます。BTYD(Buy 'Til You Die)モデルとして一般的に知られていますが、顧客のエンゲージメントの頻度と繰り返しのパターンを、小売業者の顧客集団全体のパターンと比較することで、生存曲線を導き出し、これらの値を得ることができます。

お客様の購入履歴に対する再エンゲージメントの確率(P_alive)
図 2. お客様の購入履歴に対する再エンゲージメントの確率(P_alive)

これらの CLV 予測モデルの背後にある数学は非常に複雑です。1980 年代後半に Schmittlein らが提案したオリジナルの BTYD モデル(現在は、Pareto/Negative Binomial Distribution 、または Pareto/NBD モデルとして知られています)は、2000 年代半ばに Fader らが計算ロジックを簡略化して、Beta-Geometrical/Negative Binomial Distribution (またはBG/NBD) モデルを生み出し、採用されるようになりました。しかし、簡略化されたモデルの計算は、すぐに難しくなってしまいました。幸いなことに、これら 2 つのモデルの背後にあるロジックは、lifetimes という名の一般的な Python ライブラリを介してアクセス可能であり、このライブラリにシンプルなサマリーメトリクスを提供することで、顧客固有の寿命推定値を導き出すことができます。

顧客生涯の推定をビジネス領域に提供する

大企業のニーズに合わせた顧客ごとの確率を lifetimes ライブラリを使用して計算することは、非常にアクセスしやすい一方で困難さも伴います。まず、モデルに必要な顧客ごとのメトリクスを生成するために、大量のトランザクションデータを処理する必要があります。次に、このデータから曲線を導き出し、予想される値の分布パターンに適合させます。このプロセスはパラメータによって規定され、このパラメータは事前に決定できず、代わりに大きな範囲の潜在的な値を繰り返し評価しなければなりません。最後に、lifetimes のモデルをフィッティングした後、マーケティングや顧客エンゲージメントの機能に統合する必要があります。このブログおよび関連 Notebook の目的は、それぞれの課題に対する対処法を示すことです。

メトリクスの計算

BTYDモデルは以下の 3 つの主要な顧客メトリクスに関係しています。

  • 頻度(Frequency):初回ではない(リピート)トランザクションが観測された一定期間内の時間単位の数。日単位で計算した場合、これはシンプルにトランザクションが発生した一意の日付の数から、顧客関係の開始を示す初回トランザクションの 1 を引いたものです。
  • 経過日数(Age):最初のトランザクションが発生してから所定の期間が終了するまでの時間単位の数。トランザクションが日単位で観察される場合、これは顧客の最初の取引からデータセットの終わりまでの日数です。
  • 再現性(Retency):最新の初回以外の(リピート)トランザクション時の顧客の期間(経過日数での定義と同じ)。

 
メトリクス自体は非常に簡単です。難しいのは、数年にわたって行われた各トランザクションの各行を記録したトランザクション履歴から、顧客ごとにこれらの値を導き出すことです。Apache Spark のようなデータ処理プラットフォームを利用すれば、この作業をマルチサーバー環境に分散させることができるため、この問題に簡単に対処でき、メトリクスをタイムリーに計算できます。さらに多くのトランザクションデータが到着し、これらのメトリクスの再計算が必要な場合でも、 Spark の弾力性により、追加のリソースを使用して、ビジネスで定義された範囲内で処理時間を維持できます。

モデルフィッティング

顧客ごとの指標を計算した後、lifetimes ライブラリを使用して、特定の小売シナリオに適用可能な複数の BTYD モデルをトレーニングできます。(最も広く適用されているのは、Pareto/NBDモデルとBG/NBDモデルの2つですが、他にもあります。)計算は複雑ですが、各モデルはシンプルなメソッドコールでトレーニングされるため、非常に利用しやすいプロセスとなっています。
 
しかし、各モデルの学習過程では、学習データに対するモデルの過学習を避けるために正則化パラメータが使われます。この正則化パラメータにどのような値を設定すればよいかを事前に知ることは困難なため、最適な値が決定されるまで、さまざまな値を設定してモデルの適合性を評価するのが一般的です。


このプロセスでは、何百回、何千回ものトレーニングや評価を行う必要があります。最適な値を決定するプロセスは、新しいトランザクションデータが到着するたびに繰り返されるため、1 回ずつ実行すると、非常に時間がかかります。
 
hyperopt という特化したライブラリを使用することで,Apache Spark 環境のインフラを利用して,モデルの学習/評価作業を並列化して行うことができます。これにより、パラメータ調整作業を効率的に行い、最適なモデルタイプと正則化パラメータの設定を得ることができます。

ソリューションの展開

適切に学習されたこのモデルは、顧客が再来店する確率だけでなく、将来的に予想される来店回数も決定できます。再現性と頻度のメトリクスとこれらの予測結果の関係を示したマトリックスは、現在適合しているモデルに内包されている知識を的確かつ視覚的に表現しています。しかし、本当の課題は、このような予測機能を、顧客エンゲージメントを決定する担当者に活用してもらうことです。

顧客の来店頻度と再訪率のメトリクスに基づいた、顧客が生存している確率(左)と、今後30日間で期待できる購入回数の予測(右)を示したマトリックス
図3. 顧客の来店頻度と再訪率のメトリクスに基づいた、顧客が生存している確率(左)と、今後30日間で期待できる購入回数の予測(右)を示したマトリックス

機械学習モデルの管理・展開プラットフォームである mlflow を活用することで、我々のモデルを標準化されたアプリケーションプログラムインターフェースに簡単にマッピングできます。mlflow は、lifetimes(CLV 計算の Python ライブラリ)から生成されたモデルをネイティブにサポートしていませんが、この目的のために簡単に拡張できます。その結果、学習したモデルを関数やアプリケーションに即時変換でき、定期的かつリアルタイムにインタラクティブな顧客生涯のスコアリングを可能にします。

Databricks による一元化

BYTD モデルの予測能力と lifetimes ライブラリの導入の容易さを組み合わせることで、顧客生涯予測の普及が可能になります。そのためには克服すべき技術的な課題がいくつかありますが、大量の取引履歴から顧客指標を算出するためのスケーリング、大規模な探索空間での最適なハイパーパラメータチューニングの実行、顧客スコアリングを可能にするソリューションとしての最適モデルの展開など、それぞれの課題を克服するために必要な機能は揃っています。それでも、これらの機能を 1 つの環境に統合することは、困難で時間がかかります。Databricks がこの作業を代行し、これらの機能をクラウドネイティブなプラットフォームとして提供します。これにより、これらの機能を必要とする小売業者やメーカーは、限られた初期費用で、拡張性の高い環境でのソリューションを開発・展開できるようになります。

Notebook をダウンロードして使ってみる

Databricks 無料トライアル 使ってみる

ご登録