Later-No-Harm Method Calculator
by Kevin Venzke [Home]

This is a calculator for the (quite few) known methods which satisfy Douglas Woodall's Later-no-harm criterion:

• 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.

Motivations
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 method DAC, which was proposed in Voting Matters in 1996). Some other methods have only been "published" on the Election Methods mailing list.

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.

Methods
• 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 sometimes.
• 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.)
• ACP: 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.
• Chain Runoff: 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 called "MMPO,FPP".
• 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 both properties. 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 own merits.

Instructions
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.

Click submit to generate an analysis.

 Enter the ballots for an election:

test