Desarrollo de un Modelo de Scoring de Riesgos Bancarios

7 de mayo de de 2025

¿Cómo decide un banco si te aprueba un préstamo o qué tasa de interés te asigna? Detrás de esa decisión está la gestión del riesgo, que no es solo *parte* del negocio bancario: *es* el negocio. Prestar a la gente equivocada lleva a la quiebra; prestar bien permite dominar el mercado.

En este proyecto, el objetivo fue desarrollar un sistema avanzado de scoring de riesgo. La meta no era solo predecir si un cliente impagaría, sino calcular la "Pérdida Esperada" (Expected Loss) en euros, es decir, cuánto dinero exacto esperaba el banco perder con cada solicitud de préstamo.

1. Diseño del Proyecto: La Metodología de 3 Modelos

Para calcular la Pérdida Esperada, no basta un solo modelo. Aplicamos la metodología estándar del sector financiero, que divide el problema en tres componentes:
1. PD (Probability of Default): Un modelo de clasificación para predecir la *probabilidad* de que el cliente impague.
2. EAD (Exposure at Default): Un modelo de regresión para predecir *cuánto dinero* debería el cliente en el momento exacto del impago.
3. LGD (Loss Given Default): Un modelo de regresión para predecir, de ese dinero, *cuánto se perdería realmente* después de recuperar garantías (ej. la casa).

El reto fue construir estos tres modelos por separado, ya que la Pérdida Esperada es el resultado de multiplicar sus predicciones: PD x EAD x LGD.

2. Creación del Datamart Analítico

Partimos de un dataset con 140.000 registros. En la fase de calidad de datos, tomamos una decisión de negocio clave: filtramos y eliminamos a los clientes con ingresos superiores a 300.000€, ya que no son "mercado masivo" y se analizan de forma distinta. En el Análisis Exploratorio (EDA), agrupamos categorías con pocos datos (ej. finalidad 'boda') para robustecer el modelo.

3. Preparación de Datos (Feature Engineering de 3 Targets)

El hallazgo clave del EDA fue que el dataset no tenía targets claras. Tuvimos que crear tres variables objetivo diferentes a partir de la variable "estado" del préstamo:
- Target PD (Clasificación): ¿El cliente generó un impago (retraso de 90 días)? Sí/No.
- Target EAD (Regresión): ¿Cuánto debe la persona en el momento en que incumple? (Valor numérico).
- Target LGD (Regresión): ¿Qué porcentaje de esa deuda *no* fue capaz de recuperar el banco? (Valor porcentual).

4. Modelización y Explicabilidad (XAI)

Construimos los tres modelos con estrategias diferentes, priorizando un requisito legal clave:
- Modelo PD (AUC: 70%): Se usó Regresión Logística. Por normativa, el banco debe poder explicar al cliente por qué se le denegó un crédito. Este modelo, aunque menos potente, ofrece una alta explicabilidad que los modelos "caja negra" no tienen.
- Modelos EAD y LGD (MAE: 0.24 y 0.36): Se usó LightGBM, ya que la explicabilidad no era un requisito legal y pudimos priorizar el alto rendimiento predictivo.

5. Prototipo Interactivo (Streamlit)

Además del código de producción y reentrenamiento, se desarrolló un prototipo web con Streamlit. Esta herramienta permite al equipo de negocio interactuar con el modelo en tiempo real, ingresar los datos de un nuevo solicitante y obtener la predicción de riesgo al instante.

Puedes probar la aplicación funcional en el siguiente enlace:
https://appriesgos-portfolio.streamlit.app/

Presentación del Caso