Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Calcola, in questo ordine, Recency, Frequency e Monetary value per ciascun cliente.
  • Per la Recency: calcola la differenza tra snapshot_date e il valore max di InvoiceDate.
  • 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())
Modifica ed esegui il codice