IA na prática: como prever churn em e-commerce com dados que você já tem
Um guia prático de como usar machine learning para identificar clientes em risco de abandono — com os dados que qualquer e-commerce já possui.
Data85
Consultoria Data85
Churn (perda de clientes) é um dos principais destruidores silenciosos de receita no e-commerce. O problema não é perder clientes — isso é inevitável. O problema é quando você não sabe quem vai embora antes que vá.
Neste artigo, vamos mostrar como construir um modelo de previsão de churn simples, eficaz e baseado em dados que qualquer e-commerce já tem.
O que é churn no e-commerce
Diferente de SaaS (onde churn é claro: o cliente cancela a assinatura), no e-commerce o churn é implícito: o cliente simplesmente para de comprar.
A definição mais comum: cliente que não fez nenhuma compra nos últimos N dias — onde N depende do seu ciclo de compra típico.
Para produtos de compra recorrente (ex: suplementos), N pode ser 60 dias.
Para produtos de compra eventual (ex: eletrônicos), N pode ser 365 dias.
Por que prever e não só reagir?
A diferença entre reagir e prever:
- Reagir: o cliente sumiu. Você tenta reativar com desconto ou e-mail. Taxa de conversão: 2–5%.
- Prever: o cliente está em risco. Você age antes. Taxa de conversão: 20–40%.
O custo de adquirir um novo cliente é 5–7x maior que reter um existente. Cada cliente retido com uma oferta de R$ 20 de desconto pode valer R$ 200–500 em LTV futuro.
Os dados que você já tem
Para um modelo básico de previsão de churn, você precisa de:
- Histórico de pedidos: data, valor, produtos
- Cadastro de clientes: data de criação, canal de aquisição
- Dados de comportamento (se tiver): e-mails abertos, último acesso ao site
Qualquer plataforma (Shopify, VTEX, WooCommerce, Nuvemshop) tem todos esses dados exportáveis.
As features que mais predizem churn
No mundo de data science de e-commerce, existe um framework famoso chamado RFM:
- R (Recência): há quantos dias o cliente fez a última compra?
- F (Frequência): quantas compras o cliente fez no histórico?
- M (Monetário): qual o valor total gasto pelo cliente?
Clientes com R alto (compraram há muito tempo), F baixo (poucas compras) e M baixo são os com maior probabilidade de churn.
Além do RFM, features que aumentam a acurácia:
- Número de produtos distintos comprados (diversificação)
- Taxa de devolução/cancelamento
- Canal de aquisição (mídia paga tende a ter churn maior)
- Intervalo médio entre compras
O modelo mais simples que funciona
Não precisa começar com redes neurais. Para e-commerce, um Gradient Boosting (XGBoost ou LightGBM) com as features de RFM já entrega resultados muito bons.
import pandas as pd
from sklearn.model_selection import train_test_split
from xgboost import XGBClassifier
from sklearn.metrics import roc_auc_score
# Carregar dados
df = pd.read_csv("orders.csv")
# Calcular RFM por cliente
hoje = df["order_date"].max()
rfm = df.groupby("customer_id").agg(
recencia=("order_date", lambda x: (hoje - x.max()).days),
frequencia=("order_id", "count"),
monetario=("order_value", "sum"),
intervalo_medio=("order_date", lambda x: x.sort_values().diff().dt.days.mean())
).reset_index()
# Label: churn = não comprou nos últimos 90 dias
rfm["churn"] = (rfm["recencia"] > 90).astype(int)
# Features e target
X = rfm[["recencia", "frequencia", "monetario", "intervalo_medio"]]
y = rfm["churn"]
# Treinar
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = XGBClassifier(n_estimators=100, learning_rate=0.1)
model.fit(X_train, y_train)
# Avaliar
auc = roc_auc_score(y_test, model.predict_proba(X_test)[:, 1])
print(f"AUC-ROC: {auc:.3f}") # Esperado: 0.75–0.90 para bons dados
Como usar o modelo na prática
O modelo gera um score de probabilidade de churn para cada cliente. Com esse score, você pode:
-
Segmentar por risco:
- Score > 80%: contato direto (ligação, WhatsApp)
- Score 50–80%: e-mail personalizado com oferta
- Score < 50%: newsletter padrão
-
Disparar automações no seu ESP (Klaviyo, RD Station, MailChimp) para clientes de alto risco
-
Medir resultado: compare taxa de reativação do grupo tratado vs. grupo controle
Resultados típicos que vemos
Em projetos de churn que implementamos:
- Aumento de 15–30% na taxa de reativação vs. campanhas genéricas
- Redução de 20–40% no custo de campanhas de retenção (menos volume, mais precisão)
- Payback do projeto em 2–4 meses
O que limita os resultados
Dois fatores que mais impactam a qualidade do modelo:
- Volume de dados: com menos de 1.000 clientes ativos, o modelo tem pouca base para aprender
- Qualidade dos dados: dados inconsistentes, pedidos duplicados ou clientes sem histórico suficiente reduzem a acurácia
Por isso, a fase de diagnóstico de dados é crítica antes de qualquer projeto de IA.
Este é um modelo introdutório. Projetos em produção incluem retreinamento automático, monitoramento de drift, integração com CRM e automações. Quer entender o que faria sentido para o seu e-commerce? Fale com a gente.
Próximo passo
Quer aplicar isso na sua empresa?
Faça um diagnóstico gratuito em 7 dias e descubra as oportunidades mais valiosas nos seus dados.
Solicitar diagnóstico gratuito