Customer Segmentation in Python
Karolis Urbonas
Head of Data Science, Amazon
Segmentation comportementale des clients selon trois métriques :
Les valeurs RFM peuvent être groupées de plusieurs façons :
Nous allons appliquer un groupement par percentiles.
Processus de calcul des percentiles :
Données avec huit CustomerID et des valeurs Spend générées aléatoirement.
spend_quartiles = pd.qcut(data['Spend'], q=4, labels=range(1,5))data['Spend_Quartile'] = spend_quartilesdata.sort_values('Spend')
# Créer des libellés numérotés r_labels = list(range(4, 0, -1))# Diviser en groupes selon les quartiles recency_quartiles = pd.qcut(data['Recency_Days'], q=4, labels=r_labels)# Créer une nouvelle colonne data['Recency_Quartile'] = recency_quartiles# Trier la récence du plus faible au plus élevé data.sort_values('Recency_Days')
Comme vous le voyez, les libellés de quartile sont inversés, car les clients plus récents ont plus de valeur.
Nous pouvons définir une liste de chaînes ou d’autres valeurs, selon le cas d’usage.
# Créer des libellés texte r_labels = ['Actif', 'En sommeil', 'Inactif', 'Perdu']# Diviser en groupes selon les quartiles recency_quartiles = pd.qcut(data['Recency_Days'], q=4, labels=r_labels) # Créer une nouvelle colonne data['Recency_Quartile'] = recency_quartiles # Trier du plus faible au plus élevé data.sort_values('Recency_Days')
Libellés personnalisés attribués à chaque quartile
Customer Segmentation in Python