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
Oefeninstructies
- Bereken voor elke klant achtereenvolgens Recency, Frequency en Monetary value.
- Voor Recency: bereken het verschil tussen de waarde van
snapshot_dateen demaxvanInvoiceDate. - 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())