Cómo se construye este dataset
buscalicitaciones.com agrega y normaliza datos de contratación pública española desde fuentes oficiales. 25.305.439 contratos de 23 fuentes distintas, normalizados y servidos en un buscador y un explorador únicos.
Esta página explica qué cubre cada fuente, qué no cubre, qué transformaciones se aplican y qué calidad tiene cada campo. Cuando una funcionalidad está pendiente o cuando un análisis se ha hecho fuera de la web (sin reflejarse aún en el explorador), se indica explícitamente. Los datos y los programas que los descargan (scrapers) son abiertos, en GitHub; el código de esta web no es público por ahora.
1. Fuentes de datos
Son 23 fuentes de contratación (la plataforma estatal, la europea, las autonómicas y las de ayuntamientos) más BORME (Registro Mercantil) usado para enriquecer. Pulsa cada una para ver detalle, periodo, qué cubre y qué no.
ESTATAL PLACSP
Plataforma de Contratación del Sector Público. Sistema estatal regulado por la LCSP 9/2017. Cubre Administración General del Estado, organismos autónomos, comunidades adheridas y entidades locales adheridas.
- Portal oficial
- contrataciondelsectorpublico.gob.es
- Formato
- ATOM/XML
- En la web
- 3.561.553 contratos menores · 1.555.984 resultados de licitaciones · 683.287 de las plataformas autonómicas agregadas · 149.274 licitaciones sin resultado publicado. Los encargos a medios propios y las consultas preliminares no son contratos y no están en el buscador.
- Periodo
- Desde 2012, cuando empieza la sindicación de la plataforma; unas pocas filas traen fechas de adjudicación anteriores, que se sirven tal cual (actualización semanal)
- Campos clave
- 48 columnas: identificación, órgano, importes, adjudicatario, NIF, CPV, NUTS, fechas, es_pyme
EUROPEA TED · Diario Oficial UE
Tenders Electronic Daily. Diario oficial de contratación de la UE. Solo recoge contratos por encima de los umbrales europeos (contratos sujetos a regulación armonizada, SARA): en 2026-2027, obras desde 5.404.000 € y suministros y servicios desde 140.000 € en la Administración central y 216.000 € en el resto (cambian cada dos años; tabla en la sección 3). Se incluye porque permite comprobar que los contratos SARA españoles se publican donde deben.
- Portal oficial
- ted.europa.eu
- API v3
- ted.europa.eu/api/docs/ (avisos en formato eForms, obligatorio desde el 25 de octubre de 2023)
- CSV masivo
- data.europa.eu (2010-2019)
- En la web
- 695.858 reg. · 1997–2026: el CSV masivo hasta 2019 y la API desde 2020
- Campos clave
- 57 columnas: ted_notice_id, comprador, contrato, importes, adjudicatario (win_*), competencia (n_offers), duración
ENRIQUECIMIENTO BORME · Registro Mercantil
BORME no es una fuente de licitaciones. No contiene contratos públicos. Son datos del Boletín Oficial del Registro Mercantil parseados desde ~126.000 PDFs originales. Se usan para cruzar con las licitaciones y detectar anomalías.
- Portal oficial
- boe.es/diario_borme
- Empresas
- 9.254.668 actos de 3.334.397 empresas (constituciones, disoluciones, fusiones, ampliaciones de capital…)
- Cargos
- 17.101.151 (nombramientos, ceses, revocaciones)
- Privacidad
- Los nombres de las personas con cargos se seudonimizan con SHA-256 y no se publican. Los PDF originales no se redistribuyen; solo el programa para descargarlos.
- Actualización
- Sin actualización periódica por ahora: la web usa la versión anterior de estos datos.
Pipeline en 4 pasos
- Scraper — descarga ~126K PDFs desde boe.es (~6 GB). Comando:
borme_scraper.py --start 2009-01-01 - Parser — extrae actos mercantiles (constituciones, cargos, etc.) de los PDFs. Comando:
borme_batch_parser.py --workers 8. Generaborme_empresas.parquet+borme_cargos.parquet(PRIVADOS, contienen nombres reales). - Seudonimización — sustituye el nombre de cada persona por un código SHA-256. Comando:
borme_anonymize.py. Resultado:borme_empresas_pub.parquet+borme_cargos_pub.parquet. - Cruce — cruza con la PLACSP para calcular las 5 señales de riesgo. Comando:
borme_placsp_match.py.
Detalle de las 5 señales y resultados: ver sección 3. Cruces.
Plataformas autonómicas y locales
CCAA Catalunya
Datos del portal Transparència Catalunya (Socrata API): Generalitat y entes locales. En la web, solo contratación pública.
- Registre públic de contractes
- Una fila por inscripción (adjudicación, menor, prórroga, modificación, liquidación). Sin NIF del adjudicatario en origen. Las modificaciones y liquidaciones no suman importe (repiten el del contrato).
- PSCP
- Publicaciones de la Plataforma de Serveis de Contractació Pública, por expediente o lote, con NIF del adjudicatario.
- Generalitat
- Contratos menores (solo con el año) y adjudicaciones.
- COVID
- Contratos de emergencia de 2020.
- Histórico
- Cada descarga se acumula (nada se pierde) y las filas que el portal ya no sirve se conservan del release v2026.02.
Cataluña: tres versiones complementarias del mismo dato
Por la Ley de Contratos del Sector Público (artículo 347.3), los órganos de contratación catalanes deben publicar su actividad en la Plataforma de Serveis de Contractació Pública (PSCP) de la Generalitat. Esta plataforma se sincroniza bidireccionalmente con la PLACSP estatal, por lo que muchos contratos aparecen en ambos sistemas.
En este sitio dispones de tres ángulos de los datos catalanes:
- Cataluña (Registre): Registre Públic de Contractes. Sin NIF de adjudicatario en origen: está en el buscador, pero no se puede agrupar por empresa en el explorador.
- Cataluña (PSCP): Plataforma de Serveis de Contractació Pública, con NIF del adjudicatario. También en el explorador.
- PLACSP en Cataluña: la versión que la PSCP sincroniza con la plataforma estatal.
- Las cifras de cada una, en vivo, en la tabla de abajo.
Comparar cifras entre estas tres fuentes permite auditar la sincronización oficial entre administraciones. Discrepancias significativas pueden indicar problemas de cumplimiento del artículo 347.3 o lag temporal en la sincronización.
Comparativa cruzada en cifras
Datos en vivo. La duplicación intencional permite auditar la sincronización oficial entre administraciones (Generalitat ↔ Estado) prevista por LCSP art. 347.3.
| Métrica | Registre | PSCP | PLACSP (ccaa=CT) |
|---|---|---|---|
| Contratos totales | 4.456.505 | 2.065.860 | 401.279 |
| Con NIF de adjudicatario | 0 (0.0%) | 1.680.798 (81.4%) | 347.602 (86.6%) |
| Empresas únicas | — | 79.532 | 45.582 |
| Importe total (sin importes de más de 1.000 M€) | 77,47 mil M € | 78,03 mil M € | 86,47 mil M € |
| Cobertura temporal | 1998–2026 | 1997–2026 | 2011–2026 |
Los 5 adjudicatarios con más contratos en cada fuente
Sin NIF en origen: no se puede agrupar por empresa.
- dD BioLab, SLU
- VWR International Eurolab, S.L.
- SUDELAB SL
- Atlántida Tours Viatges, SA
- Vwr iNTERNATIONAL Eurolab, SLU
- servicios microinformática, sa
- Moncobra, SA
- medtronic iberica, sa
- Aparells ortopedics curto sl
- o ENDESA ENERGIA SAU
Solapamiento PSCP ↔ PLACSP: 160.287 contratos coinciden en NIF, año e importe entre las dos plataformas (coincidencia aproximada: da una idea de la sincronización real).
CCAA Valencia
Datos de Dades Obertes GVA (CKAN API). En la web, solo contratación: el Registro Oficial de Contratos de la Generalitat (REGCON) y los contratos de la DANA. Los contratos menores de la Universitat de València, la UPV, la UA, la UMH, la Diputación de Alicante y el Ajuntament de València van en su propia fuente (C. Valenciana, menores).
→ Ver la Comunitat Valenciana en el exploradorCCAA Madrid · Comunidad
Contratación pública de la Comunidad de Madrid: consejerías, hospitales del SERMAS (Gregorio Marañón, La Paz, 12 de Octubre, Ramón y Cajal…), Canal de Isabel II y sus filiales, fundaciones IMDEA y de investigación biomédica y consorcios urbanísticos. No incluye el Ayuntamiento de Madrid (es una fuente aparte).
- En la web
- 2.827.082 contratos, de ellos 2.769.036 menores. Los encargos a medios propios, los anuncios de información previa y las consultas preliminares no son contratos y no están en el buscador.
- IVA
- La fuente publica los importes con IVA.
- Reto técnico
- Exportación CSV del buscador del portal, por entidad y por ventanas de fecha, cada una contrastada con el recuento que da el propio portal.
CCAA Galicia
Datos de contratosdegalicia.gal (Xunta + 418 organismos dependientes descubiertos automáticamente).
- Contratos menores
- 1.797.550
- Licitaciones
- 52.133
- Pipeline en 2 fases
- Base (12 columnas: id, objeto, importe, estado, fechas, NIF, adjudicatario, duración) → Detail HTML (50+ columnas adicionales extraídas de cada ficha: tipo de procedimiento, presupuesto base, valor estimado, lotes, CPV, NUTS, documentos, adjudicaciones).
- Caché incremental
- SQLite que guarda HTML crudo de cada ficha. Permite reanudar (
--resume) sin perder progreso. - Reto técnico
- El portal sirve los listados por páginas, por separado para licitaciones y para menores, y no admite rangos de fechas largos: se recorre por ventanas de fecha y se quitan los repetidos.
CCAA Andalucía
Plataforma propia de la Junta de Andalucía. Incluye el Servicio Andaluz de Salud (el organismo con más contratos), diputaciones, universidades, consejerías y agencias.
- Contratos menores
- 808.456
- Resto de contratos
- 87.598
- Reto técnico
- El buscador del portal devuelve como mucho 10.000 resultados por consulta: las consultas se subdividen por varios criterios y órdenes hasta que cada trozo cabe (el caso del SAS).
CCAA País Vasco · Euskadi
KontratazioA, la plataforma de contratación pública de Euskadi: los contratos de su Registro de Contratos (API y XLSX por poder adjudicador) y los formalizados de Vitoria-Gasteiz de 2013-2015. NIF del adjudicatario salvo en las personas físicas, que la plataforma publica enmascarado. Portal: KontratazioA.
→ Ver Euskadi en el exploradorCCAA Asturias
Contratación centralizada del Principado de Asturias.
- Cobertura
- 375.380 reg. · 2017–2025 (el portal no publica un histórico anterior)
- Datos extra
- Cláusulas sociales y medioambientales, I+D y fondos europeos, entre otros campos
- IVA
- La fuente publica los importes con IVA.
LOCAL Madrid · Ayuntamiento
Actividad contractual del Ayuntamiento de Madrid. Distinta de la Comunidad. Ficheros CSV con 11 estructuras distintas, unificados en un solo conjunto normalizado.
Categorías: contratos menores, contratos formalizados, basados en acuerdo marco o sistema dinámico, derivados de homologación, prórrogas, modificados, cesiones, resoluciones y penalidades. Las prórrogas, los modificados, las cesiones, las resoluciones y las penalidades van junto a los contratos: el buscador todavía no los separa por tipo.
- En la web
- 130.130 reg. · 1997–2026
- Reto técnico
- Las 11 estructuras (A, B, C, D, E, F, AC_OLD, AC_OLD_MOD, AC_HOMOLOGACION, AC_NEW y AC_2025) se reconocen por sus cabeceras y se unifican. De 2015 a 2020, estructuras antiguas; desde 2021, las nuevas.
Aragón
Gobierno de Aragón (registro de contratos mayores y menores, contratos del Gobierno) y Ayuntamiento de Zaragoza (OCDS). El NIF del adjudicatario solo viene en parte de las tablas.
- Registros
- 142.624
- Periodo
- 2009–2025
- Con NIF del adjudicatario
- 23.253
Castilla-La Mancha
Junta de Comunidades de Castilla-La Mancha: contratos menores de la Junta, de la Universidad de Castilla-La Mancha y pagos por caja pagadora.
- Registros
- 426.419
- Periodo
- 2016–2026
- Con NIF del adjudicatario
- 410.696
Castilla y León
Junta de Castilla y León (datos abiertos): contratos ordinarios, menores, basados en acuerdo marco y de emergencia, también de la Gerencia Regional de Salud (Sacyl).
- Registros
- 169.981
- Periodo
- 2017–2026
- Con NIF del adjudicatario
- 169.883
Extremadura
Junta de Extremadura: registro de contratos mayores y menores.
- Registros
- 213.013
- Periodo
- 2001–2026
- Con NIF del adjudicatario
- 213.006
La Rioja
Gobierno de La Rioja: contratos menores.
- Registros
- 350.967
- Periodo
- 2018–2026
- Con NIF del adjudicatario
- 322.653
Región de Murcia
Región de Murcia: contratos inscritos en el registro de la CARM y contratos menores de la CARM y del Servicio Murciano de Salud.
- Registros
- 1.002.496
- Periodo
- 2014–2025
- Con NIF del adjudicatario
- 947.161
C. Valenciana (menores)
Contratos menores de órganos valencianos que no están en la PLACSP ni en el REGCON: Ayuntamiento de València, Diputación de Alicante y universidades (UA, UMH, UPV y UV).
- Registros
- 1.317.318
- Periodo
- 2008–2026
- Con NIF del adjudicatario
- 492.203
Ayuntamientos (menores)
Contratos menores de ayuntamientos con datos abiertos propios: Gijón, Vigo, Santa Cruz de Tenerife, Leganés, Córdoba, Málaga y Fuenlabrada.
- Registros
- 121.711
- Periodo
- 2015–2026
- Con NIF del adjudicatario
- 78.421
2. Cobertura y huecos
25.305.439 contratos. Cobertura por fuente, periodo (de 1990 a hoy: los años imposibles de algunas filas no cuentan) y volumen, en vivo:
| Fuente | Registros | Periodo | Con NIF adj. | Con importe |
|---|---|---|---|---|
| Plataforma estatal (PLACSP) | 5.950.098 | 1992–2026 | 93 % | 94 % |
| DOUE (TED) | 695.858 | 1997–2026 | 48 % | 86 % |
| Andalucía | 896.054 | 2000–2026 | 98 % | 99 % |
| Aragón | 142.624 | 2009–2025 | 16 % | 100 % |
| Asturias | 375.380 | 2017–2025 | 100 % | 100 % |
| Castilla-La Mancha | 426.419 | 2016–2026 | 96 % | 100 % |
| Castilla y León | 169.981 | 2017–2026 | 100 % | 99 % |
| Catalunya (Registre) | 4.456.505 | 1998–2026 | 0 % | 63 % |
| Catalunya (PSCP) | 2.065.860 | 1997–2026 | 81 % | 96 % |
| Catalunya (Generalitat) | 940.452 | 2020–2024 | 0 % | 100 % |
| Catalunya (menores) | 171.295 | sin fecha | 0 % | 83 % |
| Barcelona (menores) | 185.925 | 2012–2026 | 78 % | 100 % |
| Catalunya (emergencia COVID) | 5.567 | 2019–2020 | 0 % | 100 % |
| País Vasco | 734.973 | 1991–2026 | 85 % | 99 % |
| Extremadura | 213.013 | 2001–2026 | 100 % | 100 % |
| Galicia | 1.849.683 | 2007–2026 | 97 % | 97 % |
| La Rioja | 350.967 | 2018–2026 | 92 % | 100 % |
| Comunidad de Madrid | 2.827.082 | 2003–2026 | 100 % | 100 % |
| Ayuntamiento de Madrid | 130.130 | 1997–2026 | 100 % | 93 % |
| Región de Murcia | 1.002.496 | 2014–2025 | 94 % | 100 % |
| C. Valenciana (REGCON) | 276.048 | 2001–2026 | 89 % | 100 % |
| C. Valenciana (menores) | 1.317.318 | 2008–2026 | 37 % | 100 % |
| Ayuntamientos (menores) | 121.711 | 2015–2026 | 64 % | 99 % |
| BORME (enriquecimiento) | 9.254.668 actos + 17.101.151 cargos | desde 2009 | Cargos seudonimizados | |
| Calidad (indicadores) | 20 indicadores por contrato de la PLACSP | 2012-2026 | Conjunto de datos publicado | |
Huecos conocidos
- Cobertura territorial parcial: las comunidades y ayuntamientos con fuente propia integrada son los de la tabla; el resto se cubre vía PLACSP por adhesión. El periodo de cada fuente es el que publica.
- Contratos menores PLACSP pre-2018: Solo desde 2018 (cuando entró en vigor la obligación de publicar).
- Ayuntamientos no adheridos a PLACSP: Sus contratos no aparecen salvo que tengan plataforma autonómica que los recoja.
3. Cruces entre fuentes
Lo que hace el sitio actualmente
Todavía no se vinculan los contratos entre fuentes. Cada fuente se sirve y se agrega por su lado, sin quitar duplicados dentro de ella. Pero un mismo contrato publicado en dos plataformas cuenta en las dos: p. ej. en una autonómica y en la PLACSP, que agrega las plataformas de Madrid, Andalucía, Cataluña, Euskadi y otras, o en el TED y en la PLACSP.
Medido el 30-sep-2026 cruzando por expediente y NIF del adjudicatario, solo entre la agregación de la PLACSP y la fuente autonómica: coinciden al menos 46.127 contratos de Madrid, 52.227 de Andalucía y 201.235 de Cataluña (PSCP), que suman unos 115.000 M€. La suma de todas las fuentes no es un total sin duplicados: para un total fiable, elige una sola fuente por territorio. La vinculación de contratos entre fuentes está en preparación.
No se cruzan en vivo los contratos con el TED. Con el BORME solo se cruza el perfil mercantil de las fichas de empresa, por el nombre (lo avisa la propia ficha). Los datos de cada fuente se sirven normalizados, con las marcas de importe de la sección 6.
PLACSP ↔ TED — publicación de los contratos SARA análisis fuera de la web
Los contratos por encima de los umbrales europeos (SARA) deben publicarse obligatoriamente
en el TED. Un proceso cruza ambas fuentes con 5 criterios, uno tras otro, para encontrar contratos SARA sin
anuncio en el TED. Los resultados se publican como conjunto de datos descargable
(crossval_sara_v2.parquet), pero la web no los muestra todavía.
Reglas SARA (umbrales por bienio)
Los umbrales de publicación obligatoria no son fijos — varían por bienio, tipo de contrato y tipo de comprador (AGE / resto / sectores especiales).
| Bienio | Obras | Servicios (AGE) | Servicios (resto) | Sectores especiales |
|---|---|---|---|---|
| 2016-2017 | 5.225.000 € | 135.000 € | 209.000 € | 418.000 € |
| 2018-2019 | 5.548.000 € | 144.000 € | 221.000 € | 443.000 € |
| 2020-2021 | 5.350.000 € | 139.000 € | 214.000 € | 428.000 € |
| 2022-2023 | 5.382.000 € | 140.000 € | 215.000 € | 431.000 € |
| 2024-2025 | 5.538.000 € | 143.000 € | 221.000 € | 443.000 € |
| 2026-2027 | 5.404.000 € | 140.000 € | 216.000 € | 432.000 € |
5 criterios de cruce, uno tras otro
Cada criterio actúa solo sobre los contratos que los anteriores no encontraron; el más ambiguo se deja para el final:
| # | Criterio | Coincidencias | % del total |
|---|---|---|---|
E1 | NIF adjudicatario + importe ±10% + año ±1 | 43.063 | 9,7% |
E2 | Nº expediente + importe ±10% | 7.891 | 1,8% |
E3 | NIF del órgano contratante + importe | 77.816 | 17,6% |
E4 | Lotes agrupados (suma importes mismo órgano+año) | 31.365 | 7,1% |
E5 | Nombre órgano normalizado + importe | 17.757 | 4,0% |
Lo más relevante del análisis: el criterio E3 (NIF del órgano contratante) es el que más coincidencias encuentra, el 17,6 % del total: más que cualquiera de los otros por separado, aunque menos que los otros cuatro juntos (22,6 %). Sin él se perdería casi una de cada cinco coincidencias.
Validación por año
La tasa de validación ha mejorado significativamente desde 2018, alcanzando un máximo del 64,6% en 2024:
| Año | Contratos SARA | Encontrados en el TED | % encontrado |
|---|---|---|---|
| 2016 | 10.948 | 2.643 | 24,1% |
| 2017 | 17.360 | 6.532 | 37,6% |
| 2018 | 32.605 | 14.720 | 45,1% |
| 2019 | 42.951 | 14.182 | 33,0% |
| 2020 | 40.693 | 9.214 | 22,6% |
| 2021 | 47.971 | 7.472 | 15,6% |
| 2022 | 56.649 | 22.250 | 39,3% |
| 2023 | 60.518 | 31.829 | 52,6% |
| 2024 | 59.114 | 38.216 | 64,6% |
| 2025 | 48.276 | 26.920 | 55,8% |
Los años 2020-2021 muestran caídas significativas debido al efecto COVID (cambios en patrones de contratación) y a la baja cobertura del CSV masivo del TED en ese periodo. El cambio de fuente de los datos del TED en 2020 (del CSV masivo a la API) también introdujo diferencias.
Análisis sectorial: Salud
El sector salud representa el 17% de contratos SARA con una tasa de validación del 42,3 %. El 38 % de lo no encontrado se explica por los lotes: un único anuncio TED corresponde a N adjudicaciones individuales en PLACSP. La cobertura real ajustada por lotes es ~54%.
Órganos con más contratos SARA sin anuncio encontrado en el TED (cruce aproximado: no quiere decir que no se publicaran):
| Órgano | Sin anuncio encontrado |
|---|---|
| Servicio Andaluz de Salud (SAS) | 4.833 |
| FREMAP | 2.410 |
| IB-Salut (Baleares) | 1.957 |
| Institut Català de la Salut (ICS) | 1.316 |
| SERGAS (Galicia) | 1.291 |
PLACSP × BORME — señales de riesgo análisis fuera de la web
Otro proceso cruza el BORME (Registro Mercantil) con la PLACSP para calcular 5 señales. Son indicios que hay que comprobar, no irregularidades. Los resultados se publican como conjunto de datos y todavía no se aplican en el explorador.
Cobertura de NIF por fuente
Resumen del % de contratos con NIF de adjudicatario poblado en cada fuente. Las fuentes sin NIF en origen están en el buscador, pero no se pueden agrupar por empresa en el explorador.
| Fuente | Contratos | Con NIF | % NIF | En el explorador |
|---|---|---|---|---|
| Plataforma estatal (PLACSP) | 5.950.098 | 5.522.839 | 92.8% | ✓ Sí |
| Catalunya (Registre) | 4.456.505 | 0 | 0.0% | ✗ No (sin NIF en origen) |
| Comunidad de Madrid | 2.827.082 | 2.821.429 | 99.8% | ✓ Sí |
| Catalunya (PSCP) | 2.065.860 | 1.680.798 | 81.4% | ✓ Sí |
| Galicia | 1.849.683 | 1.797.550 | 97.2% | ✓ Sí |
| C. Valenciana (menores) | 1.317.318 | 492.203 | 37.4% | ✓ Sí |
| Región de Murcia | 1.002.496 | 947.161 | 94.5% | ✓ Sí |
| Catalunya (Generalitat) | 940.452 | 0 | 0.0% | ✗ No (sin NIF en origen) |
| Andalucía | 896.054 | 879.841 | 98.2% | ✓ Sí |
| País Vasco | 734.973 | 621.705 | 84.6% | ✓ Sí |
| DOUE (TED) | 695.858 | 331.998 | 47.7% | ✓ Sí |
| Castilla-La Mancha | 426.419 | 410.696 | 96.3% | ✓ Sí |
| Asturias | 375.380 | 375.317 | 100.0% | ✓ Sí |
| La Rioja | 350.967 | 322.653 | 91.9% | ✓ Sí |
| C. Valenciana (REGCON) | 276.048 | 245.737 | 89.0% | ✓ Sí |
| Extremadura | 213.013 | 213.006 | 100.0% | ✓ Sí |
| Barcelona (menores) | 185.925 | 144.099 | 77.5% | ✓ Sí |
| Catalunya (menores) | 171.295 | 0 | 0.0% | ✗ No (sin NIF en origen) |
| Castilla y León | 169.981 | 169.883 | 99.9% | ✓ Sí |
| Aragón | 142.624 | 23.253 | 16.3% | ✓ Sí |
| Ayuntamiento de Madrid | 130.130 | 130.070 | 100.0% | ✓ Sí |
| Ayuntamientos (menores) | 121.711 | 78.421 | 64.4% | ✓ Sí |
| Catalunya (emergencia COVID) | 5.567 | 0 | 0.0% | ✗ No (sin NIF en origen) |
4. Calidad de los datos conjunto de datos descargable
El dataset calidad_licitaciones_resultado.parquet (977 MB, 8,7M filas × 70 cols)
aplica 14 indicadores sobre el subset Calidad del dato del marco Hay Derecho.
Los IDs (INT-VAL-XX, INT-CONS-XX, INT-FIA-XX) son los
mismos que aparecen en la sección 5.
Resultados agregados sobre los 8,69M contratos PLACSP: score medio 88,3 / 100,
mediana 89,5 / 100. Cada indicador es una columna booleana en el Parquet
y existe un score_calidad agregado por contrato.
| Indicador | Descripción | % fallo |
|---|---|---|
INT-VAL-01 | Importe de licitación en formato válido | 22,6% |
INT-VAL-02 | Importe de adjudicación en formato válido | 31,8% |
INT-VAL-07 | Fecha de adjudicación válida | 39,2% |
INT-VAL-09 | Código CPV válido | 23,3% |
INT-VAL-12 | NIF/CIF adjudicatario válido (checksum) | 33,4% |
INT-VAL-14 | Contrato menor coherente con cuantía (LCSP art. 118) | 1,3% |
INT-CONS-01 | Si adjudicado, nº ofertas ≥ 1 | 1,1% |
INT-CONS-08 | Importe adjudicación ≤ licitación (+5%) | 0,3% |
INT-CONS-18 | Adjudicatario existe en BORME | 51,3% |
INT-CONS-20 | Contrato SARA publicado en TED | 77,5% |
INT-FIA-01 | Nº ofertas en rango razonable (P99 por CPV) | 0,6% |
INT-FIA-04 | Plazo presentación ofertas razonable (0-365 días) | 21,3% |
INT-FIA-08 | PBL no atípico (≤ 50 M€) | 0,4% |
INT-FIA-09 | PA plausible por segmento CPV (P1-P99) | 0,8% |
Los 6 indicadores restantes (formato numérico, no negativos, NUTS, trazabilidad) dan 0,0% de fallo: checks de sanidad sin problemas detectados.
Menores vs regulares
Los contratos menores (3,3M) tienen perfil de calidad muy distinto a los regulares (5,4M):
| Indicador | Menores | Regulares | Diferencia |
|---|---|---|---|
| NIF adjudicatario inválido | 2,7% | 52,1% | −49,5pp |
| Sin CPV | 60,3% | 0,7% | +59,6pp |
| Sin fecha adjudicación | 0,8% | 62,6% | −61,9pp |
| Sin importe licitación | 53,1% | 4,1% | +49,0pp |
| Score medio | 90,8 | 86,7 | +4,1 |
5. Sistema de indicadores Hay Derecho marco de referencia
Hay Derecho publica un Sistema de Indicadores de Transparencia en Contratación Pública que evalúa el cumplimiento legal y la calidad de los datos publicados por las administraciones. Es el marco más completo y exigente que existe en España para medir transparencia en contratación pública. Define 110 indicadores agrupados en tres criterios con pesos ponderados:
Score total = 0,5 · Legal + 0,3 · Calidad + 0,2 · BPP. Cada indicador tiene una salida binaria por contrato (presente/ausente, válido/inválido) y una salida agregada por organismo (% de contratos que cumplen).
calidad_licitaciones_resultado.parquet, 977 MB) que calcula 14 indicadores
sobre los 48 de Calidad del dato aplicado a PLACSP. Ver
sección 4 para los resultados de ese análisis y la
sección 10 para descargarlo.
5.1 Criterio Legal — 48 indicadores (peso 50%)
Indicadores derivados de la LCSP y la LTAIBG. Cada incumplimiento conlleva un desmérito del 10% en la puntuación final del organismo. La salida es siempre Presente / Ausente por contrato.
LEGAL Ver los 48 indicadores legales
| ID | Indicador | Descripción |
|---|---|---|
INT-COM-01 |
Objeto del contrato publicado en el perfil del contratante | Comprueba que se publique la descripción del objeto contractual en el perfil del contratante |
INT-COM-02 |
Duración / plazo de ejecución publicado en el perfil del contratante | Comprueba que se publique duración o fechas que permitan conocer el plazo de ejecución de un contrato en el perfil del contratante |
INT-COM-03 |
Importe de licitación (PBL/valor estimado) publicado en el perfil del contratante | Comprueba que se publique el Presupuesto Base de Licitación o valor estimado (campo numérico) en el perfil del contratante |
INT-COM-04 |
Importe de adjudicación publicado, incluido el Impuesto sobre Valor Añadido, en el perfil del contratante | Comprueba que se publique el importe final adjudicado (cantidad numérica) en el perfil del contratante |
INT-COM-05 |
Procedimiento de contratación declarado en el anuncio de licitación | Comprueba que se indique el tipo de procedimiento (abierto, negociado, menor…) |
INT-COM-06 |
Instrumentos de publicidad / canal de difusión indicados en el perfil del contratante | Comprueba que se indique dónde se ha publicado (perfil de contratante / PLCSP / TED / BOE) |
INT-COM-07 |
Número e identidad de licitadores públicos en el perfil del contratante | Comprueba que se publica el número y la identidad de ofertas recibidas o licitadores |
INT-COM-08 |
Identidad del adjudicatario publicada | Comprueba que se publica la identidad del adjudicatario (nombre + NIF cuando proceda) |
INT-COM-09 |
Desistimientos y renuncias publicados en el perfil del contratante (si han ocurrido) | Comprueba que, si hay desistimientos/renuncias en el procedimiento, aparecen documentados |
INT-COM-10 |
Declaración de desierto presente en el perfil del contratante (si ha ocurrido) | Comprueba que, si un contrato ha sido declarado desierto, esta información esté publicada y accesible en el perfil del contratante |
INT-COM-11 |
Interposición de recursos presente en el perfil del contratante (cuando corresponda) | Comprueba que, si se han interpuesto recursos, estén publicados en el perfil del contratante |
INT-COM-12 |
Suspensión de contratos con motivo de la interposición de recursos presente en el perfil del contratante (cuando corresponda) | Comprueba que, si un contrato se ha suspendido por recursos, esa información esté publicada y sea accesible |
INT-COM-13 |
Procedimientos anulados anunciados en el perfil del contratante (cuando corresponda) | Comprueba que, si un procedimiento ha sido anulado, la información esté publicada y sea accesible en el perfil del contratante |
INT-COM-14 |
Composición de las mesas de contratación disponible en el perfil del contratante | Comprueba que la composición de la mesa de contratación esté publicada y permita identificar a los miembros que han intervenido |
INT-COM-15 |
Cargos específicos de los miembros de las mesas de contratación disponibles en el perfil del contratante | El perfil de contratante publica la composición de la mesa de contratación indicando el cargo específico de cada miembro. No se permiten alusiones genéricas o indeterminadas ni descripciones que se refieran únicamente a la Administración, organismo o entidad a la que representen o en la que prestan servicio. |
INT-COM-16 |
Designación de los miembros del comité de expertos o responsables de la aplicación de criterios de adjudicación disponible en el perfil del contratante (en los procedimientos en los que sean necesarios) | Comprueba que, en los procedimientos en los que se requiere comité de expertos o responsables de la aplicación de criterios de adjudicación, la designación de los miembros esté publicada y sea accesible en el perfil del contratante |
INT-COM-17 |
Formalización de los encargos a medios propios cuyo importe fuera mayor a 50.000 euros, IVA excluido, en el perfil del contratante | Comprueba que, si se formaliza un encargo a medios propios con importe superior a 50.000 € (IVA excluido), la formalización esté publicada y accesible en el perfil del contratante |
INT-COM-18 |
Publicación en formato abierto y reutilizable de la información contenida en los perfiles de contratante | Comprueba que los datos cuya publicación en el perfil del contratante está regida por el Art. 63 de la LCSP están disponibles en formatos abiertos o exportables (no sólo PDF) |
INT-COM-19 |
Accesibilidad temporal mínima (≥ 5 años) | Comprueba que la publicación declare/plausiblemente cumple la accesibilidad por al menos 5 años |
INT-COM-20 |
Memoria justificativa del contrato publicada en el perfil del contratante | Comprueba que la memoria justificativa del contrato esté publicada y accesible en el perfil del contratante |
INT-COM-21 |
Informe de insuficiencia de medios publicado en el perfil del contratante (en el caso de contratos de servicios) | Comprueba que, si el contrato es de servicios, se publique el informe de insuficiencia de medios |
INT-COM-22 |
Justificación del procedimiento utilizado para la adjudicación publicada en el perfil del contratante (cuando se utilice un procedimiento distinto del abierto o del restringido) | Comprueba que, si se utiliza un procedimiento distinto de abierto o restringido, se publique la justificación |
INT-COM-23 |
Pliegos administrativos y técnicos o documentos equivalentes que rijan el contrato publicados en el perfil del contratante | Comprueba que se publiquen pliegos y documentos esenciales |
INT-COM-24 |
Documento de aprobación del expediente publicado en el perfil del contratante (cuando sea necesario) | Comprueba que, cuando sea necesario, el documento de aprobación del expediente esté publicado y accesible |
INT-COM-25 |
Anuncios de convocatoria de las licitaciones publicados en el perfil del contratante | Comprueba que la convocatoria de licitación esté publicada y accesible |
INT-COM-26 |
Anuncios de adjudicación publicados en el perfil del contratante | Comprueba que el anuncio de adjudicación esté publicado y accesible |
INT-COM-27 |
Anuncios de formalización publicados en el perfil del contratante | Comprueba que el anuncio de formalización del contrato esté publicado y accesible |
INT-COM-28 |
Anuncios de modificación y su justificación publicados en el perfil del contratante (cuando corresponda) | Comprueba que las modificaciones del contrato y su justificación estén publicadas |
INT-COM-29 |
Anuncios de concursos de proyectos publicados en el perfil del contratante (cuando corresponda) | Comprueba que los anuncios de concursos de proyectos estén publicados |
INT-COM-30 |
Resultados de concursos de proyectos publicados en el perfil del contratante (cuando corresponda y con las excepciones establecidas en las normas de los negociados sin publicidad) | Comprueba que los resultados de los concursos de proyectos estén publicados, con excepciones legales de negociados sin publicidad |
INT-COM-31 |
Publicación del anuncio de formalización en el DOUE (cuando el contrato esté sujeto a regulación armonizada) | Comprueba que la formalización se publique en el DOUE si el contrato está sujeto a regulación armonizada |
INT-COM-32 |
Publicación del anuncio de formalización en el BOE (cuando el contrato esté celebrado por la AGE) | Comprueba que la formalización se publique en el BOE si el contrato lo celebra la AGE |
INT-COM-33 |
Exposición resumida de las razones de desestimación de candidatos descartados de una licitación en el perfil de contratante | Comprueba que se publiquen las razones de desestimación de candidatos descartados |
INT-COM-34 |
Publicación de motivos de exclusión y desglose de valoraciones de ofertas (incluyendo al adjudicatario) en el perfil del contratante | Comprueba que se publiquen los motivos de exclusión y el desglose de valoraciones de ofertas (incluyendo adjudicatario) |
INT-COM-35 |
Publicación de la identidad del adjudicatario y las ventajas de la oferta adjudicataria y desarrollo de negociaciones | Comprueba que se publique la identidad del adjudicatario y razones/ventajas de la oferta seleccionada |
INT-COM-36 |
Publicación del objeto, fecha de inicio y denominaciones de los terceros que vayan a participar en las CPM, así como las razones de su elección, en el perfil del contratante (cuando corresponda) | Comprueba que los datos clave de la CPM estén publicados cuando corresponda |
INT-COM-37 |
Publicación del informe de las actuaciones realizadas para una CPM en el perfil del contratante (cuando corresponda) | Comprueba que se publique el informe de actuaciones realizado para la CPM cuando corresponda |
INT-COM-38 |
Publicación de las subcontrataciones y adjudicatarios (cuando corresponda) | Comprueba que se publica la lista de subcontrataciones con adjudicatarios y montos |
INT-COM-39 |
Publicación del procedimiento seguido para la adjudicación de subcontrataciones (cuando corresponda) | Comprueba que se publique el procedimiento seguido para la adjudicación de la subcontratación |
INT-COM-40 |
Indicación del importe de subcontratación (cuando corresponda) | Comprueba que se publique el importe de subcontratación |
INT-COM-41 |
Identificación de la financiación con fondos europeos (cuando corresponda) | Comprueba que, si un contrato está financiado total o parcialmente con fondos europeos (p.ej. PRTR/ NextGenerationEU), esa financiación esté identificada y publicada |
INT-COM-42 |
Actas de la mesas de contratación relativas al proceso de adjudicación (o en el caso de no actuar la mesa, las resoluciones del órgano de contratación correspondiente) publicadas en el perfil del contratante | Comprueba que se publiquen las actas de la mesa de contratación (que recogen el desarrollo de las sesiones, incluyendo los licitadores participantes, las actuaciones realizadas como la apertura de sobres, revisión de documentación, las valoraciones de las ofertas y la propuesta de adjudicación) o las resoluciones del órgano de contratación correspondiente. |
INT-COM-43 |
Informe de valoración de los criterios de adjudicación cuantificables mediante un juicio de valor de cada una de las ofertas publicado en el perfil del contratante | Comprueba que se publique el informe donde se explica por qué ha dado ciertas puntuaciones subjetivas (las que dependen del juicio técnico) a cada empresa. |
INT-COM-44 |
Informes sobre las ofertas incursas en presunción de anormalidad (cuando corresponda) publicados en el perfil del contratante | Comprueba que se publique, cuando corresponda, el informe que justifica si una oferta anormalmente baja (es decir, aquella cuyo precio o condiciones resultan tan bajos o atípicos en comparación con el resto de ofertas o con el presupuesto del contrato que generan dudas sobre su viabilidad) es viable o no tras el análisis de las explicaciones del licitador. |
INT-COM-45 |
Publicación de la resolución de adjudicación del contrato en el perfil del contratante | Comprueba que se publique la resolución de adjudicación en el perfil del contratante |
INT-COM-46 |
Publicación de los nombres de los integrantes de una UTE así como la participación porcentual de cada uno de ellos (en el caso de que un contrato se adjudique a una UTE) | Comprueba que se publiquen los intehrantes de una Unión Temporal de Empresas así como su participación porcentual cuando corresponda |
INT-COM-47 |
Justificación de desistimientos o renuncias publicada en el expediente (cuando corresponda) | Comprueba que se publiquen la justificación de desistimientos o renuncias cuando corresponda |
INT-COM-48 |
Programación de la actividad contractual como anuncio de información previa en el perfil del contratante | Comprueba que los entidades del sector público den a conocer, a través de un anuncio de información previa, su plan de contratación anual anticipadamente |
5.2 Calidad del dato — 48 indicadores (peso 30%)
Subdividido en tres dimensiones: Validez (formato y plausibilidad de los campos), Consistencia (coherencia entre campos relacionados) y Fiabilidad (rangos razonables y deduplicación).
VALIDEZ 14 indicadores de formato y validez
| ID | Indicador | Descripción |
|---|---|---|
INT-VAL-01 |
Importe de licitación en formato válido | Comprueba que el importe de licitación sea un número interpretable |
INT-VAL-02 |
Importe de adjudicación en formato válido | Comprueba que el importe adjudicado esté expresado como cantidad numérica |
INT-VAL-03 |
Importe mínimo plausible | Comprueba que el importe no sea 0, negativo o absurdamente bajo para ser interpretable |
INT-VAL-04 |
Número de licitadores es entero | Comprueba que el número de licitadores sea un entero y no texto libre |
INT-VAL-05 |
Número de licitadores no negativo | Comprueba que el número de licitadores sea ≥ 0 |
INT-VAL-06 |
Fecha de publicación en formato válido | Comprueba que la fecha exista y tenga formato de fecha correcto |
INT-VAL-07 |
Fecha de adjudicación en formato válido | Comprueba que la fecha de adjudicación sea interpretable como fecha real |
INT-VAL-08 |
Fecha de formalización en formato válido | Comprueba que la fecha de formalización sea interpretable como fecha real |
INT-VAL-09 |
Código CPV válido | Comprueba que el código CPV exista y pertenezca al vocabulario oficial |
INT-VAL-10 |
Código territorial válido | Comprueba que la localización territorial esté correctamente codificada |
INT-VAL-11 |
Información de subcontratación normalizada | Comprueba que el campo de subcontratación use códigos/categorías válidas |
INT-VAL-12 |
Identificación válida del adjudicatario (NIF/NIE) | Comprueba que el adjudicatario esté identificado con un identificador válido y no con un email, texto libre o dato informal |
INT-VAL-13 |
Clasificación correcta del procedimiento según cuantía | Comprueba que el procedimiento declarado sea compatible con la cuantía y naturaleza del contrato |
INT-VAL-14 |
Identificación válida de financiación PTRT (Plan de Recuperación, Transformación y Resiliencia) | Comprueba que, cuando un contrato declare financiación PTRT/PRTR, los campos asociados estén presentes y sigan un formato/catálogo válido (evitando valores libres, erróneos o inconsistentes) |
CONSISTENCIA 22 indicadores de coherencia
| ID | Indicador | Descripción |
|---|---|---|
INT-CONS-01 |
Si hay adjudicación, nº de ofertas ≥ 1 | Comprueba que no exista adjudicación sin al menos 1 oferta registrada |
INT-CONS-02 |
Nº ofertas totales ≥ nº ofertas PYME | Comprueba que el subconjunto PYME no supere al total |
INT-CONS-03 |
Si adjudicatario es PYME, nº ofertas PYME ≥ 1 | Comprueba que no se marque ganador PYME si el conteo PYME es 0 |
INT-CONS-04 |
Coherencia cronológica mínima del expediente | Comprueba el orden lógico de hitos |
INT-CONS-05 |
Coherencia de “fecha de envío” / publicación | Comprueba que la fecha de envío (p. ej., a DOUE/TED) no sea posterior a la publicación si el modelo lo exige |
INT-CONS-06 |
CPV coherente con tipo de contrato | Comprueba que el CPV principal sea compatible con obras/servicios/suministros (regla de mapeo) |
INT-CONS-07 |
Objeto coherente entre pestañas/secciones (PLCSP) | Comprueba que el objeto no cambie materialmente entre secciones del mismo expediente |
INT-CONS-08 |
Importe coherente entre licitación y adjudicación | Comprueba que no haya imposibles (p. ej., adjudicación > licitación sin explicación o variables de IVA mal definidas) |
INT-CONS-09 |
Suma de lotes coherente con total del expediente | Comprueba que el total coincida (con tolerancia) con suma de lotes |
INT-CONS-10 |
Adjudicatario consistente dentro del expediente | Comprueba que NIF/nombre no cambie entre pestañas o documentos |
INT-CONS-11 |
Estado del expediente coherente con eventos publicados | Comprueba que el estado no contradiga eventos (p. ej. “en licitación” pero con formalización) |
INT-CONS-12 |
Consistencia entre PLCSP y pliegos | Comprueba que los atributos esenciales del contrato coincidan (o sean compatibles) entre lo publicado como campos en PLCSP y lo declarado en pliegos (documentos oficiales del expediente) |
INT-CONS-13 |
Coherencia de importes clave (PBL–VEC–PA) | Comprueba que el PBL, VEC y PA estén tratados de forma coherente (sin contradicciones por bases IVA/sin IVA o mezclas de conceptos) y no presenten incompatibilidades económicas graves |
INT-CONS-14 |
Coincidencia de ID/expediente entre PLCSP y portal autonómico | Comprueba que el expediente sea el “mismo” en ambas fuentes (cruce) |
INT-CONS-15 |
Coincidencia de objeto entre PLCSP y autonómico | Comprueba que el objeto no diverja materialmente entre fuentes |
INT-CONS-16 |
Coincidencia de importes entre PLCSP y autonómico | Comprueba que los importes clave coincidan (con tolerancia) |
INT-CONS-17 |
Coincidencia de adjudicatario (NIF) entre PLCSP y autonómico | Comprueba que el adjudicatario sea el mismo en ambas fuentes |
INT-CONS-18 |
Consistencia NIF/razón social del contratista: PLCSP vs BORME | Comprueba que el NIF del contratista apunte a una entidad existente y el nombre sea compatible |
INT-CONS-19 |
Consistencia NIF: PLCSP vs ROLECE | Comprueba que el proveedor esté registrado (si aplica) y el ID sea coherente |
INT-CONS-20 |
Consistencia de clasificación: tipo/procedimiento PLCSP vs autonómico | Comprueba que no haya divergencias de clasificación entre fuentes |
INT-CONS-21 |
Consistencia de fechas (hitos) PLCSP vs autonómico | Comprueba que no haya cronologías incompatibles entre fuentes |
INT-CONS-22 |
Consistencia de entidad compradora (órgano) PLCSP vs TED | Comprueba que la entidad compradora coincida (o se mapee) |
FIABILIDAD 12 indicadores de rangos y plausibilidad
| ID | Indicador | Descripción |
|---|---|---|
INT-FIA-01 |
Nº de ofertas dentro de un rango razonable | Que el nº de ofertas no sea inverosímil (p.ej. 10.000) dado el contexto |
INT-FIA-02 |
Nº de ofertas PYME dentro de rango razonable | Que el nº de ofertas PYME sea plausible (y compatible con el total) |
INT-FIA-03 |
Nº de lotes en rango razonable | Que el nº de lotes no sea atípico extremo sin justificación |
INT-FIA-04 |
Plazo de presentación de ofertas razonable | Que el plazo no sea imposible (negativo) ni absurdo (años) |
INT-FIA-05 |
Formato razonable de ID de lote | Que el ID de lote no sea vacío, ilegible o incoherente (p.ej. texto largo) |
INT-FIA-06 |
Plausibilidad temporal del plazo de ejecución | Que el plazo de ejecución sea posible y no absurdo (ej. año 1919) |
INT-FIA-07 |
Fiabilidad IVA: total coherente con base e IVA | Que el desglose IVA no sea inverosímil y permita confiar en el total |
INT-FIA-08 |
PBL atípico o inverosímil | Detectar PBL desorbitados que suelen ser errores de registro (p.ej. basados en acuerdo marco) |
INT-FIA-09 |
PA (precio adjudicación) plausible respecto a comparables | Que el PA no sea atípico extremo para su CPV/órgano (posible error de carga) |
INT-FIA-10 |
“Actualización” del expediente: hitos completos | Que el expediente no esté “congelado” de forma inverosímil (p.ej. adjudicado sin formalizar tras meses) |
INT-FIA-11 |
Trazabilidad mínima del expediente (IDs y enlaces) | Que el expediente sea verificable: IDs estables + enlaces que permiten reconstruir el ciclo de vida |
INT-FIA-12 |
Trazabilidad de las CPM | Comprueba que una CPM sea verificable y pueda trazarse hasta el procedimiento de contratación asociado (licitación posterior); o, si no lo hay, que exista constancia pública de resultados/cierre |
5.3 Buenas prácticas de publicidad — 14 indicadores (peso 20%)
Indicadores que no son obligación legal, pero reflejan compromiso con la transparencia: anuncio de fiscalización, datos en formato reutilizable, conservación a 5 años, publicación de penalidades y prórrogas, etc. Aquí está el verdadero diferencial entre organismos que cumplen el mínimo y los que van más allá.
BPP Ver los 14 indicadores de buenas prácticas
| ID | Indicador | Descripción |
|---|---|---|
INT-BPP-01 |
Publicación anuncio de finalización en PLCSP | Comprueba si se publica el anuncio de fiscalización en la PLCSP, una práctica voluntaria, desde 01/2024 con fechas reales, importes finales, prórrogas, suspensiones, causa de resolución |
INT-BPP-02 |
Tiempo en las plataformas de contratación mayor a 5 años | Comprueba que la información contractual permanezca accesible al menos 5 años |
INT-BPP-03 |
Formato abierto y reutilizable de la información en materia de contratación pública más allá de aquella en el perfil del contratante (p. ej., informes de ofertas anormalmente bajas; composición de mesas de contratación) | Comprueba que la información relevante (incluyendo informes de ofertas anormalmente bajas, composición de mesas, etc.) esté publicada en formato abierto y reutilizable |
INT-BPP-04 |
Publicación de las penalidades de un contrato y su resolución | Comprueba que las penalidades de un contrato y su resolución estén publicadas |
INT-BPP-05 |
Publicación de las prórrogas contractuales y su resolución | Comprueba que las prórrogas y su resolución estén publicadas |
INT-BPP-06 |
Publicación de los recursos especiales en los portales públicos de contratación | Comprueba que los recursos especiales estén publicados y accesibles en portales oficiales |
INT-BPP-07 |
Inclusión del objeto, causa y sentido de la resolución de un recurso especial como dato estructurado. | Comprueba que cada recurso especial incluya objeto, causa y sentido de la resolución como dato estructurado |
INT-BPP-08 |
Incorporación del enlace con la publicación del tribunal administrativo competente en materia de recursos especiales | Comprueba que cada recurso especial tenga enlace a la publicación oficial en el tribunal competente |
INT-BPP-09 |
Inclusión del estado del expediente como "suspenso" en los portales oficiales de contratación pública cuando un contrato queda temporalmente detenido debido a la interposición de un recurso especial. | Comprueba que los expedientes afectados por recursos estén marcados como “Suspenso” |
INT-BPP-10 |
Publicación de la forma de presentación de oferta | Comprueba que la información sobre cómo presentar ofertas esté publicada |
INT-BPP-11 |
Seguimiento público de la planificación del contrato (p. ej a través de un breve informe de seguimiento de la programación anual en el perfil de contratante). | Comprueba si los órganos de contratación publican el grado de cumplimiento de sus programas y justifican los desvíos o retrasos en su ejecución |
INT-BPP-12 |
Publicación de la justificación económica del contrato junto a los pliegos | Comprueba si se publica la justificación económica del contrato junto a los pliegos. |
INT-BPP-13 |
Anuncios de información previa publicados en el perfil del contratante o en el DOUE | Comprueba que, si se realiza anuncio previo, este esté publicado y accesible |
INT-BPP-14 |
Identificador único del expediente (ID) | Comprueba que existe un identificador trazable y recuperable que permite referenciar el expediente |
¿Por qué este marco importa?
- Es la referencia más exigente que existe en España. Combina la base legal (LCSP, LTAIBG) con buenas prácticas observadas en países con mejores prácticas.
- Permite comparar organismos de manera estandarizada. Hoy es muy difícil decir si el SAS publica peor o mejor que el SERMAS — con un score Hay Derecho sería un número directamente comparable.
- Identifica patrones estructurales de opacidad: los indicadores de buenas prácticas miden lo que no es obligatorio pero se podría hacer: muestran qué organismos van más allá de lo que exige la ley.
- Es metodológicamente sólido: cada indicador tiene fuente legal, descripción, fase del ciclo de vida, y salidas micro/agregada definidas formalmente.
6. Política de importes
Cada contrato se sirve con el importe que publica su fuente. Al lado, el ETL calcula un importe corregido, que es el que se usa para sumar, ordenar y filtrar por importe (buscador, explorador y portada). Las reglas son las mismas que aplica el repositorio de scrapers a la PLACSP (issue #22):
- Coma decimal perdida: si la adjudicación sin IVA es 100 o 1.000 veces el presupuesto y, dividida entre 100 o 1.000, tiene las mismas cifras que el presupuesto (desde 1.000 €) o queda entre el 50 % y el 105 % de él (desde 10.000 €), se corrige a esa escala.
- Inverosímil: una adjudicación de 100 veces el presupuesto o más, sin corrección fiable, no cuenta. Ejemplo real: la Gerencia Regional de Salud de Castilla y León publica una sala de rayos X licitada por 400.000 € con una adjudicación de 122.972.604.950,25 €.
- Repetido: en un acuerdo marco, algunas fuentes (PLACSP, Comunidad de Madrid, TED) ponen en cada empresa adjudicataria el tope del lote o del acuerdo, o repiten el total de la licitación en cada lote. Si la suma de esas filas no cabe en el presupuesto (en TED, en el valor total del aviso) y sí contando el importe una vez, cada fila se sirve con el importe publicado, marcado como repetido, y no cuenta en las sumas. En TED también se marca la misma oferta de un acuerdo marco o de un sistema dinámico de adquisición que sale en cada contrato basado en ella.
- No cuadra con el total del aviso (TED): la oferta ganadora que pasa del valor total del aviso que la publica se sirve con el importe publicado, marcada, y no cuenta en las sumas: no se sabe si es el importe del contrato, un valor estimado o un error de origen. En un aviso de varias adjudicaciones, la que pasa del total en más de un 21,5 % (el IVA más alto) y no se repite en otra; en un aviso de una sola, la que pasa del total sin la proporción de un IVA (21 %, 10 % o 4 %). Ejemplo: en el aviso 539087-2026 de TED, una oferta de 1.530.320 € en un aviso con un valor total de 131.545,02 €.
- Con un presupuesto sin IVA de menos de 1.000 € la adjudicación no se toca: suele ser un precio unitario o simbólico. Si el presupuesto es con IVA o la fuente no dice si lo lleva, una adjudicación de 100 veces el presupuesto o más sí queda fuera de las sumas.
PYME: en el explorador, una empresa es PYME si lo es en la mayoría de sus adjudicaciones que lo indican (todas sus adjudicaciones, no solo las filtradas). Una sola fila no basta: una fuente puede marcar como PYME a una gran empresa en algunas adjudicaciones.
IVA: cada importe se sirve tal como lo publica su fuente, con o sin IVA, y la ficha de cada contrato lo dice junto al importe («con IVA», «sin IVA» o «IVA no consta»). Las sumas mezclan importes con y sin IVA de fuentes distintas: la portada y el explorador lo avisan.
Además, por defecto se excluyen de las cifras del explorador los contratos con importe corregido de más
de 1.000 M€. Todas las filas corregidas o excluidas se publican, con su motivo, en
outliers.parquet.
Fechas: contratos sin fecha y años imposibles
El campo year de los datos unificados es la clave de partición con la que el ETL
reparte los contratos. Un contrato sin fecha (ni de adjudicación, ni de publicación, ni el ejercicio que declara la
fuente) va a la partición year=9999. Ese 9999 no es un dato: equivale a un valor vacío, que el
formato Parquet no admite como clave de partición. Se deja así en los datos descargables para que se pueda ver
qué contratos no traen año y de qué fuente son.
En la web solo cuentan los años verosímiles, de 1990 a hoy: los periodos de las fuentes, las fichas y el explorador, el filtro de año del explorador y la faceta de año del buscador. Los contratos sin fecha o con un año imposible (una errata de la fuente, como 2029) se sirven tal cual, pero no dan periodos, y al ordenar por fecha van al final. Si una ficha no tiene ningún año verosímil, su periodo sale como «—».
Volumen, en vivo: 175.710 contratos sin fecha y 81 con un año fuera de 1990–2026.
- Plataforma estatal (PLACSP): 16 con un año imposible
- Catalunya (Registre): 4 sin fecha (0,00 % de la fuente) · 33 con un año imposible
- Comunidad de Madrid: 3.692 sin fecha (0,13 % de la fuente) · 1 con un año imposible
- Catalunya (PSCP): 7 sin fecha (0,00 % de la fuente) · 14 con un año imposible
- C. Valenciana (menores): 1 con un año imposible
- Región de Murcia: 43 sin fecha (0,00 % de la fuente)
- País Vasco: 66 sin fecha (0,01 % de la fuente) · 16 con un año imposible
- Asturias: 7 sin fecha (0,00 % de la fuente)
- C. Valenciana (REGCON): 1 sin fecha (0,00 % de la fuente)
- Extremadura: 9 sin fecha (0,00 % de la fuente)
- Catalunya (menores): 171.295 sin fecha (100,00 % de la fuente)
- Castilla y León: 547 sin fecha (0,32 % de la fuente)
- Aragón: 39 sin fecha (0,03 % de la fuente)
7. Deduplicación e identificadores
Cada fila tiene una clave estable dentro de su fuente. Las cifras de la web (portada, buscador, explorador y fichas) cuentan las filas tal como se sirven: los duplicados entre fuentes todavía no se quitan (ver cruces entre fuentes) y las filas repetidas dentro de una misma fuente (misma empresa, órgano, fecha, importe y expediente), 39.601 en la última actualización, se sirven y se cuentan:
id_canonical- Identificador único de cada fila: fuente, tabla y clave de la fuente. Un mismo contrato publicado en dos fuentes (p. ej. un contrato de Osakidetza en EUSKADI y en la PLACSP por agregación) tiene dos identificadores y cuenta dos veces en la suma de todas las fuentes.
- NIF normalizado
- Validado con checksum LCSP. Se mantiene también el NIF "raw" para trazabilidad.
- Nombres normalizados
- Razón social normalizada (mayúsculas, sin tildes y sin la forma jurídica final, como «S.L.») para juntar las variantes de escritura del mismo NIF.
- Órganos sin NIF
- El NIF del órgano solo viene en una de cada cinco filas: sin él, los contratos de un órgano se agrupan por su nombre normalizado (mayúsculas, sin tildes ni signos). Puede juntar órganos distintos que se llamen igual; la ficha lo avisa.
- CPV con división pre-computada
- Cada CPV se trunca a 2 dígitos (división) para agregaciones rápidas. El código completo se mantiene.
- Lotes
- Un anuncio del TED puede corresponder a varias adjudicaciones en la PLACSP. El cruce con el TED agrupa los lotes (criterio E4) con una tolerancia de importe de ±10 %.
8. Actualización
La web se reconstruye cada semana con lo último que ha descargado cada fuente. Cada cuánto se descarga cada una:
| Fuente | Descarga | Notas |
|---|---|---|
| PLACSP | Semanal | Sindicación ATOM/XML de la plataforma |
| TED | Semanal | API del TED; hasta 2019, su CSV masivo |
| Andalucía, Aragón, Asturias, Castilla-La Mancha, Castilla y León, Extremadura, La Rioja, Región de Murcia | Semanal | Portales y datos abiertos de cada comunidad |
| Cataluña (Registre, PSCP, Generalitat) y Barcelona | Semanal | Datos abiertos de la Generalitat y del Ayuntamiento |
| Comunitat Valenciana (REGCON y menores) | Semanal | Datos abiertos de la Generalitat, universidades y entidades locales |
| País Vasco | Semanal | KontratazioA |
| Ayuntamiento de Madrid y ayuntamientos con datos propios | Semanal | Ficheros de datos abiertos de cada ayuntamiento |
| Comunidad de Madrid | Mensual | Exportación del buscador del portal por ventanas de fecha |
| Galicia | Mensual | Listados y fichas de contratosdegalicia.gal |
| Cataluña (menores) y BORME | Sin actualización periódica por ahora | La web usa la versión anterior de estos datos |
La fecha de la última actualización se indica en el pie de cada página. Para detalle por fuente, consultar el último Release en GitHub.
9. Limitaciones conocidas
Para mantener auditabilidad, lo que no está cubierto se enumera explícitamente:
Funcionalidad pendiente de integrar en el sitio
Estos análisis existen como procesos y conjuntos de datos descargables en el repositorio, pero todavía no se reflejan en el explorador:
- Cruce PLACSP↔TED por contrato: el conjunto
crossval_sara_v2.parquetexiste, pero la web no marca todavía en cada contrato si un SARA no está en el TED. - Señales BORME×PLACSP: las 5 señales (empresa recién creada, capital muy bajo, etc.) se calculan fuera de la web y no aparecen en las fichas.
- Puntuación de calidad por contrato: los 20 indicadores existen como columnas en
calidad_licitaciones_resultado.parquet, pero el explorador no permite filtrar por ellos ni los muestra junto a cada fila. - Histórico mercantil: las fichas de empresa resumen el BORME, pero no enseñan el histórico completo (constituciones, ampliaciones, administradores).
Limitaciones inherentes a las fuentes
- Calidad heredada: según el análisis de calidad publicado, el 31,8 % de los importes de adjudicación de la PLACSP tienen un formato no válido y el 33,4 % de los NIF no pasan la comprobación de su letra de control. No es un defecto de esta web: son los datos tal como los publican los organismos.
- Cobertura territorial parcial: 13 comunidades autónomas tienen una fuente propia en la web (Andalucía, Aragón, Asturias, Castilla y León, Castilla-La Mancha, Cataluña, Extremadura, Galicia, Región de Murcia, Comunidad de Madrid, País Vasco, La Rioja, Comunitat Valenciana). El resto se cubre a través de la PLACSP, por adhesión.
- Cobertura temporal por fuente: cada fuente cubre el periodo que publica; está en la tabla de la sección 2.
- Acuerdos marco con importe agregado: algunos contratos reúnen en una sola entrada varios años de un acuerdo marco y deforman las clasificaciones por importe (de ahí que los importes de más de 1.000 M€ no cuenten).
- Datos en lengua cooficial: Los nombres de organismos y objetos de contrato pueden aparecer en aragonés, catalán, euskera o gallego. No se traducen automáticamente.
Limitaciones del motor
- Búsqueda por texto: el buscador (Meilisearch) cubre los 25.305.439 contratos. Tolera erratas, pero no entiende sinónimos ni el sentido de la búsqueda.
- Detalle del explorador: el panel de detalle excluye siempre los contratos de más de 1.000 M€, esté o no marcada la casilla de los filtros, para que los acuerdos marco con el tope de varios años no deformen el perfil de la entidad.
10. Descarga de los datos
Todos los datasets están publicados en formato Parquet en GitHub Releases . Los programas de descarga (scrapers) y de procesamiento de los datos son abiertos; el código de esta web, no por ahora.
.parquet y .csv
del repo usan Git LFS. Si haces fork o descargas el ZIP del repo desde el botón
"Code" verde, solo obtienes punteros (~130 bytes), no los datos reales. La forma
correcta es:
- Recomendado: Descarga directa desde Releases (sin LFS)
git clone+git lfs pull(requiere Git LFS instalado)- Tras hacer fork,
git lfs pullen tu copia
ZIPs disponibles (última release)
| Archivo | Contenido | Tamaño |
|---|---|---|
nacional.zip | Licitaciones PLACSP | 1,34 GB |
catalunya.zip | Datos Catalunya (contratación, subvenciones, RRHH...) | 1,06 GB |
borme.zip | Registro Mercantil — actos mercantiles + cargos (seudonimizados) | 750 MB |
ted.zip | Tenders Electronic Daily — España | 217 MB |
valencia.zip | Datos Valencia (14 categorías) | 120 MB |
andalucia.zip | Contratación Junta de Andalucía | 114 MB |
euskadi.zip | Contratación Euskadi | 109 MB |
comunidad_madrid.zip | Contratación Comunidad de Madrid | ~90 MB |
madrid_ayuntamiento.zip | Actividad contractual Ayuntamiento de Madrid | ~40 MB |
galicia.zip | Contratación pública Xunta de Galicia (CM + LIC) | ~35 MB |
asturias.zip | Contratación centralizada Principado de Asturias | ~21 MB |
Licencias
- España (PLACSP, autonomías): Licencia de Reutilización del Sector Público
- Galicia: Ley 1/2016 de transparencia y buen gobierno de Galicia
- Asturias: Portal de Transparencia del Principado de Asturias
- TED (UE): EU Open Data Licence
- BORME: Condiciones de Reutilización BOE — Fuente: Agencia Estatal Boletín Oficial del Estado
Cómo usar los datos descargados (pandas)
Una vez descargado el ZIP correspondiente, los Parquet se leen con pandas en una línea:
# Nacional (PLACSP)
df_nacional = pd.read_parquet('nacional/licitaciones_espana.parquet')
# TED España
df_ted = pd.read_parquet('ted/ted_es_can.parquet')
# Catalunya — contratos menores
df_cat = pd.read_parquet('catalunya/contratacion/contractacio_menors.parquet')
# BORME — actos mercantiles (cargos seudonimizados)
df_borme = pd.read_parquet('borme/data/borme_empresas_pub.parquet')
# Calidad — una fila por contrato de la PLACSP
df_q = pd.read_parquet('calidad/calidad_licitaciones_resultado.parquet')
Ejemplos de análisis típicos:
# Los 10 adjudicatarios nacionales con más importe
df_nacional.groupby('adjudicatario')['importe_sin_iva'].sum().nlargest(10)
# Contratos SARA no publicados en TED
df_q[df_q['INT-CONS-20'] == False].groupby('organo_contratante').size().nlargest(10)
# Score medio de calidad por órgano
df_q.groupby('organo_contratante')['score_calidad'].mean().nlargest(20)
# Constituciones de empresas en BORME por año
constit = df_borme[df_borme['actos'].str.contains('Constitución', na=False)]
constit.groupby(constit['fecha_borme'].dt.year).size()
# BORME: administradores en más de una empresa (red de cargos)
df_cargos = pd.read_parquet('borme/data/borme_cargos_pub.parquet')
multi = df_cargos.groupby('persona_hash')['empresa_norm'].nunique()
print(f"Personas en >1 empresa: {(multi > 1).sum():,}")
Más ejemplos y rutas de archivos en el README del repo.