RFM-Werte berechnen
Berechne Recency, Frequency und Monetary-Werte für den online-Datensatz, den wir zuvor verwendet haben – er wurde mit den jüngsten 12 Monaten an Daten für dich geladen. Es gibt eine Spalte TotalSum im online-Datensatz, die berechnet wurde, indem Quantity und UnitPrice multipliziert wurden: online['Quantity'] * online['UnitPrice'].
Außerdem haben wir eine Variable snapshot_date erstellt, die du zur Berechnung der Recency verwenden kannst. Du kannst den online-Datensatz und das snapshot_date gern in der Konsole ausgeben. Die Bibliothek pandas ist als pd geladen und datetime als dt.
Diese Übung ist Teil des Kurses
Kundensegmentierung in Python
Anleitung zur Übung
- Berechne für jeden Kunden Recency, Frequency und Monetary Value (in dieser Reihenfolge).
- Für Recency: Berechne die Differenz zwischen dem Wert
snapshot_dateund demmaxvonInvoiceDate. - Benenne die Spalten in Recency, Frequency und MonetaryValue um.
- Gib den Header mit den oberen 5 Zeilen von
datamartaus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Calculate Recency, Frequency and Monetary value for each customer
datamart = online.groupby(['CustomerID']).agg({
'InvoiceDate': lambda x: (snapshot_date - x.____()).days,
'InvoiceNo': '____',
'TotalSum': '____'})
# Rename the columns
datamart.rename(columns={'InvoiceDate': '____',
'InvoiceNo': '____',
'TotalSum': '____'}, inplace=True)
# Print top 5 rows
print(____.head())