[Solo PaaS]{class="badge informative" title="Applicabile solo ai progetti Adobe Commerce on Cloud (infrastruttura PaaS gestita da Adobe) e ai progetti on-premise."}

Analisi RFM

Questo argomento illustra come impostare una dashboard che consenta di segmentare i clienti in base all’attualità, alla frequenza e alle classificazioni monetarie. L’analisi RFM è una tecnica di marketing che prende in considerazione i comportamenti dei clienti per aiutarti a determinare la segmentazione per l’estensione. Essa tiene conto di tre aspetti:

  1. Recency in quanto recentemente un cliente ha acquistato dal tuo negozio
  2. Frequenza di acquisto
  3. Quante spese spende il cliente

Dashboard di analisi RFM con segmenti di attualità, frequenza e valore monetario

L'analisi RFM può essere configurata solo se si dispone del piano Adobe Commerce Intelligence Pro nella nuova architettura (ad esempio, se si dispone dell'opzione Data Warehouse Views nel menu Manage Data). Queste colonne possono essere create dalla pagina Manage Data > Data Warehouse. Istruzioni dettagliate sono fornite di seguito.

Guida introduttiva

Devi innanzitutto caricare un file contenente solo una chiave primaria con il valore di una. Ciò consente di creare alcune colonne calcolate necessarie per l’analisi.

Puoi usare questo articolo e l'immagine seguente per formattare il file.

Colonne calcolate

Un'ulteriore distinzione viene fatta se la vostra azienda consente gli ordini degli ospiti. In tal caso, è possibile ignorare tutti i passaggi per la tabella customer_entity. Se gli ordini guest non sono consentiti, ignorare tutti i passaggi per la tabella sales_flat_order.

Colonne da creare

  • Tabella 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 selezionati: created_at

  • Filter: Orders we count


  • Secondi dalla data dell'ultimo ordine del cliente

    • Column type: - "Stessa tabella > Età
  • column selezionati: Customer's last order date

  • (input) Riferimento conteggio

  • Column type: Same table > Calculation


  • Input: entity_id

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


  • Datatype: Integer

  • Riferimento conteggio tabella (file caricato con il numero "1")

  • Numero di clienti

  • Column type: Many to One > Count Distinct

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

  • Selezionato column: sales_flat_order.customer_email O customer_entity.entity_id

  • Tabella Customer_entity

  • Numero di clienti

  • Column type: One to Many > JOINED_COLUMN

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

  • column selezionati: Number of customers

  • (input) Ranking by customer lifetime revenue

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Customer's lifetime revenue

  • Classificazione per ricavi ciclo di vita 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


  • Datatype: Integer

  • Punteggio monetario del cliente (in percentili)

  • 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


  • Datatype: Integer

  • (input) Classificazione per numero di ordini del ciclo di vita del cliente

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

  • Event rank: Customer's lifetime number of orders

  • Classificazione in base al numero di ordini del ciclo di vita del cliente


  • Tipo di colonna: – “Stessa tabella > Calcolo”

  • Inputs: - (input) Classificazione per numero di ordini nel ciclo di vita del cliente, Numero di clienti

  • Calculation: - caso in cui A è nullo e quindi null; (B-(A-1)) fine

  • Datatype: - Numero intero

  • Punteggio di frequenza del cliente (in percentili)

  • 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


  • Datatype: Integer

  • Classificazione per secondi dalla data dell'ultimo ordine del cliente

  • Column type: Same table > Event Number

  • Event owner: (input) reference for count

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

  • Punteggio di recency del cliente (in percentili)

  • 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


  • Datatype: Integer

  • Punteggio di recency del cliente (in percentili)

  • 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


  • Datatype: String

  • Riferimento conteggio tabella

  • Number of customers: (RFM > 0)

  • Column type: Many to One > Count Distinct

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

  • Selezionato column: sales_flat_order.customer_email O customer_entity.entity_id

  • Filter: Customer's RFM score (by percentile) Diverso Da 000

  • Tabella Customer_entity

  • Number of customers: (RFM > 0)

  • Column type: One to Many > JOINED_COLUMN

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

  • column selezionato: - Number of customers

  • Punteggio di recency del 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


  • Datatype: Integer

  • (input) Classificazione per punteggio RFM complessivo del 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) Diverso Da 000

  • Classificazione in base al punteggio RFM complessivo del 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


  • Datatype: Integer

  • Gruppo RFM del 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


  • Datatype: Integer

NOTE
I percentili utilizzati sono anche frazioni di clienti (ad esempio, 20% di bucket per restituire 1-5). Se desideri ponderare questi elementi in modo personalizzato, informa l’analista quando invii il ticket.

Metriche

Nessuna nuova metrica.

NOTE
Assicurati di aggiungere tutte le nuove colonne come dimensioni alle metriche prima di creare nuovi rapporti.

Rapporti

  • Clienti per raggruppamento RFM

  • Metrica A: New customers

  • Metric: New customers

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

  • Time period: All time


  • Interval: None

  • Nascondi grafico

  • Group by: Customer's RFM group


  • Raggruppa per: Email


  • Chart type: Table

  • Clienti con cinque punteggi di attualità

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

  • Nascondi grafico


  • Raggruppa per: Email

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


  • Chart type: Table

  • Clienti con un punteggio di recency

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

  • Nascondi grafico


  • Raggruppa per: Email

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


  • Chart type: Table

Dopo aver compilato tutti i rapporti, puoi organizzarli nel dashboard come desideri. Il risultato potrebbe essere simile al dashboard di esempio riportato sopra, ma le tre tabelle generate sono solo esempi dei tipi di segmentazione dei clienti che è possibile eseguire.

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