What if voters only use truncation strategies? Perhaps they don't want to compromise or
try a burial strategy, but still don't want to rank all the candidates, due perhaps to limited
interest, or perhaps to some
strategic intuition. In particular, one might not want to rank the
worse of two perceived frontrunners in the race, or anyone worse than that. The result then will be
a loss of
some preference information. But what does that look like, and what are the implications?
Features: Over 50 methods, custom method support, numerous settings, spatial or non-spatial preferences, ability to save/load scenarios, conversion to ballots,
stats on sincere Condorcet efficiency and method similarity.
Bugfixes and changes: Any changes affecting outcomes will be reported here with dates.
Cautions: There are three buttons at the top for running trials, and they have hotkeys listed under them. Please note ⚠️ that if you hold down these keys to generate a lot of trials, your browser tab may be unresponsive while the results complete.
Notes on premises: One might immediately counter that voters will certainly not use only
truncation strategy, that if a method calls for it then voters will at least also use compromise strategy,
as observed in the real world. This is surely true, but note that (rational) use of compromise strategy improves a
method's result to the extent that the strategy is required. By assuming that voters refuse to compromise,
we at least avoid giving methods "credit" for what happens when voters are driven to use this type of insincerity.
If, contrary to the premise of the simulation, you want to assume that voters do
not use any truncation, then you can just pick "Voters rank top X preferences" and max it out. Naturally this will be less plausible for methods that use an approval concept.
Basic options: The number of candidates and voters should be pretty clear. In a spatial plot, candidates are also voters, so the candidate count must be no higher than the voter count. In non-spatial plots this is not required. Most of the "distribution" options signify a spatial plot, and every voter plotted represents slightly more than 1.0 voter (this is to try to avoid ties). With the "non-spatial" setting, voters have completely random distances from each candidate. The "blocs" setting is the same as the non-spatial setting, except that one "voter" represents not one, but between 1 and 10 voters. The thought is that one might then reduce the voter count setting, but I leave that decision to the user.
"Charisma dimension" repurposes the vertical axis as an indicator of candidate charisma. Voters always prefer candidates
to be near the bottom of the plot. Voters who are candidates always like themselves best, but feel as other voters when it
comes to other candidates.
Truncation options, without frontrunners: Voters can rank all the candidates (except their very last choice) or some specific number of them, truncating the rest. Each voter can also pick randomly on their own: This is based on picking a random distance between the nearest and most distant candidate to the voter. Each voter can also rank every candidate who is above average (i.e. closer than the mean) or better than the midrange between their favorite and least favorite.
Truncation options, with frontrunners: When frontrunners are used, they are uniform for all voters. So choosing frontrunners "Randomly" means two candidates are chosen arbitrarily and all voters believe these two are the frontrunners. The other options mostly involve picking the top two (or bottom two) by some metric. The two approval options mean that a poll is conducted using one of the cutoffs described above (better than average, or midrange) and the top two on this poll become the frontrunners. "Condorcet winner vs. best opposition" means we take the Copeland winner (or one of them) as one frontrunner, and the other will be whichever candidate has the greatest number of votes if they were to run head-to-head against them.
Other options with frontrunners:
"Threshold generosity" deals with the ambiguity involved in drawing a cutoff between two frontrunners. "Generosity" of 0% means no one worse than the better frontrunner will be ranked, while a value of 100% means
every candidate better than the worse frontrunner will be ranked. "Random threshold for each voter" means that each voter sets their ranking threshold to a random value between their favorite and least favorite candidates.
An above-zero "Bullet vote chance" has some voters ignoring the frontrunner information and simply placing a single
vote for their favorite candidate. This allows you to try to thwart methods that perform particularly well as long as
we can assume every voter will support one of the frontrunners. This setting doesn't work if you aren't using frontrunners,
and it is also not compatible with the "blocs" distribution option.
The percentage of "poll round participation" adds uncertainty to the correctness of the determination of the frontrunners by potentially not consulting all of the voters. A die is rolled for each voter, or in the case of "blocs" distribution, for each voter represented by the bloc.
Displays of results: For spatial scenarios there are usually three plots. The first just shows where the voters and candidates are. The second replaces the voter dots with gray circles where the darker the dot is, the more preferences that voter ranked on their ballot. The third replaces voter dots with colored dots corresponding to which candidates were ranked by that voter. In a non-spatial or "blocs" scenario, there will just be a text display of the sincere preference orders and where the ballots were truncated.
Below these preference displays, you will usually see the identity of the frontrunners and some information about sincere vs. voted Condorcet winners. Then there is a table showing the candidates ranked in five ways.
Following this is a table showing the winners according to a variety of methods.
Skipping down to the bottom of the page there is also a section showing the cast ballots, and a section showing either the "Coordinates" or the "Preferences" of the scenario. These can be used to validate method results, help report bugs, or share scenarios.
Another thing you can do with the "Ballots" data is to try pasting it into the page
"Who is the median voter?" and see if it can recreate the issue space or make a reasonable guess as to where the median is. (Note ⚠️ that it may take a couple of minutes to process if you have dozens of rows, with the web browser appearing to hang.)
Results across multiple scenario generations: Below the individual method results, there are several rankings of the methods based on all the trials done so far with a given set of settings. If you change the settings or use the "Use this scenario" feature, the settings will reset. These settings, as well as information on method similarity, are shown in text boxes at the bottom of the page, and the first lines there will have a label suggesting what settings were used, and the number of generated scenarios included in those statistics.
Loading scenarios: Unlike
/stvplot, this page doesn't have dynamic adjustment controls. However, you
can achieve a similar effect by changing the parameters and then pressing "u" (or clicking the "Use this scenario" button) which will load back the last plot written there.
You can also, of course, load back a previously generated scenario or one that you obtain via some other means. This works for both spatial and non-spatial scenarios. The page decides what type of scenario was submitted based on whether colons are in your data, as non-spatial scenarios require this. The header row at the top is not required.
Below, the term "approval" always refers to "implicit" approval, meaning a voter ranked some candidate
above bottom, above some other candidate.
Methods named with a double asterisk (**) are two-round methods, which in the second round go
back to the sincere preferences and assume all voters participate in the second round and vote sincerely.
For top-two runoffs this is probably fair, but otherwise it is probably cheating, since strategies are possible
but not explored. Interpret with caution.
For performance reasons, a tied outcome in a method is resolved arbitrarily.
In the three-candidate case, some methods are omitted because they become identical to others. Two methods are included only with three candidates: SV and IFPP.
- ACP or Adjusted Condorcet Plurality: 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. See /lnharm for a calculator.
- AEC or Approval Elimination Condorcet: While there is no Condorcet winner, disregard the remaining
candidate with the least implicit approval. Don't reassess approval after each step. Basically identical approaches are
MinMax(winner's approval) or the method "Definite Majority Choice."
- AER or Approval Elimination Runoff: Like IRV, but successively eliminate the candidate with the least implicit approval (meaning the fewest number of the ballots ranking a candidate
above at least one other candidate). End once a candidate has votes from a majority of remaining voters (i.e. excluding exhausted ballots).
- Appr(implicit): We elect the candidate with the most approval.
- Approval TTR** advances the two approval winners from a first round into a second round where the two go head to head.
- ATAR, by analogy with STAR voting, means "Approval then automatic runoff." Elect the pairwise winner between the top two candidates on approval.
- AWMajCheck**: This means "Approval winner majority check," a non-eliminative two-round method. The approval winner of the first round becomes the tentative winner. In the second round, voters approve every candidate that they prefer to the tentative winner (which may be no one). Second-round voters use no other strategy, and this is definitely cheating (see note at top). If any candidate gets majority approval in the second round, the one of these with the most approval wins. Otherwise the tentative winner wins.
- Benham: So named by James Green-Armytage after Chris Benham. In the absence of a Condorcet winner,
eliminate the plurality loser (and transfer
votes) repeatedly until you do have a Condorcet winner. Similar in effect to Smith//IRV.
- BTR-IRV is "bottom two runoff" IRV. In each round instead of eliminating the candidate with the fewest votes, eliminate the pairwise loser between the two candidates with the fewest votes. This is a Condorcet method.
- Bucklin: A well-known method where voters successively reveal more compromise choices, at the same pace, until some candidate achieves a majority, or
all votes for compromise choices have been cast. Once a majority is achieved by one or more candidates, the one with the largest of those majorities wins.
- Borda: On this page I use yet another interpretation of Borda: The top-ranked candidate receives (number of candidates - 1) points, and so forth decreasing, but the truncated candidates at equal-bottom receive no points.
- BPW and BPW(max): Eivind Stensholt's "Beats the plurality winner" is a Condorcet cycle resolution principle defined for
three candidates, in which in the absence of a Condorcet winner one elects the candidate who defeats the plurality winner.
It's an attempt to minimize burial opportunity.
I find that, in the three-candidate case, it does easily outperform Smith//IRV in terms of raw opportunities to use burial strategy. My efforts presented here to generalize to 4+ candidates, unfortunately, don't fare as well. I want to present BPW anyway because,
although it's probably too non-monotone to advocate, I find its results interesting and not exactly displeasing.
The "chain" 4+ candidate extension I suggest at /calc is here omitted. The "max" version, in the absence of a
Condorcet
winner, elects the candidate with the most first preferences who beats or ties the plurality winner.
(We don't verify whether the latter was even in the Smith set.)
- BRBO: An idea of mine. "Best response to best opposition." Elect the candidate X with the most pairwise support
in a pairwise contest with the candidate (or one of the candidates) with the greatest pairwise support against X. It doesn't satisfy
minimal defense.
- BTAR, by analogy with STAR voting, means "Borda then automatic runoff." Elect the pairwise winner between the top two candidates on Borda score. This uses the same Borda interpretation as Borda on this page.
- C//FPP or Condorcet//FPP: Elect the Condorcet winner if there is one, otherwise elect the first preference winner.
- CdlA: Proposed by me in 2003. The name is short for "conditional approval" which I don't want to lay claim to. Voters start by approving their top choice. In
subsequent rounds, they approve additionally every rank strictly better than the worst candidate (in the voter's view) that has ever been a round leader. Once a round leader is
a candidate who has already been a round leader, they are elected.
- 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. A Later-no-harm method proposed by myself in 2010.
- CondAppr or Condorcet//Approval: The simple method where in the absence of a Condorcet winner, we elect the candidate with
the most implicit approval (i.e. ballots ranking a candidate above at least one other candidate). I
like this method, as it satisfies minimal defense among other properties, and makes a burial strategy look risky, as in the
Condorcet "cycle resolution" any insincere preferences count just as much as the sincere ones.
- Cross Max: An idea of mine. Elect the candidate with the greatest pairwise support in any contest involving
the first preference winner (who may themselves win). The term "cross" refers to the typical arrangement of cells in the pairwise
matrix pertaining to one candidate.
- DAC: Proposed by Woodall in 1996 as his preferred alternative to IRV. This method works the same as DSC (below) except that
a voter is counted as voting for each set of candidates
where for each candidate in the set, the voter prefers or ranks equal this candidate to each candidate outside the set. This means the voter may vote for sets that
include candidates that the voter ranked above no one. The sets are considered from most votes to least votes, attempting with each one to disqualify from winning every
candidate who isn't part of the given set.
- DSC: A Later-no-harm method proposed by Douglas Woodall in 2003. 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.
- fpA minus max(fpC): A generalization of "fpA-fpC," a three-candidate method by Kristofer Munsterhjelm. In
the absence of a
Condorcet winner, each candidate is scored as their first preference count minus the greatest first preference count of any other
candidate who pairwise beats or ties them. Elect the candidate with the greatest score. In the three-candidate case this method
happens to be equivalent to Condorcet//IFPP (i.e. in the absence of a Condorcet winner, elect the IFPP winner).
It's noteworthy as a monotone Condorcet method with rather low burial incentive.
- FPLossA means you elect the first preference winner unless that candidate has any pairwise losses at all, in which case you elect the approval winner. These two could of course be the same candidate. A simple method with no claimed merits.
- FPP or Plurality voting: The candidate with the most first preferences wins. All other preferences are ignored.
- FPWMajCheck**: This means "First preference winner majority check," a non-eliminative two-round method. In the first round everyone votes for their favorite candidate. If there's a majority, we can stop there. The first preference winner becomes the tentative winner. In the second round, voters use approval and vote for every candidate that they prefer to the tentative winner (which may be no one). Second-round voters use no other strategy, and this is definitely cheating (see note at top). If any candidate gets majority approval in the second round, the one of
these with the most approval wins. Otherwise the tentative winner wins.
- IBIFA: Chris Benham's method from 2010. This attempts to patch Bucklin so that the majority threshold requirement is replaced with a dynamic check for the
ability of a candidate's supporters to ensure victory (i.e. via truncation). The name stands for "Irrelevant Ballot-Independent Fallback Approval," so called because the outcome
should not change by adding, for example, some
write-in voters who under Bucklin could cause a majority threshold to no longer be reached.
Specifically one elects the candidate X who at the earliest round (and with the highest tally in that round, in case of a tie) can prevail in a hypothetical vote in which each
voter who would approve X in this round (i.e. a round in the Bucklin sense) approves only X, and every other voter approves all candidates they approved at any above-bottom rank
except for X.
- IFPP or Improved First Past the Post: Craig Carey's method where we elect the FPP winner if fewer than two candidates have over a third of the first preferences each. Otherwise,
it works the same as three-candidate IRV: Eliminate the first preference loser and elect the pairwise winner between the two candidates who remain. This method is monotone.
It was only intended for three-candidate elections, and for this page I am conforming to that.
- 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.)
- Iterated Bucklin: Etjon Basha's 2020 proposal. Voters start by approving their top rank only. Voters gradually move their approval threshold
towards the latest round leader (but as in Bucklin, cannot go to the very bottom/unranked candidates). If the threshold has reached the rank of the current leader, it does not move.
Otherwise, it can move in either direction towards the current leader. The method ends when thresholds cease moving. This implies that when a candidate wins, they are being approved by every voter who could ever approve them.
Note that as a rule I don't use the rule regarding the situation where candidates tie
for the lead in some round. Instead, a tiebreaking score is generated for each
candidate at the very start of the method, and this is consulted to produce a decisive winner each round.
- KOTH or King of the Hill: A method of mine from 2011. One elects the pairwise winner between the first preference winner (FPW) and the candidate with the most first preferences who has either a full majority pairwise win
over or loss to the FPW. The FPW wins if there is no such other candidate.
- MAMPO: Proposed by me in 2007 in order to satisfy the same criteria as my 2005 proposal MDDA, but without violating the Plurality
criterion. If no candidate has majority implicit approval, then the candidate with the most implicit approval wins. Otherwise, of the candidates with majority approval,
the one with the lowest MMPO score wins. The MMPO score is the greatest number of voters that voted against the candidate in any
pairwise contest (even those involving candidates without majority approval, and regardless of which candidate won any given contest).
- Margins Sorted Approval: A Condorcet method proposed by Forest Simmons. Sort the candidates into
a list in
descending order of approval. Then while any candidates are pairwise defeated by the candidate following them in the
list, swap the order within the list of the two such candidates which have the closest approval scores. Finally, elect
the candidate
who is now first in the list.
- MDDA: "Majority Defeat Disqualification Approval," devised by me in 2005. A method with the same properites as MAMPO (devised two years later) except that MDDA violates Plurality. Elect the most approved
candidate among those without a majority strength pairwise defeat, if possible. Otherwise just elect the most approved.
This method is also discussed in an interesting paper by Alex Small which
examines the possibilities for eliminating favorite betrayal incentives.
- MinGS: A Woodall method under which one elects the candidate X whose
fewest votes (pairwise) against some other candidate Y is the greatest. At /calc this is called "MaxMin(Pairwise Support)," but I use the older name here as there is no equal (above-bottom) ranking in this simulation.
- MinMax: A type of method in which one elects the candidate whose worst pairwise defeat is the mildest. It is here provided in WV, margins, and pairwise opposition forms. See the next item regarding the latter.
- MinMax(Pairwise Opposition) or 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, and they are here resolved by electing the MMPO finalist with the most first preferences. Using Woodall's conventions the combined method can be called "MMPO,FPP."
- No elimination IRV type 1: I don't know whether I am the first to formulate this method in this way: The "eliminations" of IRV become a mere status flag rather
than a real elimination. In each round voters cast votes going down their ballot until they have voted for a candidate who has not yet been eliminated. A round leader who
attains a majority (i.e. has votes from a majority of the voters) is elected. Otherwise the vote loser among non-eliminated candidates is marked as eliminated, and the
next round begins. There are two exceptions:
If no candidates remain to be eliminated, or if the only candidate left to be eliminated is the round leader, then the round leader is elected despite lacking a majority.
- No elimination IRV type 2: This is the same as type 1, with one change.
If the round leader at some point is the last non-eliminated candidate, but they have not attained a majority, type 2 "eliminates" him
(in the same sense that candidates can be said to be "eliminated" under this method) instead of electing him, so that there is
an additional round to count. This makes the method
more likely to elect the implicit approval winner.
It appears this particular rule was proposed by Bjarke Ebert in 2021.
- QLTD or Quota-Limited Trickle-Down: Proposed by Woodall in 1996. This is the same as Bucklin except that if multiple candidates achieve a majority simultaneously, the win goes to
the candidate who required the lowest percentage of the votes they obtained, in the most recent round, to reach majority.
- Ranked Pairs: Nicolaus Tideman's proposal where, proceeding from strongest defeats to weakest defeats, we gradually "lock" a final ranking of all
the candidates, ignoring any defeats that would introduce a cycle. WV and margins flavors are included.
- RCIPE: Richard Fobes' method, "Ranked Choice Including Pairwise Elimination," which is broadly like IRV, except that for each elimination, if any remaining candidate loses pairwise to all other remaining candidates, then we eliminate this candidate instead of the candidate with the lowest vote count. The proposal includes essentially a fractional treatment of equal ranking, but there is no equal above-bottom ranking in this simulation.
- River: Jobst Heitzig's method which resembles Ranked Pairs except that defeats against candidates already defeated are not counted. A simpler procedure is available as well, which makes it easier to track whether a given defeat would create a cycle. Three versions are included.
- River(WV): using Winning Votes, as was originally prescribed.
- River(AWP): using "Approval-Weighted Pairwise," which is a form of James Green-Armytage's "Cardinal-Weighted Pairwise," which you can read about in this interesting paper from Voting matters, 2004. Specifically, the defeat strength for some A over some B, which A pairwise defeats, is equal to the number of voters who approved A and didn't approve B.
- River(CCE): This is River(WV) but applying the initial step proposed on the Condorcet Compromise Extension page, which is to remove candidates either barred by "weak Plurality" or not included in the "CCE top tier."
- RMPA and RMPFPP, meaning River Majority Pass Approval or FPP: Ideas of mine.
We choose a metric (approval or FPP respectively), and apply Heitzig's River algorithm using only the full
pairwise majorities, using the chosen metric as the defeat strength. In practice this means going down the list of candidates in metric order and not worrying about defeat strength as such.
We just act on each of the candidate's pairwise majorities.
Start out each candidate in their own "bin." For each pairwise majority you encounter, take every candidate
from the pairwise loser's original bin (which may be no one, or may even include the pairwise winner)
and move them (if anyone) to the
bin that the pairwise winner is currently in. Once we've gone through all pairwise majorities, elect
the candidate in whose bin the metric leader ultimately ended up (possibly their own bin, of course).
RMPA is very similar to
MDDA, but fixes its Plurality problem while losing Favorite Betrayal compliance.
RMPA resolution details have been added to the /misc
calculator.
These methods are also formerly called on the /calc page "Majority Rule Approval" and "Majority Rule FPP."
- Schulze: Markus Schulze's method in which one elects the candidate whose strongest beatpath to each other candidate is at least as strong as each respective path back.
It's provided with WV as the measure of defeat strength.
- Single Contest is an idea of mine from 2011. If there's a majority favorite, that candidate wins. Otherwise elect the pairwise winner between the pair of candidates who together minimize the number of voters who approve neither. Break ties in identifying the pair of candidates in favor of the (eligible) candidate with the most approval, and the most-approved candidate who can be in a pair with them.
- Smith//IRV: First delete every candidate who isn't in the Smith set, and then perform IRV among the remaining candidates.
- STV3//CIRV** or "fill three seats using STV and then conduct Condorcet//IRV with the three STV winners as the candidates, and don't allow truncation in round 2." I know it's oddly specific. Second-round voters can't truncate, but they could conceivably use compromise or burial. They will not, however, so we can call this cheating.
- SV: Eivind Stensholt's "Smallest Volume" method. It's provided only for three-candidate scenarios.
In the absence of a Condorcet winner, we elect a candidate with a certain lowest score.
If for some candidate A, B is the candidate who beats or ties A, and C is the candidate
whom A beats or ties pairwise, then A's score is (50% - C's first preference vote share)
divided by (50% - B's first preference vote share).
- Top-two Runoff**: Hold a one-on-one election between the two candidates who received the most first preferences in a first round. Unlike the implementations on other calculators on this site, this is an actual two-round method where the second round makes use of the sincere preferences, not the truncated ballots.
- Voice of Reason: Hopefully faithful to a proposal by Burt Monroe. Each voter receives one point for every pairwise preference of theirs which agrees with the overall preference among the voters. (Half point for expressing indifference, and no points for anyone if the overall preference were to be a tie.) Among the voters with the highest score, elect the first preference winner. (This last step is originally a lottery.) I don't check for a majority favorite, or do anything to account for the clone dependence.
** - indicates a two-round method; see note at top.
See
here for examples of what to enter below. Note ⚠️ you could hang or crash your browser here!