Análise RFM

Este tópico demonstra como configurar um painel que permite segmentar os clientes de acordo com sua recenticidade, frequência e classificação monetária. A análise RFM é uma técnica de marketing que considera os comportamentos do cliente para ajudar você a determinar a segmentação para alcance geral. São três os aspectos em causa:

  1. Recenticidade na recente compra de um cliente em sua loja
  2. Frequência na frequência com que eles compram de você
  3. Valor monetário em quanto o cliente gasta

A análise RFM só poderá ser configurada se você tiver o plano Pro Adobe Commerce Intelligence na nova arquitetura (por exemplo, se você tiver a opção Data Warehouse Views no menu Manage Data). Essas colunas podem ser criadas na página Manage Data > Data Warehouse. As instruções detalhadas são fornecidas abaixo.

Introdução

Primeiro, é necessário carregar um arquivo contendo apenas uma chave primária com o valor um. Isso permite a criação de algumas colunas calculadas necessárias para a análise.

Você pode usar este artigo e a imagem abaixo para formatar seu arquivo.

Colunas calculadas

Uma outra distinção é feita se sua empresa permite pedidos de hóspedes. Em caso afirmativo, você pode ignorar todas as etapas da tabela customer_entity. Se os pedidos de convidado não forem permitidos, ignore todas as etapas da tabela sales_flat_order.

Colunas para criar

  • Tabela 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

  • Selecionado column: created_at

  • Filter: Orders we count


  • Segundos desde a última data de pedido do cliente

    • Column type: - "Mesma tabela > Idade
  • Selecionado column: Customer's last order date

  • (entrada) Referência de contagem

  • Column type: Same table > Calculation


  • Entradas: entity_id

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


  • Tipo de dados: Integer

  • Tabela Referência de contagem (este é o arquivo que você carregou com o número "1")

  • Número de clientes

  • Column type: Many to One > Count Distinct

  • Path: ales_flat_order.(input) reference > Count reference.Primary Key OU customer_entity.(input)reference > Count Reference. Primary Key

  • Selecionado column: sales_flat_order.customer_email OU customer_entity.entity_id

  • Tabela Customer_entity

  • Número de clientes

  • Column type: One to Many > JOINED_COLUMN

  • Path: customer_entity.(input) referência > Concentração de clientes. Primary Key

  • Selecionado column: Number of customers

  • (entrada) Ranking by customer lifetime revenue

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Customer's lifetime revenue

  • Classificação por receita vitalícia do cliente

  • 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


  • Tipo de dados: Integer

  • Pontuação monetária do cliente (por percentis)

  • 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


  • Tipo de dados: Integer

  • (entrada) Classificação por número de ordens vitalícias do cliente

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Customer's lifetime number of orders

  • Classificação por número de ordens vitalícias do cliente


  • Tipo de coluna: – “Mesma tabela > Cálculo”

  • Inputs: - (entrada) Classificação por tempo de vida do cliente número de pedidos, Número de clientes

  • Calculation: - caso quando A é nulo, então nulo else (B-(A-1)) end

  • Datatype: - Inteiro

  • Pontuação de frequência do cliente (por percentis)

  • 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


  • Tipo de dados: Integer

  • Classificação por segundos desde a última data de pedido do cliente

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

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

  • Pontuação de recenticidade do cliente (por percentis)

  • 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


  • Tipo de dados: Integer

  • Pontuação de recenticidade do cliente (por percentis)

  • 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


  • Tipo de dados: String

  • Tabela Referência de contagem

  • Number of customers: (RFM > 0)

  • Column type: Many to One > Count Distinct

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

  • Selecionado column: sales_flat_order.customer_email OU customer_entity.entity_id

  • Filter: Customer's RFM score (by percentile) Não É Igual A 000

  • Tabela Customer_entity

  • Number of customers: (RFM > 0)

  • Column type: One to Many > JOINED_COLUMN

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

  • Selecionado column: - Number of customers

  • Pontuação de recenticidade do cliente (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


  • Tipo de dados: Integer

  • (entrada) Classificação por pontuação RFM geral do cliente

  • 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) Não É Igual A 000

  • Classificação por pontuação RFM geral do cliente

  • 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


  • Tipo de dados: Integer

  • Grupo RFM do cliente

  • 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


  • Tipo de dados: Integer

NOTE
Os percentis usados são até mesmo divisões de clientes (por exemplo, intervalos de 20% para retornar de 1 a 5). Se você tiver uma maneira personalizada de ponderar isso, informe ao analista quando enviar o ticket.

Métricas

Nenhuma métrica nova!

NOTE
adicione todas as novas colunas como dimensões às métricas antes de criar novos relatórios.

Relatórios

  • Clientes por agrupamento RFM

  • Métrica A: New customers

  • Metric: New customers

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

  • Time period: All time


  • Interval: None

  • Ocultar gráfico

  • Group by: Customer's RFM group


  • Agrupar por: Email


  • Chart type: Table

  • Clientes com pontuação de cinco recenticidade

  • Métrica 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

  • Ocultar gráfico


  • Agrupar por: Email

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


  • Chart type: Table

  • Clientes com uma pontuação de recenticidade

  • Métrica 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

  • Ocultar gráfico


  • Agrupar por: Email

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


  • Chart type: Table

Após compilar todos os relatórios, você pode organizá-los no painel conforme desejar. O resultado pode se parecer com o painel de amostra acima, mas as três tabelas geradas são apenas exemplos dos tipos de segmentação de clientes que você pode executar.

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