Table of Contents
Fetching ...

Electoral Systems Simulator: An Open Framework for Comparing Electoral Mechanisms Across Voter Distribution Scenarios

Sumit Mukherjee

TL;DR

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 against a common primary metric: the Euclidean distance between the electoral outcome and the geometric median of the voter distribution.

Abstract

Here we present \texttt{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.

Electoral Systems Simulator: An Open Framework for Comparing Electoral Mechanisms Across Voter Distribution Scenarios

TL;DR

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 against a common primary metric: the Euclidean distance between the electoral outcome and the geometric median of the voter distribution.

Abstract

Here we present \texttt{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.
Paper Structure (42 sections, 4 equations, 4 figures, 2 tables)

This paper contains 42 sections, 4 equations, 4 figures, 2 tables.

Figures (4)

  • Figure 1: Electorate portraits for the five general scenarios. Blue contours show kernel-density estimates of voter preferences. The teal cross ($\boldsymbol{+}$) marks the geometric median; the red diamond ($\blacklozenge$) marks the arithmetic mean. Candidate positions are labelled. The ideal electoral outcome minimises distance to the teal marker.
  • Figure 2: Distance to geometric median for all electoral systems and scenarios. Lower values (greener cells) indicate outcomes closer to the population geometric median. Black borders highlight the best-performing system within each scenario column. Fractional Ballot rows are labelled FB Discrete / Continuous; see Section \ref{['sec:fractional']} for their definition.
  • Figure 3: Per-system spatial outcome maps for the Polarized Bimodal scenario. The teal cross marks the geometric median; the star ($\bigstar$) marks the elected candidate. For PR systems, the cross ($\times$) marks the seat-share centroid and the purple diamond marks the median legislator. Distance to the geometric median ($\delta$) is annotated in each panel.
  • Figure 4: Monte Carlo stability: distribution of distance to geometric median across 200 trials for the Polarized Bimodal scenario. Boxes show interquartile range; whiskers extend to the 5th and 95th percentiles. Systems are ordered left-to-right by median $\delta$.