Alberi decisionali fast-and-frugal e credit selection con il modello Unico (draft version)
Rodolfo Vanzini
4 febbraio 2018
Introduzione
La selezione delle imprese a cui riconoscere affidabilità creditizia, da parte di un intermediario finanziario come una banca, è essenzialmente riconducibile – dal punto di vista metodologico – ad un esercizio di classificazione. La classificazione opera secondo uno schema dicotomico di tipo affidabile/non affidabile tenendo conto di variabili di natura quantitativa e/o qualitativa a loro volta riconducibili ad alcune categorie di provenienza come le informazioni provenienti dai c.d. credit registry pubblici (la Centrale dei Rischi, ad esempio), dai credit bureau privati (Eurisc gestita da CRIF), dai dati a disposizione della banca e rivenienti dalla relazione (andamentale interna) e dai dati di natura economico-finanziaria a disposizione pubblicamente (si pensi al bilancio d’esercizio depositato presso la Camera di Commercio).
Sulla base delle variabili a disposizione alla data di valutazione del merito di credito la banca distingue le richieste di fido (anche la revisione periodica deve essere considerata come una richiesta di affidamento, almeno implicitamente) in “affidabili” e in “non affidabili” stimando la probabilità che in un arco di tempo relativamente breve (dodici mesi) si verifichi l’evento per il quale la controparte non viene considerata affidabile.
Tale evento è denominato default e può essere definito ricorrendo alla definizione appositamente scelta ad esempio nella regolamentazione prudenziale (il regolamento comunitario denominato Capital Requirement Regulation in attuazione dell’accordo sul capitale noto come Basilea 3) come 90-day past due or unlikely to pay (mancato pagamento che si protrae da oltre 90 giorni o inadempimento probabile). Una delle difficoltà che si trova tradizionalmente a dover affrontare una banca nella valutazione del merito di credito di un richiedente fido è quella relativa alle imprese che non sono soggette al bilancio d’esercizio.
La documentazione di natura economico-finanziaria su cui si basa la banca è in questi casi quella di tipo fiscale che non si presta bene alle valutazioni di affidabilità che devono essere effettuate. Nel lavoro che segue si mostra da un punto di vista metodologico l’approccio valutativo di tipo statistico tipico dei modelli di scoring o rating utilizzati da molteplici intermediari finanziari addattandolo ad un contesto che è quello tipico dell’aula di formazione.
In particolare si fa affidamento, più per fini espositivi che altro, agli alberi decisionali fast-and-frugal così come descritti nel lavoro del prof. N. Phillips et al1. In questo contesto diventa necessario lavorare con dei casi concreti, spesso con il supporto cartaceo e la possibilità di prendere appunti su di esso, senza il supporto di un computer a cui rimandare i calcoli.
I problemi di classificazione
Si tratta di distinguere le imprese malate da quelle sane, assumendosi il rischio di classificare quelle malate come sane e viceversa.
Ogni problema di classificazione o di selezione presuppone, riprendendo quanto accennato all’inizio, quattro possibili combinazioni in relazione alla classificazione prevista ex-ante e a quella effettiva rilevata ex-post. Per semplicità, la banca si trova a dover classificare, come si è già detto, le imprese richiedenti credito tra affidabili e non affidabili, anticipando le difficoltà di rimborso del prestito in condizioni di incertezza trovandosi quindi di fronte a quattro casi possibili in relazione alla previsione con cui vengono ritenute essere meritevoli o meno di credito.
La banca nell’attività di intermediazione creditizia “teme” soprattuto, come si vedrà meglio in seguito, di concedere prestiti a imprese non affidabili credendole meritevoli. Essa teme soprattutto quindi di commettere un errore nell’erogare credito a imprese poi inadempienti; considerando che un problema di classificazione applicato al campo medico dal punto di vista diagnostico equivale alla ricerca dei casi “positivi” ossia affetti dalla malattia, si può interpretare sempre dal punto di vista lessicale la valutazione del merito creditizio nella ricerca delle imprese potenzialmente “malate”.
Dal punto di vista sintattico si possono quindi sostituire indifferentemnte le espressioni “non affidabile” con “non meritevole”, oppure con “malata”, ricorrendo infine al termine “default”, maggiormente utilizzato nel campo creditizio. Default quindi ricorre quando il debitore non è meritevole, o non affidabile, o in altre parole è inadempiente, o “malato”. In altre parole, si tratta di distinguere le imprese “malate” da quelle “sane”, assumendosi il rischio di classificare quella “malate” come “sane” e viceversa.
Utilizzando l’espressione lessicale di “default” e interpretandola come la manifestazione della “malattia”, almeno dal punto di vista creditizio, la banca si trova di fronte a quattro casi possibili, come accennato, nel classificare le imprese clienti:
Effettivo “malata” | Effettivo “non malata” | |
---|---|---|
Previsto “malata” | malata/malata (VP) | malata/non malata (FP) |
Previsto “non malata” | non malata/malata (FN) | non malata/non malata (VN) |
Infine sostituendo la classificazione binaria malata/non malata con si default/no default si possono rappresentare le quattro situazioni come segue, riportandole nella tabella a doppia entrata denominata confusion table:
- Casi correttamente classificati come positivi – previsto si default – e che effettivamente sono risultati positivi – effettivo si default, i c.d. veri positivi (VP, o “si/si” in tabella);
- Casi correttamente classificati come negativi – previsto no default, ricorrendo alla nomenclatura utilizzata nella prassi creditizia – e che effettivamente sono risultati negativi – effettivo no default, i c.d. veri negativi (VN, o “no/no” in tabella);
- Casi erroneamente classificati come negativi – previsto no default – ma che effettivamente sono risultati positivi – effettivo si default, i c.d. falsi negativi (FN, “no/si”);
- Casi erroneamente classficati come positivi – previsto si default – ma che effettivamente sono risultati negativi – effettivo no default, i c.d. falsi positivi (FP, “si/no”).
Effettivo “si default” | Effettivo “no default” | Totali | |
---|---|---|---|
Previsto “si default” | si/si (VP) | si/no (FP) | “Si” previsti |
Previsto “no default” | no/si (FN) | no/no (VN) | “No” previsti |
Totali | “Si” effettivi | “No” effettivi | Totale campione |
I falsi positivi (FP, o errori di primo tipo) e i falsi negativi (FN, o errori di secondo tipo) sono quindi gli errori che vengono commessi, nel caso specifico, dalla banca nel classificare rispettivamente come debitore non affidabile un debitore che si rivela essere affidabile e come debitore affidabile un debitore che invece si rivela essere non affidabile. Si tratta di quelle situazioni in cui la banca si trova a rifiutare credito a imprese clienti invece meritevoli e a prestare credito a imprese clienti poi inadempienti. La tabella di confusion può essere riesposta utilizzando l’accorgimento lessicale tipico dei problemi di classificazione studiati nel campo medico, nel modo seguente:
Default effettivo si |
Default effettivo no |
|
---|---|---|
Default previsto si |
Hit | False alarm |
Default previsto no |
Miss | Correct Rejection |
Questi errori – miss e false alarm – sono impliciti in ogni scelta in condizioni di incertezza che si trova a dover effettuare una banca nel selezionare le imprese a cui erogare credito e la cui incidenza definisce la capacità di selezione della politica di credito: idealmente l’incidenza di questi errori sarebbe nulla se la banca fosse in grado di distinguere ex-ante correttamente tutte le situazioni che consentono l’affidamento da quelle da rifiutare invece – nessun miss o falso negativo e nessun false alarm o falso positivo.
Chiaramente l’incidenza degli errori di primo tipo (i falsi positivi) tende a dominare rispetto a quelli di secondo tipo dal momento che i secondi hanno un impatto economico tendenzialmente molto maggiore dei primi: fare credito ad un’impresa inadempiente costa di più che rifiutare credito ad un’impresa meritevole, per cui è preferibile assumersi il rischio di sopportare i mancati introiti dal rifiuto del prestito rispetto a sopportare le perdite derivanti dal credito.
Si definiscono quindi, sempre dal punto di vista metodologico, alcuni indici sulla cui base valutare la bravura del criterio di selezione adottato nella valutazione delle imprese da affidare:
- Sensibilità (o sensitivity), data dal rapporto tra i casi classificati come veri positivi (VP) e il totale degli effettivi positivi (VP + FN) – la percentuale di imprese effettivamente malate classificate come tali;
- Specificità (o specificity), data dal rapporto tra i casi classificati come veri negativi (VN) e il totale degli effettivi negativi (VN + FP) – la percentuale di imprese effettivamente sane classificate come tali;
- Accuratezza (o accuracy), data dal rapporto tra i casi classificati correttamente (VP + VN) e il totale complessivo dei casi sottoposti alla selezione (il totale del campione, VP + VN + FP + FN).
La banca ricerca quindi un criterio di selezione che sia sensibile e specifico al tempo stesso nel rilevare la “malattia” dell’impresa: affinché sia accurato il criterio di selezione è necessario che sia specifico e sensibile alle caratteristiche della “malattia”, non deve perciò escludere troppe imprese “sane” trattandole come se fossero “malate”.
Come già accennato la banca – soprattutto nelle fasi di recessione relative al ciclo economico – tende ad assumere un atteggiamento di avversione al rischio tale da minimizzare gli errori di secondo tipo, di fatto annullandoli almeno nelle situazioni che comportano la valutazione di prima erogazione, aumentando però molto gli errori di primo tipo: rifiutanto di prestare credito indistintamente finisce per applicare un criterio molto sensibile ma scarsamente specifico.
Nel lavoro che segue proviamo ad esplorare, sfruttando i dati a nostra disposizione, la definizione di un criterio di classificazione che consenta di distinguere con un ragionevole grado di accuratezza le imprese affidabili da quelle non affidabili, nel caso specifico di imprese la cui documentazione economico/finanziaria a disposizione della banca non sia rappresentata da quella relativa al bilancio di eserczio ma sia contenute nel modello Unico presentato per la dichiarazione dei redditi.
I dati
La selezione delle imprese da affidare e il monitoraggio del rischio di credito sono attività che presuppongono due condizioni complementari tra di loro: disponibilità di dati e capacità di trattamento di essi. La prima condizione non implica la seconda.
I dati disponibili e raccolti per questo lavoro – scaricabili da questo link – sono riferiti a quanto disponibile al 31/12/2016 in riferimento allo stato di classificazione interno (Default=si/no
) rilevato al 31/12/2017 e relativi a 200 imprese. I dati sono riferiti ad imprese “monoaffidate” la cui esposizione in Centrale dei Rischi coincide intramente con quella della banca.
- codice ATECO di attività (
ATC_2
); - provincia di ubicazione della sede legale (
PR
); - tipo di reddito rilevato relativo al quadro del modello Unico 2016 presentato (v. sotto,
QDR
, distinto inRF
,RG
eRE
); - ricavi riportati nel modello Unico 2016 (
RCV
); - reddito relativo all’anno 2015 e derivante dalla dichiarazione dei redditi del debitore (
RD
); - tipo di indebitamento (
TP
distinto perSCAD
/APCALQ
rispettivamente a scadenza – finanziamenti o mutui a pagamento rateale – e aperture di credito o crediti autoliquidanti); - indebitamento per cassa complessivo e utilizzato relativo alle segnalazioni in Centrale dei Rischi al 31/12/2016 (
D
); - oneri finanziari sopportati durante il 2016 (
OF
); - disponibilità liquidità rilevata sul conto corrente al 31/12/2016 (
SCC
); - rata, importo annuo complessivo delle rate (
RT
); - giudizio qualitativo dell’addetto crediti relativo alle possibilità di aumento o diminuzione del fido accordato (
VAL
distinto in+
/-
/=
rispettivamente per aumentare, diminuire o non variare); - rapporto tra indebitamento e i ricavi complessivi (
DRCV
); - rapporto tra rata e reddito (
RTRD
); - stato di default al 31/12/2017 (
Default
distinto insi/no
), definito come sconfinamento o scaduto da oltre 30 giorni; - tempo al default intercorso dal 31/12/2016, solo per le imprese classificato in stato di default –
Default = si
– (Durata
).
In verbatim
sono riportati i nomi delle variabili utilizzati nel lavoro “gemello” a questo contenente anche tutte le elaborazioni, interamente riproducibili, condotte con R
.
I dati reddituali sono estratti dal modello Unico 2016 e sono riferiti ai quadri:
- RF, reddito d’impresa in regime di contabilità ordinaria;
- RG, reddito d’impresa in regime di contabilità semplificata per le società in contabilità semplificata;
- RE, redditi di lavoro autonomo derivanti dall’esercizio di arti e professioni;
- RN, redditi della società o associazione da imputare ai soci o associati.
Il quadro RN in particolare contiene i redditi riferiti ai quadri RF, RG ed RE (rispettivamente i righi RF66, RG34 e RE21) ai righi RN1, RN2 e RN3, rispettivamente. La definizione di un criterio di selezione è operata, nel lavoro che segue, distinguendo tra finanziamenti a scadenza – relativi a investimenti in capitale fissso – e finanziamenti autoliquidanti – relativi alla gestione corrente.
Il campione di dati, che fa distinzione tra finanziamenti a scadenza e autoliquidanti, è stato suddiviso in due sottocampioni:
- Un primo campione, denominato train, sulla cui base vengono effettuati le calibrazioni del criterio di selezione;
- Un secondo campione, denominato test, su cui vengono applicati i criteri con lo scopo di testare la capacità del metodo di selezione su un insieme di dati nuovo.
Dal punto di vista metodologico un sistema di rating o di scoring deve essere testato su un insieme di dati diverso da quello su cui è stato allenato. Sempre da un punto di vista metodologico per facilità di utilizzo espositivo in questo lavoro è stato utilizzato l’algoritmo di classificazione binario di apprendimento supervised FFTrees.
Gli affidamenti a scadenza
I dati sugli affidamenti a scadenza sono relativi a finanziamenti con ammortamento mensile di tipo francese ed erogati con garanzia ipotecaria. Proviamo a verificare se esistono delle variabili, tra quelle disponibili, che consentano di provedere con un ragionevole grado di accuratezza al 31 dicembre 2016 lo stato di classificazione effettivo al 31 dicembre 2017. L’insieme di apprendimento (train) contiene 50 imprese2 di cui 36 classificate in bonis e 14 in default.
La ricerca del criterio di selezione ottimale presuppone innanzitutto l’individuazione dei previsori utili alla valutazione del merito di credito. Un previsore è un dato, o un indicatore che dir si voglia, capace di fornire degli indizi anticipatori dello stato di malattia dell’impresa. Non necessariamente tutti i dati a disposizione della banca 12 mesi prima contengono informazioni utili e salienti per prevedere lo stato di difficoltà del debitore. Anzi, spesso molte dati di cui dispone la banca finiscono per essere inutili ai fini della valutazione del merito di credito.
Ogni singolo dato a disposizione della banca può servire da previsore anche se molto spesso solo pochi di essi, o solo poche combinazioni di essi, possono essere considerati sufficientemente utili. Considerando i singoli dati a disposizione (codice ATECO, provincia, tipo di reddito, ecc…) è possibile rappresentare le combinazioni di specificità/sensibilità relative ad un criterio di selezione elaborato sul singolo dato attraverso un grafico denominato ROC (receiver operating curve, ROC), che rappresenta tutte le combinazioni di sensibilità e specificità (o false allarme) relative ai previsori utilizzati.
Per riprendere quanto già accennato si sottolinea che un criterio di selezione affinché sia accurato deve essere non solo sensibile ma anche specifico: non deve servire solo ad eliminare le imprese malate, ma deve servire anche a tenere quelle sane. Nel grafico che segue sono rappresentate le curve ROC di due indicatori: gli oneri finanziari OF
e i ricavi RCV
. Affinché un previsore sia considerato utile, ai fini previsionali, è necessario che la sua curva ROC spostandosi da destra verso sinistra si scosti verso l’alto rispetto alla diagonale e si avvicini il più possibile nell’angolo in alto a sinistra che corrisponde a livelli di sensibilità e specificità pari entrambi al 100% – tutte le imprese malate e tutte le imprese sane sono state correttamente classificate.
library(pROC)
plot.roc(dt_scad_train$Past_due, dt_scad_train$OF,
main="Curve ROC di OF e RCV",
percent=TRUE, ci=FALSE, of="thresholds",
thresholds="best",
print.thres="best",
add = FALSE, legacy.axes = TRUE)
plot.roc(dt_scad_train$Past_due, dt_scad_train$RCV,
main="Curve ROC di alcuni indicatori",
percent=TRUE, ci=FALSE, of="thresholds",
thresholds="best",
print.thres="best",
add = TRUE, lty = 2,
legacy.axes = TRUE,
grid = TRUE)
legend("bottomright", lty = c(1,2), legend = c("OF", "RCV"))
Come è facile notare OF
non è un utile previsore dal momento che la sua curva ROC non si sposta molto al di sopra della diagonale, almeno rispetto a RCV
che invece raggiunge livelli di specificità e di sensibilità pari a rispettivamente l’83,3% e il 92,9%. Il grafico riportato di seguito contiene le combinazioni di sensibilità (sensitivity) e falso allarme3 (1 - specificity) relative ai singoli previsori che più si avvicinano al livello massimo di accuratezza: l’angolo in alto a sinistra, in corrispondenza di 100% di sensibilità e 0% di false allarme.
library(FFTrees) # carico il pacchetto FFTrees di Nathaniel Phillips et al.
fft_scad <- FFTrees(Past_due ~ .,
data = dt_scad_train,
data.test = dt_scad_test
)
plot(fft_scad, what = "cues", main = "Indici di accuratezza individuali")
Un previsore è tanto migliore – come si è già visto – quanto il suo grado di accuratezza – rappresentato dalla combinazione di sensibilità/(1 – specificità) – lo colloca nella parte più in alto e a sinistra: idealmente, un previsore che si collochi in corrispondenza dell’angolo in alto a sinistra ha un livello di sensibilità del 100% e un tasso di falso allarme pari a 0 (ossia una specificità del 100%): tutte le imprese che hanno richiesto fido sono state classificate correttamente.
Con i dati del campione di train, gli indici che si collocano nella parte più in alto e a sinistra sono RD
, RTRD
e RCV
, ossia rispettivamente il reddito annuo (riportato nel quadro RN), il rapporto rata annua/reddito e il livello di ricavi (riportati nel quadro rispettivo del modello dell’Agenzia delle Entrate). Per esempio, classificando tutte le imprese con un reddito RD
inferiore a 45,96 (i dati sono in migliaia) abbiamo eliminato tutte le imprese che 12 mesi dopo erano in default (Past_due
da oltre 30 giorni) – l’indice di sensibilità di questo previsore è pari al 100% – e avremmo rifiutato credito solo all’11% delle imprese meritevoli – l’indice di specificità è pari al 89%). Il grado accuratezza della selezione applicando il previsore RD
sarebbe 94% – wacc, weighted accuracy nel grafico.
Questi previsori possono essere combinati tra di loro per creare degli algoritmi di selezione il cui compito è quello di massimizzare l’indice di accuratezza. L’importanza dei tre previsori può essere sintetizzata nel grafico riportato di seguito (è stato ottenuto tramite una simulazione di bootstrap).
scad.fff <- FFForest(Past_due ~.,
data = dt_scad_train,
ntree = 100,
cpus = 4)
plot(scad.fff)
I migliori criteri di selezione delle imprese da affidare per i finanziamenti a scadenza usano principalmente RD
, RTRD
e RCV
. Vale la pena quindi di esplorare meglio le caratteristiche di questi tre previsori distinguendo tra le imprese in bonis (Default = FALSE
) e in default (Default = TRUE
) dunque nei grafici di frequenza riportati di seguito.
dt_scad_train %>% ggplot(aes(RD, color = Past_due)) +
geom_freqpoly(binwidth = 5) +
labs(color = "Default",
y = "Nr. imprese"
)
dt_scad_train %>% ggplot(aes(RTRD, color = Past_due)) +
geom_freqpoly(binwidth = 0.08) +
labs(color = "Default",
y = "Nr. imprese"
)
dt_scad_train %>% ggplot(aes(RCV, color = Past_due)) +
geom_freqpoly(binwidth = 15) +
labs(color = "Default",
y = "Nr. imprese"
)
Si nota che per le imprese in default (Default = TRUE
) i redditi RD
e i ricavi RCV
tendono ad essere inferiori ai 50 mila e ai 100 mila euro rispettivamente; mentre il rapporto rata/reddito RTRD
sembra essere superiore al 40/50% (0,40/0,50 nel grafico al centro, il punto è il separatore decimale anglosassone). Ricorrendo ai grafici “scatola e baffo” è più facile notare le caratteristiche distintive tra imprese classficate come performing (Default = FALSE
) e quelle classificate come non performing (Default = TRUE
).
dt_scad_train %>%
select(RD, RTRD, RCV, Past_due) %>%
gather("Previsore", "Valore", 1:3) %>%
ggplot(aes(Past_due, Valore)) +
geom_boxplot() + facet_wrap(~Previsore, scales = "free") +
labs(x = "Default")
La “scatola” in figura contiene il 50% della distribuzione dei valori riferiti rispettivamente a RCV
, RD
e RTRD
(la parte inferiore e superiore della scatola sono il primo e terzo quartile della distribuzione), i due baffi sopra e sotto rappresentano il massimo e il minimo, la barra al suo centro rappresenta la mediana, infine i punti al di sopra o al di sotto dei baffi sono i c.d. outlier, ossia dati molto distanti dalla media tenendo conto della variabilità del campione. Si nota quindi che le imprese in default tendono ad avere ricavi e redditi significativamente inferiori rispetto a quelle in bonis mentre per i rapporti rata/reddito invece si tratta di valori superiori. Questa osservazione conferma la bontà dell’ipotesi formulata durante l’osservazione degli istogrammi nella figura precedente.
Una breve riflessione sugli indici di sensibilità e specificità è nuovamente importante dal momento che l’algoritmo selezionato deve potrer distinguere il peso con cui trattare errori di primo e secondo tipo. Dal momento che sono soprattutto i secondi ad avere un impatto economico nelle scelte di credito potremmo optare per la selezione di un algoritmo che assegni un peso maggiore all’indice di sensibilità, dando quindi più rilevanza al costo derivante dall’erogare credito ad imprese “malate” sperando che siano “sane”. Optando per una maggiore sensibilità nella ricerca del criterio di selezione ottimale procediamo nel modo seguente.
Dopo aver verificato che tra i dati disponibili vi sono alcune variabili con una capacità previsiva almeno apparentemente utile, proviamo ad elaborare un algoritmo tale da condurre la selezione delle imprese. Nella figura che segue è riportato l’output della procedura impiegata nella ricerca della migliore combinazione di previsori che consenta di ottimizzare l’accuratezza della classificazione che si basa su di essa – si noti che i ricavi RCV
non sono stati presi in considerazione dal momento che l’indice di accuratezza massimo (wacc
, in questo caso) con questi dati tiene conto di solo questi due previsori.
fft_scad <- FFTrees(Past_due ~ .,
data = dt_scad_train,
data.test = dt_scad_test,
sens.w = .7,
cost.outcomes = c(0, -1, -2, 1),
goal = "wacc",
goal.chase = "wacc"
)
plot(fft_scad, decision.labels = c("No default", "Si default"),
data = "train",
show.levels = TRUE)