← 15 · ¿Se pueden segmentar los clientes? H1

Sin una clave que identifique al cliente, el RFM no se puede calcular

La pregunta de esta página

¿Qué hace falta en la tabla para poder segmentar a los clientes?

1 El problema

El RFM es la forma más sencilla de ordenar una cartera. Pide tres datos de cada cliente: cuánto hace de su última compra, cuántas veces ha comprado y cuánto ha gastado en total. Para calcularlos hay que saber qué ventas son de la misma persona.

Esta tabla tiene una fila por venta y ninguna columna de cliente. Tiene nombre, correo y teléfono. Es fácil usar uno de ellos como si fuera la columna de cliente.

2 Por qué engaña

El correo parece la clave perfecta, porque se repite: hay 12.953 correos distintos para 19.984 ventas. Agrupando por él salen miles de «clientes» que han comprado varias veces y con eso ya se podría calcular el RFM.

Pero el correo del fichero se forma con el nombre y el primer apellido. Dos personas con el mismo nombre comparten correo. Lo que parecía una compra repetida es solo una coincidencia de nombre.

3 El principio

Primero se comprueba la clave, después se calcula
Una columna sirve de clave de cliente si cada valor corresponde a una sola persona. Se comprueba cruzándola con otro dato de la persona, como el nombre o el teléfono, antes de agrupar nada.

4 La solución

Cruzar cada candidata con los demás datos personales. Si un mismo correo aparece con nombres distintos, no identifica a nadie. Y si al identificar bien a cada persona nadie repite, no hay frecuencia ni recencia que medir, así que el RFM no tiene nada que ordenar.

5 Qué pasa con estos datos

5.035
correos usados por personas distintas
hasta 7 nombres en uno
97
nombres repetidos con otro teléfono
de 97 que aparecen dos veces
100 %
personas con una sola compra
por nombre y teléfono

El correo falla: 5.035 direcciones las comparten personas con nombre distinto. El nombre tampoco sirve, porque los 97 que se repiten llevan un teléfono distinto cada vez: son personas distintas con el mismo nombre.

Contando por nombre y teléfono salen 19.984 personas, una por venta. Cada una ha comprado exactamente una vez, así que todas tienen la misma frecuencia y el RFM no distingue a nadie.

Lo que habría pasado sin comprobarlo
Agrupando por correo sale una cartera con miles de clientes que repiten y sobre ella se puede calcular todo: el RFM, los grupos de k-means, un KPI de recurrencia. Los resultados parecerían correctos, pero describirían clientes que no existen.

6 Para qué sirve

En cualquier análisis de clientes hecho sobre datos de ventas: antes de segmentar, calcular el valor de vida o medir la fidelidad. Si la empresa no asigna un código de cliente en origen, lo primero que hay que recomendar es que empiece a hacerlo, que es una de las recomendaciones de este trabajo.

El detalle técnico

Sobre las ventas válidas, sin las ventas marcadas como anomalía. Las siguientes páginas de este bloque aplican las técnicas de agrupamiento a la tabla agrupada por correo, para enseñar cómo se comportan. Sus grupos no son clientes.

Comprobar la clave antes de usarla
# Antes de calcular el RFM, comprobar que la clave identifica a una persona
por_correo = ventas.groupby("email")["nombre"].nunique()
(por_correo > 1).sum()          # correos que usan personas distintas

# Y que las personas repiten
personas = ventas.groupby(["nombre", "telefono"]).size()
(personas == 1).mean()          # parte de las personas con una sola compra

Fuente: ml.json, campo segmentacion_clientes.