← Índice de manuales
Manual funcional · Sistema Plenario v14

Motor de Decisión - Configuración de reglas y resultados de evaluación crediticia

El Motor de Decisión es la herramienta con la que la financiera arma sus propios criterios de evaluación crediticia y los aplica de forma automática a cada solicitud de préstamo online.

Módulo: Motor de DecisiónVersión: 1.1Actualizado: 2026-06-19

Detalle

Campo Valor
Manual de Usuario Cómo armar las reglas del Motor de Decisión y consultar los resultados de cada evaluación crediticia (scoring NOSIS, aprobación o rechazo automático de préstamos online).
Módulo Herramientas → Motor de Decisión
Versión del manual 1.1

Introducción

El Motor de Decisión es la herramienta con la que la financiera arma sus propios criterios de evaluación crediticia y los aplica de forma automática a cada solicitud de préstamo online.

Cada motor es un flujo de reglas (un árbol de decisión que se dibuja en pantalla) que va combinando datos del cliente para llegar a una respuesta final: aprobado, observado o rechazado.

Para tomar esa decisión, el motor puede usar:

  • Variables internas de Plenario: líneas de crédito disponibles, datos del cliente, etc.
  • Variables externas de buró: score y antecedentes de NOSIS, Veraz, BCRA, RiesgoNet, IDIC, Credixsa y SIISA.

Una vez armado, el motor se activa y la solicitud de crédito lo consulta automáticamente. Cada evaluación queda guardada en un historial que se puede revisar después por CUIT y por fecha.

Importante: este manual cubre dos tareas distintas pero conectadas: configurar las reglas de un motor (en el editor visual) y consultar los resultados de evaluaciones ya ejecutadas (en el historial). Ambas se acceden desde el mismo listado de motores.

Acceso al módulo

  1. Ingresá al Back Office con tu usuario.
  2. Abrí el menú Herramientas → Motor de Decisión.
  3. Se abre el listado de motores (los flujos de reglas ya creados). Desde ahí podés crear uno nuevo, editar, evaluar, ver el historial o actualizar las variables de servicios.

Importante: el acceso depende de un permiso que asigna el administrador del sistema. Si no ves la opción en el menú, pedí que te habiliten el permiso correspondiente (ver sección Permisos).

Pantalla principal

La pantalla principal es el listado Motores de Reglas. Cada fila es un motor configurado y muestra:

Columna Qué muestra
Acciones Botones para ver historial, evaluar y editar el motor.
ID Número que identifica al motor (se usa para invocarlo desde las solicitudes).
Nombre / Descripción Nombre del flujo (ej.: "Aprobación Créditos Personales") y su descripción.
Estado Activo o Inactivo. Solo los motores activos se usan en producción. Se cambia con el botón de encendido.
TTL Días que se reutiliza (cachea) el resultado de una evaluación para el mismo CUIT antes de volver a calcular.
Creado / Modificado Fechas de alta y última modificación.
Zona Peligrosa Botón para eliminar el motor (acción irreversible).

Arriba a la derecha están los botones Actualizar (refrescar el listado), Servicios (descargar/actualizar las variables de los burós) y Nuevo (crear un motor desde cero, abre el editor en otra pestaña).

Parámetros

Cada motor tiene una configuración general que se define en el editor, en la cabecera del flujo:

Parámetro Para qué sirve
Nombre Identifica el motor en el listado y en las solicitudes.
Descripción Texto libre para aclarar qué evalúa el motor.
TTL (días) Tiempo que se conserva en caché el resultado por CUIT. Con TTL = 0 siempre se recalcula. Con TTL = 30, si el mismo CUIT se evaluó hace menos de 30 días, se devuelve el resultado guardado sin volver a consultar los burós.
Nro Grupo (VR) Grupo de variables de NOSIS que usa el motor para el scoring.
Invocar servicio si regla válida Define si se llama al servicio externo cuando la regla lo requiere.
Estado Activo / Inactivo.

Para consultar resultados, el historial (Logs) ofrece estos filtros de búsqueda:

Filtro Para qué sirve
CUIT Trae solo las evaluaciones de ese cliente (acepta el CUIT con o sin guiones).
Desde / Hasta Acota las evaluaciones por rango de fechas.

Resultados

Cuando un motor se evalúa, devuelve un resultado de evaluación con estos datos:

Dato Qué indica
Status La decisión final: Aprobado, Observado, Rechazado o Error.
Observaciones Texto explicativo de la decisión (motivo del rechazo, condiciones, etc.).
Variables de salida Los valores que el motor produjo (por ejemplo monto preaprobado, plazo, tasa).
Traza El paso a paso de la ejecución: qué nodos se recorrieron, qué servicios se consultaron y qué dio cada comparación. Sirve para entender por qué se llegó a esa decisión.
Servicios ejecutados Qué burós se consultaron en esa evaluación (NOSIS, Veraz, etc.).

Los estados internos se manejan con estos códigos: Aprobado (200), Observado (201), Rechazado (401) y Error (500).

En el historial (Logs) cada evaluación guardada muestra el CUIT, la fecha, el TTL aplicado y el detalle completo del resultado. Las filas vencidas (fuera del TTL) aparecen resaltadas. Desde ahí se puede ver el detalle de una ejecución, eliminar un registro puntual o limpiar todo el historial del motor.

Acciones disponibles

Acción Descripción
Nuevo Crea un motor desde cero y abre el editor visual.
Editar Abre el editor para modificar el flujo de un motor existente.
Evaluar Corre el motor con datos de prueba y muestra el resultado y la traza (sin afectar producción).
Guardar Persiste el flujo del motor (cabecera + nodos).
Activar / Desactivar Cambia el estado del motor. Solo los activos se usan en las solicitudes.
Eliminar Borra el motor (irreversible).
Importar / Exportar Guarda o carga un motor como archivo, para reutilizarlo o moverlo entre instalaciones.
Servicios Descarga o actualiza las definiciones de variables de los burós (NOSIS, Plenario, Veraz, BCRA, RiesgoNet, IDIC, Credixsa, SIISA).
Ver historial (Logs) Lista las evaluaciones ejecutadas, con filtros por CUIT y fecha.
Limpiar historial Elimina todos los registros de evaluación de un motor.

Definir una regla (crear un motor)

  1. En el listado, hacé clic en Nuevo. Se abre el editor en una pestaña nueva.
  2. Completá la cabecera: Nombre, Descripción, TTL y Nro Grupo (VR) de NOSIS.
  3. Agregá nodos al flujo con el botón Agregar Nodo y conectalos entre sí. El flujo siempre arranca en el nodo inicial Motor (Start).
  4. Hacé clic en Guardar.

Armar las condiciones

Cada nodo de Condición compara un dato con un valor y bifurca el flujo en dos caminos (Verdadero / Falso):

  1. Elegí el origen del dato del lado izquierdo: - Servicio: una variable de buró (ej.: score de NOSIS, situación BCRA). - Entrada: un dato que llega con la solicitud (ej.: CUIT, ingreso declarado). - Fórmula: un cálculo combinando varias variables (ej.: edad a partir de la fecha de nacimiento).
  2. Elegí el operador (>, <, =, contiene, etc.) y el valor a comparar.
  3. Conectá la salida Verdadero y la salida Falso a los nodos que correspondan.

Los nodos de tipo Sub-Motor y Motor-Resultado permiten reutilizar otro motor ya armado dentro de este flujo, pasándole variables de entrada y leyendo sus resultados.

Ejemplo de condición: NOSIS.Score > 550 → si es Verdadero sigue por una rama (ej.: aprobar), si es Falso sigue por la otra (ej.: derivar a análisis).

Configurar el resultado

El flujo termina en un nodo de Resultado, que define la respuesta final:

  1. Definí la variable Status con el valor de la decisión: Aprobado, Observado o Rechazado.
  2. Opcionalmente, definí Observaciones con el texto explicativo.
  3. Agregá las variables de salida que necesite la solicitud (monto preaprobado, plazo, tasa, etc.), como valor fijo o como fórmula.
  4. Guardá el motor y, si quedó validado, activalo para que se use en producción.

Ejemplo práctico

Una financiera arma el motor "Evaluación Crédito Personal" así:

  1. Condición 1Entrada.Edad >= 21 y <= 65. Si no cumple → nodo Resultado con Status = Rechazado, Observaciones = "Edad fuera de rango".
  2. Condición 2Entrada.IngresoMensual > 150000. Si no cumple → Status = Rechazado.
  3. Condición 3NOSIS.Score > 550. Si no cumple → Status = Observado (derivar a un analista).
  4. Condición 4BCRA.Situacion = 1 (sin antecedentes negativos). Si cumple todo → nodo Resultado con Status = Aprobado y variable de salida MontoPreaprobado = 500000.

Se le pone TTL = 7 para no reconsultar NOSIS al mismo CUIT durante una semana. Se guarda y se activa. A partir de ahí, cada nueva solicitud de crédito de un cliente consulta este motor y obtiene en segundos el Status, las observaciones y el monto preaprobado, con la traza completa guardada en el historial.

Consejos útiles

  • Empezá por las reglas generales (edad, ingreso) y dejá las condiciones finas (score, antecedentes) para el final del flujo.
  • Usá pocas variables pero significativas: calidad por sobre cantidad.
  • Antes de activar un motor, usá Evaluar con CUIT reales para validar que las ramas devuelven lo esperado; revisá la Traza para ver el paso a paso.
  • Ajustá el TTL según el caso: más alto ahorra consultas a los burós (y costo), más bajo mantiene los datos más frescos.
  • Antes de armar un motor que use un buró, actualizá sus variables con el botón Servicios; para NOSIS, completá el VR y el CUIT requeridos.
  • Para mover un motor entre instalaciones (o respaldarlo), usá Exportar e Importar.
  • Revisá los motores periódicamente: los perfiles de riesgo cambian con el tiempo.

Preguntas frecuentes

¿Qué diferencia hay entre "Aprobado", "Observado" y "Rechazado"? **Aprobado**: la solicitud cumple todas las reglas y se aprueba automáticamente. **Rechazado**: incumple alguna regla excluyente y se rechaza. **Observado**: queda en un estado intermedio para que un analista lo revise manualmente.
¿Por qué una evaluación no volvió a consultar NOSIS? Por el **TTL**. Si el mismo CUIT se evaluó hace menos días que el TTL del motor, el sistema reutiliza el resultado guardado (se ve "CACHE HIT" en la traza) en lugar de volver a llamar a los burós. Si querés forzar el recálculo, esperá a que venza el TTL o bajalo.
Cambié las reglas de un motor que ya está en uso. ¿Se aplican de inmediato? Sí. Una vez que guardás el motor y está **Activo**, las solicitudes nuevas usan la última versión. Las evaluaciones ya guardadas en el historial no se modifican.
¿Puedo desactivar un motor sin borrarlo? Sí. Con el botón de encendido lo pasás a **Inactivo**: deja de usarse en producción pero se conserva, junto con su historial, para reactivarlo más adelante.
¿Qué pasa si un servicio externo (NOSIS, BCRA) falla durante la evaluación? La traza registra el error del servicio y el motor continúa según cómo estén armadas las condiciones. Si la falla impide llegar a un nodo de Resultado, el Status devuelto es **Error**.

Permisos

Permiso Qué habilita
Herramientas.Algoritmos Acceso al módulo Motor de Decisión (listado, alta, modificación y baja de motores).

El permiso lo asigna el administrador del sistema por grupo de usuarios. Sin él, la opción no aparece en el menú Herramientas.

Información técnica

Basada en el análisis del formulario real de la v14.

Formularios principales

Form Rol
FormAlgortimos Contenedor WinForms del Motor de Decisión (note la grafía sin la primera "i"). Se abre desde Herramientas → Motor de Decisión con el handler btnHerr_MotorDeDecision_ItemClick en VisualPlenarioNET\frmMainParts\frmNewMain.vb (ShowFrmInDockPanel(New FormAlgortimos())).
Editor web MVC El listado, el editor visual y el historial son una webapp ASP.NET MVC embebida: proyecto VPNET_WEBMotor\VPNET_WEB_Motor. Vistas Views\Home\Index.cshtml (listado), Editor.cshtml (editor de flujo) y Logs.cshtml (historial).

Formularios satélite por función

Form Rol
HomeController.Index Listado de motores.
HomeController.Editor(int IdMotor) Editor visual del flujo (nuevo/editar).
HomeController.SaveMotor Persiste el flujo (POST).
HomeController.EvaluarMotor(EvaluacionRequestDto) Corre el motor con datos de prueba (POST).
HomeController.GetVariablesList / GetMotoresList Catálogo de variables y de motores (GET).
HomeController.ActualizarServicios(UpdateServicesRequest) Descarga/actualiza variables de burós (POST).

Controlador en VPNET_WEBMotor\VPNET_WEB_Motor\Controllers\HomeController.cs. Lógica de negocio en VPNET_DataModel\Manager\Gestion\Motor\Motor_Manager.cs: SaveMotor, GetVariables, GetMotores, EvaluarMotor (por IdMotor o por JSON), EjecutarFlujoRecursivo, GetLog/SaveLog (caché TTL). Tipos de nodo (JsonNodo.TipoNodo, como string en el switch de EjecutarFlujoRecursivo): Condicion, Motor (sub-motor), MotorResultado, Resultado. Estados: enum EnumMotorEstado { Aprobado = 200, Observado = 201, Rechazado = 401, Error = 500 } en VPNET_DataModel\Manager\Gestion\BASE\Base_Manager.cs. Endpoint externo WCF POST Motor/EvalMotor_Eval(MotorEvalRequest) en VPNET_WCF\VPNET_WCF\Servicios\Externos\Motor.cs (devuelve OperationResultV2<ResultadoEvaluacion>).

Permisos reales

Permiso Acción
Herramientas.Algoritmos Único permiso chequeado (clsSeguridad.IsAllowedObject en frmNewMain.vb) para ingresar al listado de Motores de Decisión.

Tablas de base de datos principales

Tabla Uso
Motor Cabecera del motor + el flujo completo serializado en la columna MotorJson.
MotorVariables Catálogo de variables por servicio/buró (Nombre, Descripcion, TipoDato, Servicio, VR, CDA, ...).
MotorLog Historial de evaluaciones; actúa como caché por IdMotor + CUIT según TTL (días). Columnas CUIT, Fecha, TTL.

Mappings EF en VPNET_DataModel\Mappings\Motor\ (MotorMap.cs, MotorVariablesMap.cs, MotorLogMap.cs).

Relación con otros módulos / manuales

Manual relacionado Vínculo operativo
Nueva Solicitud de Crédito Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad.

Notas para soporte

  • MotorLog es la caché: con TTL = 0 siempre recalcula; con TTL > 0, si el mismo CUIT se evaluó dentro del plazo se reutiliza el resultado guardado (CACHE HIT) sin reconsultar burós.
  • Servicios externos resueltos en la evaluación: NOSIS, PLENARIO, PLENARIO_LINEAS, VERAZAPI, BCRA, RIESGONET, IDIC, CREDIXSA, SIISA.
  • El nombre del form FormAlgortimos está mal escrito en el código (sin la primera "i"); usar esa grafía exacta al buscarlo.
¿Te resultó útil este manual?