Dashboard de inadimplência e safras no Power BI
Como montar um dashboard de inadimplência com análise de safra, roll rate, over 30/60/90 e PDD no Power BI: modelagem, DAX e boas práticas de risco.
O índice de inadimplência da carteira inteira esconde o problema real
Quem trabalha com crédito conhece a armadilha do número único. A diretoria pergunta como está a inadimplência, alguém responde "4,2%", todo mundo respira aliviado e a reunião segue. O problema é que esse 4,2% mistura contratos originados há três anos, já quase liquidados, com contratos originados no mês passado, que ainda nem tiveram tempo de vencer a primeira parcela. É uma média que dilui o que interessa. Um dashboard de inadimplência que só mostra o índice consolidado da carteira não responde a pergunta que decide o negócio: a safra que você está originando agora está pior ou melhor do que a de seis meses atrás?
Essa pergunta é o que separa uma área de crédito que reage de uma que antecipa. Neste artigo mostro como construir esse painel no Power BI de ponta a ponta: a lógica da análise de safra, os conceitos de aging e over 30/60/90, o roll rate entre faixas, a ligação com a PDD e, principalmente, a modelagem e o DAX que sustentam tudo isso sem quebrar quando a carteira cresce.
Análise de safra é o que separa risco de originação de risco de estoque
Safra, ou vintage no jargão internacional, é o agrupamento dos contratos pela data em que foram originados. Uma safra é o conjunto de tudo que você emprestou em janeiro, outra é fevereiro, e assim por diante. A análise de safra acompanha o comportamento de cada uma dessas coortes ao longo do tempo de vida, medido em meses desde a originação, o que chamamos de MOB (months on book).
O ganho é enorme. Em vez de olhar a foto da carteira num instante, você olha a evolução de cada geração de contratos na mesma régua. A safra de janeiro no MOB 6 é comparada com a safra de fevereiro no MOB 6, maçã com maçã. Se a curva de inadimplência das safras recentes sobe mais rápido no mesmo MOB, sua política de concessão afrouxou, e você descobre isso antes de o prejuízo aparecer no consolidado.
A curva de safra costuma ter um formato característico: sobe nos primeiros meses conforme os contratos amadurecem e começam a atrasar, atinge um platô e se estabiliza, porque quem ia dar calote já deu. O ponto de estabilização é o que os times de risco usam para estimar a perda esperada de uma safra ainda jovem.
A tabela abaixo ilustra a leitura de uma curva de safra por MOB. Os números são apenas para explicar a mecânica, não representam nenhuma carteira real.
| Safra de originação | MOB 3 | MOB 6 | MOB 9 | MOB 12 |
|---|---|---|---|---|
| Jan/2025 | 1,1% | 2,4% | 3,0% | 3,2% |
| Fev/2025 | 1,3% | 2,9% | 3,6% | 3,8% |
| Mar/2025 | 1,8% | 3,7% | 4,5% | (em maturação) |
Lendo essa tabela na vertical, no MOB 6 a inadimplência saiu de 2,4% para 3,7% em três safras consecutivas. Isso é um alerta de deterioração de originação que o índice consolidado jamais mostraria com essa clareza.
Aging e over 30/60/90 são o vocabulário mínimo do painel
Antes do DAX, é preciso acertar as definições, porque metade dos problemas de painel de crédito vem de gente medindo coisas diferentes com o mesmo nome. Aging é a classificação de cada contrato ou parcela pela quantidade de dias em atraso, agrupada em faixas. As faixas mais comuns no mercado brasileiro seguem o padrão abaixo.
| Faixa de atraso | Dias em atraso | Interpretação |
|---|---|---|
| Em dia | 0 | Adimplente |
| Faixa 1 | 1 a 30 | Atraso inicial, alta chance de cura |
| Faixa 2 | 31 a 60 | Atraso relevante, cobrança ativa |
| Faixa 3 | 61 a 90 | Risco alto de perda |
| Faixa 4 | acima de 90 | Provável perda, crédito problemático |
Sobre esse aging se constroem os indicadores over. Over 30 é o percentual do saldo com mais de 30 dias de atraso sobre o saldo total, over 60 acima de 60 dias, over 90 acima de 90. O over 90 tem peso especial porque, historicamente, o mercado de crédito trata 90 dias de atraso como a fronteira do crédito problemático, alinhado à forma como o Banco Central estrutura a classificação de risco e a provisão das instituições reguladas. Não é um número inventado pelo seu time, é uma convenção do setor, o que facilita comparação com pares e com benchmarks.
Um detalhe que separa painel amador de painel confiável: defina se o indicador é sobre saldo devedor ou sobre quantidade de contratos, e se o denominador considera a carteira total ou só a parcela vencida. Documente isso, porque numa área regulada a divergência de metodologia entre o painel gerencial e o reporte regulatório vira problema sério.
A modelagem é onde o painel ganha ou perde performance
O erro clássico é jogar uma tabela gigante de parcelas com colunas de texto repetidas e esperar que o Power BI aguente. Ele até aguenta, mas mal. O motor VertiPaq, que comprime os dados em memória, trabalha por cardinalidade: colunas com poucos valores distintos comprimem muito bem, colunas com muitos valores distintos incham o modelo. Uma coluna de identificador de contrato com milhões de valores únicos é cara. Uma coluna de faixa de aging com cinco valores é barata.
O desenho que recomendo é o esquema estrela. Uma fato de posição de carteira, com granularidade de contrato por data de fotografia mensal, cercada de dimensões: contrato, cliente, produto, calendário e, o coração da análise de safra, uma dimensão de safra ligada à data de originação. Você vai precisar cruzar duas dimensões de tempo: quando o contrato nasceu e em que momento você está olhando.
Alguns princípios que evitam retrabalho:
- Traga o cálculo de dias em atraso e a faixa de aging já resolvidos na camada de dados, no ETL, e não como coluna calculada pesada dentro do modelo.
- Materialize a data de originação e o MOB na fato, pois calcular MOB em DAX linha a linha sobre milhões de registros é convite para lentidão.
- Evite relacionamentos muitos para muitos e colunas de alta cardinalidade que só servem de rótulo.
Se a sua base de crédito vem de vários sistemas, como core bancário, motor de cobrança e planilhas de garantia, essa consolidação é um projeto de dados por si só. Vale tratar a origem com engenharia de dados antes de pensar no visual, porque nenhum DAX conserta modelo mal alimentado.
O DAX de um painel de inadimplência vive de CALCULATE e DIVIDE
Com a modelagem certa, as medidas ficam curtas e legíveis. A base é quase sempre a mesma: um saldo, um filtro de faixa de atraso e uma divisão protegida contra zero. Comece pelo saldo devedor.
Saldo Devedor = SUM ( Fato_Carteira[SaldoDevedor] )
O saldo em atraso acima de 90 dias sai de um CALCULATE que aplica o filtro de faixa sobre esse saldo.
Saldo Over 90 =
CALCULATE (
[Saldo Devedor],
Fato_Carteira[DiasEmAtraso] > 90
)
E o indicador over 90 percentual é a razão entre os dois, sempre com DIVIDE no lugar do operador de divisão, porque DIVIDE devolve em branco ou um valor alternativo quando o denominador é zero, em vez de estourar erro num mês sem carteira.
Over 90 (%) =
DIVIDE ( [Saldo Over 90], [Saldo Devedor] )
O mesmo padrão gera over 30 e over 60, trocando o filtro. Para a curva de safra, a medida precisa responder pelo MOB, e é por isso que ter MOB materializado na fato importa tanto: você coloca o MOB no eixo do gráfico e a medida de inadimplência no valor, quebrando por safra na legenda. Se o MOB estivesse sendo calculado em tempo de consulta, cada ponto do gráfico dispararia um cálculo caro.
Se você quer se aprofundar nos padrões de contexto de filtro que tornam essas medidas robustas, vale ler nosso material sobre boas práticas de modelagem DAX, porque o que trava a maioria dos painéis não é fórmula complexa, é contexto de filtro mal compreendido.
Roll rate mostra o caminho, PDD mostra o preço
O over fotografa o estoque de atraso. O roll rate mostra o movimento: qual percentual do saldo que estava na faixa de 1 a 30 dias em um mês rolou para 31 a 60 no mês seguinte, e assim por diante. É a probabilidade de piora entre faixas, medida de um período para o outro. É uma das ferramentas mais úteis do risco de crédito porque antecipa a perda: se o roll rate da faixa 1 para a faixa 2 está subindo, o over 90 vai subir daqui a alguns meses, você só ainda não viu.
A matriz de roll rate cruza a faixa de origem no mês anterior com a faixa de destino no mês atual. A leitura interessa nas transições de piora.
| De \ Para | Em dia | 1 a 30 | 31 a 60 | 61 a 90 | Acima de 90 |
|---|---|---|---|---|---|
| Em dia | 96% | 4% | 0% | 0% | 0% |
| 1 a 30 | 55% | 20% | 25% | 0% | 0% |
| 31 a 60 | 10% | 15% | 30% | 45% | 0% |
| 61 a 90 | 5% | 5% | 10% | 20% | 60% |
A diagonal para a direita e para baixo é o que dói. Naquela linha da faixa de 31 a 60, 45% do saldo rolou para 61 a 90: quase metade piorou. Modelar isso no Power BI exige comparar a posição do contrato em duas fotografias consecutivas, o que se resolve materializando a faixa anterior na própria fato durante o ETL, o caminho mais performático.
Da observação você chega ao preço. A PDD, provisão para devedores duvidosos, é a reserva contábil que a instituição constitui para cobrir a perda esperada da carteira. Instituições reguladas pelo Banco Central seguem regras específicas para essa classificação e provisionamento, então o painel gerencial não substitui o cálculo regulatório, mas serve para explicá-lo e antecipá-lo. No dashboard, a PDD costuma aparecer como percentual do saldo devedor e como valor absoluto, quebrada por faixa de risco, permitindo ver quanto de resultado está sendo consumido por provisão e qual safra está puxando esse consumo.
Governança e LGPD não são o rodapé do projeto, são a fundação
Dado de crédito é dado sensível. Envolve CPF, renda, comportamento de pagamento e capacidade financeira de pessoas. No Brasil isso está sob a Lei Geral de Proteção de Dados, a Lei nº 13.709/2018, e sob a regulação prudencial do Banco Central. Um painel de inadimplência que expõe dado individual sem controle de acesso é um passivo, não um ativo.
Na prática, isso significa segurança em nível de linha para que cada gestor veja apenas sua carteira, minimização de dados trazendo só o que o painel precisa, trilha de acesso e clareza sobre a finalidade de cada campo. Tratamos esse tema em profundidade no texto sobre governança de dados e LGPD no Power BI, e a recomendação é simples: defina a governança antes de publicar o primeiro relatório, não depois que o auditor pediu.
Vale lembrar também que painel bonito sem processo por trás é enfeite. O roll rate que sobe precisa disparar uma ação de cobrança, a safra que deteriora precisa reabrir a discussão de política de crédito. Construir esse ciclo é onde uma frente de Power BI bem conduzida gera retorno de verdade.
Perguntas frequentes
Qual a diferença entre análise de safra e o índice de inadimplência tradicional? O índice tradicional é a foto da carteira inteira num instante, misturando contratos de idades diferentes. A análise de safra agrupa os contratos pela data de originação e acompanha cada coorte pela mesma régua de tempo de vida, o MOB. Isso permite comparar a qualidade de originação entre períodos e detectar afrouxamento de política de crédito antes de o prejuízo aparecer no consolidado.
Por que 90 dias é a fronteira mais usada para crédito problemático? É uma convenção consolidada do mercado de crédito, alinhada à forma como o Banco Central estrutura a classificação de risco e a provisão das instituições reguladas. Contratos com mais de 90 dias de atraso têm probabilidade muito baixa de cura, por isso o over 90 é tratado como o indicador mais próximo da perda efetiva e serve de referência para comparação com pares.
Preciso de Microsoft Fabric ou o Power BI puro resolve? Para a maioria das carteiras, um Power BI bem modelado sobre uma boa camada de dados resolve. O Microsoft Fabric, plataforma de dados unificada que a Microsoft anunciou em 2023, faz sentido quando o volume, a variedade de fontes ou a necessidade de engenharia de dados crescem a ponto de justificar uma arquitetura mais robusta. Comece pela modelagem correta, não pela ferramenta mais nova.
Como calcular o roll rate no Power BI sem travar o desempenho? O caminho mais performático é resolver na camada de dados: durante o ETL, para cada contrato em cada mês, grave a faixa de aging do mês anterior na própria tabela fato. No DAX, a medida apenas cruza faixa anterior com faixa atual. Calcular a faixa do período anterior linha a linha em tempo de consulta, sobre milhões de registros, é o que costuma deixar o painel lento.
O dashboard substitui o cálculo regulatório da PDD? Não. O cálculo de provisão de instituições reguladas segue regras específicas do Banco Central e é responsabilidade das áreas contábil e de risco. O painel serve para explicar, antecipar e gerenciar essa provisão, mostrando qual safra e qual faixa de atraso estão puxando o consumo, mas ele é uma ferramenta gerencial, não o sistema oficial de provisionamento.
Qual granularidade a tabela fato deve ter? Para análise de safra e aging, a granularidade recomendada é contrato por data de posição mensal, ou seja, uma linha por contrato para cada fotografia de fim de mês. Isso permite reconstruir a curva de safra, calcular over 30/60/90 e comparar posições consecutivas para o roll rate. Se você precisa de detalhe de parcela, mantenha uma fato separada e mais granular, sem inflar o modelo principal.
Um bom dashboard de inadimplência mostra o problema antes de ele virar prejuízo
Curva de safra, aging, over 30/60/90, roll rate e PDD não são cinco relatórios separados. São camadas de uma mesma história: onde o risco nasce, como ele se move e quanto ele custa. Montar isso no Power BI é menos sobre visual e mais sobre modelagem honesta, DAX enxuto e governança levada a sério desde o primeiro dia. Se a sua área de crédito ainda decide com o índice consolidado, você está enxergando o passado quando poderia estar antecipando o futuro. Fale com a gente e vamos desenhar esse painel junto com o seu time.
Quer aplicar isso na sua empresa?
A Fynx implementa BI, Power BI e Power Platform de ponta a ponta. Conte seu cenário e devolvemos um diagnóstico direto ao ponto.
Falar com um especialista