romxe145e8ab - Sistema Interno Score + Integración centrales de riesgo

En este foro, se presenta y se pone a discusión el primer modelamiento y planteamiento, de la estructura que debería seguir el nuevo sistema interno de score.

1 me gusta

La relación de entidades propuesta es la siguiente: @gvaguilar @eecheverry

A continuación algunos puntos importantes a tener en cuenta para la implementación, estos puntos fueron investigados en foros y discutidos con ChatGPT.

Puntos
La integración con centrales de riesgo para definir el scoring financiero es un componente crucial para garantizar la precisión y confiabilidad en la evaluación de crédito. Se deben tener en cuenta los siguientes puntos:

  • Centrales de riesgo a integrar: ¿Ya tienes identificadas las plataformas específicas (como Datacrédito, Cifin, etc.)?
  • Tipo de datos: ¿Qué información planeas enviar y recibir?
  • Frecuencia de consultas: ¿Será en tiempo real o por lotes?
  • Seguridad: ¿Cómo planeas manejar la autenticación y protección de datos?
  • Procesamiento del scoring: ¿El cálculo será realizado por la central o se usará un modelo propio basado en los datos recibidos?

Pregunta
Perfecto, en primera instancia quisiera discutir todos los puntos:

  • Centrales de riesgo a integrar: Se escoge la central DataCredito, que no sé si internamente en Credigana debería ser representada por medio del modelo Buró, para tener flexibilidad.

  • Tipo de datos: Me gustaría que me ayudes a definir el tipo de los datos, esto teniendo en cuenta que desde credigana se enviaría por lo menos la identificación del contacto, y esperaría que la central de riesgo me devuelva el scoring crediticio correspondiente.

  • Frecuencia de consultas: La frecuencia ideal sería en tiempo real, ya que cada solicitud de crédito se trata con un contacto diferente, entonces no veo mucho sentido a gestionar las peticiones por lotes, ¿qué me aconsejas tú?

  • Seguridad: Por parte de Credigana existiría la encriptación de los datos enviados a la central de riesgos; y esperaría que desde la API de la central de riesgo Datacredito, exista un endpoint con la seguridad suficiente para proteger los accesos con credenciales, usuarios y contraseñas, que se nos proporcionen después de la compra del acceso a la API.

  • Procesamiento del scoring: El cálculo del scoring total de la persona o contacto, se ejecutará totalmente en Credigana. La central de riesgo solo será responsable de reportar el valor numérico correspondiente a su scoring crediticio ante entidades financieras. Nosotros como consumidores de la API de Datacredito tomaremos ese valor numérico, y haremos un consolidado cálculo, entré el buró, cuestionarios respondidos, y datos personales. Para así, al final mostrar un puntaje general de la persona ante su solicitud de crédito.

Respuesta

  1. Centrales de riesgo a integrar:
    Representar a DataCrédito mediante un modelo genérico como “Buró” es una excelente idea. Esto permitirá integrar otras centrales en el futuro sin alterar significativamente la lógica del sistema. Define interfaces comunes que todas las centrales deben cumplir (por ejemplo, un método para obtener el scoring crediticio).

  2. Tipo de datos:

  • Datos mínimos a enviar:
    • Tipo y número de identificación del contacto (cédula, NIT, etc.).
    • Tal vez un código de referencia único por solicitud para seguimiento.
  • Datos esperados a recibir:
    • Scoring crediticio numérico.
    • Historial financiero (si es posible).
    • Alertas o riesgos asociados al contacto (si lo permite la API).
    • Fecha de actualización del reporte.
  1. Frecuencia de consultas:
    Realizar consultas en tiempo real es ideal para evaluar cada solicitud al momento. Para minimizar costos de consulta, podrías incluir lógica de caching temporal (por ejemplo, reutilizar un resultado reciente si no ha cambiado en la central). Esto depende de la política de actualización de datos de DataCrédito.

  2. Seguridad:
    La encriptación de datos es fundamental. Además:

  • Asegúrate de usar HTTPS para todas las comunicaciones con la API de DataCrédito.
  • Implementa un mecanismo para proteger y rotar las credenciales de acceso a la API.
  • Audita el acceso y las operaciones realizadas para detectar posibles usos indebidos.
  1. Procesamiento del scoring:
    Consolidar el scoring en Credigana te da mayor control y personalización. Podrías diseñar un modelo ponderado que permita ajustar la importancia relativa de los datos provenientes de diferentes fuentes (por ejemplo, dar más peso a los datos del buró frente a cuestionarios subjetivos).

Fuentes

  • DataCredito
  1. Documentación para empresas: Vende tranquilo a crédito conociendo el nivel de endeudamiento de tu próximo cliente. Identifica clientes con buenos hábitos de pago y toma mejores decisiones para tu pequeña y mediana empresa.

  2. Servicio de puntaje crediticio: Accede al puntaje de crédito de personas naturales. Así puedes vender más tranquilo a crédito porque podrás saber con anticipación:

Nota: En lo personal, creo que el servicio que se ajusta más al modelo de datos que queremos implementar es el del segundo punto. Servicio de puntaje crediticio

Por último, basándonos en el diagrama de entidades y relaciones, presentado al inicio de este foro, se presentan algunas recomendaciones:

Recomendaciones
En tu diagrama, veo las siguientes entidades relacionadas con el procesamiento del scoring crediticio: Contact, Score, Stage, y Requisition. Aquí tienes algunas sugerencias y recomendaciones para ajustar el modelo, enfocado en la flexibilidad para el procesamiento del scoring.

1. Relaciones de Entidades

Contact y Score:

  • La entidad Contact almacena los datos básicos del cliente, incluyendo el puntaje (score) actual.
  • La entidad Score parece diseñada para almacenar los puntajes obtenidos en diferentes momentos, lo cual es útil si necesitas un historial de puntajes por cada contacto. Sería recomendable agregar un campo de tipo de score o fuente de puntaje (por ejemplo, “DataCrédito”, “Cuestionario Interno”) en la entidad Score, si no está incluido en el campo type actual.
  • Relación entre Contact y Score: Mantén la relación de uno a muchos, ya que un contacto puede tener múltiples puntajes de diferentes fuentes y en diferentes momentos.

Stage y Requisition:

  • La entidad Stage representa las etapas del proceso de aprobación, lo cual es útil para controlar el flujo de las solicitudes. La relación de Requisition con Stage permite verificar en qué punto del proceso se encuentra una solicitud.
  • Campo cutoffPercentage en Stage: Este campo es clave para establecer un criterio de decisión. Asegúrate de definir cómo interactúa con el scoring del cliente en el procesamiento final.

2. Nuevas Entidades Sugeridas

Metric:

  • Crea una nueva entidad Metric que defina las reglas y ponderaciones de los diferentes puntajes obtenidos (por ejemplo, el puntaje de DataCrédito podría tener un peso del 60%, mientras que el cuestionario interno podría pesar 40%).
  • Relación con Bureau o Score: Puedes relacionar esta entidad con Bureau para definir los criterios específicos de cada buró, o con Score si deseas establecer una ponderación más granular para cada tipo de puntaje.

3. Otros Campos y Mejoras

Campos adicionales en Score:

  • Incluye un campo validUntil o dateEnd en Score para indicar la validez de cada puntaje, lo cual es útil para sistemas que consultan datos externos con frecuencia.
  • Se debe incluir campo buerau, para realizar un mapeo de los posibles burós de crédito que se vayan a integrar.

4. Nota

No se va a incluir la entidad Bureau por el momento.

@eecheverry @gvaguilar @jplozano