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".
Here's how it works:
(Optional:) Voters and candidates may be divided ahead of time 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.
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". 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. If they prefer more than one, their vote is counted as several equal fractions; for instance, if they prefer A and B while approving C, their vote is counted as half a ballot which prefers A and approves B and C, and half a ballot which prefers B and approves A and C.
Any "don't know/delegate" ratings for candidate X 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.
(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.
Summable PAD (alternative version)
The above algorithm requires full data from all ballots. However, it can be approximated using only the following precinct tallies:
- Number of ballots which "prefer" each candidate X, denoted P(X). (
- Of the ballots which "prefer" 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).
Given such tallies, it is easy to approximate the above algorithm. For instance, if P(X) is over one quota Q, then when electing X you should multiply both P(X), as well as PA(X,Y) for every Y, by the ratio (P(X)-Q)/P(X); this has the effect of reducing P(X) by Q.