Skip to main content

Cookie settings

We use cookies to ensure the basic functionalities of the website and to enhance your online experience. You can choose for each category to opt-in/out whenever you want.



Analytics and statistics


Export budget votes

Avatar: Dominik Peters
Dominik Peters

Is your feature request related to a problem? Please describe.
Some voting rules for participatory budgeting, in particular the Method of Equal Shares (which I'm developing with colleagues), need to know more than just the vote count for the project - it needs to know for each voter, the set of projects they voted for. (This allows the rule to select a fairer outcome where a higher percent of voters get at least one of their voted-for projects selected.) The Method of Equal Shares has been used by three cities in 2023 (Aarau, Świecie, Wieliczka), and more cities have expressed interest in using the method, including at least one that is using decidim.

Decidim currently does not allow to export the required data from the admin interface (the budget export currently only gives the vote count, not disaggregated votes). This makes it tricky for a city to provide us with data from their prior budgets so we can simulate what our method would have done. It also makes it tricky for a city to use decidim if it wants to use custom voting methods. Finally, cities using decidim cannot easily contribute detailed voting data to the pabulib library of participatory budgeting datasets.

A related problem is that the current export can sometimes export too much: it exports a project's vote count even while voting is still ongoing (and the vote counts are configured not to be shown publicly), which is problematic because this information appears as part of the open data download.

Describe the solution you'd like
An additional export button that produces a file with full vote data. The simplest solution would be to add to the current export an additional column "anonymized voters" to each project row, which would be a list of voter ids that voted for the project, anonymized by randomly assigning ids. (A more involved solution would be to provide an export in the pabulib .pb file format, but it's probably easier to do the conversion separately.)

Describe alternatives you've considered
The alternative would be to use direct database queries that would need to be performed by an admin with access to the server.

Does this issue could impact on users private data?
A privacy-respecting implementation would not use users' internal ID numbers in the export but would assign new random user IDs at export time. If internal user IDs are used, the vote could potentially be connected to the real name of the user.

With this procedure, there should not be an impact on users' private data.

I have implemented the described export feature, and I could open a pull request if approved. I don't have funding.



Please log in

The password is too short.