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:

  1. Previsão de atraso na entrega (classificação binária): o pedido chega depois da data estimada ou não?
  2. Previsão da nota de avaliação (classificação/regressão): quantas estrelas o cliente vai dar?
  3. Previsão do valor do frete ou do pedido (regressão): quanto vai custar?
  4. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.