- Os times devem implementar pipeline de extração, transformação e disponibilização dos dados. Após extração, limpeza, organização e estruturação dos dados, as perguntas chave do desafio devem ser respondidas de maneira visual.
- Fonte: Base CNPJ (Dado de 2010 a junho-2021).
- Livre utilização de ferramentas para compor a solução.
- Número de indústrias ativas por mês/ano entre 2010 - 2021, discriminado por MEI ou Simples, em cada município brasileiro.
- Número de comércios que fecharam por mês/ano entre 2010 - 2021, discriminado por MEI ou Simples, em cada município brasileiro.
- Número de CNPJ novos por mês/ano entre 2010 - 2021, discriminado por MEI ou Simples, em cada município brasileiro.
- Qual o número de CNPJ que surgiram do grupo de educação superior, entre 2015 e 2021, discriminado por ano, em cada estado brasileiro?
- Qual a classe de CNAE com o maior capital social médio no Brasil no último ano?
- Qual a média do capital social das empresas de pequeno porte por natureza jurídica no último ano?
As soluções serão avaliadas pelos mentores de acordo com os seguintes critérios:
- Escalabilidade;
- Confiabilidade;
- Facilidade de integração em Produção;
- Eficiência Operacional;
- Otimização de Custos.
Foi utilizado o ecossistema do Google para a solução desse problema, em particular a Google Cloud Storage (GCP) e o Google Data Studio. Os motivos para a escolha dessas ferramentas são a facilidade de uso e integração total entre todas as ferramentas, além do baixo custo. Além disso, para contas novas há um bônus de 300 dólares em créditos, influenciando mais ainda a decisão de escolha desse serviço como um todo.
Na GCP foram utilizados os seguintes serviços:
- Google Cloud Compute Engine para rodar os códigos.
- Google Cloud Storage para o armazenamento dos dados.
- Google BigQuery para a análise dos dados.
- Google Data Studio foi utilizado para as visualizações dos dados.
Ficamos, finalmente, com a seguinte arquitetura:
Os dados foram extraídos por meio de um scraper que percorre a página da Receita Federal, baixa os arquivos .ZIP e em seguida extrai os arquivos .CSV para o Google Cloud Storage. Decidimos enviar para a cloud os dados brutos para não ser necessário refazer a coleta para o tratamento dos dados, assim economizando capacidade computacional e tempo.
Script automatizado responsável ==> run_storage.py
Para economizar poder computacional, preferimos realizar o tratamento e a análise de dados no Google BigQuery. Desta forma, realizamos a carga dos arquivos .CSV brutos existentes no Google Cloud Storage, enviando cada um deles para suas respectivas tabelas, de acordo com o schema abaixo.
Após a carga das tabelas no Google BigQuery, criamos uma tabela única com junção das informações das empresas, estabelecimentos, e sócios, utilizando o CNPJ básico como ID, além de combinar as colunas com chaves estrangeiras das tabelas de domínio (município, país, motivo, atuação jurídica, qualificação do sócio e CNAE), para facilitar a criação das tabelas utilizadas para a visualização.
Script automatizado responsavel ==> run_bigquery.py
Como há um volume muito grande de dados, decidimos refletir os dados por meio de dashboards no Google DataStudio, uma ferramente de geração de relatórios compatível com várias ferramentas, incluindo o Google BigQuery, onde estão nossos dados. Com o Google DataStudio conseguimos gerar relatórios interativos em tempo real, além de ser uma ferramenta gratuita.
- Github: https://github.com/elladarte
- Linkedin: https://www.linkedin.com/in/rafaella-duarte-044276130/
- Github: https://github.com/diascarolina
- Linkedin: https://www.linkedin.com/in/carodias/