Pular para o conteúdo

RiskBands

Binning para risco de crédito com foco em robustez temporal. O RiskBands ajuda a sair de uma leitura estática de IV para uma decisão mais defensável entre separação, estabilidade e auditabilidade.

O RiskBands é uma biblioteca Python para construir, comparar e auditar candidatos de binning quando a pergunta real não é apenas “qual corte tem IV maior?”, mas:

qual solução continua mais defensável quando o tempo entra na análise?

Ele foi pensado para casos como:

  • modelos de PD
  • scorecards de crédito
  • leitura por safra ou vintage
  • variáveis com drift temporal
  • estruturas com bins raros, cobertura frágil ou reversões de ranking

O OptimalBinning já resolve muito bem o corte estático. O papel do RiskBands é ajudar a decidir se esse corte ainda é a melhor resposta quando você abre o comportamento por período.

Na prática, o projeto adiciona:

  • diagnóstico temporal por variável, bin e período
  • score orientado a robustez temporal com a estratégia stable
  • comparação entre candidatos via BinComparator
  • relatórios auditáveis para explicar por que um candidato venceu
  1. Instale a biblioteca em Python.
  2. Rode o Quickstart.
  3. Leia Score e estratégias para entender stable.
  4. Use Outputs e diagnóstico para aprender a interpretar o resultado.
  5. Vá para Exemplos ou para o Benchmark PD vintage.
from riskbands import Binner
binner = Binner(
strategy="supervised",
score_strategy="stable",
max_n_bins=5,
check_stability=True,
)
binner.fit(df, y="target", column="score", time_col="month")
summary = binner.summary()
score_details = binner.score_details()

O stable não escolhe o melhor candidato apenas por IV estático.

Ele combina:

  • variância temporal do WoE shrinkado
  • drift entre janelas
  • inversões de ranking entre bins
  • separação
  • entropia
  • PSI

Tudo isso em uma forma comparável e orientada a minimização.