Pular para o conteúdo principal

Dashboard Elite — dados necessários no banco

Data: 2026-08-07 Contexto: o Dashboard Elite (apps/web/app/[locale]/belite/home/[account]/dashboard/) hoje é 100% mock (_lib/mock-data.ts). Este doc lista cada número da tela, a granularidade/dimensões que ele precisa, e a origem provável no DW — separando o que já existe de mart/fato do que precisa de dado novo (benchmarks Brasil/Elite, percentis, funil).

Filtros da tela (afetam todos os componentes): Período (mês), Grupo, Região, Fabricante, Loja, Departamento. O mock deriva variação de todos por hash — na versão real, cada métrica precisa responder a esses filtros.


1. Hero "Posição Belite" (gauge)

MétricaUnidadeGranularidadeOrigem provável
RPUF do grupoR$grupo × mês (× filtros região/fabricante/loja)fandi_kpi_contrato_diarentabilidadeCProduto ÷ qtd_contratos_financiados (mesma definição do One Page)
Posição (percentil P1–P99)0–99grupo × mêsNOVO — precisa de curva de distribuição de RPUF do mercado (P10–P90) pra calcular o percentil do grupo
% vs média da Região%grupo × mês vs média da região no mesmo mêsNOVO — média de RPUF por região
P10/P25/P50/P75/P90-EliteR$referência de mercadoNOVO — curvas de percentil de RPUF (ver §5)

O mock usa a seção "rpuf" e "posicao" da Visão Temporal como fonte do hero — na versão real, hero e visão temporal devem ler o MESMO dado (uma única série mensal de RPUF + percentil), senão os dois lugares divergem.


2. KPIs (4 cards)

Cada card tem: valor do grupo (big number) + subvalor % + referências Brasil e Elite.

CardValor principalSubvalorBrasilEliteOrigem provável
Ticket Médio FinanciadoR$R$R$valor_financiado ÷ contratos_financiados (FANDI)
Money LostR$Taxa de perdidas %R$R$NOVO — não existe mart de fichas perdidas hoje; precisa definir o que é "ficha perdida" e a taxa
Rentab. TotalR$Retorno médio %R$R$FANDI (rentabilidadeCProduto; retorno médio = valor_retorno ÷ valor_financiado)
Rentab. Total ProdutoR$Penetração Produto %R$R$FANDI (valor_prod_banco + valor_prod_loja; penetração precisa de mart com flag de "tem produto")

Brasil/Elite: referências de mercado por métrica — NOVO, provavelmente uma tabela de benchmark (ver §5). O mock usa valores fixos por métrica.


3. Funil de Conversão

DadoUnidadeOrigem provável
Clientescountfandi_fat_envio (clientes distintos) ou definição própria
Aprovadoscountenvios com situação aprovada (fandi_fat_situacao/fandi_dim_situacao)
Contratoscountcontratos financiados (fandi_kpi_contrato_dia qtd_contratos financiados)
Taxa de Aprovação%aprovados ÷ clientes
Taxa de Conversão%definição a validar (mock usa 61,3% entre estágios)
Taxa de Fechamento%contratos ÷ aprovados
Elite — Aprov/Conv/Fech%referência de mercado — NOVO (benchmark)
Insights: mês anterior / média nacional / nível elite%comparativos do mês, mercado nacional (Emplacamento?) e benchmark Elite — NOVO

As 3 taxas hoje vivem em MOCK_FUNIL_RATES e os counts derivam de uma base fixa de 1.000 clientes. Na versão real, os counts vêm do DW e as taxas são derivadas dos próprios counts.


4. Benchmark de Performance (tabela)

Árvore Grupo → Região, colunas: Entidade, N Lojas, Contratos, RPUF, Posição (percentil na curva P10–P90 da própria entidade).

DadoOrigem provável
Entidade (grupo/região)fandi_dim_grupo / fandi_dim_loja
N Lojascount(distinct loja)
Contratosqtd_contratos financiados
RPUFrentabilidadeCProduto ÷ contratos_financiados
Posição (percentil)NOVO — curva P10–P90 por entidade/nível
Curvas P10–P90NOVO — distribuição de RPUF por região/mercado (o mock tem curvas diferentes por entidade)

5. Referências de mercado (tudo que o mock tem fixo e não existe no DW)

Hoje não há nenhuma fonte de benchmark (Brasil/Elite/média nacional/percentis). Precisa de:

  1. Curvas de percentil de RPUF por nível (mercado, região, fabricante) — P10/P25/P50/P75/P90 — pra:
    • Hero (posição do grupo)
    • Tabela de benchmark (posição de cada entidade)
  2. Referências Brasil e Elite por métrica de KPI (Ticket, Money Lost, Taxa de perdidas, Rentab. Total, Retorno médio, Rentab. Produto, Penetração).
  3. Média da Região por mês (pra variação % do hero).
  4. Benchmarks do funil (Elite de aprovação/conversão/fechamento) + insights de mercado.

Recomendação: uma tabela única de benchmark (belite.benchmark_kpi?) com (kpi, grupo/regiao/fabricante, mes, p10, p25, p50, p75, p90, media, elite) — preenchida pelo time de dados.


6. Visão Temporal (3 cards: RPUF, Ticket Médio Financiado, Posição)

Série mensal (mock: 17 meses, jan/2025–mai/2026, mês atual "em andamento") com 5 referências por mês:

CampoSignificadoOrigem provável
grupovalor do grupo no mêsFANDI (RPUF, Ticket) / NOVO (Posição = percentil mensal)
mediaRegiaomédia da regiãoNOVO
mediaBrasilmédia BrasilNOVO
eliteRegiaoelite da regiãoNOVO
eliteBrasilelite BrasilNOVO

O gráfico só plota Grupo × Elite Brasil hoje. O mock gera tudo via onda senoidal — precisa virar série real por mês.


Resumo do que precisa ser adicionado/criado

#ItemTipo
1Mart/query de fichas perdidas (Money Lost R$ + taxa %)NOVO
2Flag/mart de "tem produto agregado" (Penetração Produto)NOVO
3Curvas de percentil de RPUF (P10–P90) por nívelNOVO
4Referências Brasil/Elite por métrica de KPI e funilNOVO
5Média da região por mês (hero)NOVO
6Série mensal histórica (RPUF/Ticket/Posição) por grupoparcial — RPUF/Ticket vêm do FANDI, Posição é NOVO
7Funil: clientes/aprovados/contratos com situação de envioparcial — envios/situações existem no FANDI; "aprovados" e "conversão" precisam de definição validada

Já existente (usar como fonte, sem criar): FANDI (fandi_kpi_contrato_dia, fandi_fat_envio, fandi_fat_situacao/fandi_dim_situacao), DMS (dms_kpi_venda_dia, kpi_financiamento_dia), Emplacamento (mercado nacional).