Presupuestos de Aragón: un ejemplo de transparencia y datos abiertos al servicio de la ciudadanía

Introducción

Los Presupuestos Generales de las administraciones públicas, a cualquier nivel, han sido hasta hace unos años, tradicionalmente un objeto opaco a la ciudadanía, que, a pesar de ser el proveedor de los fondos públicos a través de sus impuestos, solían recibir información parcial, descontextualizada, no suficientemente explicada y en formatos pocos manejables.

El objetivo del servicio de Presupuestos, en una primera fase, consisitó en ofrecer una visualización de los Presupuestos Generales de Aragón suficientemente intuitiva como para ser comprendida por personas sin experiencia previa, pero haciendo a la vez disponibles los detalles de cada elemento del presupueto para las personas interesadas en profundizar más. Esta primera fase mostró la realidad del presupuesto en su conjunto, cubriendo tanto el lado de los ingresos como el de los gastos, y tanto las cantidades previstas como los finalmente realizadas, siempre y cuando la información esté disponible.

El objetivo de la segunda fase fue extender la transparencia de los presupuestos de la comunidad a niveles inferiores: municipios y comarcas.

Funcionamiento

Las principales funcionalidades de la aplicación son:

  • Visualización de gastos e ingresos presupuestos, de forma jerárquica y según las cuatro clasificaciones usadas en los presupuestos: funcional (para qué se gasta), económica (en qué se gasta, o cómo se ingresa), financiación (origen y tipo de los fondos) y orgánica/institucional (quién gasta/ingresa).
  • Mostrar la información de los programas presupuestarios al máximo nivel existente, el nivel de partida.
  • Mostrar la evolución de los presupuestos desde 2006.
  • Búsqueda de texto libre en los presupuestos, facilitando encontrar cualquier dato.

Tecnología

Tecnologías utilizadas

La aplicación Presupuestos de Aragón fue desarrollada utilizando tecnologías web modernas y compatibles con dispositivos móviles (HTML5, CSS3 y Javascript, en concreto D3.js), frente al uso de componentes propietarios como Flash.

Todo el código fue liberado como código abierto, para facilitar su mantenimiento y evolución, y se puede encontrar aquí.

La aplicación web se desarrolló sobre Python 2.6, sobre la plataforma de código abierto Django 1.4.3, utilizando la arquitectura MVC (Model-View-Controller) común en aplicaciones web.

  • El modelo se almacena en las tablas de una base de datos relacional utilizando el componente de persistencia incluido por defecto en Django. Actualmente la aplicación sólo es compatible con PostgreSQL 8+.
  • Las páginas generadas por la aplicación están compuestas por mark-up compatible con HTML5, así como por código Javascript. Las visualizaciones están realizadas sobre la librería Javascript de código abierto D3, cuyo formato de salida es SVG, compatible sin necesidad de plug-ins adicionales con Firefox, Chrome, Safari e Internet Explorer 9, así como con las versiones móviles de estos navegadores. La aplicación no incluye formato ni componente multimedia adicional, como Flash, vídeo o audio.
  • El código de los controladores, encargados de procesar las peticiones de los usuarios, recuperar la información del modelo y entregársela a las vistas, está desarrollado en Python.

La aplicación no incluye ningún proceso de segundo plano, daemons o servidores adicionales, ni tareas batch que deban ejecutarse regularmente. Sí que incluye una serie de procesos de carga de datos, escritos en Python.

Escalabilidad

La aplicación es capaz de incorporar los nuevos datos presupuestarios que van apareciendo a lo largo del tiempo. De esta manera, la aplicación es una plataforma viva en la que muestra la evolución de los datos presupuestarios históricos.

Para evitar problemas de rendimiento, y aprovechando el hecho de que las páginas son idénticas para todos los usuarios, la aplicación hace un uso intensivo de técnicas de ‘caching’, pudiendo así servir las páginas demandadas por el usuario rápidamente y con un bajo uso de recursos, a pesar de su complejidad.

Datos

Carga de datos presupuestarios de Aragón

La aplicación lee la información presupuestaria a partir de los ficheros descargados de Aragón Open Data, sin necesidad de realizar ninguna modificación a estos. Por ejemplo, en Presupuesto del Gobierno de Aragón 2020 se encuentran los ficheros que mencionamos para ese año.

Muestra de fichero de Gastos consolidados de 2020

A la hora de estimar el espacio de almacenamiento en base de datos necesario para el funcionamiento de la aplicación solamente es necesario observar el espacio utilizado por los presupuestos, ya que son el único elemento de tamaño no despreciable:

  • Los presupuestos se publican anualmente en Aragón Open Data como una serie de ficheros CSV que ocupan menos de 1MB por año.
  • Una base de datos PostgreSQL con los presupuestos de 2006 a 20012 cargados ocupa, en el entorno de desarrollo, aproximadamente 5MB.

Ya que la aplicación no almacena ninguna información en el día a día, podemos esperar un crecimiento en su espacio necesario de aproximadamente 1MB al año.

Carga de datos de ejecución presupuestaria

La aplicación es capaz de mostrar los datos de ejecución presupuestaria a nivel de programa, si están disponibles. Si no están disponibles se mostrará sólo el presupuesto, sin que suponga un problema en la visualización. Estos datos se actualizan a partir de dos ficheros de texto CSV: ejecucion_gastos.csv y ejecucion_ingresos.csv, cuyo formato es el mismo que el de los ficheros presupuestarios.

Carga de los datos presupuestarios de municipios y comarcas

Los ficheros con información presupuestaria de municipios y comarcas son extráidos a través de un proceso ETL (Extract Transform Load), en el que se apunta a una base de datos y exporta el contenido en un formato similiar al de los ficheros presupuestarios descritos anteriormente.

Como se hace con el resto de presupuestos, a través de un script de carga se insertan en la base de datos PostgreSQL para que la aplicación los visualice correctamente.

Reutilización

Reutilización de la información

Uno de los objetivos de la aplicación es facilitar el análisis de los datos presupuestarios por parte de los ciudadanos o partes interesadas. Si bien las visualizaciones ofrecidas por la web responden a una porción significativa de las preguntas que se pueden plantear, es importante que los datos ofrecidos sean fácilmente exportables y reutilizables.

Para ello, la aplicación ofrece la posibilidad de descargar la información en formatos abiertos y reutilizables, siguiendo los principios del movimiento Open Data (Datos Abiertos). Así, es posible decargar un resumen de los gastos e ingresos a nivel de programa en un fichero CSV.

Captura de la aplicación de presupuestos donde se observa la descarga de la tabla en formato reutilizable.

Otras iniciativas que usan nuestro código

En Aragón Open Data estamos muy contentos de la aceptación que ha tenido el proyecto presupuesto.aragon.es. La aplicacón de visualización de presupuestos del Gobierno de Aragón ha tenido una buena repercusión a nivel nacional y prueba de ello son los ejemplos de reutilización del código informático que se han producido. Otras administraciones y organizaciones se han unido al ejemplo de presupuesto.aragon.es y han reutilizado e incluso mejorado nuestra aplicación para ofrecer una visión clara y real del destino de los fondos públicos.

Las iniciativas que están utilizando el código de presupuesto.aragon.es en la actualidad se pueden ver en el siguiente enlace.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s