data
: Conterá todos os dados utilizados;
data/raw
: Dados brutos no formato parquet que serão baixados do AWS S3. Para baixar use o comandomake download
;
data/processed
: Dados processados após a chamada do comandomake 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 atributoestado
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 emutils
;
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 emdata/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 ogerador.py
e é chamado pelo comandomake 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
epyproject.toml
: Dependências da aplicaçãoapp.py
.
joao-vitor-souza/stone-dc-2022
Solução semifinalista do Data Challenge 2022 da StoneCo.
Jupyter NotebookGPL-3.0