LoslegenKostenlos starten

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

<Kurs>Kundensegmentierung in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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