Segmentación de clientes en Python
Karolis Urbonas
Head of Data Science, Amazon
Segmentación de clientes por comportamiento basada en tres métricas:
Los valores RFM pueden agruparse de varias formas:
Aplicaremos agrupación por percentiles.
Cómo calcular percentiles:
Datos con ocho CustomerID y valores de Spend calculados al azar.
spend_quartiles = pd.qcut(data['Spend'], q=4, labels=range(1,5))data['Spend_Quartile'] = spend_quartilesdata.sort_values('Spend')
# Crea etiquetas numeradas r_labels = list(range(4, 0, -1))# Divide en grupos según cuartiles recency_quartiles = pd.qcut(data['Recency_Days'], q=4, labels=r_labels)# Crea nueva columna data['Recency_Quartile'] = recency_quartiles# Ordena recencia de menor a mayor data.sort_values('Recency_Days')
Como ves, las etiquetas de cuartil están invertidas: los clientes más recientes valen más.
Podemos definir una lista con cadenas u otros valores, según el caso.
# Crea etiquetas de texto r_labels = ['Active', 'Lapsed', 'Inactive', 'Churned']# Divide en grupos según cuartiles recency_quartiles = pd.qcut(data['Recency_Days'], q=4, labels=r_labels) # Crea nueva columna data['Recency_Quartile'] = recency_quartiles # Ordena de menor a mayor data.sort_values('Recency_Days')
Etiquetas personalizadas para cada cuartil
Segmentación de clientes en Python