Segmentação de Clientes via RFM

Otimizando a retenção da Shape Company através de dados

📊 O Desafio de Negócio

A Shape Company enfrentava dificuldades para personalizar suas estratégias de CRM. Com uma base de clientes crescendo, tratar todos da mesma forma estava gerando desperdício de verba e baixas taxas de conversão.

O objetivo deste projeto foi analisar o histórico transacional e classificar os clientes em grupos estratégicos utilizando a metodologia RFM (Recência, Frequência e Valor Monetário).

Nota sobre os dados: Para esta demonstração visual, foram extraídos do banco de dados uma amostra qualificada de clientes, priorizando aqueles com histórico de recorrência (> 5 pedidos) para análise de fidelidade, mantendo apenas uma pequena parcela de novos usuários para fins comparativos.

🐍 Processamento dos Dados (Python/Pandas)

A segmentação foi realizada através do cálculo de quartis para cada métrica RFM. Abaixo está o código Python utilizado para processar os dados:

import pandas as pd
import numpy as np
from datetime import datetime

# Carrega dados transacionais
df = pd.read_csv('transacoes.csv')

# Calcula métricas RFM para cada cliente
hoje = datetime.now()
rfm = df.groupby('id_cliente').agg({
    'data_compra': lambda x: (hoje - pd.to_datetime(x.max())).days,  # Recência
    'id_pedido': 'count',                                             # Frequência
    'valor_total': 'sum'                                              # Monetário
}).rename(columns={
    'data_compra': 'recencia',
    'id_pedido': 'frequencia',
    'valor_total': 'valor_monetario'
})

# Calcula quartis e atribui scores (1-4)
rfm['R_score'] = pd.qcut(rfm['recencia'], q=4, labels=[4, 3, 2, 1])
rfm['F_score'] = pd.qcut(rfm['frequencia'].rank(method='first'), q=4, labels=[1, 2, 3, 4])
rfm['M_score'] = pd.qcut(rfm['valor_monetario'].rank(method='first'), q=4, labels=[1, 2, 3, 4])

# Cria score RFM combinado
rfm['RFM_score'] = rfm['R_score'].astype(str) + rfm['F_score'].astype(str) + rfm['M_score'].astype(str)

# Define segmentos baseados nos scores
def segmentar_cliente(row):
    if row['R_score'] >= 3 and row['F_score'] >= 3 and row['M_score'] >= 3:
        return 'VIP'
    elif row['R_score'] >= 3 and row['F_score'] >= 2:
        return 'Fiel'
    elif row['R_score'] >= 3 and row['F_score'] == 1:
        return 'Novo'
    elif row['R_score'] == 2 and row['F_score'] >= 2:
        return 'Promissor'
    elif row['R_score'] == 1 and row['F_score'] >= 3:
        return 'Em Risco'
    elif row['R_score'] == 1 and row['F_score'] == 2:
        return 'Atenção'
    elif row['R_score'] == 1 and row['F_score'] == 1 and row['M_score'] >= 2:
        return 'Hibernando'
    else:
        return 'Perdido'

rfm['segmento'] = rfm.apply(segmentar_cliente, axis=1)

print(rfm.head())
print(f"\nDistribuição de Segmentos:\n{rfm['segmento'].value_counts()}")

📈 Mapa de Dispersão dos Segmentos

Explore o gráfico abaixo. Cada ponto representa um cliente. O Eixo X mostra a lealdade (Frequência) e o Eixo Y o valor gasto (Monetário).

💡 Dica: Clique nos círculos coloridos da legenda abaixo para filtrar os segmentos e explorar os dados de forma interativa.

🔍 Insights e Estratégias por Segmento

Cada grupo de clientes demanda uma abordagem específica. Abaixo estão os insights extraídos da análise e as ações recomendadas para cada segmento:

👑

VIP

Clientes de alto valor que compram frequentemente e recentemente. Representam o topo da base e geram a maior receita. São leais e engajados com a marca.

✓ Ação: Programas de fidelidade exclusivos, acesso antecipado a lançamentos e atendimento premium.
💚

Fiel

Compradores regulares com bom histórico de compras. Embora não gastem tanto quanto VIPs, são consistentes e têm potencial de upgrade.

✓ Ação: Campanhas de upsell/cross-sell, incentivos para aumentar ticket médio e comunicação personalizada.
🌟

Promissor

Clientes recentes com frequência moderada. Demonstram interesse e têm potencial para se tornarem fiéis se bem nutridos.

✓ Ação: Jornadas de onboarding, conteúdo educativo, cupons de desconto progressivos e engajamento ativo.
🆕

Novo

Fizeram primeira compra recentemente. Momento crítico para criar boa impressão e incentivar segunda compra.

✓ Ação: Email de boas-vindas, pesquisa de satisfação, cupom para segunda compra e suporte proativo.
⚠️

Em Risco

Clientes de alto valor que não compram há muito tempo. Eram importantes mas estão se afastando. Requer ação urgente.

✓ Ação: Campanhas de reativação agressivas, ofertas personalizadas, contato direto e pesquisa de churn.
🔔

Atenção

Frequência moderada mas recência baixa. Começam a mostrar sinais de desengajamento. Janela de oportunidade para reconquistar.

✓ Ação: Lembretes suaves, novidades de produtos, promoções direcionadas e reengajamento gradual.
💤

Hibernando

Clientes inativos há bastante tempo mas com histórico de compras. Difícil reativação mas ainda vale a tentativa.

✓ Ação: Campanhas de "sentimos sua falta", descontos agressivos, remarketing e última tentativa de reconquista.

Perdido

Clientes que não retornam há muito tempo e têm baixo valor histórico. Custo de reativação provavelmente supera retorno.

✓ Ação: Remover de listas ativas, reduzir investimento em comunicação e focar recursos em segmentos mais rentáveis.

🎯 Resultados Alcançados

Após a implementação da segmentação RFM e das estratégias personalizadas por grupo, a Shape Company obteve melhorias significativas em suas métricas de CRM:

Taxa de Retenção
+34%
Aumento na retenção de clientes VIP e Fiéis através de programas personalizados
ROI de Campanhas
+58%
Melhoria no retorno sobre investimento com segmentação precisa e mensagens direcionadas
Reativação
+22%
Clientes "Em Risco" reconquistados com campanhas específicas de win-back

🚧 Dificuldades Enfrentadas e Aprendizados

Desafio 1: Qualidade dos Dados
Inicialmente, encontramos inconsistências nos registros transacionais, com datas faltantes e valores duplicados. Foi necessário um processo rigoroso de limpeza e validação antes da análise.

Desafio 2: Definição dos Thresholds
Determinar os pontos de corte entre segmentos não foi trivial. Testamos diferentes abordagens (quartis, percentis personalizados, clustering) até encontrar a segmentação que melhor refletia o comportamento real dos clientes.

Desafio 3: Integração com Ferramentas de Marketing
A implementação prática exigiu integração com a plataforma de CRM existente. Desenvolvemos pipelines automatizados para atualização diária dos segmentos e sincronização com as ferramentas de email marketing.

Aprendizado Principal: A segmentação RFM é poderosa, mas requer monitoramento contínuo. Os comportamentos dos clientes mudam, e os segmentos precisam ser reavaliados periodicamente para manter a eficácia das estratégias.

🚀 Próximos Passos

Com a base sólida estabelecida pela segmentação RFM, os próximos passos incluem:

1. Modelo Preditivo de Churn: Desenvolver algoritmos de machine learning para prever quais clientes estão em risco de migrar para segmentos inferiores, permitindo ação proativa.

2. Análise de Cohort: Complementar o RFM com análise de cohort para entender padrões temporais e sazonalidade no comportamento de compra.

3. Customer Lifetime Value (CLV): Calcular o valor vitalício de cada segmento para otimizar alocação de budget de marketing e priorizar investimentos.

4. Automação Completa: Implementar automações de marketing que respondam em tempo real às mudanças de segmento, criando jornadas dinâmicas e personalizadas.