LoslegenKostenlos loslegen

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

Kurs anzeigen

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_date und dem max von InvoiceDate.
  • Benenne die Spalten in Recency, Frequency und MonetaryValue um.
  • Gib den Header mit den oberen 5 Zeilen von datamart aus.

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())
Code bearbeiten und ausführen