This is a calculator for the (quite few) known methods which satisfy Douglas Woodall's
First Preference Plurality (FPP, or FPTP)
Three runoff methods:Top-Two Runoff (TTR, also familiar as a nonpartisan blanket primary), Instant Runoff Voting (IRV, also known as AV, RCV, or STV), and Craig Carey's Improved FPTP (IFPP)
Woodall's Descending Solid Coalitions (DSC)
Three methods by myself:Adjusted Condorcet Plurality (ACP), Chain Runoff, and "Runner-up Exception" FPP ("RUE" FPP)
Two other methods using pairwise "votes against":MinMax(pairwise opposition) ("MMPO") and Majority Defeat Disqualification FPP ("MDD FPP")
A Later-no-harm-compliant Borda interpretation (LNH Borda)
In the context of a rank ballot voting method, Later-no-harm is the principle that a voter shouldn't be penalized if they add
additional candidates (i.e. less desired compromise choices) to the end of their ranking, as opposed to leaving them out of the
ranking entirely. We imagine on this page that any runoff (for TTR in particular) is conducted as an instant runoff,
relying on voters' submitted rankings.
Later-no-harm is the property, proposed by Douglas Woodall, that a voter should not be at risk of
harming their most preferred choices by adding additional choices. Thus the voter should hopefully feel safe
in listing as many compromise choices as they may have.
The property is perhaps best known or most associated with IRV, as a purported advantage of that method. As a result, sometimes
Later-no-harm itself is criticized (by opponents of IRV)
using arguments that happen to be dependent on the specific way that the property is achieved under IRV.
If this is an
error, it may be hard to discover this without awareness of other methods with the Later-no-harm property. Such awareness is
likely to be rare.
Woodall's DSC for example has only been proposed in an unpublished draft paper (2003) (although it is related to his earlier
which was proposed in Voting Matters in 1996). Some other methods have only been "published" on the Election Methods mailing
Another motivation is an interest in seeing if more Later-no-harm methods can be devised. The site can't help with
this directly, but maybe it can inspire curiosity in others. It seems very difficult to invent new methods of this type.
But the known methods do give a variety of results, as I think this calculator shows. That leads me to suspect that there
may be some other interesting methods yet to be discovered in this space.
FPP: The candidate with the most first preferences wins. All other preferences are ignored.
IFPP: Elect the FPP winner if fewer than two candidates have over a third of the first preferences each. Otherwise,
it works the same as TTR. This method is monotone, in contrast to TTR and IRV, but usually gives the same results as FPP.
IFPP was devised
by Craig Carey no later than 1998. He only intended it for three-candidate elections. For higher candidate counts I extend it such that
monotonicity is preserved, which means that the one-third rule is invariable.
(Another intuitive generalization is to repeatedly eliminate all candidates with a below-average vote count. But this
is not monotone, and was specifically not accepted by the inventor.)
RUE FPP: If the second- and third-place candidates (on first preferences) are each preferred by a full majority over the
first preference winner, then elect the runoff winner between the second- and third-place candidates. Otherwise stick with
the FPP winner. This is an idea of mine (in 2022) for a modest improvement over FPP which can elect the third-place candidate
TTR: Hold a one-on-one election between the two candidates who received the most first preferences in a first round. When conducted as a single round of voting this is better called the "contingent vote."
IRV: Initially count only first preferences. Repeatedly eliminate the candidate with the fewest votes, such that
always the highest-ranked non-eliminated preference receives a vote from the ballot. The last remaining candidate wins.
(One can also always stop if a candidate obtains votes from a majority of the ballots.)
A method I discovered in Jan 2023. Let X be the candidate with the most first preferences. Edit all the ballots so that any candidates
ranked below X are truncated instead. On the revised ballot set, elect a Condorcet winner if there is one. Otherwise elect X. This method
is interesting because, as with IRV, one can neither harm nor help a candidate by ranking additional preferences below them. This
is the only such method (outside of FPP) that achieves this effect without the use of candidate eliminations.
(On my general calculator I include a "variant" which still satisfies Later-no-harm, but fails Later-no-help,
and is more likely to elect the first preference winner. The difference is that when checking for a Condorcet winner, a candidate
must use their votes from the adjusted pairwise matrix to beat opposing tallies on the original matrix. Analogous variants of
ACP based on TTR are also possible, but they're a little more complicated and give similar results to the ACP version presented
on this page, so a discussion is omitted.)
DSC: Given n candidates, there are 2^n unique sets of candidates. Each such set receives a score,
equal to the number of voters who rank each candidate within that set strictly higher than every candidate outside that
set. Assess each set starting with the highest score proceeding to the lowest. Every candidate not in the current set
is disqualified from winning, unless this disqualifies all remaining candidates, in which case the set has no effect.
The last candidate remaining (i.e. never disqualified) is elected. Proposed by Douglas Woodall in 2003.
Arrange all the candidates in a list from greatest to least first preference count.
Say that a candidate X
"has a majority" over another candidate Y if more than half of all the voters prefer X to Y.
Elect the first candidate in the list, where the very next candidate (if there is one) does not have a majority over
them. Proposed by myself in 2010 (on the EM mailing list). There is a displeasing monotonicity issue in that a candidate might wish
they received fewer votes in order to receive a different pair of candidates to be compared to.
MDD FPP: Consider as disqualified each candidate who has a majority against them. If all candidates would
be disqualified, then disqualify none. Elect the remaining candidate who received the most first preferences. (Using
Woodall's conventions this can actually be called "MDD,FPP" using a comma.)
MMPO: Elect the candidate X whose selection minimizes the greatest number of voters who prefer some other candidate
Y to X. (It doesn't matter whether X or Y would prevail head-to-head.) MMPO may often produce ties. The simplest way
to resolve the tie and preserve Later-no-harm is to
elect the MMPO finalist with the most first preferences. Using Woodall's conventions the combined method can be
LNH Borda: There may be several ways to treat truncation under Borda such that Later-no-harm is satisfied. The method
depicted on this page awards each candidate one point on each ballot for each other candidate that they are ranked equal
to or above. There is no exception for truncated candidates. The effect then is that adding an additional preference to
a ranking reduces the score of all candidates still unranked.
When an election is tied, I show (e.g. with color) all the possible winners in the main table, but there may still be some
potential for confusion in the presentation of other details. Below the table, some more in-depth information for IRV,
DSC, and Chain Runoff can be displayed.
Woodall proposes a counterpart to Later-no-harm called Later-no-help. Note that only FPP, IFPP, TTR, IRV, and ACP satisfy
All the other methods violate Later-no-help, which means voters may sometimes assist a
higher-ranked preference by adding additional preferences.
The concepts of Condorcet, Schwartz, and Woodall's Plurality criterion are included. I won't explain them in detail here,
except to say that Condorcet/Schwartz methods are primary competitors for Later-no-harm methods in the "rank ballot space."
And the Plurality criterion is included because it shows a special defect of a few of these methods, where in some cases a
winner may seem to win the election based on other candidates' weaknesses, or some other odd technicality, rather than on their
Enter your ballots like this, one per line: 456: Alice>Bob>Carl=Debra
or equivalently to the above: 456: Alice>Bob
The number represents the size of the voting bloc. Decimals are OK. The size can also be left off and
it will then be randomized.
Note that this calculator doesn't allow equal ranking above the bottom. This is because not all of these methods
handle that kind of ballot, and the methods that can support it often don't really incentivize voting that way.
Candidate names can contain spaces. Each candidate in the list should be separated by > or =. Pipes (i.e. |) and
any series of > will be interpreted
as single >s. Not every candidate needs to be listed; candidates present on the ballots but missing from one
faction's ranking will be interpreted
as ranked tied for last, below any explicitly ranked candidates.