CommencerCommencer gratuitement

Calculer les valeurs RFM

Calculez les valeurs de récence, fréquence et montant (RFM) pour le jeu de données online déjà utilisé auparavant — il a été chargé pour vous avec les 12 derniers mois de données. Il y a une colonne TotalSum dans le jeu de données online, calculée en multipliant Quantity et UnitPrice : online['Quantity'] * online['UnitPrice'].

Nous avons également créé une variable snapshot_date que vous pouvez utiliser pour calculer la récence. N’hésitez pas à afficher le jeu de données online et snapshot_date dans la console. La bibliothèque pandas est chargée sous le nom pd, et datetime sous dt.

Cet exercice fait partie du cours

Customer Segmentation in Python

Afficher le cours

Instructions

  • Calculez, dans cet ordre, la récence, la fréquence et la valeur monétaire pour chaque client.
  • Pour la récence : calculez la différence entre la valeur snapshot_date et le max de InvoiceDate.
  • Renommez les colonnes en Recency, Frequency et MonetaryValue.
  • Affichez l’en-tête avec les 5 premières lignes de datamart.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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())
Modifier et exécuter le code