O que é o segundo kalakota e robinson
O modelo de dois estágios de Kalakota e Robinson é uma estrutura analítica usada para entender a jornada de compra no comércio eletrônico. O primeiro estágio prevê a probabilidade de um visitante se tornar cliente. O segundo estágio, que é o foco aqui, prevê o valor que esse cliente vai gastar na compra. A ideia central é queconverter um visitante em comprador e definir quanto ele vai gastar são processos diferentes que precisam de métricas separadas.
segundo kalakota e robinson
Quando eu comecei a implementar esse modelo em projetos reais de e-commerce, achei que seria mais simples do que realmente é. A parte teórica é direta, mas na prática os dados nunca se comportam como nos artigos acadêmicos. O segundo estágio exige uma variável dependente que é o valor da transação, e isso cria problemas imediatos porque nem todos os visitantes geram transações. Você precisa isolar quem já comprou no primeiro estágio e depois modelar só esses dados. O que a maioria dos analistas esquece é que o segundo estágio é fortemente enviesado por cauda longa. A maior parte dos clientes gasta valores baixos, e uma minoria gera compras muito altas que distorcem a média. Se você usar regressão linear comum, os resíduos vão te assombrar. O recomendado é usar modelos como GLM com distribuição gamma ou log-normal, ou transformar a variável dependente com logaritmo antes de rodar a regressão.
Na prática, a implementação segue três passos principais. Primeiro, você coleta dados de navegação e transações durante um período significativo, idealmente no mínimo 90 dias. Segundo, você roda o primeiro estágio com uma regressão logística, identificando quais variáveis predizem a conversão de visitante em cliente. Terceiro, você filtra apenas os clientes e roda o segundo estágio com o modelo de valor de compra. As variáveis que mais costumam funcionar no segundo estágio são frequencia de visita, tempo médio de permanência por sessão, número de páginas vistas antes da compra, categoria de produto visitada, e se o cliente retornou em sessões anteriores sem comprar. Device type também aparece com frequência como fator relevante, embora o efeito varie muito entre verticais.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Um problema específico que eu encontrei foi com clientes que fazem compras sazonais ou esporádicas. Quando você treina o modelo com dados de um mês inteiro, um comprador que só comprou uma vez no período pode ter um valor de transação atípico, digamos R$ 2.500 em eletrônicos, enquanto a maioria dos clientes gasta entre R$ 80 e R$ 200. Esse outlier puxa a regressão para cima e o modelo passa a superestimar o valor esperado para a maioria dos perfis. A solução que funcionou foi usar winsorização nos 1% mais extremos de cada lado, combinada com um modelo robusto de regressão M-estimator em vez de mínimos quadrados ordinários. Outro detalhe importante que poucos mencionam: o segundo estágio não é independente do primeiro. Se o modelo do primeiro estágio tiver baixa acurácia e classificar muitos compradores potenciais como não compradores, você perde dados valiosos para o segundo estágio. Isso cria um viés de seleção que distorce os coeficientes. O ideal é validar o primeiro estágio com uma métrica como AUC antes de avançar, e se o AUC ficar abaixo de 0.70, o segundo estágio provavelmente terá resultados ruins independentemente de como você ajuste os parâmetros.
Para quem quer implementar, o caminho mais direto é usar Python com as bibliotecas scikit-learn para o primeiro estágio e statsmodels ou GLMnet para o segundo. Em SQL, você consegue montar as tabelas de feature engineering com CTEs, mas a parte de modelagem fica melhor fora do banco de dados. Ferramentas como Google Analytics 4 já oferecem métricas de receita por canal e por comportamento de navegação que podem servir como features, mas você vai precisar exportar e tratar esses dados manualmente para ter o controle necessário nos dois estágios. O principal limitação do modelo é que ele pressupone estabilidade nas preferências de compra ao longo do tempo. Mudanças sazonais, lançamentos de produtos, ou alterações no preço podem quebrar o modelo rapidamente. Eu vi casos em que um modelo bem calibrado perdeu 40% da acurácia em menos de dois meses após uma promoção agressiva de Black Friday. A recomendação prática é recalibrar a cada 60 dias no mínimo, e sempre validar com dados de holdout recente, não apenas com os dados de treino.
Alternativas ao modelo incluem abordagens baseadas em machine learning mais recente, como gradient boosting com XGBoost ou LightGBM, que conseguem capturar interações não lineares entre as variáveis. Porém, esses métodos exigem muito mais volume de dados para performar bem, e em pequenas bases o modelo tradicional de dois estágios ainda entrega resultados razoáveis com muito menos esforço de engenharia.