Monitor XAI · Manual de Usuario

Portal Anticorrupción · Poder Ejecutivo Nacional · República Argentina
⚠️ HERRAMIENTA EXPERIMENTAL Y ACADÉMICA. Los datos provienen de fuentes públicas oficiales del Estado argentino. Los resultados son indicadores algorítmicos de riesgo — no implican juicio de valor, acusación ni determinación de responsabilidad sobre ninguna empresa, organismo o persona. El objetivo es promover la transparencia y el debate informado sobre el gasto público.
👤
Sobre el Autor
Ph.D. Vicente Humberto Monteverde
Ph.D. Vicente Humberto Monteverde
Doctor en Ciencias Económicas · Investigador en Transparencia Pública

Investigador en economía política y fenómenos de corrupción. Autor de la teoría de Transferencia Regresiva de Ingresos y desarrollador del algoritmo XAI aplicado al análisis de contrataciones públicas.

Publicaciones en Journal of Financial Crime (Emerald Publishing). Asesor en transparencia y auditoría algorítmica del gasto público.

01
Introducción al Sistema

El Monitor XAI es una herramienta de transparencia y auditoría algorítmica del gasto público argentino. Monitorea contratos, nómina y alertas de conflicto de interés en organismos del Poder Ejecutivo Nacional, usando datos exclusivamente de fuentes públicas oficiales.

Organismos monitoreados:

  • Jefatura de Gabinete de Ministros (JGM)
  • Secretaría General de la Presidencia (SGP)
  • Presidencia de la Nación (PNA)

Fuentes de datos:

  • comprar.gob.ar / datos.gob.ar — contratos y adjudicaciones
  • Boletín Oficial (BORA) — resoluciones y designaciones
  • MapaDelEstado — nómina de autoridades
  • SIPRO — proveedores del Estado
02
Secciones del Portal
📊
Dashboard
KPIs globales: contratos, montos, alertas activas y proveedores únicos por organismo.
🔔
Alertas
Panel de alertas clasificadas por nivel: Alta, Media y Baja, con filtros por tipo.
🏛
JGM / SGP / PNA
Fichas por organismo: contratos, nómina, cruces y estadísticas de gasto.
🕸
Grafo de Relaciones
Visualización interactiva de vínculos entre funcionarios y proveedores.
API REST
Acceso programático a todos los datos vía endpoints documentados en /api/docs.
📖
Manual de Usuario
Esta guía. Explica el sistema, los algoritmos y cómo instalar el portal.
03
Cómo Usar el Sistema
1
Seleccionar un organismo
En el inicio hacé clic en la card del organismo que querés analizar: JGM, SGP o Presidencia. Cada uno tiene datos independientes de contratos y nómina.
2
Explorar contratos
Dentro de cada ficha encontrarás la tabla de contratos con filtros por tipo, proveedor y rango de fechas. Podés exportar a CSV con un clic.
3
Revisar alertas generadas
El algoritmo XAI genera alertas automáticas. Una alerta ALTA indica sobreprecio >80% sobre la mediana del rubro, o funcionario con CUIL idéntico al CUIT de un proveedor adjudicado.
4
Usar el Grafo de Relaciones
Navegá a Grafo de Nodos para visualizar las conexiones. Nodos azules = funcionarios, nodos verdes = proveedores. Las aristas muestran el tipo de vínculo detectado.
5
Acceder a la API para análisis avanzados
Consultá /api/docs para la documentación Swagger interactiva. Todos los endpoints son de libre acceso (GET) sin autenticación requerida.
04
Niveles de Alerta

El sistema genera tres niveles de alerta según el riesgo detectado:

Nivel Tipo Criterio de activación
🔴 ALTA Sobreprecio crítico Contrato >80% sobre la mediana del rubro/organismo.
🔴 ALTA Conflicto societario CUIL del funcionario idéntico al CUIT del proveedor adjudicado.
🟡 MEDIA Sobreprecio moderado Contrato entre 40% y 80% sobre la mediana del rubro.
🟡 MEDIA Concentración alta Un proveedor concentra más del 30% del gasto de un organismo.
🟢 BAJA Parentesco posible Apellido de funcionario coincide con token de razón social del proveedor.
05
Motor XAI — Algoritmos de Detección

El núcleo del sistema está compuesto por tres matrices de detección que operan en forma automática:

Matriz de Parentesco matrix_kinship.py

Cruza los apellidos de la nómina de funcionarios contra los tokens de la razón social de cada proveedor adjudicado. Genera alerta ALTA cuando el proveedor opera para el mismo organismo que el funcionario con apellido coincidente.

Matriz Societaria matrix_corporate.py

Detecta cuando el CUIL de un funcionario es exactamente igual al CUIT de un proveedor adjudicado. Indica que una persona física es simultáneamente empleado estatal y proveedor del mismo Estado.

Matriz de Flujo de Fondos matrix_cashflow.py

Detecta dos tipos de anomalías:

  • Sobreprecio: contratos con precio >40% sobre la mediana del rubro/organismo generan alerta MEDIA; si supera el 80%, la alerta es ALTA.
  • Concentración: proveedor que concentra más del 30% del gasto total de un organismo genera alerta MEDIA o ALTA según el umbral.
06
Referencia de la API REST

Todos los endpoints son de acceso libre (sin autenticación). Documentación interactiva disponible en /api/docs (Swagger UI).

MétodoEndpointDescripción
GET/api/v1/kpisKPIs globales del sistema
GET/api/v1/alertasAlertas activas (filtrable por nivel y tipo)
GET/api/v1/contratosContratos con filtros por organismo y proveedor
GET/api/v1/contratos/comprarProcesos scrapeados de comprar.gob.ar
GET/api/v1/contratos/top-proveedoresRanking de proveedores por monto adjudicado
GET/api/v1/nominaNómina de funcionarios con cargo y organismo
GET/api/v1/grafo/nodosNodos y aristas del grafo de relaciones
GET/api/v1/healthEstado del sistema y conexión a base de datos
💡 Tip avanzado: Para cruzar datos programáticamente, combiná /api/v1/nomina?organismo=JGM con /api/v1/contratos?organismo=JGM y buscá CUILs de funcionarios que aparezcan como CUIT de proveedor. La Matriz Societaria ya hace esto automáticamente.
07
Instalación y Configuración Local

Requisitos previos: Python 3.11+, PostgreSQL 15+ (o Docker), Git.

1 — Clonar el repositorio
git clone https://github.com/Viny2030/jefatura_gabinete.git
2 — Crear y activar entorno virtual
cd jefatura_gabinete python -m venv .venv .venv\Scripts\activate # Windows PowerShell
3 — Instalar dependencias
pip install -r requirements.txt
4 — Configurar base de datos
cp .env.example .env # Editar con tu DATABASE_URL
5 — Crear esquema
psql $DATABASE_URL -f src/database/schema.sql
6 — Levantar la API
uvicorn src.api.api_server:app --reload --port 8000
7 — Abrir el frontend
cd src/frontend python -m http.server 8080 # Abrir http://localhost:8080/index.html
08
Deploy en Railway
🚂
Crear proyecto en Railway y agregar servicio PostgreSQL.
🔑
Copiar DATABASE_URL de Railway a las variables de entorno del servicio web.
🐙
Conectar el repositorio GitHub — Railway detecta el Dockerfile automáticamente.
🔐
Agregar DATABASE_URL como secreto en GitHub Actions (Settings → Secrets).
Los scrapers corren diariamente a las 6 AM UTC vía GitHub Actions (.github/workflows/).