Imagine dois cenários. Um distribuidor de autopeças liga o RFM e descobre que 80% da carteira é "Campeão". Uma indústria de máquinas liga a mesma régua e descobre que quase ninguém é. Nos dois casos o cálculo está certo. Errada está a régua: veio pronta, de fora, e ninguém conferiu se os cortes tinham relação com o jeito que aqueles clientes compram.
É aí que o RFM decepciona a PME. Não porque a ideia seja frágil, mas porque quase todo mundo trata os limiares como verdade estatística, quando são decisão de negócio. E porque quase ninguém percebe que os três eixos não pesam igual.
Os três eixos medem coisas que não se substituem
Recência é a pergunta do tempo: há quantos dias comprou pela última vez? É o eixo mais incômodo, porque denuncia. Um cliente sem compra há 200 dias não tem defesa — nenhum argumento sobre volume ou fidelidade apaga a data.
Frequência é a pergunta do ritmo: quantas vezes comprou na janela? Quem emite quinze notas por ano tem uma rotina com você: comprador, prazo, ponto de pedido. Quem emite duas tem um evento — e evento não avisa quando não vai se repetir.
Valor é a pergunta do peso: quanto faturou na janela? Sozinho, é o mais enganoso dos três, porque valor alto no passado convive perfeitamente com abandono no presente.
Dois clientes podem ter o mesmo faturamento anual e nada em comum: um compra R$ 120 mil numa nota de dezembro, outro compra R$ 10 mil todo mês. Olhando só o valor, são gêmeos. Olhando frequência, um é relacionamento e o outro é evento isolado. Cada eixo responde uma pergunta que os outros dois não respondem.
Como um score vira um número
Cada eixo recebe nota de 1 a 5, e o score é a concatenação dos três dígitos: um cliente 543 tem recência 5, frequência 4, valor 3. Os cortes que o zCRM usa como ponto de partida:
- Recência (dias desde a última compra): até 30 = 5, até 60 = 4, até 90 = 3, até 180 = 2, acima de 180 ou sem compra = 1.
- Frequência (notas em 12 meses): 12 ou mais = 5, 6 ou mais = 4, 3 ou mais = 3, ao menos 1 = 2, zero = 1.
- Monetário (faturamento em 12 meses): R$ 100 mil ou mais = 5, R$ 50 mil = 4, R$ 10 mil = 3, qualquer valor acima de zero = 2, zero = 1.
Esses números não são padrão de mercado. São ponto de partida. Para uma distribuidora que vende toda semana, 90 dias sem compra é um cliente perdido; para uma indústria de bem de capital com ciclo de dois anos, 90 dias sem compra é terça-feira. A mesma régua chama um de moribundo e o outro de saudável quando os dois estão exatamente onde deveriam estar.
A recência tem precedência estrutural
O score é só um número de três dígitos; quem decide o rótulo é a ordem em que as regras de segmento são avaliadas. Vale a primeira que casar:
- Sem compra nos 12 meses → Sem compra recente.
- R≥4 e F≥4 e M≥4 → Campeões.
- R≤2 → Em risco.
- F≥3 ou M≥3 → Clientes em desenvolvimento.
- Nenhuma acima → Relacionamento inicial.
Olhe a posição da regra 3: ela é testada antes de qualquer regra que leia frequência ou valor. Um cliente com score 255 — recência 2, frequência 5, valor 5 — cai em "Em risco". Fatura alto, compra sempre, e mesmo assim é classificado como problema, porque não compra há mais de 90 dias.
Isso não é bug, é a tese embutida no desenho: o passado recente informa mais que o passado grande. Quem faturou R$ 300 mil e sumiu há quatro meses não é um cliente forte — é um cliente forte que você está perdendo.
A mesma lógica aparece no risk_level, exposto separado do segmento e derivado só de recência: sem compra em 12 meses ou mais de 180 dias = alto, mais de 90 dias = médio, o resto = baixo. Frequência e valor não entram nessa conta.
Calibrar contra a distribuição real, não contra o papel
Escolher os cortes numa reunião, sem olhar a base, erra em uma de duas direções — e as duas destroem a utilidade do RFM:
- Cortes frouxos: todo mundo vira Campeão. Uma segmentação em que 80% da carteira está no topo não segmenta nada.
- Cortes apertados: ninguém vira Campeão. O time vê a carteira inteira pintada de vermelho, conclui que o sistema está errado e nunca mais abre a tela.
Calibrar é comparar os cortes com os quintis reais da sua base. Ordene os clientes por faturamento de 12 meses e veja onde estão os 20% do topo. Se o corte de R$ 100 mil pega 3% deles, está no lugar errado — não porque R$ 100 mil seja pouco, mas porque a régua tem que dividir a sua carteira. Foi assim que os cortes de valor e frequência do zCRM chegaram ao número atual: recalibrados contra os quintis de uma base real carregada, não escolhidos na planta.
Erros comuns com RFM
- Herdar a régua de outra empresa. Antes de discutir cortes, olhe a distribuição.
- Ler o RFM como previsão. Ele descreve compra passada: não calcula probabilidade de perda, não roda modelo, não tem IA. "Em risco" quer dizer "parou de comprar", não "vai embora em 60 dias".
- Confundir compra com relacionamento. O RFM lê nota fiscal faturada. Um cliente que já decidiu trocar de fornecedor e ainda compra por inércia enquanto migra pontua ótimo até o dia em que para.
- Esquecer a âncora do tempo. A janela de 12 meses é ancorada no hoje do calendário — correto num ERP em dia. Numa base defasada, toda a carteira aparece como "Em risco" porque a última nota é velha: parece catástrofe comercial e é só relógio.
Como isso se aplica no zCRM
A dor: a carteira cresce mais rápido que o time, e sem classificação todos os clientes parecem iguais até o faturamento cair.
Os dados vêm do faturamento do ERP. O AccountMetricSyncService grava, por conta, em crm_account_metrics: rfm_score, segmento, risk_level e as métricas que sustentam a leitura — last_purchase_date, days_since_last_purchase, purchase_count_12m, purchase_frequency_12m (compras por mês), revenue_12m, revenue_total e avg_ticket_12m. Os limiares ficam isolados em configuração (RfmConfig, uma régua por eixo) e mudam pela interface, sem tocar em código. Em base defasada, crm:sync-account-metrics --anchor-latest ancora o cálculo na nota mais recente.
A decisão que melhora: em vez de "quem é grande", o gestor passa a perguntar "quem é grande e parou" — e o segmento entrega essa interseção sem cruzamento manual de planilha.
Os limites, explícitos. O RFM do zCRM não alimenta a fila de Prioridades do dia. A fila é montada por outros sinais — risco, propostas, entrega vencida, financeiro vencido — e não lê rfm_score nem segmento. O RFM serve como filtro e leitura de carteira, não como fila. O segmento não é tempo real: é gravado por job de sincronização, então reflete a última rodada, não o pedido que entrou há dez minutos. E os limiares não são verdade universal: são o começo de uma conversa com a sua distribuição.
Próxima leitura
- RFM e health score: como combinar segmentação e saúde da carteira.
- Cliente esfriando: como identificar queda de relacionamento antes da perda.
- Prioridade de contato: como decidir quem o vendedor deve atender primeiro.