Saltar al contenido
← Bitácora
Proyecto
EKOU-Elephants
Entrada
RZ-002
RZ-002EN CURSO

EKOU-Elephants

Veeduría ciudadana del gasto público en Colombia: contratos, obras y alertas de riesgo con datos abiertos

En curso
  • Python
  • dbt
  • DuckDB
  • React
  • Hono
  • PostgreSQL

Cómo se hizo

EKOU-Elephants: veeduría ciudadana del gasto público

Una aplicación web para que cualquier persona en Colombia vea, con mapas y gráficos, qué pasa con el dinero público: dónde se contrata, quién recibe los contratos y qué obras muestran señales de riesgo. Proyecto open source y no comercial, en colaboración con Jouler Talaigua.

Una alerta no es una acusación. Señala una obra que merece la mirada de un ciudadano o de un órgano de control.

Hasta dónde vamos

Etapa Estado
Alcance, público y métricas Definido
Inventario de fuentes de datos abiertos Hecho
Arquitectura inicial (ADR 0001) Aceptada
Ingesta nacional de datos (ADR 0002 y prueba de concepto) Prueba completa
Patrones sospechosos de una obra En revisión del equipo
Arquetipo de la app y sistema visual En curso
Mapa, buscador y fichas de obra Próximo

La ingesta: todo el país, no una muestra

La prueba de concepto corrió el 7 de noviembre de 2026 sobre todo el histórico nacional:

  • 28.079.684 filas de 5 fuentes (SECOP I, SECOP II y DIVIPOLA del DANE), todas iguales al conteo del origen, en unas 2 horas.
  • dbt + DuckDB construyeron las capas silver y gold en 9 a 10 minutos, con 45 pasos de modelos y pruebas de datos aprobados.
  • 11,4 millones de contratos en una sola tabla, y un mapa por municipio y año que cubre 1.106 de los 1.122 municipios.
  • Los datos de origen tenían errores que las muestras no mostraban: contratos de $39.251 billones, duraciones de 915 millones de días y firmas en 2099. Cada uno quedó con una regla y una prueba. Sin ellas, el mapa habría sumado $21.962 billones en vez de $1.033 billones.
  • Las cuentas bancarias, los domicilios y los datos de personas se excluyen desde la extracción.
datos.gov.co ──extract──▶ bronze ──dbt + DuckDB──▶ silver ──▶ gold

Patrones sospechosos (en revisión)

Siete patrones de alerta, cada uno con base legal o en marcos internacionales (Open Contracting Partnership e índice de riesgo de Fazekas), medidos en 240.752 obras por $280 billones firmadas entre 2018 y 2026:

Patrón Qué significa Obras Valor
Oferente único Se abrió un concurso y se presentó una sola empresa 10.259 $16,3 billones
Proceso exprés El proceso fue tan rápido que casi nadie alcanzó a presentarse 2.923 $4,4 billones
Adición sobre el tope legal La obra costó más del 150 % de lo pactado (Ley 80, art. 40) 1.765 $16,5 billones
Adición hasta el tope Le subieron el precio casi hasta el máximo legal 8.248 $13,0 billones
Prórroga excesiva La obra se demoró más del triple de lo prometido 7.436 $19,4 billones
Fraccionamiento Partieron la obra en contratos pequeños para evitar un concurso 939 $48 mil millones
Contratista dominante La misma empresa se queda con la mayoría de las obras de una entidad, 3 años o más 1.040 $1,1 billones

Lo que encontramos:

  • El oferente único es el patrón más costoso. Cuando se presenta una sola empresa, la obra se adjudica casi al precio del presupuesto oficial: descuento mediano de 0,05 % frente a 3,7 % cuando hay varios oferentes. Se estiman $282 mil millones de sobrecosto en 9.825 obras.
  • El tope legal de adiciones se usa como meta. Hay 4 veces más obras con adiciones entre el 45 % y el 50 % que entre el 40 % y el 45 %.
  • Los patrones se agrupan como predice la teoría. Oferente único y proceso exprés aparecen juntos 4,1 veces más de lo esperado por azar.
  • El mapa compara cada municipio contra lo esperado, no con una tasa cruda. Sin esa corrección pintaría qué plataforma usa cada municipio y no su riesgo: la correlación con la plataforma pasa de −0,70 a −0,01.

Stack

Python, dbt y DuckDB para el pipeline de datos; React + Vite, Hono en Cloudflare Workers y PostgreSQL en Neon para la app.

Fin de la entrada