User:Jameson Quinn/SPARTA voting

"SPARTA voting" (a temporary working title that stands for "Scored Proportional Automatic Runoff with Top Allocation") is a proportional voting method based on score ballots. It works as follows, in multi-seat districts:

  1. Voters score each candidate in the district from 0-5.
    1. On each ballot, initialize the "remaining score" for each candidate to equal the original score for that candidate. Later, if the ballot is partially exhausted, that remaining score may change, but the original score will not.
    2. To begin with, the "max remaining score" for each ballot is 5.
  2. Until all seats are filled, repeat the following steps:
    1. Using the current ballots and their weights, find the two "frontrunners", the candidates with the highest total remaining scores.
    2. For each of these two frontrunners, order the ballots from highest to lowest original score, and find the candidate's "constituent score": their original score on the ballot one Droop quota (of max remaining score) from the top. Whichever frontrunner has the higher constituent score gets a seat.
      1. If there is a tie, break it using total remaining score. (Possible alternative tiebreakers: total score over the top Droop quota of ballots; or, total over top two Droop quotas of ballots)
    3. Exhaust one Droop quota of max remaining score.
      1. All ballots which score the winner higher than their constituent score are fully exhausted.
      2. All ballots which score the winner at exactly their constituent score are treated equally, partially exhausted.
        1. First, calculate the fraction E of each of these ballots that must be exhausted in order to exhaust one Droop quota overall. Use this to calculate the new max remaining score on the ballot. If the previous max remaining score on the ballot was M, the new maximum will be M-ME
        2. Any remaining scores on these ballots which are higher than the max remaining score are set to the max remaining score.

Note that this partial exhaustion procedure does not require keeping "weights" separate from "scores". It simply uses up the ballot from the top down. Thus, for instance, a ballot which has exhausted 40% of its voting power (60% power remaining) will have a max remaining score of 3 (60% of the original maximum 5).