Summable PAD voting

Summable PAD voting is a proportional voting method designed for city council elections; that is, for electing small numbers (5-20) of seats at a time without relying on partisan labels. PAD can stand for either "Prefer, Approve, Disapprove" or "Proportional Approval with Delegation". Unlike standard PAD voting, summable PAD can be resolved using only a reasonably-small number of tallies that are publicly announced at the precinct level and then added up.

It works almost exactly like PAD, except that the mechanics of "removing ballots" are changed.

Basic PAD process (unchanged)
(Optional:) Before the election, voters and candidates may be divided into a number of "wards" that's less than the total number of seats to be elected. For instance, there might be 7 wards and a total of 13 seats. Ballots list same-ward candidates first. For optimum proportionality, wards should be less than 1/3 of seats, but for a balance of proportionality and locality, wards can be up to 1/2 the seats rounded up.

Candidates pre-rate each other as "approve" or "disapprove". Candidates may not approve more than half of the incumbents. These pre-ratings are public.

Voters rate candidates at one of 4 levels: "prefer", "approve", "don't know/delegate", or "disapprove". (These might also be labeled "good", "OK", "don't know", and "bad".) Default is "don't know". Voters may approve or disapprove of as many candidates as they like, but they are encouraged to prefer only one (though this is not mandatory).

Any "don't know/delegate" ratings for candidate X are delegated to the preferred candidate. That is, they are changed to "approve" ratings if over half the candidates Y (, Z, etc.) who were "preferred" on that ballot pre-approved X. Otherwise, "don't know" is changed to "disapprove".

Define a "quota" as the number of votes divided by the number of seats, rounded down.

(Optional:) For each ward, the candidate X with the most same-ward votes gets a seat. If that candidate has less than 1 quota of "prefer" votes, then remove all ballots that prefer X. If that candidate has more than 1 quota of "prefer", then remove one quota of votes that prefer X. (Which ballots are removed should be based on a single random number, such that each ballot has the same chance of being removed, and approximately the same fraction of ballots from each precinct are removed. In other words, put the ballots in order of precincts, pick a random ballot to start with, and then remove every Nth eligible ballot from there on, with N chosen so as to ensure you go approximately 1 time around the ballots in all.)

If any candidate has over 1 quota of "prefer" votes, they get a seat. Remove 1 quota of their prefer ballots.

As long as any candidate has over 1 quota of votes combining "prefer" and "approve" tallies, choose the one of those with the most "prefer" votes, and give them a seat. Remove all their "prefer" ballots, then remove enough of their approval votes to total one quota of ballots removed.

If there is/are still seat(s) left to fill, pick the candidate(s) with the most approvals.

Removing ballots
Keep the following tallies:


 * Number of ballots which "prefer" each candidate X, denoted P(X).
 * For each pair of candidates X and Y, total of ballot fractions which count as preferring X "first" and which also prefer Y; denoted PP(X,Y). (See below for example).
 * Of the ballots counted as first "preferring" each candidate X, number of candidates which "approve" each candidate Y, denoted PA(X,Y). Ballots which prefer no candidate should be included in these tallies as PA(?,Y).

Say that on my ballot I preferred X, Y, and Z; approved of A and B; marked "don't know" for C and D; and disapproved E and F. Say that 2/3 of XYZ pre-approved C, while a different 2/3 of them pre-disapproved D; so that I count as approving C and disapproving D. Thus, my ballot would add to the following tallies:


 * P(X), P(Y), P(Z): +1
 * PA(X,A), PA(X,B), PA(X,C): +1/3 (since only 1/3 of my ballot is counted for X "first".)
 * PP(X,Y), PP(X,Z): +1/3 ("first for X, but also prefers Y and Z")
 * PA(Y,A), PA(Y,B), PA(Y,C), PA(Z,A), PA(Z,B), PA(Z,C), PP(Y,X), PP(Y,Z), PP(Z,Y), PP(Z,X): +1/3 (as above, but with Y or Z first)

Note that if a ballot only prefers one candidate, it only adds 1 or 0 to each tally, with no fractions.

Given such tallies, it is easy to approximate the PAD algorithm. For instance, if P(X) is over one quota Q, and PP(Y,X) is zero for all Y?X, then when electing X you should multiply each of P(X), PP(X,Y) for every Y, and PA(X,Y) for every Y, by the ratio (P(X)-Q)/P(X); this has the effect of reducing P(X) by Q, almost as if you'd eliminated Q physical ballots which prefer X.

(Detailed formulas for how to remove ballots in all situations are easy to derive. We do not include all the formulas here to maintain the focus on the principles and not the math.)