Olist: um Case de E-commerce Brasileiro de Ponta a Ponta
Esse projeto é diferente de qualquer playlist daqui. Playlist é aula, um conceito de cada vez, post independente do anterior. Isso aqui é um case de ciência de dados de ponta a ponta: eu pego um dataset real, sujo, com nove tabelas relacionadas entre si, e vou até o fim, EDA, visualização, engenharia de feature, treino de modelo, interpretabilidade e conclusão de negócio. Os capítulos se constroem uns em cima dos outros, o capítulo 3 assume que você já leu o 1 e o 2.
O dataset é o Brazilian E-Commerce Public Dataset, da Olist, disponível no Kaggle. São dados reais (anonimizados) de mais de 100 mil pedidos feitos entre 2016 e 2018 num marketplace brasileiro de verdade, cliente, vendedor, produto, pagamento, avaliação, tudo interligado por chave. Todo o processamento pesado (pandas, scikit-learn, XGBoost, SHAP) roda num notebook que eu executo no Google Colab, com GPU T4 quando o capítulo precisar. Os resultados reais desses notebooks é que viram gráfico interativo aqui no blog, nunca um número inventado.
Os quatro cenários
Definidos já no primeiro capítulo, porque eles guiam o projeto inteiro:
- Previsão de atraso na entrega (classificação binária): o pedido chega depois da data estimada ou não?
- Previsão da nota de avaliação (classificação/regressão): quantas estrelas o cliente vai dar?
- Previsão do valor do frete ou do pedido (regressão): quanto vai custar?
- Segmentação de clientes (clustering, RFM): que tipos de cliente existem nessa base?
Cada um puxa um recorte diferente do mesmo dataframe, e o objetivo é te mostrar como a mesma base de dado serve pra perguntas de negócio bem diferentes.
Um quinto ângulo, de bônus
Os quatro cenários acima nunca tocaram série temporal de verdade. O capítulo 6 fecha essa lacuna com previsão de demanda mês a mês, fora da numeração original, mas construído em cima do mesmo dataframe mestre.
Quer só brincar com os resultados antes de entender como cheguei neles? Começa pelo capítulo 0, o convite. Quer o processo inteiro desde o primeiro CSV? Começa por Capítulo 1: modelo relacional e primeira exploração.
Projetos · 7 capítulos
- Capítulo 0: Mexe Primeiro, Entende Depois
Antes dos cinco capítulos técnicos do case Olist, um convite: vários jeitos diferentes de mexer com os resultados reais do projeto inteiro, incluindo um simulador de frete e um painel de faturamento com filtro de período, sem explicação por trás ainda, só a curiosidade de descobrir sozinho o que os números escondem.
- Capítulo 1: Nove Tabelas, Um Só Negócio: o Modelo Relacional da Olist
Primeiro capítulo do case Olist: carrego os nove CSVs, monto o dataframe mestre, checo a qualidade real do dado, e defino os quatro cenários de ML que o resto do projeto vai cobrir.
- Capítulo 2: O Brasil Compra de Dia Útil: Storytelling Exploratório da Olist
Segundo capítulo do case Olist: mapa de calor de horário de compra, mapa coroplético de atraso por estado, categorias que mais faturam, forma de pagamento, e a correlação que já entrega o punchline antes de qualquer modelo: atraso mata nota.
- Capítulo 3: Vazamento de Dado: o Jeito Mais Fácil de Enganar a Si Mesmo
Terceiro capítulo do case Olist: engenharia de feature e seleção pros quatro cenários, com uma demonstração ao vivo de vazamento de dado (um modelo com 100% de AUC que não serve pra nada) e uma descoberta real sobre sazonalidade.
- Capítulo 4: AUC Boa, F1 Zero: a Armadilha do Threshold Padrão
Quarto capítulo do case Olist: treino os quatro modelos de verdade (atraso, nota, frete, RFM) com tracking via MLflow, e pego um Random Forest com AUC 0,74 que não acerta um único caso positivo no threshold padrão.
- Capítulo 5: RFM com K=4: Quatro Clusters, mas Só Dois Contam Alguma Coisa
Quinto capítulo do case Olist: SHAP abre a caixa-preta dos modelos de atraso e nota confirmando os achados do capítulo 3, e a segmentação final do RFM revela que 94% da base cai em dois clusters quase idênticos, só os outros dois realmente diferenciam o cliente.
- Capítulo 6: Previsão de Demanda: Quando o Modelo Simples Ganha do Sofisticado
Sexto capítulo do case Olist, o único ângulo de série temporal do projeto: comparo três jeitos de prever pedidos por mês num holdout real, e o modelo mais ingênuo bate disparado uma regressão com tendência e sazonalidade.