block by almccon 6b4734a35a92a8674eaadaccb811d4b0

stv_to_block.py

Simulation of a Block Voting election using STV ballots.

This code simulates a Block Voting election (which is what the OpenStreetMap US chapter uses to elect its board), using real-world Single Transferable Vote ballots (which is the system that the international OpenStreetMap Foundation uses).

STV uses ranked ballots, where voters rank as many candidates as they wish, in order of preference. Block Voting is not a ranked ballot, and voters choose up to n candidates, where n is the number of seats to be elected.

We can simulate a Block Voting election using STV ballots if we take the top n ranked candidates from each ballot and ignore their ordered ranking.

STV ballot files for the 2014 and 2015 OSMF elections can be found here and here.

Thanks to Brandon Liu.

Results:

2015:

“Yantisa Akhadi”: 65 “Douglas Ssebaggala”: 45 “Ilya Zverev”: 145 “Guido Stein”: 17 “Peter Barth”: 148 “Joseph Reeves”: 76 “Mikel Maron”: 137 “Wille Marcel”: 123 “Ryan Peterson”: 56 “Martijn van Exel”: 187 “Gonzalo Perez”: 32

2014:

“Frederik Ramm”: 138 “Marek Strassenburg-Kleciak”: 62 “Peter Barth”: 88 “Kathleen Danielson”: 102 “Randy Meech”: 66 “Steve Coast”: 55 “Paul Normal”: 89 “Ethan Nelson”: 30

In both 2014 and 2015, Block Voting and STV would have elected the same candidates, according to this simulation.

gistfile1.txt