Saltar al contenido
Octograma
Datos

Guía de datos abiertos de SECOP: qué hay, qué falta, y qué es el verdadero moat

Un mapa de los 12 datasets de licitaciones en datos.gov.co — los que usan las herramientas de mercado y los que casi nadie ha tocado.

A
Octograma··15 min

datos.gov.co tiene más de veinte datasets directamente relevantes para licitaciones públicas en Colombia. Todos son gratuitos. Todos son de acceso público vía API Socrata. Casi ninguna herramienta comercial los usa a fondo.

Este artículo es el mapa completo: qué hay, qué contiene, qué gotchas técnicos hay que conocer antes de usarlos, y — lo más importante — dónde están los huecos que definen el verdadero moat de cualquier producto serio en este espacio.


El inventario base: los datasets de SECOP

Datos de procesos activos

p6dx-8zbt — SECOP II Procesos

El feed principal. ~8,6 millones de filas. Actualización cada 4 horas. Campos clave: title, descripcion, presupuesto, modalidad, UNSPSC, fecha_cierre, urlproceso. Es el punto de entrada natural para cualquier sistema de alertas.

Gotcha técnico: el campo de sincronización incremental es fecha_de_ultima_publicaci — formato calendar_date, no un timestamp flotante. Para sincronía incremental usa $where=fecha_de_ultima_publicaci > '2026-05-20T00:00:00' en ISO 8601.

f789-7hwg — SECOP I Procesos

Activo desde 2018. Relevante principalmente para entidades territoriales que no han migrado a SECOP II. Incluye campos críticos que SECOP II no expone: Calificacion Definitiva, Proponentes Seleccionados, Pliegos tipo. Esto lo hace más valioso de lo que parece para entrenar modelos de win-probability.

jbjy-vk9h — SECOP II Contratos

Adjudicaciones históricas con valor_total_adjudicacion. La diferencia clave con el dataset de procesos: este solo contiene procesos que llegaron a contrato firmado. El gap entre procesos y contratos captura declaratorias desiertas y procesos cancelados — información valiosa en sí misma.

rpmr-utcd — SECOP Integrado

SECOP I + II fusionados, solo adjudicados. Es el dataset de entrada más conveniente para análisis histórico rápido, pero es "lossy" — pierde información que está en los datasets originales. Útil para exploraciones; problemático como fuente principal.


Los datasets de proponentes: donde está la diferencia

Aquí está la distinción más importante del ecosistema de datos de licitaciones colombiano.

tauh-5jvn — SECOP I Proponentes ← Oro

Contiene Calificacion, Adjudicado, Proponente, Num Doc, ID Adjudicacion. Es decir: las notas de todos los participantes en cada proceso SECOP I — incluyendo los perdedores, incluyendo el puntaje del segundo lugar.

Este dataset es la materia prima para un modelo de win-probability. Puedes reconstruir la distribución histórica de puntajes por entidad, por UNSPSC, por modalidad. Puedes calcular qué perfil de proponente gana en qué tipo de proceso. Nadie en el mercado colombiano está haciendo esto a escala.

hgi6-6wh3 — SECOP II Proponentes ← Limitado

Solo contiene NIT Proveedor, Proveedor, ID Procedimiento, Fecha Publicación, Entidad Compradora. Sin puntaje. Sin indicador de ganador. Solo indica quién se presentó.

La consecuencia: para todo SECOP II, la única fuente de puntajes son las actas de evaluación — PDFs en cada proceso, no indexados en ningún dataset estructurado. Parsear ese corpus es la inversión técnica de mayor moat en el espacio.


PAA: el dataset más subvalorado

9sue-ezhx — SECOP II PAA Detalle ← Moat número 2

70,5 millones de filas. Actualización diaria. Última data verificada: 2026-05-18.

El PAA (Plan Anual de Adquisiciones) es el pronóstico de compra de cada entidad para el año en curso. Las entidades lo publican en diciembre/enero. Cuando un proceso finalmente abre en SECOP, típicamente hay un lag de 30 a 90 días entre la fecha_esperada del PAA y la apertura real.

El problema del campo procesos_relacionados: en una muestra de 20 filas de datos 2025, el 70% contenía literal "No Definido". Las entidades actualizar el link manualmente después de abrir el proceso — y la mayoría nunca lo hace.

La oportunidad: un motor de fuzzy-match entre PAA y SECOP II Procesos (descripcion + codigo_entidad + categorias_unspsc + fecha_esperada) recupera ese 70% faltante. El resultado es inteligencia de pre-licitación 6 a 18 meses antes de la publicación. Este es exactamente el patrón que Stotles tiene en el mercado del Reino Unido con su "Signal Score" — ningún equivalente existe en Colombia.

Gotchas del schema PAA:

  • fecha_esperada_de_inicio: nombre del mes en español ("Febrero", "Abril") — no un tipo fecha. Parser necesario.
  • fecha_esperada_de_recepcion: sí es fecha real.
  • url_proceso: casi siempre apunta a la página genérica del PAA de la entidad, no al proceso específico.
  • version_del_paa: se incrementa cada modificación — sirve para detectar cuándo una entidad cambia sus intenciones de compra.

b6m4-qgqv — SECOP II PAA Encabezado

Header a nivel de entidad. ~5-10k entidades por año. Par del dataset de detalle.


Sanciones y listas restrictivas

| Dataset | Contenido | Limitación | |---------|-----------|------------| | it5q-hg94 SECOP II Multas | Codigo Proveedor, Tipo Sancion, Valor, Aplico Garantias | Solo sanciones dentro de SECOP | | 4n4q-k399 SECOP I Multas | Por contrato: contratista, valor, fecha firmeza | Idem | | iaeu-rcn6 SIRI Procuraduría | Antecedentes disciplinarios | Solo personas naturales — sirve para cruzar representantes legales |

Lo que no está en datos.gov.co y requiere scraping:

  • Boletín Responsables Fiscales (Contraloría): obligatorio por Ley 610, solo en contraloria.gov.co
  • RNMC — Registro Nacional Medidas Cautelares (SIC): sanciones por colusión, solo en sic.gov.co
  • RUES — Cámara de Comercio: solvencia empresarial — API pagada o scraping por NIT

IGAC catastral

| Dataset | Uso | |---------|-----| | tam8-rhyx, 8fa6-quir | Base catastral pública IGAC — municipios con catastro pendiente = alta propensidad a licitación | | bhcx-bx97 | Gestores catastrales por municipio — mapa directo de competencia y oportunidades |

Para una firma con foco en catastro, el dataset bhcx-bx97 es el mapa de competencia: quién tiene adjudicado el catastro de qué municipio, cuándo vence. Una entidad que vence contrato en 18 meses es una oportunidad de pre-licitación.


Cómo operan los datos (notas técnicas)

Autenticación: sin token, compartes un pool throttled. Con app token (registro gratuito en dev.socrata.com) obtienes 1.000 requests por hora.

Paginación: $limit máximo es 50.000 filas por request. Para el dataset completo de SECOP II Procesos (~8,6M filas) son mínimo 173 requests. Usá $offset con $limit=50000 en bucle.

Sincronía incremental: siempre filtrá por la columna de fecha actualización. Para procesos: $where=fecha_de_ultima_publicaci > '2026-05-20T00:00:00'. No hagas count(*) sin filtros en datasets de 70M filas — el timeout es inmediato.

Metadata: https://api.us.socrata.com/api/catalog/v1?ids=<id> devuelve schema sin tocar el dataset. https://www.datos.gov.co/api/views/<id>.json da estadísticas de columnas (cardinalidad, top values) — útil para diseñar filtros antes de hacer queries costosas.


Los datos que definitivamente no existen en forma pública

Este es el mapa honesto de lo que no vas a poder obtener:

  1. Matrices de scoring en SECOP II: el campo de puntaje no existe en hgi6-6wh3. Solo en actas de evaluación en PDF.
  2. Identidades de pre-cierre: proveedores_que_manifestaron es un contador, no una lista de NITs.
  3. Cadenas de subcontratación: solo el contratista principal figura en los datos de contratos.
  4. Precios por ítem: los contratos tienen totales, raramente desglose línea a línea.
  5. Inteligencia pre-publicación más allá del PAA: no hay feed de borradores internos de pliegos.
  6. RUP con puntajes a escala: la información está en las Cámaras de Comercio (CCB controla el acceso), no en datos.gov.co.

El verdadero moat no son los datasets abiertos

Lo anterior es infraestructura pública que cualquiera puede replicar en semanas. El moat real está en tres capas que requieren inversión sostenida:

Capa 1 — Actas de evaluación parseadas: los PDFs de SECOP II, ~70% extraíbles sin OCR, con las notas de cada proponente en cada proceso histórico. Requieren scraping sistemático del portal SECOP (ASP.NET con AJAX, sin API JSON pública) y parsing de PDFs con esquemas inconsistentes. Después de 3 a 6 meses de ejecución, tenés una base propietaria de scoring data que cubre ~90% de los procesos modernos. Esto es no-copiable sin la misma inversión.

Capa 2 — Motor de fuzzy-match PAA→SECOP: el algoritmo que enlaza los 70% de ítems PAA sin link y reconstruye la tasa de conversión real (estimada entre 40 y 60% — la auto-reportada es 15 a 30%). Genera falsos positivos; calibrarlo requiere datos históricos.

Capa 3 — Grafo de relaciones entidad-proveedor: el mapa de qué firma ha trabajado con qué entidad, cuántas veces, con qué tasa de adjudicación, en qué UNSPSC. Este grafo, alimentado con historial de contratos, convierte "relevancia de UNSPSC" en "probabilidad ajustada por relación histórica" — que es un predictor mucho más robusto que el match de códigos.

Los datasets públicos son la materia prima. El trabajo sobre esos datos es el producto.


Leer también


Octograma unifica los 9 datasets críticos de SECOP II + PAA en una sola pantalla calibrada. Demo sobre tu NIT en octograma.com.

↳ SEGUIR LEYENDO · ANÁLISIS RELACIONADOS
Operación · 10 min

Adendas en SECOP II: qué son, cómo detectarlas, y cuándo cambian un habilitante sin que te des cuenta

Legal · 14 min

Checklist completo de habilitantes para concurso de méritos en SECOP II

Análisis · 11 min

Cómo calcular tu probabilidad real de ganar una licitación en Colombia