Aan de slagGa gratis aan de slag

RFM-waarden berekenen

Bereken de Recency-, Frequency- en Monetary-waarden voor de online-gegevensset die we eerder hebben gebruikt — deze is voor je geladen met de meest recente 12 maanden aan data. Er is een TotalSum-kolom in de online-gegevensset die is berekend door Quantity en UnitPrice te vermenigvuldigen: online['Quantity'] * online['UnitPrice'].

We hebben ook een variabele snapshot_date aangemaakt die je kunt gebruiken om recency te berekenen. Je mag de online-gegevensset en de snapshot_date naar de Console printen. De pandas-bibliotheek is geladen als pd, en datetime als dt.

Deze oefening maakt deel uit van de cursus

Klantsegmentatie in Python

Cursus bekijken

Oefeninstructies

  • Bereken voor elke klant achtereenvolgens Recency, Frequency en Monetary value.
  • Voor Recency: bereken het verschil tussen de waarde van snapshot_date en de max van InvoiceDate.
  • Hernoem de kolommen naar Recency, Frequency en MonetaryValue.
  • Print de header met de bovenste 5 rijen van de datamart.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren