Segmentation de la clientèle en Python
Karolis Urbonas
Head of Data Science, Amazon
Segmentation comportementale fondée sur trois mesures :
Les valeurs RFM peuvent être groupées de plusieurs façons :
Nous allons appliquer un regroupement par percentiles.
Calcul des percentiles :
Données avec huit CustomerID et des valeurs Spend calculées aléatoirement.
spend_quartiles = pd.qcut(data['Spend'], q=4, labels=range(1,5))data['Spend_Quartile'] = spend_quartilesdata.sort_values('Spend')
# Create numbered labels r_labels = list(range(4, 0, -1))# Divide into groups based on quartiles recency_quartiles = pd.qcut(data['Recency_Days'], q=4, labels=r_labels)# Create new column data['Recency_Quartile'] = recency_quartiles# Sort recency values from lowest to highest data.sort_values('Recency_Days')
Comme vous le voyez, les étiquettes de quartiles sont inversées, car les clients plus récents ont plus de valeur.
On peut définir une liste d'étiquettes en texte ou autres valeurs, selon le cas d'usage.
# Create string labels r_labels = ['Active', 'Lapsed', 'Inactive', 'Churned']# Divide into groups based on quartiles recency_quartiles = pd.qcut(data['Recency_Days'], q=4, labels=r_labels) # Create new column data['Recency_Quartile'] = recency_quartiles # Sort values from lowest to highest data.sort_values('Recency_Days')
Étiquettes personnalisées attribuées à chaque quartile
Segmentation de la clientèle en Python