Calcola i valori RFM
Calcola i valori di Recency, Frequency e Monetary per il dataset online che abbiamo usato in precedenza: è stato caricato per te con i dati degli ultimi 12 mesi. Nel dataset online c’è una colonna TotalSum, calcolata moltiplicando Quantity e UnitPrice: online['Quantity'] * online['UnitPrice'].
Inoltre, abbiamo creato una variabile snapshot_date che puoi usare per calcolare la recency. Se vuoi, stampa in Console il dataset online e snapshot_date. La libreria pandas è caricata come pd e datetime come dt.
Questo esercizio fa parte del corso
Customer Segmentation in Python
Istruzioni dell'esercizio
- Calcola, in questo ordine, Recency, Frequency e Monetary value per ciascun cliente.
- Per la Recency: calcola la differenza tra
snapshot_datee il valoremaxdiInvoiceDate. - Rinomina le colonne in Recency, Frequency e MonetaryValue.
- Stampa l’intestazione con le prime 5 righe di
datamart.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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())