Un modelo de scoring entrenado con créditos personales otorgados en Argentina: estima la probabilidad de que cada cliente caiga en mora y muestra qué variables pesan en la decisión.
1.190 créditos personales otorgados en Argentina, del repositorio público de datasets de la Diplomatura en Ciencia de Datos de la UTN. Cada fila es un cliente con 26 variables y si cayó o no en mora.
Limpieza y armado de variables en Python con pandas: se excluyó "días de atraso" por fuga de información y se agregaron ratios como cuota sobre ingreso. Se entrenaron tres modelos con scikit-learn, validados con una partición 70/30 y validación cruzada 5×5.
Las curvas ROC y KS se dibujan con los resultados reales del set de prueba. El simulador usa los coeficientes exportados de la regresión logística, calculados en JavaScript.
Si tomás al azar un cliente que cayó en mora y otro que no, el AUC es la probabilidad de que el modelo le haya dado más riesgo al que cayó. Acá pasa el 82 % de las veces.
roc_auc_score(y_test, prob_mora) # 0,82
0,5 = azar · 1 = perfecto · en scoring, más de 0,80 es muy bueno.
Es la métrica más usada en los bancos. Mide qué parte de la distancia entre "azar" y "modelo perfecto" recorre el modelo.
Mide en qué punto del ranking morosos y buenos pagadores quedan más separados. Acá: revisando el 45 % más riesgoso de la cartera encontrás el 90 % de los morosos y solo el 32 % de los buenos.
ks = max(tpr - fpr) # 0,59
0 = no separa · 1 = separación total · en scoring, más de 0,45 es muy bueno.
| Modelo | AUC entrenamiento | AUC validación cruzada | AUC prueba |
|---|---|---|---|
| {{m.name}} | {{m.train}} | {{m.cv}} | {{m.test}} |
Los tres rinden casi igual en datos nuevos, pero los modelos de árboles memorizan el entrenamiento (AUC de hasta 0,94). Gana la regresión logística: casi no se sobreajusta y cada decisión se puede explicar, algo que un área de riesgo y el regulador piden.
Fuga de información: se excluyó "días de atraso", porque define la mora misma (todo moroso tiene 93 días o más). Con ella el modelo sería perfecto e inútil.
Muestra chica: 1.190 casos. Por eso se valida con 25 particiones distintas y no con una sola.
Producto: es la variable que más pesa. Las refinanciaciones casi no caen en mora (2,5 %) y no tienen nivel socioeconómico informado, algo a revisar con el negocio.