O BaseCNPJ é a plataforma de enriquecimento e inteligência comercial da Meta Dados: dados cadastrais, societários e fiscais de empresas brasileiras, consultáveis via API em tempo real. A base consolida mais de 62 milhões de estabelecimentos, construída a partir dos dados abertos da Receita Federal — reprocessados em uma ingestão pesada a cada ciclo mensal de publicação — e combinada com camadas próprias de enriquecimento.
Uma base desse tamanho só gera valor se dá para enxergá-la. Precisávamos de uma camada de BI para responder perguntas de negócio — cobertura por UF e CNAE, qualidade e frescor dos dados, uso da API por cliente — sem construir dashboards do zero a cada pergunta nova.
O desafio
- Consultas analíticas pesadas (agregações por CNAE, UF, porte e situação cadastral) sem degradar a API de produção.
- Dados públicos são notoriamente instáveis: a cada ciclo enfrentamos mudanças repentinas de layout nos arquivos da Receita, encoding corrompido e registros inconsistentes — como CNAEs inexistentes ou inválidos que quebram a integridade referencial.
- Time comercial e de produto sem SQL precisando de autoatendimento.
- Monitorar a ingestão: cada carga da Receita Federal precisa de validação de completude e consistência.
A solução
Implantamos o Metabase self-hosted (Docker, sempre na última versão) como camada de BI do BaseCNPJ:
- Arquitetura — um banco separado atuando estritamente como data warehouse na DigitalOcean, isolando a carga analítica pesada da API de produção que atende os clientes.
- Modelagem — views materializadas no PostgreSQL com os cortes mais consultados (CNAE × UF × porte × situação), combinadas com os Models nativos do Metabase em uma camada semântica que o time de negócio entende.
- Qualidade — pipelines de validação pós-carga conferem completude e consistência a cada novo ciclo da Receita.
- Dashboards — cobertura e frescor da base, funil de uso da API por cliente — mais de 1,6 milhão de consultas acompanhadas, cerca de 23 mil por dia — e métricas de qualidade de dados.
- Autoatendimento — o time comercial e de produto extrai relatórios complexos de forma visual, pelo query builder, sem depender de engenharia.
Resultados
O que antes exigia queries SQL complexas — ou dias de desenvolvimento — virou autoatendimento resolvido em segundos. O time comercial filtra de forma autônoma empresas ativas por CNAE, região, capital social e data de abertura, e monta recortes de mercado para campanhas de outbound de alta conversão sem abrir chamado para a engenharia.
A stack
PostgreSQL · Metabase (self-hosted, Docker) · Python nos pipelines de ingestão · DigitalOcean · dados abertos da Receita Federal.
Por que Metabase
Open source e self-hosted — controle total sobre infraestrutura e dados, essencial para LGPD; um query builder que o time de negócio realmente usa; e custo que escala pelo tamanho do time, não pelo volume de dados.
Perguntas frequentes
Por que não usar a própria API para relatórios?
A API é feita para consulta pontual e transacional, não para agregações pesadas. Rodar análises por CNAE, UF e porte direto na base de produção degradaria o tempo de resposta de quem consome a API. Por isso separamos a camada analítica em um data warehouse próprio.
O time de negócio precisa saber SQL?
Não. O query builder do Metabase permite montar recortes e dashboards sem escrever uma linha de SQL — e quem precisa de algo mais avançado tem o editor SQL à disposição.