- Proyecto
- EKOU-Elephants
- Entrada
- RZ-002
EKOU-Elephants
Veeduría ciudadana del gasto público en Colombia: contratos, obras y alertas de riesgo con datos abiertos
- Python
- dbt
- DuckDB
- React
- Hono
- PostgreSQL
Evidencia
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.