See projects related to the European Parliament for background information, data, and results.

⚠️ This project has been archived

No future updates are planned. Feel free to continue using it, but expect no support.

Using open data dumps from Parltrack to analyze erroneous, and subsequently corrected, votes by Members of the European Parliament.

Developed during the Europarl Hackathon, in preparation for the European elections 2014.


  1. Install jq for the JSON processing.
  2. Download a fresh ep_votes.json.xz and unpack it somewhere. The unpacked ep_votes.json file is big (500MB+); please see the schema for an overview.


In both cases below, arguments default to $PWD/ep_votes.json and $PWD/$ISO8601UTCDATETIME, meaning ISO 8601 formatted UTC date/time for example ./2014-01-25T18:10:10Z.

erroneous-votes.sh [path/to/ep_votes.json [outdir]]

Creates JSON dumps with erroneous votes for a given ep_votes.json.

vote-counts.sh [path/to/ep_votes.json [outdir]]

Shows the number of votings and votes for a given ep_votes.json.

Displaying results

Use ep-the-corrections to consume the generated data.


☐ Split up extraction files to several pipe-able pieces, so the entire script doesn’t have to run every time. Most useful during development, as a complete run takes too long.
☑ Output aggregate data, such as total and filtered number of votings/votes and corrections, number of MEPs, votes, corrections per MEP, first/last voting dates, etcetera. Use a JSON format, and then update downstream visualization.

Copyright © 2014, 2015, 2016, 2017, Joel Purra All rights reserved.

When using ep-erroneous-votes, comply to the GNU Affero General Public License 3.0 (AGPL-3.0). Your donations are appreciated!