高価値顧客の特定

ハイバリュー顧客を把握することが、マーケティング戦略の最適化、顧客維持の改善、収益の最大化に大きな差をもたらす。

ハイバリュー顧客は、単に取引の大きさだけでなく、取引の頻度やロイヤルティの面でも、貴重だ。

これらの顧客を特定しプロファイリングすることで、企業は顧客満足度と忠誠度を高めるためのマーケティング努力を調整し、最終的に持続的な成長を促進できる。

BigQuery MLとGoogleアナリティクスのサンプルデータセットを使用して、取引履歴に基づいて高価値顧客を特定しプロファイリングする方法を探る。

また、高価値顧客を他の顧客と区別するパターンを分析し、この重要な顧客層とより効果的に関わる方法についての洞察を提供する。

Github

Contents

  1. データの準備
  2. ハイバリュー顧客の定義
  3. モデル構築とトレーニング
    • ロジスティック回帰
    • K-means クラスタリング
    • ランダムフォレスト
  4. モデルの評価
  5. まとめ

1. データの準備

ハイバリュー顧客を正確に特定しプロファイリングする前に、予測モデルの効果を最大限に引き出せるようにデータセットを準備することが重要。

Google Analyticsのサンプルデータセットは、取引の詳細、顧客行動、デモグラフィック情報など、豊富な情報を提供してくれる。これらのデータを最大限に活用するには、分析を可能をできるようにデータを構造化する必要がある。

このプロセスの重要なステップの1つが、特徴量の正規化だ。正規化により特徴量のスケールが調整され、すべての変数がモデルに対して均等に寄与できるようになる。

正規化を行わないと、ロジスティック回帰やランダムフォレスト、K-Meansクラスタリングのようなモデルは、数値範囲の大きな特徴量によって偏りが生じ、予測結果が歪む可能性がある。

例えば、K-meansクラスタリングでは、大きな値を持つ特徴量がクラスタリングプロセスに不釣り合いな影響を与え、意味あるパターンの検出を困難にする可能性がある。

詳細なコードは、GitHubリポジトリで公開している。

2. ハイバリュー顧客の定義

ハイバリュー顧客の定義は、ビジネスモデルや目標に応じてさまざまだ。

今回の分析では、売上における上位20%の顧客をハイバリュー顧客と定義する。この定義により、事業の収益に大きく影響を与える顧客に焦点を当てることができる。

SQL
-- Define High-Value Customers
CREATE OR REPLACE TABLE `predictive-behavior-analytics.Section5.high_value_customers` AS
WITH customer_revenue AS (
  SELECT
    customer_id,
    SUM(revenue) AS total_revenue,
    COUNT(*) AS transaction_count,
    AVG(revenue) AS avg_revenue_per_transaction
  FROM
    `predictive-behavior-analytics.Section5.customer_transaction_data`
  GROUP BY
    customer_id
),
percentile_80th AS (
  SELECT
    APPROX_QUANTILES(total_revenue, 100)[OFFSET(80)] AS p80_revenue
  FROM
    customer_revenue
)
SELECT
  cr.customer_id,
  cr.total_revenue,
  cr.transaction_count,
  cr.avg_revenue_per_transaction,
  IF(cr.total_revenue > p.p80_revenue, 1, 0) AS high_value_status
FROM
  customer_revenue cr,
  percentile_80th p;

3. モデルの構築とトレーニング

このセクションでは、ロジスティック回帰、K-Meansクラスタリング、ランダムフォレストの3つの機械学習モデルを構築し、トレーニングするプロセスを紹介する。

ロジスティック回帰

ロジスティック回帰モデルを、顧客が高価値顧客かどうかを予測するのに使用する。このモデルは二値分類タスクに特に有用で、高価値顧客を決定する上で最も影響力のある特徴を理解するのに役立つ。

SQL
-- Logistic Regression
CREATE OR REPLACE MODEL `predictive-behavior-analytics.Section5.logistic_regression_model`
OPTIONS(model_type='logistic_reg', input_label_cols=['high_value_status']) AS
SELECT
  normalized_transaction_count,
  normalized_avg_revenue,
  device_type_cat,
  country_cat,
  high_value_status  -- Include the target column
FROM
  `predictive-behavior-analytics.Section5.customer_features`;

K-Means クラスタリング

K-Meansクラスタリングは、顧客の購買行動やデモグラフィックに基づいて顧客を異なるグループに分類するための教師なし学習アルゴリズム。このモデルを使用することで、顧客層内の自然なグループを特定でき、その中にはハイバリュー顧客に該当するものも含まれる可能性がある。

SQL
-- K-Means Clustering
CREATE OR REPLACE MODEL `predictive-behavior-analytics.Section5.kmeans_model`
OPTIONS(model_type='kmeans', num_clusters=5) AS
SELECT
  normalized_transaction_count,
  normalized_avg_revenue,
  device_type_cat,
  country_cat
FROM
  `predictive-behavior-analytics.Section5.customer_features`;

ランダムフォレスト

ランダムフォレストは、複数の決定木を構築し、それらを統合してより正確で安定した予測を行うアンサンブル学習法。特徴量の重要度に関する洞察を提供し、予測に最も影響を与える要因を特定することができる。

SQL
-- Random Forest Classifier
CREATE OR REPLACE MODEL `predictive-behavior-analytics.Section5.random_forest_model`
OPTIONS(model_type='random_forest_classifier', input_label_cols=['high_value_status']) AS
SELECT
  normalized_transaction_count,
  normalized_avg_revenue,
  device_type_cat,
  country_cat,
  high_value_status  -- Include the target column
FROM
  `predictive-behavior-analytics.Section5.customer_features`;

モデルの評価

モデルの評価は、以下の指標を用いて行う。

  • 精度(Precision): 正しく予測できた割合
  • 再現率(Recall): 実際に高価値顧客である顧客を正しく予測できた割合
  • 正確度(Accuracy): 高価値顧客と予測した顧客のうち、実際に高価値顧客であった割合
  • F1スコア: 精度と再現率の調和平均
  • 対数損失(Log Loss): モデルの予測の確信度を測る指標
  • AUC: モデルが正例と負例を区別できる能力を測る指標

ロジスティック回帰とランダムフォレストの比較

以下、主要な評価指標に基づくロジスティック回帰とランダムフォレストの両モデルの比較結果を示す。

Results
Model精度再現率正確度F1スコア対数損失AUC
ロジスティック回帰1.0000.6490.9960.7880.0140.998
ランダムフォレスト1.0000.9851.0000.9920.12730.988

ロジスティック回帰とランダムフォレストモデルの比較評価は、高価値顧客の特定における強みと弱みを明確にした。両モデルとも完璧な精度を達成し、予測された高価値顧客がすべて実際に高価値顧客であったことが示された。しかし、再現率、正確度、F1スコア、対数損失、AUCといった他の指標を考慮すると、結果には大きな差異が見られる。

精度

ロジスティック回帰とランダムフォレスト分類器の両モデルとも1.000の精度を達成しており、これらのモデルによって高価値と予測されたすべての顧客が実際に高価値であることを示している。この高い精度は、偽陽性が高コストとなるシナリオで重要で、リソースが誤って識別された顧客に無駄に使われないことを保証する。

再現率

ランダムフォレストは再現率の点でロジスティック回帰を上回る。これは、ランダムフォレストモデルが実際のハイバリュー顧客をより多く特定できることを示しており、ハイバリュー顧客を可能な限り多く捉えたい場合には、このモデルがより信頼性が高いことを意味する。

正確度

正確度の面でも、ランダムフォレストがロジスティック回帰をわずかに上回る。両モデルとも良好なパフォーマンスを示すが、ランダムフォレストの完璧な正確度は、データセット全体にわたって顧客を正確に分類する堅牢性を強調している。

F1スコア

精度と再現率のバランスを示すF1スコアは、ロジスティック回帰と比較してランダムフォレストモデルの方が顕著に高い。この高いF1スコアは、ランダムフォレストが精度だけでなく、より多くの実際のハイバリュー顧客を捉える点でも優れており、全体的にバランスの取れたモデルであることを示している。

Log Loss

モデルの予測に対する確信度を測る対数損失は、ランダムフォレストよりもロジスティック回帰の方がはるかに低い。ロジスティック回帰のこの低い対数損失は、再現率は低いものの、顧客を高価値と分類する際にはより確信を持って予測していることを示唆している。しかし、この確信は、再現率の低さが示すように、実際の高価値顧客の相当な部分を見逃すことと引き換えになっている。

AUC (Area Under the Curve)

ハイバリュー顧客と非ハイバリュー顧客を区別するモデルの能力を測るAUCスコアは、ロジスティック回帰がわずかにランダムフォレストより高い。どちらのモデルも非常に優れた性能を示しているが、ロジスティック回帰のAUCがわずかに高いことは、顧客クラスの区別能力において若干の優位性があることを示している。しかし、この利点は再現率の低さによって相殺されている。

特徴量の重要度

特徴量の重要度分析により、取引毎の平均収益が最も重要な特徴量であることが示された。一方で、デバイスタイプや取引回数などの特徴量はほとんど影響を与えないことがわかる。これは、モデルが単一の特徴量に過度に依存している可能性を示唆している。

K-Meansクラスタリング

結果の要約:

  • Davies-Bouldin指数:1.473
  • 平均二乗距離:2.413

Davies-Bouldin指数(DBI)は、クラスタリングの質を評価するための指標だ。各クラスターと最も類似したクラスターとの平均類似度比を測定し、DBIが低いほどクラスタリングの質が高いことを示す。

1.473のDBIは、K-平均モデルによって形成されたクラスターが適度に分離されているが、さらに改善の余地がある可能性を示唆している。このスコアは貧弱なクラスタリングを示すものではないが、クラスター間の区別をさらに強化するための最適化の余地があることを示唆している。

平均二乗距離指標は、データポイントとそれぞれのクラスター中心との間の距離の平均測定値を提供する。

値が低いほど、データポイントがそれぞれの中心の周りに密集していることを示し、密接で明確に定義されたクラスターを意味する。

この場合、2.413の平均二乗距離は、データポイントがそれぞれの中心に適度に近いことを示す合理的なクラスタリングパフォーマンスを示している。

しかし、一部のデータポイントがクラスター内で広がっている可能性があることを示唆しており、より密接なクラスターを達成するためにモデルをさらに改良する余地があるかもしれない。

まとめ

ロジスティック回帰、ランダムフォレスト、K-平均クラスタリングの各モデルの評価から重要な知見が得られた。

ロジスティック回帰は精度で優れているものの、再現率で苦戦し、多くの高価値顧客を見逃している。

ランダムフォレストは再現率、正確度、F1スコアで優れており、高価値顧客の識別においてよりバランスの取れたモデルとなっている。

K-平均クラスタリングは適度なクラスタリングを示しているが、改善の余地がある。

以下のページでは、K-平均クラスタリングを使って顧客セグメンテーションに行い、K-平均クラスタリングについてさらに深く掘り下げて検討する。

顧客セグメンテーション Understanding your customer base at a deeper level is essential for...
Follow by Email
LinkedIn
LinkedIn
Share