demo técnica · sector público
Anticipar la rebaja y las licitaciones desiertas en la contratación pública
Sellamos las reglas antes de mirar 2024 y luego corrimos el examen sobre 120.494 licitaciones reales. En la rebaja le ganamos a la regla simple; en las desiertas la regla simple caza más casos y el modelo ordena mejor el riesgo. Con sus fallos y sus peros.
En España se publican cada año cientos de miles de licitaciones públicas: concursos por los que una administración compra algo, desde limpiar un edificio hasta construir una carretera, y las empresas pujan por hacerlo. Casi todo eso es público, y deja un rastro de datos enorme.
Dos cosas de ese rastro valen dinero antes de que ocurran. Una es la rebaja: cuánto más barato que el presupuesto de partida acaba adjudicándose el contrato, lo que en la contratación pública llaman la baja de adjudicación. La otra es que la licitación quede desierta, es decir, que nadie se presente o que ninguna oferta valga y el concurso se cierre sin adjudicar. Una de cada diez queda desierta. Saber de antemano la rebaja probable, o el riesgo de que un concurso se quede vacío, le sirve a la empresa que decide si presentarse y a la administración que quiere que su concurso no fracase.
La conclusión, por delante: el protocolo de taparle el futuro funciona y es verificable. El modelo estima la rebaja mejor que una regla simple, y en el riesgo de que una licitación quede desierta gana en la calidad de la probabilidad aunque no en cobertura. Además sabe cuándo callarse: se abstiene en el 11% de los casos.
estado: examen corrido el 15 de julio de 2026
El orden importa y se respetó: primero se sellaron las reglas, después se corrió el modelo. Las fórmulas, los umbrales y la fecha de corte quedaron por escrito y sellados el 15 de julio de 2026, antes de calcular una sola predicción. El sello es criptográfico (OpenTimestamps, anclado en Bitcoin), de forma que nadie, tampoco nosotros, pudo retocarlas después.
Con las reglas ya cerradas se corrió el examen: entrenamos solo con lo resuelto hasta el 31 de diciembre de 2023 y predijimos sobre 120.494 lotes publicados en 2024 y resueltos en 2024. Los números de esta página salen de ese examen.
| Año | Publicadas | Sin resolver aún | Con resultado | Adjudicadas | Desiertas | Desistimientos y renuncias |
|---|---|---|---|---|---|---|
| 2022 | 231.733 | 27.938 | 203.795 | 178.158 | 22.614 | 3023 |
| 2023 | 251.028 | 27.679 | 223.349 | 198.411 | 21.835 | 3103 |
| 2024 | 261.674 | 28.375 | 233.299 | 209.373 | 20.476 | 3450 |
| Año | El habitual del órgano | Otra con historial | Recién llegada | Sin NIF identificable |
|---|---|---|---|---|
| 2022 | 8377 | 117.773 | 42.135 | 9873 |
| 2023 | 9882 | 146.381 | 31.896 | 10.252 |
| 2024 | 10.768 | 165.502 | 23.347 | 9756 |
Lo que ya tenemos verificado
Antes de prometer una predicción, el trabajo aburrido: descargar el histórico oficial, parsearlo, quitar duplicados y expedientes anulados, y comprobar a mano que los números cuadran con la ficha pública de cada contrato. Eso está hecho.
744.435
líneas de adjudicación, a grano de lote, en la tabla final
560.462
expedientes vivos, tras descartar 45.017 anulados
8,8 a 11,1%
quedan desiertas, según el año (cae con los años)
6%
rebaja mediana de adjudicación (media 16%, cola larga)
30%
se adjudica sin rebaja: al precio de salida, muchas con un solo licitador
34%
de las líneas son de concursos con varios lotes: tratarlos como uno solo sería un error
Los datos se cotejaron a mano contra la ficha pública de cuatro contratos reales, y los cuatro cuadran al 100% en presupuesto, importe de adjudicación, adjudicatario, número de licitadores y resultado. Contadores, desglose por año y por sector, y comprobación del dato: las tres capas pasan.
Cómo lo hicimos
El método es el mismo de todas nuestras demos: un backtest con el futuro tapado. Elegimos una fecha de corte, entrenamos el modelo solo con las licitaciones anteriores a esa fecha, sellamos las reglas, y solo entonces destapamos lo que pasó después para ver si la predicción acertó. Sellar significa dejar las fórmulas y los umbrales por escrito antes de mirar, de forma que no se puedan retocar para que el resultado quede bonito.
El mayor riesgo técnico aquí tiene nombre: la fuga de futuro. El histórico oficial es un archivo que se va actualizando, y un mismo expediente aparece varias veces según cambia de estado. Si el corte no se hace por la fecha de cada aviso, se cuela información del futuro y el backtest miente. Por eso guardamos por separado la fecha de cada publicación y la de adjudicación, y el corte se hizo por ellas, nunca por el año del fichero. Que no hubiera trampa con el futuro lo comprobamos por tres caminos: por diseño (cada estadística histórica solo cuenta lo resuelto antes del día de publicación), con tests automáticos, y recalculando a mano sobre un caso real hasta cuadrar el número exacto con la máquina.
Las tres entregas están corridas. Los resultados, debajo.
primera entrega · hecha
La rebaja y las desiertas
Anticipamos cuánto bajaría una adjudicación respecto a su presupuesto, y el riesgo de que el concurso quedara desierto. Era lo más directo: los dos datos están limpios y computables. El resultado, justo abajo.
segunda entrega · hecha
Qué concursos encajan con una empresa
Un radar que, a partir de lo que cada empresa ya ganaba, le señala las licitaciones nuevas que le encajan. Le gana a la regla simple por el doble del margen exigido. El resultado, más abajo.
tercera entrega · hecha
Quién se lo lleva, en agregado
Anticipar qué empresa se adjudica cada contrato. El resultado incómodo: la inercia le gana al modelo, y el techo real es mucho más bajo del que esperábamos. Más abajo.
El resultado verificable
El examen se corrió sobre 120.494 lotes de 2024. El veredicto es doble. Todo se compara contra una regla simple, la que cualquiera podría aplicar sin modelo: para la rebaja, predecir siempre la que es típica de ese sector; para las desiertas, la tasa de desiertas que ese sector y ese tipo de concurso traían de antes. Ganarle a esa regla es la condición de éxito, no un número bonito.
5,7 / 6,4 pp
error típico global, en puntos porcentuales (modelo / regla simple): el modelo se acerca más
1,2 / 4,7 pp
en el tercio que se adjudica sin rebaja, el modelo casi clava el cero (modelo / regla simple)
8 / 8 pp
en competencia real, empate técnico: ahí acertar la rebaja exacta es difícil (modelo / regla simple)
Cómo leerlo: el error típico es cuántos puntos porcentuales, en un caso normal, nos separamos de la rebaja que finalmente ocurrió (por eso menor es mejor). El modelo gana en conjunto y gana con holgura donde hay señal aprendible: reconoce el tercio de contratos que se cierran al precio de salida y predice cerca del cero, mientras la regla simple arrastra siempre varios puntos de error ahí. En competencia real, predecir la rebaja concreta es genuinamente difícil y apenas mejoramos a la regla simple. La ganancia grande viene del caso fácil. Y contra la vara que dejamos sellada antes de mirar: el 69,9% de nuestras predicciones cae dentro de la banda de 10 puntos que fijamos en el pre-registro (la regla simple, el 68,7%).
9,9%
de las desiertas caza el modelo como semáforo de sí/no, a igual precisión
15,5%
caza la regla simple: más cobertura que el modelo, a igual precisión
12%
cuando el modelo dice 12% de riesgo, queda desierto el 12%: la probabilidad se cumple
Cómo leerlo: como semáforo de sí/no a igual precisión, la regla simple caza más desiertas que el modelo. Donde el modelo sí gana es en la calidad de la probabilidad: ordena mejor el riesgo y sus porcentajes dicen lo que son (cuando avisa de un 12% de riesgo, queda desierto un 12%). Sirve para priorizar dónde mirar primero, no para un semáforo tonto.
11%
de los lotes el sistema dice "no lo sé" y no puntúa, sobre todo en órganos con poca historia previa. Cae dentro de la banda del 10-20% que fijamos antes de mirar. Sobre lo que no se abstiene, los números de arriba se cumplen. Un sistema que sabe cuándo no sabe da más confianza que uno que responde siempre.
Un vistazo a los fallos
Dos de los fallos más gordos, con su ficha:
- Falsas alarmas. Tres obras de la empresa pública Tragsa, con presupuestos parecidos, recibieron un 33,6% de riesgo de quedar desiertas por caer en un cruce de sector y procedimiento con histórico alto. Las tres se adjudicaron y se firmaron sin problema: el riesgo del sector no manda sobre un comprador recurrente que casi siempre cierra sus obras.
- Desiertas que nadie anticipaba. Tres expedientes a los que el modelo dio un 0,5% de riesgo acabaron desiertos: un servicio de una autoridad portuaria y dos suministros, a defensa y a un instituto tecnológico valenciano. Cayeron en sectores con histórico de desierta bajísimo; el modelo se fió del histórico y el histórico falló. Es la sorpresa que ningún dato previo veía venir.
El radar: qué concursos encajan con una empresa
La segunda entrega construye un radar: para cada empresa con historial suficiente, ordena las licitaciones nuevas de cada mes por lo bien que encajan con lo que esa empresa ya ganaba antes, y le enseña las diez primeras. La medida es el recall@10: de los concursos que la empresa acabó ganando ese mes, cuántos estaban en esa lista de diez. Con el futuro tapado igual que antes, el radar le gana a una regla simple ("más del mismo sector y del mismo comprador") por el doble del margen que fijamos de antemano.
+9,2 pp
margen del radar sobre la regla simple en recall@10 (30,4% frente a 21,2%); el listón sellado pedía 5 pp
47%
acierto del radar en las empresas con poco historial (de 5 a 9 contratos ganados), frente al 31% de la regla simple: con el perfil delgado, leer el texto rescata más
20,9%
de las empresas con algún historial son de las que el radar se fía y opina (11.123 de 53.314); del resto se abstiene
Cómo leerlo: el radar acierta más cuanto más delgado es el perfil de la empresa, que es justo donde una regla de "más de lo mismo" tiene menos con qué trabajar. El pero grande va por delante: solo sabemos qué ganó cada empresa, no a todo lo que se presentó, así que una licitación que le encajaba pero perdió cuenta aquí como fallo. El recall que medimos es un suelo, el radar real acierta más de lo que este examen le reconoce. Los embeddings que leen el objeto del contrato son un modelo de pesos abiertos (Qwen3) corrido en un ordenador local, sin llamar a ninguna API.
Quién trabaja con quién
El mismo histórico responde a otra pregunta: cruzando los doce órganos que más adjudican con sus adjudicatarias, ¿aparecen patrones? Aparecen, y son sectoriales y limpios. No es un ranking ni una acusación: es el dibujo del reparto, tal y como consta en las fichas públicas.
| Órgano | Adjudicaciones | Principales adjudicatarias nombradas |
|---|---|---|
| TRAGSA | 16.067 | reparto disperso: casi todo (16.053) fuera del top 15 |
| Hosp. Clínico Valladolid | 11.916 | IBERDROLA 143, Becton Dickinson 143, Medtronic 139, B. Braun 115 |
| Central de Compras del Estado | 11.632 | CANON 620, IBERDROLA 450, INETUM 425, ENDESA 376, CEPSA 335 |
| Renfe Ing. y Mant. | 8216 | Castro Perero 514, I2M 432, Faiveley 359 |
| Paradores | 6811 | Frutas y Verduras Massanassa 319 |
| H.U. Insular (Canarias) | 5780 | B. Braun 108, Medtronic 76, Palex 53 |
| Salud Cantabria | 4442 | Becton Dickinson 181, B. Braun 150, Medtronic 148, Palex 117 |
| ADIF (Presidencia) | 3582 | reparto disperso: casi todo fuera del top 15 |
| Residencias Asturias | 3222 | INETUM 19, Medtronic 18, Telefónica Sol. 17 |
| FREMAP | 3059 | B. Braun 10, INETUM 8, Medtronic 8 |
| Salud Murcia | 2809 | Medtronic 100, Palex 58, B. Braun 14 |
| RTVE (compras) | 2765 | Telefónica Sol. 18, INETUM 11, IBERDROLA 9 |
Quién se lo lleva: la inercia le gana al modelo
La tercera entrega es la más ambiciosa y la que peor resultado da. La pregunta era si se puede anticipar qué empresa ganará una licitación. La regla más tonta que existe, "lo gana quien más veces se lo ha llevado antes con ese mismo comprador en ese mismo sector", acierta el nombre exacto el 12,1% de las veces. Nuestro modelo, con el futuro tapado, se queda por debajo: 9,5%. No le gana a la inercia, y el pre-registro ya decía que, si no le ganábamos, el hallazgo sería la inercia misma.
12,1 / 9,5%
acertar el nombre exacto del ganador a la primera (la inercia / el modelo): aquí gana la regla simple
59,2%
es el techo alcanzable: cuatro de cada diez licitaciones las gana una empresa nueva para ese órgano, imposibles con este método. Nuestro pre-registro lo estimó en 95,6%, inflado por medir sin tapar el futuro
16,3%
de los casos el sistema se abstiene, cuando hay demasiados candidatos o poca confianza; dentro de la banda del 10-20% fijada antes de mirar
Cómo leerlo: acertar a la primera es el top-1; si damos tres nombres (top-3), la inercia mete al ganador el 22,8% de las veces y el modelo el 20,1%; en una lista de diez empatan (35,8% frente a 35,6%). El modelo bate a los baselines flojos, así que ha aprendido algo real, pero al mezclar señales a veces piensa de más y pone por delante a una empresa más grande en lugar de la que realmente repite. La lectura útil para una empresa no es adivinar el nombre, es saber dónde no hay un proveedor de siempre: ahí es donde una recién llegada tiene una oportunidad real.
Los peros, desde ya
- No es el 100% del gasto público. Trabajamos con los perfiles del contratante del Estado, sin los contratos menores ni las plataformas propias de algunas comunidades autónomas. Es una porción grande y representativa, pero no el total.
- Esto no es terreno virgen. Investigadores de la Universidad de Oviedo ya publicaron estimadores muy parecidos sobre datos españoles de contratación: un estimador del precio de adjudicación y un recomendador de licitadores. El ML de esto ya está inventado. Lo nuestro no es el modelo, es el protocolo de sellar las reglas antes de mirar y enseñar la predicción contra lo que pasó después.
- La cola de la rebaja está sucia en crudo. Hay expedientes con presupuestos ínfimos que disparan porcentajes absurdos; para las estadísticas hay que acotar al rango plausible, y cuando la rebaja no es computable se deja vacía, nunca a cero falso. Aun así se cuela algún artefacto: los tres peores errores de la rebaja son adjudicaciones con una rebaja "del 100%" (importe casi cero frente al presupuesto), que casi con seguridad no son rebajas reales sino ruido del dato, importes cargados mal. El modelo ni puede ni debe predecir eso.
- Un 18% de las adjudicaciones se queda fuera del corte. No traen fecha de adjudicación en el dato crudo, así que no se pueden situar en el tiempo sin inventarla, y no la inventamos. El examen sigue con 102.867 adjudicaciones, de sobra para medir.
- El número de licitadores no siempre consta. Está en algo menos de nueve de cada diez líneas con resultado. En cualquier caso no se usa para predecir: es información posterior a la publicación.
¿Y en tu empresa?
La misma lectura del histórico sirve para presupuestar una obra o un servicio leyendo lo que costaron los parecidos en vez de a ojo, para saber de antemano qué convocatorias, ofertas o concursos internos van a quedarse sin respuesta, o para estimar a cuánto cerrará una subasta antes de entrar en ella.
Si alguno de estos experimentos te recuerda a un problema tuyo, un histórico que nadie aprovecha, decisiones que dependen de la intuición de un veterano, datos públicos que nadie cruza, escríbenos y lo comentamos. Sin rollo: te decimos si se puede o no.
Hecho con Python (lxml en streaming sobre el histórico oficial), almacenamiento en Parquet y aprendizaje automático clásico (scikit-learn), con semilla fija y versiones ancladas para que el experimento se reproduzca de cero. La decisión no la toma ningún modelo de lenguaje: es estadística y modelos clásicos sobre datos públicos.
Datos y agradecimientos
Este experimento existe porque la contratación pública española se publica en abierto. Gracias.
- Plataforma de Contratación del Sector Público (Ministerio de Hacienda): los datos abiertos de perfiles del contratante.
Sin afiliación con ninguna administración ni empresa. Los nombres de adjudicatarios que puedan aparecer son los públicos de las propias fichas de contratación.
¿Puedes usar esto? Sí. Nuestros cómputos, el embudo y los textos de esta página se publican bajo licencia CC BY 4.0: úsalos, compártelos o analízalos libremente, citando la fuente, Team Banzai (team-banzai.com). Los datos de contratación pública conservan las condiciones de su fuente oficial.