RFM 分析

このトピックでは、顧客のリーセンシー、頻度、通貨ランキング別に顧客をセグメント化できるダッシュボードの設定方法を説明します。 RFM 分析は、顧客の行動を考慮して、アウトリーチのためのセグメント化を決定するのに役立つマーケティング テクニックです。 次の 3 つの側面が考慮されます。

  1. ストアから顧客が購入した最近の最新性
  2. 顧客が自社から購入する頻度
  3. お客様が費やす金額

RFM 分析は、新しいアーキテクチャに Adobe Commerce Intelligence Pro プランがある場合(たとえば、Manage Data メニューの Data Warehouse Views オプションがある場合)にのみ設定できます。 これらの列は、Manage Data > Data Warehouse のページから作成できます。 詳細な手順は次のとおりです。

はじめに

まず、値が 1 のプライマリキーのみを含むファイルをアップロードする必要があります。 これにより、分析に必要な計算列を作成できます。

この 記事と以下の画像を使用して、ファイルをフォーマットできます。

計算される列

ビジネスでゲストによる注文が許可されている場合は、さらに区別されます。 その場合は、customer_entity テーブルのすべてのステップを無視できます。 ゲストの注文が許可されていない場合は、sales_flat_order テーブルのすべてのステップを無視します。

作成する列

  • Sales_flat_order/customer_entity テーブル

  • Customer's last order date

  • Column type: Many to one > Max

  • Pat: sales_flat_order.customer_id > customer_entity.entity_id

  • 選択された column: created_at

  • Filter: Orders we count


  • 顧客の最終注文日からの経過時間(秒)

    • Column type: - "同じテーブル > 年齢
  • 選択された column: Customer's last order date

  • (入力)カウント参照

  • Column type: Same table > Calculation


  • 入力: entity_id

  • Calculation: **case when A is null then null else 1 end**


  • データ型: Integer

  • カウント参照 テーブル(これは「1」という番号でアップロードしたファイルです)

  • 顧客の数

  • Column type: Many to One > Count Distinct

  • Path: ales_flat_order.(input) reference > Count reference.Primary Key または customer_entity.(input)reference > Count ReferencePrimary Key

  • 選択された column: sales_flat_order.customer_email または customer_entity.entity_id

  • Customer_entity テーブル

  • 顧客の数

  • Column type: One to Many > JOINED_COLUMN

  • Path: customer_entity。(入力) リファレンス > 顧客集中度。Primary Key

  • 選択された column: Number of customers

  • (入力) Ranking by customer lifetime revenue

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Customer's lifetime revenue

  • 顧客の生涯売上高によるランキング

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer lifetime revenue, Number of customers

  • Calculation: case when A is null then null else (B-(A-1)) end


  • データ型: Integer

  • 顧客の通貨スコア (パーセンタイル単位)

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer lifetime revenue, Number of customers

  • Calculation: Case when round((B-A+1)*100/B,0) <= 20 then 5 when round((B-A+1)*100/B,0) <= 40 then 4 when round((B-A+1)*100/B,0) <= 60 then 3 when round((B-A+1)*100/B,0) <= 80 then 2 when round((B-A+1)*100/B,0) <= 100 then 1 else 0 end


  • データ型: Integer

  • (入力)顧客のライフタイムナンバーごとの注文ランキング

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Customer's lifetime number of orders

  • 顧客の生涯注文数によるランキング


  • 列タイプ: – “同じテーブル/計算”

  • Inputs: - (入力)顧客のライフタイム数によるランキング注文数顧客数

  • Calculation: - A が null の場合は null、それ以外の場合は(B – (A-1))終了

  • Datatype: – 整数

  • 顧客の頻度スコア (パーセンタイル単位)

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer lifetime number of orders, Number of customers

  • Calculation: Case when round((B-A+1)*100/B,0) <= 20 then 5 when round((B-A+1)*100/B,0) <= 40 then 4 when round((B-A+1)*100/B,0) <= 60 then 3 when round((B-A+1)*100/B,0) <= 80 then 2 when round((B-A+1)*100/B,0) <= 100 then 1 else 0 end


  • データ型: Integer

  • 顧客の前回の注文日以降のランキング (秒)

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Seconds since customer's last order date

  • 顧客の最新性スコア (パーセンタイル単位)

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer lifetime number of orders, Number of customers

  • Calculation: Case when (A * 100/B,0) <= 20 then 5 when (A * 100/B,0) <= 40 then 4 when (A * 100/B,0) <= 60 then 3 when (A * 100/B,0) <= 80 then 2 when (A * 100/B,0) <= 100 then 1 else 0 end


  • データ型: Integer

  • 顧客の最新性スコア (パーセンタイル単位)

  • Column type: Same table > Calculation

  • Inputs: Customer's recency score (by percentiles)Customer's frequency score (by percentiles)Customer's monetary score (by percentiles)

  • Calculation: case when (A IS NULL or B IS NULL or C IS NULL) then null else concat(A,B,C) end


  • データ型: String

  • カウント参照 テーブル

  • Number of customers: (RFM > 0)

  • Column type: Many to One > Count Distinct

  • Path: sales_flat_order.(input) reference > Customer Concentration. Primary Key または customer_entity.(input)reference > Customer Concentration.Primary Key

  • 選択された column: sales_flat_order.customer_email または customer_entity.entity_id

  • Filter: Customer's RFM score (by percentile) が 000 と等しくない

  • Customer_entity テーブル

  • Number of customers: (RFM > 0)

  • Column type: One to Many > JOINED_COLUMN

  • Path: customer_entity.(input) reference > Customer Concentration.Primary Key

  • 選択された column: - Number of customers

  • 顧客の最新性スコア (R+F+M)

  • Column type: Same table > Calculation

  • Inputs: - Customer's recency score (by percentiles)Customer's frequency score (by percentiles)Customer's monetary score (by percentiles)

  • Calculation: case when (A IS NULL or B IS NULL or C IS NULL) then null else A+B+C end


  • データ型: Integer

  • (入力)顧客の RFM 全体スコア別のランキング

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Customer's recency score (R+F+M)

  • Filter: Customer's RFM score (by percentile) が 000 と等しくない

  • 顧客の RFM スコア全体によるランキング

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer's overall RFM score, Number of customers (RFM > 0)

  • Calculation: case when A is null then null else (B-(A-1)) end


  • データ型: Integer

  • 顧客の RFM グループ

  • Column type: Same table > Calculation

  • Inputs: (input) Ranking by customer lifetime revenue, Number of customers

  • Calculation: Case when round(A * 100/B,0) <= 20 then '5. copper' when round(A * 100/B,0) <= 40 then '4. bronze' when round(A * 100/B,0) <= 60 then '3. silver' when round(A * 100/B,0)<= 80 then '2. gold' else '1. Platinum' end


  • データ型: Integer

NOTE
使用されるパーセンタイルは、顧客の偶数分割です(例えば、20% バケットで 1~5 のリターン)。 カスタムウェイで重みを付けたい場合は、チケットの送信時にアナリストにお知らせください。

指標

新しい指標はありません。

NOTE
新しいレポートを作成する前に、必ず すべての新しい列をディメンションとして指標に追加するようにしてください。

レポート

  • RFM グループ別の顧客

  • 指標 A: New customers

  • Metric: New customers

  • Filter: Customer's RFM score (by percentiles) Not Equal to 000

  • Time period: All time


  • Interval: None

  • グラフを非表示

  • Group by: Customer's RFM group


  • Group by: Email


  • Chart type: Table

  • 5 つの最新性スコアを持つ顧客

  • 指標 A: New customers

  • Metric: New customers

  • Filter: Customer's recency score (by percentiles) Equal to 5

  • Time period: All time


  • Interval: None


  • Chart Type: Scalar

  • グラフを非表示


  • Group by: Email

  • Group by: Customer's RFM score (R+F+M)


  • Chart type: Table

  • 1 つの最新性スコアを持つ顧客

  • 指標 A: New customers

  • Metric: New customers

  • Filter: Customer's recency score (by percentiles) Equal to 1

  • Time period: All time


  • Interval: None


  • Chart Type: Scalar

  • グラフを非表示


  • Group by: Email

  • Group by: Customer's RFM score (R+F+M)


  • Chart type: Table

すべてのレポートをコンパイルした後、必要に応じてダッシュボード上で整理できます。 結果は上記のサンプルダッシュボードのようになりますが、生成された 3 つのテーブルは、実行できる顧客セグメント化のタイプの例に過ぎません。

recommendation-more-help
e1f8a7e8-8cc7-4c99-9697-b1daa1d66dbc