The final results from Septembers’s Wolesi Jirga elections in Afghanistan have been released on 2010.afghanistanelectiondata.org. The data browser provides a user interface that lets you explore election results from a country-wide level and then quickly drill down by province and district, all the way to the polling center and candidate level. While the final winners were announced by the Independent Election Commission (IEC) on November 24th, today is the first time the raw data is available to the public, thanks to the open data team at the National Democratic Institute (NDI).
This final set of data includes 3.9 million valid votes from the 4,691 polling centers that participated in the election, with results coming from all 34 provinces in Afghanistan and 370 out of 400 districts. The dataset does not include the 1.3 million votes that the IEC had invalidated prior to the release of the preliminary data on October 20th (almost a quarter of the nearly 5.6 million ballots cast) or the 238,542 votes that they invalidated between the October preliminary results and the final results from the end of November.
The site also provides comparisons between the final data and the interim data. For example between October and November, 238,542 ballots (6%) were discarded country-wide with some provinces significantly affected — like in Zabul and Nuristan where 67% and 40% respectively of the preliminary valid ballots were thrown out. The largest number of discarded ballots was 63,564 in Hirat, accounting for over 18% of preliminary votes. Other interesting comparisons between October 20th’s preliminary results and November 24th’s final results include:
- 30 leading candidates were disqualified, or 12% of the 249 delegates.
- 10 candidates were disqualified in Hirat, causing six of the 17 seats to change hands between the preliminary and final results.
- Bamyan, Nimroz, and Panjsher provinces had no changes at all
The raw data from both preliminary and final results is available to download in csv format from afghanistanelectiondata.org/open/data and there are a number of KML, tilesets, and pdf maps showing the data at afghanistanelectiondata.org/open/maps.
Building for speed
The site is built with Node.js and Express, and the data is stored in CouchDB. Node.js is ideal for a data-heavy site like this because it allows us to show an enormous amount of dynamic and complex data on each page without sacrificing speed or relying on greedy caches that can go stale. CouchDB worked well for this project because we needed to use one dataset, but display it in many different ways. CouchDB’s system of design documents and query by MapReduce allows it to transform data very efficiently.