Visualizing the Canton of Bern financial plan

Last week the government of the Canton of Bern presented a proposed budgetary reform for 2014 aiming at savings of up to 490 million francs a year. Working out the right strategy is a big, ongoing project, a challenge of financial analysis and political collaboration – we want to do our part to help ourselves and common citizens like us make sense of the complexity involved. To this end, Thomas Preusse, Matthias Stürmer and I have extracted and transformed this data and visualized it here: http://be-asp.budget.opendata.ch

In our app, the capital and resource savings are represented per year and for each Directorate. Both the savings pot 1 (recommended by government measures) as well as in pot 2 (not recommended by the government measures) are presented. All measures are also listed in a table. When you click on the circles and table entries, detailed information from the report is shown.

The planned savings were extracted from the 142-page Report of the Governing Council – Supply and structure inspection (ASP 2014). This PDF contained a rather uniform structure, with a table overview that was used to create the main visualization, and detailed line items which we extracted from the following pages.

@tpreusse undoubtedly deserves most of the credit for this effort – managing to design and develop a brand new frontend layout suitable for this new app over the weekend, work nights to roll in feedback and corrections. His mastery of the data visualization framework D3.js is evident, the custom force-directed graph component something he has been working on for the past year – and he assures me that his goal is also to release a more general-purpose version for the open source community.

I was tasked with mining the data, creating a Python script that uses pdfminer to parse the PDF, and a bucket of regular expressions to make sense of it. Note that while all of the items get parsed, corrections need to be made to the data such as cleaning up hyphens and adding a few missing statistics. This script is also compatible with ScraperWiki.

Many thanks to @maemst for having the idea, getting the data to us fresh off the web, hustling and helping to realise this project with his expert advice. If only more people were this dedicated to openness…

Now what are you waiting for, go help our canton save its budget!

Cross posted to our community wiki: http://make.opendata.ch/forum/discussion/98/