Demasiadas veces han aparecido noticias de casos de corrupción de todo tipo en toda clase de organismos públicos. Esto ha llevado a que este sector se tome cada vez más en serio la transparencia de sus cuentas, y realmente estos últimos han supuesto una auténtica revolución en todo lo que está alrededor de la apertura de datos públicos.
El Open Data es de verdad una gran herramienta en manos de los políticos para demostrar que las cosas se están haciendo bien, pero no sólo eso, sino que realmente es también una oportunidad para las empresas privadas de poder usar estos datos y generar valor a partir de ellos.
Análisis de adjudicaciones de contratos públicos en el Ayuntamiento de Madrid
En este sentido, en Graph Everywhere hemos creado una herramienta que, usando datos de adjudicaciones de contratos del Ayuntamiento de Madrid, permite encontrar oportunidades a los licitantes y por supuesto también permite un control de estas mismas adjudicaciones para cualquiera que quiera analizarlas.
Los grafos juegan un papel crucial en este caso, ya que nos dan la capacidad de encontrar relaciones ocultas en estos datos y por tanto encontrar un valor donde no era posible hasta ahora.
¿Cómo hemos desarrollado el Grafo para este ejemplo?
Como vemos el modelo tiene el CONTRATO en el centro. Cada CONTRATO es de un TIPO_CONTRATO. Los DEPARTAMENTOS son los encargados de LICITAR (:BID) CONTRATOS, que se ADJUDICAN (:AWARDS) a un ADJUDICATARIO.
Consultas interesantes en este ejercicio
- Los 5 Adjudicatarios con más contratos adjudicados
MATCH ()-[r:AWARDS]->(a)
RETURN a.nameAwardee, count(r)
ORDER BY count(r) DESC LIMIT 5
a.nombreAdjudicatario | count(r) |
---|---|
CLECE S.A | 15 |
MERINO Y MERINO PRODUCCIONES S.L. | 14 |
FERROVIAL SERVICIOS S.A. | 14 |
HARTFORD S.L. | 13 |
CAR ET BUS MAINTENANCE IBERICA S.L. | 11 |
- Contratos adjudicados a FERROVIAL SERVICIOS SL
MATCH (j:Awardee {nameAwardee:'FERROVIAL SERVICIOS S.A.'})<-[:AWARDS]-
(c:Contract)<-[:BIDS]-(o:Department)
RETURN j,c,o
Esta visualización se ha realizado usando la herramienta Linkurious (http://linkurio.us/) donde hemos hecho que el tamaño del nodo dependa del volumen del contrato, así que vemos 2 contratos muy grandes, otros dos o tres medianos y el resto más pequeños.
- Detección de nuevas oportunidades de FERROVIAL SERVICIOS SL
Ahora vamos a entrar más en detalle con Ferrovial. ¿Cómo podemos mejorar? Buscaremos Contratos que no nos han sido adjudicados, pero dentro de Organismos donde sí hemos ganado algún contrato. Además nos centraremos en los contratos de más de 1 millón de Euros y que además el tipo de servicio asociado es alguno de los que nosotros hemos ganado.
match (j:Adjudicatario {nombreAdjudicatario:'FERROVIAL SERVICIOS S.A.'})<-[:ADJUDICACION]- (c:Contrato)<-[:LICITA]-(o:Organismo)-[:LICITA]-> (c_perdido:Contrato)-[:ADJUDICACION]->(competidor:Adjudicatario)
where j <> competidor and c_perdido.presupuesto > 1000000
match (c)-[:P_TIPO_CONTR]->(t)<-[:P_TIPO_CONTR]-(c_perdido)
return distinct competidor.nombreAdjudicatario,c_perdido.presupuesto
order by c_perdido.presupuesto desc
La siguiente tabla muestra el resultado de la consulta.
competidor.nombreAdjudicatario | c_perdido.presupuesto |
API MOVILIDAD S.A. | 6.701.517 |
CLECE S.A | 3.679.547 |
FOMENTO DE CONSTRUCCIONES Y CONTRATAS S.A. | 3.488.620 |
ORTIZ CONSTRUCCIONES Y PROYECTOS S.A. | 3.389.710 |
T-SYSTEMS ITC IBERIA S.A. | 2.909.307 |
SOCIEDAD IBERICA DE CONSTRUCCIONES ELECTRICAS S.A. | 2.887.899 |
DRAGO SOLUTIONS S.A. | 2.372.261 |
SOCIEDAD IBERICA DE CONSTRUCCIONES ELECTRICAS S.A. | 2.110.251 |
LIMPIEZAS ROYCA S.L. | 1.969.886 |
NEXUS INFORMATION TECHNOLOGY S.A.U. | 1.350.510 |
DRAGADOS S.A. | 1.343.837 |
DRAGADOS S.A. | 1.335.308 |
G.E.ESCUELAS URBANASS.L. | 1.199.317 |
FREYSSINET S.A. | 1.017.634 |
Conclusiones del estudio
Como hemos podido ver, el uso de los grafos nos permite un tipo de analítica en los datos que no es posible realizar de otra manera.
Y juntando esta tecnología con los Open Data las posibilidades son infinitas.