Trabalhos

VB Reseller Analytics

2026 · Dados e BI

Função
Criador e analista de dados
Resultado
Dashboard com 27 gráficos em 5 abas, montado por código

Resumo

O VB Reseller Analytics é um estudo de análise de dados de uma distribuidora com 300 revendas. Criei um dashboard comercial com toda a regra de negócio em SQL.

  • Problema: o time comercial precisa saber quem vai fechar o mês abaixo da meta, a tempo de ligar antes.
  • O que eu fiz: montei o painel com PostgreSQL e Apache Superset. A regra de negócio fica em SQL, e o painel é criado por código.
  • Resultado: o painel tem 27 gráficos em cinco abas, uma para cada público, e responde as cinco perguntas do time comercial.
  • Stack: PostgreSQL, Apache Superset e Docker.
  • Origem: estudo próprio, inspirado num caso real, com dados fictícios.

Case completo

5 min de leitura

Contexto

A distribuidora vende por uma rede de revendas, como lojas de bairro, postos e supermercados.

A rede se organiza em quatro níveis: diretoria, regional, carteira do consultor e revenda.

Para manter a rede engajada, a distribuidora roda um programa de pontos. Cada revenda pontua todo mês em quatro indicadores:

  • volume, com 100 pontos ao bater a meta e 50 ao passar de 90%;
  • recorrência de pedidos, com 60 pontos;
  • inadimplência de até 5% do valor vencido, com 60 pontos;
  • treinamento, com 40 pontos quando 80% dos funcionários são aprovados.

As 40 revendas com mais pontos no trimestre ganham crédito de R$ 10 mil, R$ 5 mil ou R$ 2,5 mil.

O time comercial precisa responder cinco perguntas:

  1. Onde a meta não está sendo batida, e se o problema é volume, inadimplência ou treinamento.
  2. Quem vai fechar o mês abaixo da meta, a tempo de o consultor ligar antes.
  3. Como está o ranking e quem está perto do top 40.
  4. Quem ainda não fez o treinamento do mês.
  5. Quais obras de padronização de loja estão paradas além do prazo.

Criei o projeto para mostrar como eu respondo esse tipo de pergunta com SQL e BI. Os dados são fictícios.

O que eu fiz

Montei a análise com PostgreSQL e Apache Superset, tudo rodando em Docker.

Comecei pelas tabelas. Elas ficam no formato em que sairiam de um sistema de vendas, sem nenhum indicador pronto.

Um analista quase nunca recebe o dado pronto para o gráfico.

Depois criei um gerador de dados com intenção. Cada regional tem um perfil, para que o painel tenha o que mostrar:

  • Pará e Ceará vendem bem abaixo da meta;
  • o Rio Grande do Sul tem cerca de 18% de inadimplência, contra cerca de 3% no resto da rede;
  • o Nordeste demora mais nas obras de padronização;
  • o treinamento fica abaixo de 80% em toda a rede.

São 300 revendas, cerca de 18 mil pedidos e 11 mil respostas de treinamento. A seed é fixa, então quem roda vê os mesmos números.

Toda a regra de negócio ficou em views SQL, e não nos gráficos. O Superset só lê o resultado.

Assim a regra é a mesma em qualquer gráfico, no SQL Lab ou numa exportação.

São seis views. A principal cruza revenda e mês e calcula o percentual da meta, a inadimplência, o treinamento e os pontos.

As views usam uma data de referência gravada no banco, e não a data do dia. Os números não mudam sozinhos de um dia para o outro.

Por fim, o dashboard virou código. Um script cria a conexão, os datasets, os 27 gráficos, o layout e os filtros pela API do Superset, sem nenhum clique.

O painel fica versionado no Git e é recriado do zero em segundos.

Ele tem cinco abas, cada uma para um público:

  • visão gerencial, para a diretoria e os gerentes regionais;
  • quem está perto da meta, para o consultor;
  • ranking e prêmios, para todos;
  • treinamentos, para o consultor e o RH;
  • padronização, para operações.

Os filtros funcionam em cascata. A diretoria limita as regionais, que limitam os consultores e as revendas.

O ranking mostra onde cada regional perde pontos e quem está na briga pelo top 40.

Aba de ranking com os pontos perdidos por regional e o ranking do trimestre

A aba de treinamentos lista quem ainda não fez o treinamento do mês.

Aba de treinamentos com a aprovação por mês e os funcionários pendentes

A de padronização compara o tempo de cada etapa com o prazo e põe as obras mais paradas no topo.

Aba de padronização com o tempo por etapa e as obras com prazo estourado

Detalhe

A aba do consultor responde a pergunta mais urgente: quem não vai bater a meta deste mês.

A projeção usa o ritmo de vendas até a data de referência. O consultor vê a revenda em risco enquanto ainda dá tempo de ligar.

Aba do mês com a projeção de vendas e a lista de revendas que não fecham a meta

A lista começa por quem está mais perto da meta, porque ali uma ligação ainda muda o resultado.

Também respondi sete perguntas avulsas direto no SQL, sem passar pelo painel. Uma delas cruzou treinamento e vendas.

A correlação ficou perto de zero nesses dados. Por isso o painel não promete que treinar aumenta a venda.

Resultado

Publiquei o projeto no GitHub em outubro de 2026, com o código, os dados e o passo a passo para rodar.

Quem clona o repositório sobe o banco e o painel com um comando no Docker.

O painel responde as cinco perguntas do time comercial, em 27 gráficos e cinco abas.

Num cenário real, o próximo passo seria dar a cada consultor acesso só à própria carteira. Outro seria mandar por e-mail a lista de revendas em risco.

O projeto deixou um caminho completo, da tabela bruta ao painel, guardado em código.

Ver projeto