RFM-Analyse
In diesem Thema wird gezeigt, wie Sie ein Dashboard einrichten, mit dem Sie Ihre Kundinnen und Kunden nach ihrer Aktualität, Häufigkeit und Geld-Rankings segmentieren können. Die RFM-Analyse ist eine Marketing-Technik, die das Kundenverhalten berücksichtigt, um die Segmentierung für die Reichweite zu ermitteln. Er umfasst drei Aspekte:
- Neueste Informationen dazu, wie kürzlich eine Kundin oder ein Kunde in Ihrem Geschäft gekauft hat
- Häufigkeit, mit der Kunden bei Ihnen einkaufen
- Geldwert, wie viel der Kunde ausgibt
Die RFM-Analyse kann nur konfiguriert werden, wenn Sie den Adobe Commerce Intelligence Pro Plan auf der neuen Architektur haben (zum Beispiel, wenn Sie die Data Warehouse Views Option im Manage Data Menü haben). Diese Spalten können über die Manage Data > Data Warehouse erstellt werden. Detaillierte Anweisungen finden Sie unten.
Erste Schritte
Sie müssen zunächst eine Datei hochladen, die nur einen Primärschlüssel mit dem Wert 1 enthält. Dies ermöglicht die Erstellung einiger erforderlicher berechneter Spalten für die Analyse.
Sie können diesen Artikel und das folgende Bild verwenden, um Ihre Datei zu formatieren.
Berechnete Spalten
Eine weitere Unterscheidung wird getroffen, wenn Ihr Unternehmen Gastbestellungen erlaubt. In diesem Fall können Sie alle Schritte für die customer_entity ignorieren. Wenn keine Gastbestellungen zulässig sind, ignorieren Sie alle Schritte für die sales_flat_order.
Zu erstellende Spalten
-
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 -
Ausgewählte column:
created_at -
Filter:
Orders we count -
Sekunden seit dem letzten Bestelldatum des Kunden- Column type: „Selbe Tabelle > Alter
-
Ausgewählte column:
Customer's last order date -
(Eingabe) Zählerreferenz
-
Column type:
Same table > Calculation -
Eingänge:entity_id -
Calculation:
**case when A is null then null else 1 end** -
Datentyp:Integer -
Tabelle Referenz zählen (dies ist die Datei, die Sie mit der Zahl „1“ hochgeladen haben)
-
Anzahl der Kunden
-
Column type:
Many to One > Count Distinct -
Path:
ales_flat_order.(input) reference > Count reference.Primary KeyODERcustomer_entity.(input)reference > Count Reference.Primary Key -
Ausgewählte column:
sales_flat_order.customer_emailODERcustomer_entity.entity_id -
Customer_entity-Tabelle
-
Anzahl der Kunden
-
Column type:
One to Many > JOINED_COLUMN -
Path:
customer_entity.(Eingabe) Referenz > Kundenkonzentration.Primary Key -
Ausgewählte column:
Number of customers -
(Eingabe)
Ranking by customer lifetime revenue -
Column type:
Same table > Event Number -
Event owner:
(input) reference for count -
Event rank:
Customer's lifetime revenue -
Rangfolge nach Kundenlebensdauerumsatz
-
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 -
Datentyp:Integer -
Geldwert des Kunden (nach Perzentilen)
-
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 -
Datentyp:Integer -
(Eingabe) Rangfolge nach Kundenlebensdauer Anzahl der Bestellungen
-
Column type:
Same table > Event Number -
Event owner:
(input) reference for count -
Event rank:
Customer's lifetime number of orders -
Rangfolge nach Kundenlebensdauer Anzahl der Bestellungen
-
Spaltentyp: – “Gleiche Tabelle > Berechnung” -
Inputs: - (Eingabe) Rangfolge nach Kundenlebensdauer Anzahl der Bestellungen, Anzahl der Kunden
-
Calculation: - Wenn A null ist, endet andernfalls null (B-(A-1))
-
Datatype: - Ganzzahl
-
Häufigkeitsbewertung des Kunden (nach Perzentilen)
-
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 -
Datentyp:Integer -
Rangfolge nach Sekunden seit dem letzten Bestelldatum des Kunden
-
Column type:
Same table > Event Number -
Event owner:
(input) reference for count -
Event rank:
Seconds since customer's last order date -
Aktualitätswert des Kunden (nach Perzentilen)
-
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 -
Datentyp:Integer -
Aktualitätswert des Kunden (nach Perzentilen)
-
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 -
Datentyp: String -
Referenz zählen Tabelle
-
Number of customers:
(RFM > 0) -
Column type:
Many to One > Count Distinct -
Path:
sales_flat_order.(input) reference > Customer Concentration. Primary KeyODERcustomer_entity.(input)reference > Customer Concentration.Primary Key -
Ausgewählte column:
sales_flat_order.customer_emailODERcustomer_entity.entity_id -
Filter:
Customer's RFM score (by percentile)nicht gleich 000 -
Customer_entity-Tabelle
-
Number of customers:
(RFM > 0) -
Column type:
One to Many > JOINED_COLUMN -
Path:
customer_entity.(input) reference > Customer Concentration.Primary Key -
Ausgewählte column: -
Number of customers -
Aktualitätswert des Kunden
(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 -
Datentyp:Integer -
(Eingabe) Rangfolge nach dem RFM-Gesamtergebnis des Kunden
-
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)nicht gleich 000 -
Rangfolge nach dem RFM-Gesamtergebnis des Kunden
-
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 -
Datentyp:Integer -
RFM-Gruppe des Kunden
-
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 -
Datentyp:Integer
Metriken
Keine neuen Metriken!
Berichte
-
Kunden nach RFM-Gruppierung
-
A:New customers -
Metric:
New customers -
Filter:
Customer's RFM score (by percentiles) Not Equal to 000 -
Time period:
All time -
Interval:None -
Diagramm ausblenden
-
Group by:
Customer's RFM group -
Gruppieren nach:Email -
Chart type:Table -
Kunden mit fünf Neuigkeiten
-
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 -
Diagramm ausblenden
-
Gruppieren nach:Email -
Group by:
Customer's RFM score (R+F+M) -
Chart type:Table -
Kunden mit einem Recency Score
-
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 -
Diagramm ausblenden
-
Gruppieren nach:Email -
Group by:
Customer's RFM score (R+F+M) -
Chart type:Table
Nachdem Sie alle Berichte kompiliert haben, können Sie sie im Dashboard nach Bedarf organisieren. Das Ergebnis mag wie im obigen Beispiel-Dashboard aussehen, aber die drei generierten Tabellen sind nur Beispiele für die Arten der Kundensegmentierung, die Sie durchführen können.