RFM-analys
I det här avsnittet beskrivs hur du skapar en instrumentpanel där du kan segmentera kunderna utifrån deras senaste, frekventa och monetära rankningar. RFM-analys är en marknadsföringsteknik som tar hänsyn till kundbeteenden för att hjälpa er att bestämma segmentering för utåtriktad marknadsföring. Den omfattar tre aspekter:
- Hur nyligen en kund har köpt från din butik
- Hur ofta de köper från dig
- Pengar in hur mycket kunden spenderar
RFM-analysen kan bara konfigureras om du har Adobe Commerce Intelligence Pro-planen på den nya arkitekturen (till exempel om du har alternativet Data Warehouse Views på menyn Manage Data). Dessa kolumner kan skapas från sidan Manage Data > Data Warehouse. Detaljerade instruktioner finns nedan.
Komma igång
Du måste först överföra en fil som bara innehåller en primärnyckel med värdet 1. Detta gör att du kan skapa vissa nödvändiga beräknade kolumner för analysen.
Du kan använda den här artikeln och bilden nedan för att formatera filen.
Beräknade kolumner
Ytterligare en skillnad görs om ditt företag tillåter gästbeställningar. I så fall kan du ignorera alla steg för tabellen customer_entity. Om gästorder inte tillåts, ignorera alla steg för tabellen sales_flat_order.
Kolumner att skapa
-
Sales_flat_order/customer_entity-tabell -
Customer's last order date -
Column type:
Many to one > Max -
Pat:
sales_flat_order.customer_id > customer_entity.entity_id -
Markerad column:
created_at -
Filter:
Orders we count -
Sekunder sedan kundens senaste orderdatum- Column type: - "Samma tabell > Ålder
-
Markerad column:
Customer's last order date -
(input) Count reference reference
-
Column type:
Same table > Calculation -
-indata:entity_id -
Calculation:
**case when A is null then null else 1 end** -
-datatyp:Integer -
Tabellen Antal referenser (det här är filen som du överförde med talet "1")
-
Antal kunder
-
Column type:
Many to One > Count Distinct -
Path:
ales_flat_order.(input) reference > Count reference.Primary KeyELLERcustomer_entity.(input)reference > Count Reference.Primary Key -
Markerad column:
sales_flat_order.customer_emailELLERcustomer_entity.entity_id -
tabellen Customer_entity
-
Antal kunder
-
Column type:
One to Many > JOINED_COLUMN -
Path:
customer_entity.(input) reference > Customer Concentration.Primary Key -
Markerad column:
Number of customers -
(indata)
Ranking by customer lifetime revenue -
Column type:
Same table > Event Number -
Event owner:
(input) reference for count -
Event rank:
Customer's lifetime revenue -
Rankning efter kundens livstidsintäkt
-
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 -
-datatyp:Integer -
Kundens monetära poäng (i procent)
-
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 -
-datatyp:Integer -
(input) Rankning per kundens livstid antal order
-
Column type:
Same table > Event Number -
Event owner:
(input) reference for count -
Event rank:
Customer's lifetime number of orders -
Rankning efter kundens livstidsantal order
-
-kolumntyp: – “Samma tabell > Beräkning” -
Inputs: - (indata) Rankning efter kundens livstidsantal order, Antal kunder
-
Calculation: - case when A is null then null else (B-(A-1)) end
-
Datatype: - Heltal
-
Kundens frekvenspoäng (per percentiler)
-
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 -
-datatyp:Integer -
Ordna efter sekunder sedan kundens senaste orderdatum
-
Column type:
Same table > Event Number -
Event owner:
(input) reference for count -
Event rank:
Seconds since customer's last order date -
Kundens senaste poäng (i procent)
-
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 -
-datatyp:Integer -
Kundens senaste poäng (i procent)
-
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 -
-datatyp: String -
Tabellen Räkningsreferens
-
Number of customers:
(RFM > 0) -
Column type:
Many to One > Count Distinct -
Path:
sales_flat_order.(input) reference > Customer Concentration. Primary KeyELLERcustomer_entity.(input)reference > Customer Concentration.Primary Key -
Markerad column:
sales_flat_order.customer_emailELLERcustomer_entity.entity_id -
Filter:
Customer's RFM score (by percentile)är inte lika med 000 -
tabellen Customer_entity
-
Number of customers:
(RFM > 0) -
Column type:
One to Many > JOINED_COLUMN -
Path:
customer_entity.(input) reference > Customer Concentration.Primary Key -
Markerad column: -
Number of customers -
Kundens senaste poäng
(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 -
-datatyp:Integer -
(input) Rankning by customer's overall RFM score
-
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)är inte lika med 000 -
Rankning efter kundens totala RFM-poäng
-
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 -
-datatyp:Integer -
Kundens RFM-grupp
-
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 -
-datatyp:Integer
Mått
Inga nya mätvärden!
Rapporter
-
Kunder per RFM-gruppering
-
Mått
A:New customers -
Metric:
New customers -
Filter:
Customer's RFM score (by percentiles) Not Equal to 000 -
Time period:
All time -
Interval:None -
Dölj diagram
-
Group by:
Customer's RFM group -
Group by:Email -
Chart type:Table -
Kunder med fem senaste poäng
-
Mått
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 -
Dölj diagram
-
Group by:Email -
Group by:
Customer's RFM score (R+F+M) -
Chart type:Table -
Kunder med en senaste poäng
-
Mått
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 -
Dölj diagram
-
Group by:Email -
Group by:
Customer's RFM score (R+F+M) -
Chart type:Table
När du har kompilerat alla rapporter kan du ordna dem på kontrollpanelen som du vill. Resultatet kan se ut som exempelinstrumentpanelen ovan, men de tre genererade tabellerna är bara exempel på den typ av kundsegmentering du kan utföra.