Electoral Systems Simulator: An Open Framework for Comparing Electoral Mechanisms Across Voter Distribution Scenarios
Organizations: Oracle
Abstract
Here we present electoral\_sim, an open-source Python framework for simulating and comparing electoral systems across diverse voter preference distributions. The framework represents voters and candidates as points in a two-dimensional ideological space, derives sincere ballot profiles from Euclidean preference distances, and evaluates several standard electoral mechanisms -- including plurality, ranked-choice, approval, score, Condorcet, and two proportional representation systems -- against a common primary metric: the Euclidean distance between the electoral outcome and the geometric median of the voter distribution. We evaluate these systems across many empirically-grounded scenarios ranging from unimodal consensus electorates to sharply polarised bimodal configurations, reporting both single-run and Monte Carlo stability results across 200 trials per scenario. As a case study in framework extensibility, we implement and evaluate a novel hypothetical mechanism that is not currently implemented in any jurisdiction -- in which each voter's influence is distributed across candidates via a Boltzmann softmax kernel. This system is included as a theoretical benchmark characterising an approximate upper bound on centroid-seeking performance, rather than as a policy proposal. All code is released publicly at https://github.com/mukhes3/electoral_sim.
Figures & tables
| # | Name | Real-world analogue | Voters / Candidates |
|---|---|---|---|
| 1 | Unimodal Consensus | Nordic / consensus democracies | 5,000 / 7 |
| 2 | Polarized Bimodal | Contemporary USA, Brexit-era UK | 5,000 / 5 |
| 3 | Multimodal Fragmented | Netherlands, Israel, Italy | 5,000 / 8 |
| 4 | Dominant Party | Japan (LDP), Hungary | 5,000 / 6 |
| 5 | Asymmetric Skewed | Latin America, post-Soviet states | 5,000 / 6 |
| 6 | Two-Party Symmetric | Stylised US two-party system | 6,000 / 6 |
| System | Consensus | Polarized | Fragmented | Dominant | Skewed | Sym. Pol. |
|---|---|---|---|---|---|---|
| FBD ( ) | 0.0235 | 0.0044 | 0.0197 | 0.0775 | 0.0247 | 0.0187 |
| FBD ( ) | 0.0281 | 0.0043 | 0.0301 | 0.1158 | 0.0321 | 0.0213 |
| FBD ( ) | 0.0357 | 0.0069 | 0.0409 | 0.1486 | 0.0446 | 0.0228 |
| Best standard system | 0.0492 | 0.0278 | 0.1344 | 0.0962 | 0.0417 | 0.1309 |
Social Choice Theory
Social choice theory studies how individual preferences can be combined into collective decisions, fair allocations, and representative outcomes.
See all 53 papers