RELATÓRIO DE KPIs E MÉTRICAS — DASHBOARD TMC RECORDS
Sistema: TMC Advocacia — ERP de gerenciamento de processos jurídicos
Data da análise: 23 de junho de 2026
Total de sugestões: 24 KPIs/métricas
Sumário
Tier 1 — Essenciais (Estratégicos)
KPIs que devem estar na primeira tela do dashboard. Respondem "como está a saúde do escritório?"
1. Total de Processos Ativos
| Campo | Detalhe |
|---|
| Descrição | Contagem de processos que não possuem resultado final (excluir PROCEDENTE, IMPROCEDENTE, CANCELOU, DESISTIU, FALECEU, EXTINTO_SEM_MERITO, etc.) |
| Fonte | Processo.resultado IS NULL |
| Gráfico | Card numérico grande + indicador de variação mensal (↑↓) |
| Filtros | Período, UF, Tipo de Processo |
2. Processos por Tipo (TipoProcesso)
| Campo | Detalhe |
|---|
| Descrição | Distribuição dos 12 tipos de processo (Aposentadoria, Auxílio-Doença, BPC, Pensão por Morte, Trabalhista, etc.) |
| Fonte | Processo.tipo agrupado por TipoProcesso |
| Gráfico | Gráfico de pizza (destaque para os 5 maiores, agrupar os demais em "Outros") |
| Filtros | Período, UF |
3. Processos por Estado / Região (UF)
| Campo | Detalhe |
|---|
| Descrição | Total de processos agrupados por UF da competência. Útil para escritórios que atuam em múltiplos estados (RO, MT, SP, etc.) |
| Fonte | Competencia.uf via Processo.competenciaId |
| Gráfico | Gráfico de barras horizontal (ordenado do maior para o menor) |
| Filtros | Período, Tipo de Processo |
4. Taxa de Sucesso Geral
| Campo | Detalhe |
|---|
| Descrição | Percentual de processos com resultado positivo (PROCEDENTE, CONCEDIDO_ADM, CONCLUIU_ADM) versus negativo (IMPROCEDENTE, CANCELOU, DESISTIU, EXTINTO_SEM_MERITO, FALTA_CUMPRIMENTO_EXIGENCIA, SEM_CONTATO, PENDENCIA_NAO_RESOLVIDA) |
| Fonte | Processo.resultado — ratio entre resultados positivos e total de processos com resultado |
| Gráfico | Gráfico de pizza (positivo × negativo × pendente) + card percentual |
| Filtros | Período, Tipo de Processo, Captador, UF |
5. Movimentações por Mês (Série Histórica)
| Campo | Detalhe |
|---|
| Descrição | Volume mensal de movimentações registradas. Mostra a atividade operacional do escritório ao longo do tempo |
| Fonte | Movimentacao.createdAt agrupado por mês/ano |
| Gráfico | Linha temporal (últimos 12 meses) |
| Filtros | Período, Tipo de Movimentação, Usuário |
6. Tempo Médio de Vida do Processo
| Campo | Detalhe |
|---|
| Descrição | Média de dias entre a criação do processo e sua última movimentação (ou data de resultado, se finalizado). Mede agilidade do escritório |
| Fonte | AVG(DATEDIFF(COALESCE(ultimaMovimentacaoAt, NOW()), createdAt)) |
| Gráfico | Card numérico (dias) + gráfico de linha mostrando evolução mensal da média |
| Filtros | Período, Tipo de Processo, UF |
7. Processos por Captador
| Campo | Detalhe |
|---|
| Descrição | Ranking de captadores por quantidade de processos trazidos. Permite identificar quais captadores estão gerando mais volume |
| Fonte | Captador.name com COUNT(Processo.id) |
| Gráfico | Barras vertical (Top 10) |
| Filtros | Período |
8. Resultados de Perícia Médica
| Campo | Detalhe |
|---|
| Descrição | Distribuição dos resultados de perícias médicas: POSITIVO, NEGATIVO, FALTOU, MAIS_OU_MENOS, MARCADA, AGUARDANDO_PERICIA |
| Fonte | Processo.periciaMedica agrupado por PericiaMedica |
| Gráfico | Pizza + barras empilhadas |
| Filtros | Período, Perito, Tipo de Processo |
Tier 2 — Operacionais (Gerenciais)
KPIs para o dia a dia da gestão. Ajudam a identificar gargalos e oportunidades de melhoria.
9. Processos Criados vs. Concluídos
| Campo | Detalhe |
|---|
| Descrição | Comparação mês a mês entre processos que entraram e processos que foram concluídos (receberam resultado final). Mostra se o escritório está dando vazão |
| Fonte | COUNT(Processo.id WHERE createdAt) vs COUNT(Processo.id WHERE resultado IS NOT NULL AND updatedAt) |
| Gráfico | Linha dupla (criados × concluídos) ao longo do tempo |
| Filtros | Período, UF, Tipo |
10. Top Doenças (CID-10) mais Recorrentes
| Campo | Detalhe |
|---|
| Descrição | Ranking dos códigos CID-10 mais associados aos processos. Revela quais condições médicas são mais prevalentes na carteira |
| Fonte | Cid.descricao via Processo.doencas — COUNT de processos por CID |
| Gráfico | Barras horizontais (Top 10) |
| Filtros | Período, Tipo de Processo |
11. Processos Judiciais vs. Administrativos
| Campo | Detalhe |
|---|
| Descrição | Proporção entre processos que foram judicializados (foiJudicial = true) e os que permanecem na via administrativa |
| Fonte | Processo.foiJudicial — SUM(CASE WHEN foiJudicial THEN 1 ELSE 0 END) |
| Gráfico | Pizza ou rosca |
| Filtros | Período, Tipo, UF |
12. Taxa de Judicialização por Tipo
| Campo | Detalhe |
|---|
| Descrição | Percentual de processos que se tornaram judiciais, segmentado por tipo de processo. Identifica quais tipos mais frequentemente precisam de ação judicial |
| Fonte | Processo.foiJudicial agrupado por TipoProcesso |
| Gráfico | Barras empilhadas (judicial × adm por tipo) |
| Filtros | Período |
13. Peritos mais Acionados
| Campo | Detalhe |
|---|
| Descrição | Ranking de peritos (médicos) pelo número de processos/movimentações em que foram designados |
| Fonte | Perito.nome com COUNT(Processo.id) e COUNT(Movimentacao.id) |
| Gráfico | Barras (Top 10) |
| Filtros | Período |
14. Distribuição por Subtipo
| Campo | Detalhe |
|---|
| Descrição | Distribuição dos subtipos de processo (PREV_ADM, PREV_JUD, TRABALHISTA, RECLAMACAO, DEFESA, CIVEL, LIDE_SIMULADA) |
| Fonte | Processo.subtipo agrupado por SubtipoProcesso |
| Gráfico | Barras ou pizza |
| Filtros | Período, UF |
15. Processos por Estado Atual (Pipeline)
| Campo | Detalhe |
|---|
| Descrição | Quantos processos estão em cada estado do fluxo (LAUDO_POSITIVO, PERICIA_MEDICA, SENTENCA_POSITIVA, CALCULO_FAZER, RPV, PROPOSTA_DE_ACORDO, etc.). Visualiza o pipeline |
| Fonte | Processo.estado agrupado por EstadoProcesso |
| Gráfico | Barras ou funil (sorted by typical flow order) |
| Filtros | Período, Tipo, UF |
| Campo | Detalhe |
|---|
| Descrição | Taxa de sucesso dos processos por captador. Um captador pode trazer muitos processos, mas de baixa qualidade — este KPI mede a efetividade |
| Fonte | Captador.name + ratio PROCEDENTE/CONCEDIDO por total do captador |
| Gráfico | Barras (taxa de sucesso %) + volume (número de processos) como sobreposição |
| Filtros | Período |
Tier 3 — Analíticas (Aprofundamento)
KPIs para análises mais refinadas. Revelam padrões e tendências.
17. Perícias Positivas vs. Negativas por Perito
| Campo | Detalhe |
|---|
| Descrição | Para cada perito, qual a proporção de laudos positivos vs. negativos. Ajuda a identificar peritos mais favoráveis ou rigorosos |
| Fonte | Movimentacao.periciaMedica (ou Processo.periciaMedica) agrupado por Perito.nome |
| Gráfico | Barras empilhadas (positivo/negativo/outros) com filtro por perito |
| Filtros | Período |
18. Tempo Médio entre Movimentações
| Campo | Detalhe |
|---|
| Descrição | Intervalo médio entre movimentações de um mesmo processo. Processos parados há muito tempo representam risco de prescrição ou insatisfação |
| Fonte | LAG(createdAt) OVER (PARTITION BY processoId ORDER BY createdAt) |
| Gráfico | Card (dias) + scatter plot de processos com maior intervalo |
| Filtros | Período, Tipo |
19. Sazonalidade de Abertura de Processos
| Campo | Detalhe |
|---|
| Descrição | Análise mensal de novos processos ao longo dos anos. Revela padrões sazonais (e.g., mais auxílio-doença em meses de inverno) |
| Fonte | Processo.createdAt agrupado por mês do ano |
| Gráfico | Linha comparativa (mês a mês, sobrepondo anos) |
| Filtros | Tipo de Processo |
20. Taxa de Abandono / Desistência
| Campo | Detalhe |
|---|
| Descrição | Percentual de processos que terminaram em DESISTIU, SEM_CONTATO, CANCELOU ou PENDENCIA_NAO_RESOLVIDA |
| Fonte | Processo.resultado IN (DESISTIU, SEM_CONTATO, CANCELOU, PENDENCIA_NAO_RESOLVIDA) |
| Gráfico | Card percentual + pizza (abandono vs. sucesso vs. outros) |
| Filtros | Período, Captador, Tipo |
21. Processos "Esfriados" (Sem Movimentação Recente)
| Campo | Detalhe |
|---|
| Descrição | Contagem de processos ativos sem nenhuma movimentação há mais de 30/60/90 dias. Alerta para processos estagnados |
| Fonte | Processo.ultimaMovimentacaoAt < DATE_SUB(NOW(), INTERVAL X DAY) |
| Gráfico | Card por faixa (30d, 60d, 90d+) + tabela com os principais |
| Filtros | Período, Tipo, Captador, UF |
22. Produtividade por Usuário
| Campo | Detalhe |
|---|
| Descrição | Quantidade de movimentações registradas por cada usuário do sistema. Mede engajamento e carga de trabalho |
| Fonte | Movimentacao.criadoPorId agrupado por User.name |
| Gráfico | Barras (Top 10) |
| Filtros | Período |
23. Evolução do Resultado ao Longo do Tempo
| Campo | Detalhe |
|---|
| Descrição | Série histórica de resultados (PROCEDENTE, IMPROCEDENTE, etc.) por mês. Mostra se a qualidade dos resultados está melhorando |
| Fonte | Processo.resultado agrupado por mês (considerar updatedAt do processo como data de resultado) |
| Gráfico | Linhas múltiplas ou área empilhada (positivos vs. negativos ao longo do tempo) |
| Filtros | Tipo, UF, Captador |
24. Distribuição por Faixa de Duração
| Campo | Detalhe |
|---|
| Descrição | Histograma de processos por faixa de duração (0-30 dias, 31-90, 91-180, 181-365, 1-2 anos, 2+ anos). Revela a distribuição etária da carteira |
| Fonte | DATEDIFF(NOW(), Processo.createdAt) categorizado em buckets |
| Gráfico | Barras (histograma) |
| Filtros | Tipo, UF |
Resumo Visual por Tipo de Gráfico
| Tipo de Gráfico | KPIs |
|---|
| Card numérico | #1 (Ativos), #6 (Tempo médio), #18 (Intervalo entre mov.), #20 (Taxa abandono), #21 (Esfriados) |
| Gráfico de pizza / rosca | #2 (Tipo), #4 (Sucesso), #8 (Perícias), #11 (Judicial × Adm), #14 (Subtipo) |
| Gráfico de barras vertical | #7 (Captadores), #9 (Criados × Concluídos), #10 (Top CID), #13 (Peritos), #15 (Estado), #22 (Produtividade) |
| Gráfico de barras horizontal | #3 (UF), #10 (Top CID) |
| Gráfico de barras empilhadas | #12 (Judicialização por tipo), #17 (Perícias por perito) |
| Gráfico de linha | #5 (Mov./mês), #6 (Tempo médio), #9 (Criados × Concluídos), #19 (Sazonalidade), #23 (Evolução resultados) |
| Funil | #15 (Pipeline por estado) |
| Histograma | #24 (Faixa de duração) |
| Tabela | #21 (Processos esfriados) |
Anotações Técnicas para Implementação
Consultas Agregadas
A maioria dos KPIs exige consultas de agregação (GROUP BY, COUNT, AVG, janelas) que não existem no repositório atual. Serão necessários:
- Novos Read Models no módulo
processos/domain/read-models.ts específicos para dashboard
- Novos Use Cases no módulo
processos/application/ (ex.: get-dashboard-kpis.usecase.ts)
- Novas queries no Prisma usando
groupBy, aggregate, ou queries SQL raw para consultas mais complexas
Consultas como "Tempo médio entre movimentações" (#18) exigem window functions (LAG). Considere:
- Views materializadas no MariaDB para KPIs pesados
- Cache de resultados com intervalo de atualização (ex.: a cada 15 min)
- Índices adicionais sugeridos:
Processo(resultado), Movimentacao(peritoId), Processo_Cid(cidId)
Internacionalização
Todos os enums já possuem labels em português no arquivo src/modules/processos/domain/enums.ts. Reaproveitar para os gráficos.
Filtros Comuns
Implementar um sistema de filtros global no dashboard:
- Período (data inicial e final)
- Tipo de Processo
- UF / Competência
- Captador
- Perito
Total: 24 sugestões de KPIs/métricas organizadas em 3 tiers de importância.