Segmentación RFM: el modelo que separa clientes de revenue de clientes de ruido
Recency, Frequency, Monetary: cómo aplicar el análisis RFM a tu base de email para identificar segmentos de alto valor, automatizar campañas por segmento, y dejar de mandar la misma campaña a todos.
Por qué la segmentación demográfica perdió fuerza
Hasta 2019, la segmentación de email marketing típica era demográfica: edad, género, ciudad, nivel socioeconómico estimado. Las plataformas (Mailchimp, Klaviyo) lo facilitaban como features destacadas. Los marketers segmentaban “mujeres 25-35 en Ciudad de Panamá interesadas en moda”.
El problema de esa segmentación: la información demográfica no predice comportamiento de compra real. Dos mujeres de 28 años con mismo income en la misma ciudad pueden tener comportamiento de compra radicalmente distinto: una compra 4 veces al mes con ticket promedio USD 80, otra compra 1 vez al año con ticket USD 30. Tratarlas igual desperdicia oportunidad en la primera y abruma a la segunda.
La segmentación que sí mueve revenue es comportamental: ¿cuándo compró por última vez? ¿con qué frecuencia compra? ¿cuánto suele gastar? Eso es RFM. Y a diferencia de la demográfica, no requiere asumir nada sobre la persona: solo observar su comportamiento real.
El framework RFM en concreto
Recency (R): días desde la última compra
Distribución típica en e-commerce panameño:
- R5 (top 20%): 0-15 días desde última compra (más recientes)
- R4: 16-45 días
- R3: 46-90 días
- R2: 91-180 días
- R1 (bottom 20%): >180 días
Cuanto más alto el quintil, más reciente la última compra. R5 son los que están “calientes” ahora.
Frequency (F): cantidad de compras totales en ventana de 12 meses
Distribución típica:
- F5 (top 20%): 6+ compras en 12 meses
- F4: 4-5 compras
- F3: 3 compras
- F2: 2 compras
- F1: 1 compra
Cuanto más alto, más fiel. F5 son los compradores recurrentes; F1 son los one-time buyers.
Monetary (M): valor total gastado en 12 meses
Distribución típica (varía mucho por industria):
- M5 (top 20%): >USD 500 acumulado
- M4: USD 250-500
- M3: USD 100-250
- M2: USD 50-100
- M1: <USD 50
Cuanto más alto, más valor monetario. M5 son los compradores grandes; M1 son los low-ticket.
El score combinado
Cada cliente termina con un score de 3 dígitos. Cliente con R5F5M5 = “Champion” (todo en top quintil). Cliente con R1F1M1 = “Lost” (todo en bottom). Cliente con R5F1M5 = “New Big Spender” (reciente + única compra + alto ticket).
Hay 5×5×5 = 125 combinaciones teóricas. En la práctica, 11 segmentos cubren el 95% del valor operativo.
Los 11 segmentos operativos
1. Champions (R5 F4-5 M4-5)
Tu base más valiosa. Compradores recientes, frecuentes, de alto ticket. Típicamente 5-12% de la base.
Estrategia: acceso exclusivo a nuevos productos, programa de loyalty premium, comunicación personalizada (en algunos casos del fundador o CEO).
Lo que NO hacer: enviarles descuentos masivos (no los necesitan para comprar, los educás a esperar descuentos para futuras compras).
2. Loyal Customers (R4-5 F4-5 M3-4)
Compradores frecuentes con ticket medio. Compran regular pero no son big spenders. 8-15% de la base.
Estrategia: upselling y cross-selling. Mostrar productos premium para subir el ticket. Programa de recompensas por volumen.
Métrica a monitorear: si su F o M empieza a caer, son candidatos a “At Risk” en próximos 60-90 días.
3. Potential Loyalists (R5 F2-3 M3-4)
Compradores recientes, frecuencia media, ticket bueno. Tienen el potencial de convertirse en Loyal. 10-18% de la base.
Estrategia: educación sobre productos relacionados, próxima compra incentivada (ej: oferta personalizada para la 4ta compra), invitación a programa de loyalty.
Por qué importa: convertir potential loyalists en loyal customers es la palanca de crecimiento más rentable, mucho más que adquirir nuevos clientes.
4. New Customers (R5 F1 M1-3)
Primera compra reciente. 8-15% de la base.
Estrategia: onboarding post-compra (cómo usar/cuidar el producto, qué esperar de la marca), invitación a próxima compra con incentivo moderado, captura de review.
Métrica clave: % que hace segunda compra en los siguientes 60 días (target: 25-40% para retail típico).
5. Promising (R4 F1 M2-4)
Compraron una vez con ticket medio-alto, pero no muy reciente. 5-10% de la base.
Estrategia: re-engagement con catálogo similar a su primera compra, ofertas para incentivar segunda compra.
Diferencia con New: pasaron 16-45 días sin volver. La ventana para conversión a segunda compra se está cerrando.
6. Need Attention (R3 F3-4 M3-4)
Históricamente buenos compradores pero su recency cayó. 5-10% de la base.
Estrategia: contacto personalizado preguntando si todo está bien, recomendaciones de productos basadas en historial.
Riesgo: si no se actúa, se convierten en “At Risk” en próximos 60-90 días.
7. About to Sleep (R3 F2 M2)
Frecuencia y ticket bajos, no recientes. Candidatos a churn. 8-15% de la base.
Estrategia: campaña de re-engagement con oferta agresiva (15-25% off, solo para reactivar).
Honestidad operativa: la mayoría de este segmento ya no va a comprar más. Una campaña convierte 5-12% y los demás se purgan de la base activa.
8. At Risk (R2 F4-5 M3-5)
Compradores HISTÓRICAMENTE valiosos que llevan 90-180 días sin comprar. Segmento de mayor potencial de recuperación. 4-8% de la base.
Estrategia: campaña personalizada urgente. Mencionar productos previos comprados, oferta moderada pero atractiva, llamada a la acción para reactivar.
Por qué prioritario: representan revenue conocido que está en riesgo. Recuperar uno equivale a captar 2-3 nuevos.
9. Can’t Lose Them (R1-2 F5 M5)
Big spenders que dejaron de comprar. 1-3% de la base.
Estrategia: contacto personalizado del CSM o el fundador, oferta exclusiva, llamada telefónica si aplica, encuesta para entender por qué se fueron.
ROI: los 5-10% que se recuperen pagan el esfuerzo de toda la campaña.
10. Hibernating (R1 F2-3 M2-3)
Compradores antiguos con engagement bajo. 10-20% de la base.
Estrategia: última campaña de winback con oferta agresiva. Si no responden en 30 días, archivar de la base activa.
11. Lost (R1 F1 M1)
Compraron una vez hace mucho, bajo ticket. Probabilidad de recuperación cercana a cero. 15-25% de la base.
Estrategia: NO incluir en envíos regulares. Mantener en base archivada (no eliminar, mantiene historial), pero no costear envíos a ellos.
Implementación técnica
Paso 1: query a la base de transacciones
WITH customer_metrics AS (
SELECT
customer_email,
MAX(order_date) AS last_purchase,
COUNT(*) AS purchase_count,
SUM(order_total) AS total_spent,
EXTRACT(DAY FROM CURRENT_DATE - MAX(order_date)) AS days_since_last
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '12 months'
AND status = 'completed'
GROUP BY customer_email
HAVING COUNT(*) >= 2 -- mínimo 2 compras para análisis RFM
),
quintiles AS (
SELECT
*,
NTILE(5) OVER (ORDER BY days_since_last DESC) AS r_quintile,
NTILE(5) OVER (ORDER BY purchase_count ASC) AS f_quintile,
NTILE(5) OVER (ORDER BY total_spent ASC) AS m_quintile
FROM customer_metrics
)
SELECT
customer_email,
r_quintile AS r,
f_quintile AS f,
m_quintile AS m,
CONCAT(r_quintile, f_quintile, m_quintile) AS rfm_score
FROM quintiles;
Esto genera score por cliente. Después se mapea a uno de los 11 segmentos operativos.
Paso 2: clasificación a segmentos operativos
SELECT
customer_email,
CASE
WHEN r >= 4 AND f >= 4 AND m >= 4 THEN 'Champions'
WHEN r >= 4 AND f >= 4 AND m IN (3) THEN 'Loyal'
WHEN r = 5 AND f BETWEEN 2 AND 3 AND m >= 3 THEN 'Potential Loyalists'
WHEN r = 5 AND f = 1 THEN 'New Customers'
WHEN r = 4 AND f = 1 AND m >= 2 THEN 'Promising'
WHEN r = 3 AND f BETWEEN 3 AND 4 AND m >= 3 THEN 'Need Attention'
WHEN r = 3 AND f = 2 AND m = 2 THEN 'About to Sleep'
WHEN r = 2 AND f >= 4 AND m >= 3 THEN 'At Risk'
WHEN r <= 2 AND f = 5 AND m = 5 THEN 'Cant Lose Them'
WHEN r = 1 AND f BETWEEN 2 AND 3 THEN 'Hibernating'
WHEN r = 1 AND f = 1 AND m = 1 THEN 'Lost'
ELSE 'Other'
END AS rfm_segment
FROM rfm_scores;
Paso 3: sync a plataforma de email
Una vez clasificados, los segmentos se envían a la plataforma de email como tags o custom fields:
# Ejemplo con Klaviyo API
import klaviyo
for customer in segmented_customers:
klaviyo.Profiles.update(
customer.email,
properties={
'rfm_segment': customer.segment,
'rfm_score': customer.score,
'rfm_last_updated': datetime.now().isoformat()
}
)
En Mailchimp, esto se hace via tags o merge fields. La automatización de campañas se dispara según el tag.
Paso 4: actualización periódica
RFM no es one-time. Los clientes se mueven entre segmentos con el tiempo:
- Un Champion puede convertirse en At Risk en 90 días sin comprar
- Un New Customer se convierte en Promising o Lost según comportamiento
Recalcular RFM semanal o mensualmente. Cada cliente recibe campañas según su segmento actual, no su segmento de hace 6 meses.
Tres casos reales de RFM aplicado
Caso 1: e-commerce de moda con base de 38.000
Operación sin segmentación previa, todos recibían mismas campañas. Métricas baseline:
- Revenue per email: USD 0.18
- Unsubscribe rate: 0.4% por campaña
Implementación RFM:
- 6 segmentos activos con campañas diferenciadas
- Champions: ofertas exclusivas no descontadas, productos nuevos en preview
- At Risk: campaña personalizada de re-engagement
- Lost: removidos de envíos regulares (15% de la base)
Resultados a 90 días:
- Revenue per email: USD 0.31 (+72%)
- Unsubscribe rate: 0.18% (-55%)
- Frecuencia de envío reducida 30% pero revenue total +18% por mejor relevancia
Caso 2: SaaS B2B con suscripciones recurrentes
Operación SaaS adaptó RFM para suscripciones:
- R: días desde último login activo (no compra física)
- F: número de features usadas en 30 días
- M: MRR del plan
Segmentos resultantes:
- Champions: usuarios activos diarios en plan premium
- At Risk: usuarios premium que pararon de loguearse en últimos 14 días
- New Customers: signups primer mes
Acción específica: At Risk recibió email personalizado del CSM ofreciendo llamada de 30 min. Conversion a “reactivado”: 23% (vs 8% con email genérico de “te extrañamos”).
LTV de los reactivados: USD 4.200 promedio (12+ meses adicionales de suscripción). El email personalizado generó pipeline de USD 96.000 en 8 meses.
Caso 3: retailer panameño con asociación a programa loyalty
Retailer físico + e-commerce con programa loyalty existente. Implementación RFM permitió rediseñar el programa:
- Champions: tier “Diamond” con beneficios reales (early access a colecciones, regalos en cumpleaños, atención personalizada)
- Loyal: tier “Gold”
- Potential Loyalists: tier “Silver”, educación sobre beneficios para subir tier
- Otros: tier “Bronze”, standard
Resultado a 12 meses:
- Champions retention rate (compraron en 12 meses) subió de 78% a 91%
- Average ticket de Champions subió 14% (sentirse premium aumentó disposición a pagar)
- New Customer → Loyal conversion en 6 meses: 18% (vs 11% pre-RFM)
Calculadora de segmento por cliente
Identifica el segmento de un cliente
Ingresá los datos del cliente y obtené segmento + estrategia recomendada.
Resumen operativo
Tres pasos para implementar RFM en las próximas 4 semanas:
-
Extraer datos de tus últimos 12 meses de compras y calcular Recency, Frequency, Monetary por cliente. SQL típico: 30-60 minutos.
-
Mapear a los 11 segmentos operativos. Aceptar que 125 segmentos teóricos son demasiados; 11 cubren el 95% del valor.
-
Diseñar campañas específicas por segmento (al menos para los 5 segmentos de mayor valor: Champions, Loyal, At Risk, Cant Lose Them, New Customers). El resto puede empezar con campañas genéricas y refinar después.
La diferencia entre operación con RFM bien implementado y sin él suele ser 30-60% más revenue per email en los primeros 90 días, sostenido a largo plazo. La inversión es 3-5 días iniciales + 1-2 horas/semana de mantenimiento.