Analisando os dados do Olist (e-commerce) — Pt.1
1. Introdução
Esse projeto faz parte do meu trabalho de conclusão de curso (TCC) no curso de pós-graduação de Gestão e Análise de Dados da PUC-MG. O projeto pretende desenvolver uma solução de dados de ponta a ponta transformando dados em informações para que os stakeholders possam tomar decisões ancoradas em dados e KPIs relevantes para o negócio. Na parte 1, os dados serão processados em um fluxo ETL e disponibilizados para consulta em forma de dashboards. Já na parte 2, os dados serão analisados de maneira mais aprofundada e será apresentada recomendações estratégicas para o negócio.
Atualização 30/07/2023
Após alguns anos de experiência e estudo, resolvi refazer esse projeto aplicando algumas coisas que aprendi e que mudaram minha visão sobre como realizei esse projeto no passado. O novo projeto está disponível nesse repositório e aplica melhores práticas de engenharia de dados e também usa ferramentas mais robustas do que as aplicadas aqui.
Para otimizar o processo de Extração, Transformação e Carga (ETL), optei por utilizar Python e SQL desde o início, além de realizar a orquestração das tasks usando Mage e tudo isso através do Docker.
Uma das principais melhorias foi a separação dos dados entre um datalake e um data warehouse, permitindo uma organização mais clara e eficiente dos dados ao longo do projeto. A nova arquitetura adotada possibilita uma manipulação mais ágil e confiável das informações, resultando em análises mais precisas e insights valiosos.
Também deixei de lado a abordagem estritamente relacional nas novas tabelas e passei a consolidar os dados em algumas Wide Tables analíticas que facilitam o consumo dos usuários.
Vale ressaltar que as informações daqui em diante são referentes ao projeto desenvolvido durante o curso e não pretendo alterar este post, mas sim criar um novo mais detalhado sobre a nova abordagem do projeto.
Caso queira dar uma espiadinha na nova versão -> https://link.medium.com/zYmZoRrnRBb
1.1. Contexto
O comércio eletrônico (e-commerce) tem ganhando cada vez mais espaço na vida dos consumidores. Com o aumento do consumo e acesso a esse tipo de comércio surgem novos desafios, por exemplo, a enorme quantidade de dados geradas a cada transação se torna um ativo de grande valia para as empresas, porém elas carecem de análises ágeis e efetivas que transformem os dados em informações para a empresa. Devido ao grande volume de dados, se torna cada vez mais difícil para as pessoas da organização extrair informações de forma eficiente.
1.2. Objetivos
Este projeto tem como objetivo extrair informações através de ferramentas de visualização de dados para que os stakeholders do projeto possam analisar e tomar decisões embasadas, melhorando a eficácia e maximizando os lucros da empresa. Além disso, o projeto visa cruzar informações com a utilização de técnicas de mineração e processamento de dados para podermos extrair informações relevantes do conjunto de dados.
1.3. Público alvo
Os dashboards e análises desenvolvidas para o projeto tem como público alvo os integrantes da organização responsáveis pela tomada de decisão. Por se tratar de um e-commerce, esses usuários já possuem uma experiência maior com tecnologia e a utilizam durante seu dia-a-dia para aumentar sua produtividade. Além disso, os stakeholders desse projeto tem uma visão analítica do negócio, buscando novas oportunidades para aumentar a lucratividade da empresa.
2. Modelos de Dados
2.1. Modelo Dimensional
O conjunto de dados escolhido para este projeto é do marketplace Olist, disponível no Kaggle¹, que reúne diversos conjuntos de dados públicos utilizados para estudos e projetos.
2.2. Fatos e Dimensões
A tabela “fato” definida para esse projeto será o pedido feito no marketplace. Já as tabelas de dimensões para análise serão: clientes, pagamento, frete, local, tempo(calendário), avaliações, produtos, itens no pedido, categoria do produto e campanha de marketing.
3. Integração, Tratamento e Carga de Dados
3.1. Fontes de Dados
Os dados da Olist disponíveis para download originalmente não possuem uma tabela fato específica, porém, a tabela de pedidos centraliza a maioria das informações, sendo a chave order_id a conexão entre a maioria das dimensões.
Para esse projeto, os dados foram enriquecidos como uma fonte de dados externa fictícia que indica a fonte de tráfego e campanha que gerou o fato pedido no banco de dados. Além disso, será utilizada uma dimensão calendário para relacionamento das datas entre as tabelas. Também optei por separar a tabela frete, criando uma tabela de dimensão nova, diferente do modelo original.
3.2. Processos de Integração e Carga (ETL)
Para o processo de ETL utilizarei o software KNIME, que permite criar fluxos de tratamento, processamento e carga dos dados em um banco de dados ou planilha(csv). Após isso, os dados serão importados no software Power BI para criação dos dashboards.
No software KNIME podemos criar fluxos que permitem o tratamento e carga dos dados ao banco de dados de forma automatizada. Para esse projeto, foram utilizados os arquivos CSV disponibilizados através do Kaggle. Esses arquivos CSV são carregados no KNIME, tratados e enviados ao banco ou disponibilizados em formato CSV. Em uma aplicação real, os dados poderiam ser extraídos diretamente da fonte transacional, tratados e enviados ao banco de dados de forma automatizada.
4. Apresentação dos dados
4.1. Dashboards
Para criação do Dashboard foi utilizado o software PowerBI, onde foram criados 3 dashboards diferentes. O primeiro, de nível estratégico, resume as principais métricas e KPIs do negócio ao longo do tempo e por região. Aqui, temos a visão mais abrangente do fato venda e a consolidação dos valores mais importantes para a rentabilidade do negócio.
Além da visão de nível estratégico, também foram criados outros 2 dashboards com as visões táticas e operacionais do negócio. Para isso, o fato é analisado com maior detalhamento para entender a venda ou pedido realizado.
No Dashboard com visão logística (Figura 6) é possível analisar o valor do frete, prazo de entrega e como essas 2 dimensões da venda se relacionam com as dimensões de tempo, região e categoria do produto.
No Dashboard de Marketing (Figura 7), temos o fato venda detalhado por canal, campanha de marketing e região. Além disso, também é possível acompanhar métricas relacionadas ao cliente, como, por exemplo, a nota de avaliação fornecida pelo cliente ao fato venda.
Link para o Dashboard publicado: Dashboard Olist
5. Registros de Homologação
Para homologação dos resultados exibidos nos dashboards, foram realizadas consultas em SQL feitas contra a fonte de dados original e pelo confrontamento do que é exibido como resultado nos dashboards.
Nas figuras abaixo podemos visualizar os resultados em SQL e o respectivo resultado apresentado para a segmentação semelhante no dashboard.
REFERÊNCIAS
Ferramentas utilizadas no projeto: KNIME, PowerBI, Excel e SQL.
¹ KAGGLE. Conjunto de dados públicos de comércio eletrônico brasileiro por Olist. Disponível em: https://www.kaggle.com/olistbr/brazilian-ecommerce.
ALVARENGA, M.V. Visualização de dados e sua importância para a tomada de decisão: uma aplicação usando o conjunto de dados de e-commerce da Olist. Ouro Preto, UFOP, 2021.
ALBERTIN, A. L. Comércio Eletrônico: Modelo, Aspectos e Contribuições de sua Aplicação. 7 ed. São Paulo: Atlas, 2016