¿Cómo se hizo?

Metodología

En esta página trataremos de mostraros la metodología que hemos seguido de cara a poder construir esta web, nos centraremos en las fuentes de datos y los tratamientos que hemos realizado para conseguir transformar la información original en la información que aquí os presentamos.

El Boletín Oficial del Estado es el lugar en el que se publican los indultos concedidos dentro del territorio nacional. Su concesión se tramita actualmente a través de un Real Decreto.

Como primer paso hemos procedido a descargar todas las disposiciones de la Serie A del BOE (es decir, descartando las secciones de Administración de Justicia, Anuncios y las sentencias, declaraciones y autos del Tribunal Constitucional) desde la actualidad hasta el año 1996 en formato HTML. De hecho, nuestros datos llegan a ese año porque antes de 1996 el BOE no está en HTML. En este ejemplo podéis ver una disposición en la que se convocan unas pruebas selectivas para el Cuerpo Superior de Técnicos de Instituciones Penintenciarias.

Nota: Hemos utilizado Ruby para realizar esta descarga automatizada de las disposiciones. En los próximos días publicaremos todo el código utilizado para estas tareas.

Una vez descargada la información base, la hemos procesado con el objetivo de localizar y separar los indultos del resto de disposiciones del BOE. Para ello nos hemos basado en el propio título de la disposición.

Este es un ejemplo del título de un indulto tipo: "Real Decreto nnnn/2013, de dd de enero, por el que se indulta a don NNNNN AAAAA AAAAAA"

Nota: Hemos utilizado Ruby y Expresiones Regulares para realizar esta identificación.

Una vez localizados los indultos, realizamos un nuevo proceso en el que extraemos de forma automática toda la información relevante del indulto. De cada indulto extraemos los siguientes campos (en caso de que estén presentes):

  • Identificador de la disposición del BOE
  • Fecha de publicación
  • Ministerio: Justicia o Defensa
  • Género del indultado (*)
  • Tribunal sentenciador
  • Fecha de la condena
  • Rol del indultado en el delito
  • Crimen por el/los que fue condenado y su(s) respectiva(s) condena(s)
  • Año de inicio y fin de la conducta delictiva por la que fue condenado
  • Tipo de indulto: Conmutación de pena, indulto parcial, indulto total.
  • Reducción/Nueva Condena:
  • Condición: Condicionantes al indulto concedido
  • Fecha de concesión del indulto
  • Ministro firmante

(*): Estamos analizando la relevancia de la Ley de Protección de Datos a la hora de tratar la información de indultos. Mientras tanto hemos decidido no trabajar en ningún momento con los nombres de los indultados en ningún paso de nuestro proceso.

En el año 2000 la Asociación Contra La Tortura fue condenada a pagar 60 millones de pesetas de multa (360.000€ del año 2000) por crear una lista de policías y funcionarios de prisiones condenados y/o acusados de torturas. La Audiencia Nacional afirma en la sentencia que sólo la Administración puede crear una base de datos de "infracciones penales o administrativas", "con independencia del origen público o privado del dato".

Nota: Hemos utilizado Ruby y Expresiones Regulares para realizar esta extracción de información

Debido a que gran parte del trabajo realizado en los pasos 2 y 3 de la metodología está basado en un procesamiento complejo de texto y que siempre existen errores de escritura o excepciones hemos implementado un proceso doble de verificación de resultados:

Verificación Interna: Aquellos indultos que una vez detectados no hemos conseguido procesar correctamente de forma automática los hemos separado y hemos procedido a una depuración manual de los mismos para incorporarlos al inventario total.

Cabe destacar que, por una vez, hemos encontrado una ventaja en el complicado lenguaje legislativo del que siempre nos hemos quejado amargamente: se trata de un lenguaje muy estructurado que hace la vida más fácil a los programadores.

Verificación Externa: Utilizando el buscador del BOE hemos realizado una segunda comprobación. Hemos buscado año por año las referencias que incluyen la palabra indulto en cualquier parte de su texto y las hemos contrastado con nuestros resultados. Así hemos encontrado por ejemplo algunos indultos que tenían errores ortográficos en el título de la disposición.

Nota: Hemos utilizado Excel para realizar dichas comprobaciones

Una vez obtenido el listado final de indultos desde 1996, hemos procedido a limpiar la información obtenida buscando pequeñas erratas de lenguaje ("autos" en vez de "autor" y cosas por el estilo). También hemos traducido las fechas a un formato más adecuado para su tratamiento informatizado ("12 de septiembre de 1997" → "1997-09-12")

Nota: Hemos utilizado Google Refine para realizar esta limpieza.

Partiendo de los datos del paso anterior, hemos procedido a obtener datos calculados que nos permiten realizar análisis más complejos, que publicaremos próximamente. Por ejemplo a partir de la información del campo Tribunal Sentenciador hemos extraído dos datos procesados:

  • Tipo de tribunal: Audiencia Provincial, Juzgado de lo Penal, etc.
  • Comunidad Autónoma: Donde está radicado dicho tribunal sentenciador

Nota: Hemos utilizado Google Refine y Google Geocoding API para obtener los datos auxiliares.

Hemos utilizado la clasificación de los delitos presente en el actual Código Penal (Títulos y Capítulos) para la categorización de los diferentes delitos y faltas sobre las que han sido concedidos indultos.

Hemos tomado esa decisión por ser una clasificación ampliamente utilizada por los propios informes del Ministerio de Justicia y también por el INE en todo lo relativo a estadísticas de condenados.

Cabe destacar que la clasificación de los delitos ha resultado una de las tareas más complicadas de nuestro trabajo ya que en un mismo indulto el condenado/a pudo haber sido sentenciado por cometer más de un delito o falta. (*) A continuación describimos brevemente este proceso:

  • Hemos procesado el campo Crimen y Sentencia extrayendo cada uno de los distintos delitos o faltas.
  • A continuación hemos descartado los posibles matices de cada delito (agravado, en grado de tentativa, etc) intentando simplificar al máximo el volumen de delitos a clasificar.
  • Hemos realizado un proceso de clasificación manual de algo más de 300 delitos en sus respectivas categorías.
  • Hemos solicitado ayuda a personas con conocimientos legales para que revisasen nuestro trabajo. ¡¡Muchas gracias Elena!!

(*): Debido a esta relación múltiple, hemos acordado que un indulto formará parte de una determinada clasificación de delitos siempre y cuando al menos uno de los delitos/faltas cometidos se encuadren en dicha clasificación. Esto significa que los números totales de la clasificación de delitos y de los indultos no es igual. En concreto, hay más delitos que indultos.

Nota: Hemos utilizado Google Refine, Excel y Ruby para esta clasificación.

Hemos incluido la información obtenida en una base de datos, hemos desarrollado una API de acceso a dicha base de datos y hemos creado esta web donde podéis realizar búsquedas, visualizar la información y obtener los datos "en crudo" para vuestros propios análisis.

El contenido de los boletines oficiales originales se encuentra bajo licencia de la Agencia Estatal del Boletín Oficial del Estado, que no tiene ninguna relación con este proyecto.

La licencia sobre el trabajo de recopilación y limpieza de la base de datos final es Open Database License 1.0, que permite la distribución y reutilización del contenido siempre y cuando se atribuya el origen y se mantenga la apertura de las obras derivadas. (Si quieres realizar obras derivadas cerradas ponte en contacto con nosotros.) Os agradeceríamos que si utilizáis esta información para realizar algún análisis nos lo contarais para poder enlazarlo desde nuestra web.

Para más información sobre la aplicación de procesamiento de la información y de esta web, desarrolladas bajo licencia de software libre, consulta nuestra documentación técnica.

Para establecer qué indultos son a delitos de corrupción y cuáles no hemos utilizado la clasificación que llevó a cabo el Consejo General del Poder Judicial (CGPJ) para sus estadísticas, que incluye ciertos artículos de algunos delitos del Código Penal: contra la ordenación del territorio, urbanismo y patrimonio histórico (Arts. 320 y 322); prevaricación de funcionarios públicos (Arts. 404, 405); del abandono de destino y de la omisión del deber de perseguir delitos (408); infidelidad en la custodia de documentos y violación de secretos (Arts. 413, 414, 415, 416, 417 y 418); cohecho (Arts. 419, 420, 421 y 422); tráfico de influencias (Arts. 428, 429 y 430); malversación (Arts. 432, 433, 434 y 435); fraudes y exacciones ilegales (Arts. 436, 437 y 438); negociaciones y actividades prohibidas a los funcionarios públicos y de los abusos en el ejercicio de su función (Arts. 439, 441, 442 y 443); y corrupción en las transacciones comerciales internacionales (Arts. 286, 3º y 4º).

Nuestra clasificación llega a nivel de delito, por lo que para saber cuáles pueden ser clasificados como corrupción y cuáles no necesitábamos bajar al nivel de artículo del Código Penal, que es el que utiliza el CGPJ.

En algunos casos, todos los artículos dentro de un capítulo estaban incluidos en la lista del CGPJ. Así, podemos incluir todos los indultos clasificados dentro de un determinado delito sin problemas. En otros, no había ningún indulto concedido a delitos de esas categorías, por lo que los ignorábamos. El problema surge cuando el CGPJ se refiere solo a algunos artículos dentro de un delito, por lo que hemos tenido que comprobar, uno a uno, que se correspondían con la clasificación. Se trata de los delitos de prevaricación de funcionarios públicos (el CGPJ no considera corrupción un tipo de delito que consiste en aceptar un nombramiento a sabiendas de no cumplir con las condiciones del puesto), del abandono de destino y de la omisión del deber de perseguir delitos (solo aplica a la omisión del deber de perseguir delitos) y cohecho (no incluye los delitos cometidos por particulares, por ejemplo).

Nota: Para la realización de la web hemos utilizado PostgreSQL, Sinatra, HTML5, Javascript. Las visualizaciones están realizadas con D3.js.

Y si habéis llegado hasta aquí simplemente querríamos daros la enhorabuena por la paciencia. ¡¡Gracias!!