/stone-dc-2022

Solução semifinalista do Data Challenge 2022 da StoneCo.

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Python Pandas Plotly Jupyter Notebook NumPy Anaconda Git

Code style: black

Stone Data Challenge 2022

  • Links úteis:

  • Descrição dos arquivos e diretórios:

data: Conterá todos os dados utilizados;

data/raw: Dados brutos no formato parquet que serão baixados do AWS S3. Para baixar use o comando make download;

data/processed: Dados processados após a chamada do comando make clean;

data/curated: Dados prontos para consumo;

images: Imagens usadas na aplicação web;

logs: Contém os registros filtrados nas operações de limpeza;

logs/dadosDuplicados: Registros duplicados identificados;

logs/dadosND: Registros com o atributo estado não definido (ND);

models: Diretório do modelo de sazonalidade

models/utils: Funções de utilidade do modelo, análogas às da aplicação principal em utils;

models/modelo_app.py: Aplicação do modelo de sazonalidade;

models/README.md: Guia de instalação do modelo;

notebooks: Notebook explicando a lógica por traz das sumarizações e gráficos feitos;

frequencias.ipynb: Frequências calculadas de cada campanha;

gerarGraficos.ipynb: Funções que geraram os gráficos usados na aplicação web;

utils: Contém os scripts de utilidades usados na aplicação principal;

utils/etl.py: Funções que usam os dados em data/processed e os deixam prontos para serem usados nas curvas de engajamento;

utils/gerador.py: Classe que gera os dados limpos e os dados de comparação;

utils/limpeza.py: Script para limpar os dados. Ele importa o gerador.py e é chamado pelo comando make clean;

utils/plots.py: Define a classe de plotagem das curvas de engajamento;

utils/to_parquet.py: Script para transformar os dados brutos de csv para parquet;

app.py: Aplicação (Dashboard) final na web;

Makefile: Arquivo para automatizar todos os processos de instalação, limpeza e execução;

poetry.lock e pyproject.toml: Dependências da aplicação app.py.