The Schulze method () is an electoral system developed in 1997 by Markus Schulze that selects a single winner using votes that express preferences.
The method can also be used to create a sorted list of winners.
The Schulze method is also known as Schwartz Sequential dropping (SSD), cloneproof Schwartz sequential dropping (CSSD), the beatpath method, beatpath winner, path voting, and path winner.
The Schulze method is a Condorcet method, which means that if there is a candidate who is preferred by a majority over every other candidate in pairwise comparisons, then this candidate will be the winner when the Schulze method is applied.
The output of the Schulze method (defined below) gives an ordering of candidates.
Therefore, if several positions are available, the method can be used for this purpose without modification, by letting the k top-ranked candidates win the k available seats.
Furthermore, for proportional representation elections, a single transferable vote variant has been proposed.
The Schulze method is used by several organizations including Wikimedia, Debian, Ubuntu, Gentoo, Pirate Party political parties and many others.
Description of the method
Ballot
140px|right|thumb The input for the Schulze method is the same as for other ranked single-winner electoral systems: each voter must furnish an ordered preference list on candidates where ties are allowed (a strict weak order).
One typical way for voters to specify their preferences on a ballot is as follows.
Each ballot lists all the candidates, and each voter ranks this list in order of preference using numbers: the voter places a '1' beside the most preferred candidate(s), a '2' beside the second-most preferred, and so forth.
Each voter may optionally:
give the same preference to more than one candidate.
This indicates that this voter is indifferent between these candidates.
use non-consecutive numbers to express preferences.
This has no impact on the result of the elections, since only the order in which the candidates are ranked by the voter matters, and not the absolute numbers of the preferences.
keep candidates unranked.
When a voter doesn't rank all candidates, then this is interpreted as if this voter (i) strictly prefers all ranked to all unranked candidates, and (ii) is indifferent among all unranked candidates.
Computation
Let d[V,W] be the number of voters who prefer candidate V to candidate W.
A path from candidate X to candidate Y is a sequence of candidates C(1),\cdots,C(n) with the following properties:
C(1) = X and C(n) = Y.
For all i = 1,\cdots,(n-1): d[C(i),C(i+1)] > d[C(i+1),C(i)].
In other words, in a pairwise comparison, each candidate in the path will beat the following candidate.
The strength p of a path from candidate X to candidate Y is the smallest number of voters in the sequence of comparisons:
For all i = 1,\cdots,(n-1): d[C(i),C(i+1)] \ge p.
For a pair of candidates A and B that are connected by at least one path, the strength of the strongest path p[A,B] is the maximum strength of the path(s) connecting them.
If there is no path from candidate A to candidate B at all, then p[A,B] = 0.
Candidate D is better than candidate E if and only if p[D,E] > p[E,D].
Candidate D is a potential winner if and only if p[D,E] \ge p[E,D] for every other candidate E.
It can be proven that p[X,Y] > p[Y,X] and p[Y,Z] > p[Z,Y] together imply p[X,Z] > p[Z,X].
Therefore, it is guaranteed (1) that the above definition of "better" really defines a transitive relation and (2) that there is always at least one candidate D with p[D,E] \ge p[E,D] for every other candidate E. Example
In the following example 45 voters rank 5 candidates.
\begin{array}{|c|c|} \text{number of voters} & \text{order of preference} \\ \hline 5 & ACBED \\ 5 & ADECB \\ 8 & BEDAC \\ 3 & CABED \\ 7 & CAEBD \\ 2 & CBADE \\ 7 & DCEBA \\ 8 & EBADC \end{array}
The pairwise preferences have to be computed first.
For example, when comparing  and  pairwise, there are  voters who prefer  to , and  voters who prefer  to .
So d[A, B] = 20 and d[B, A] = 25.
The full set of pairwise preferences is:
Matrix of pairwise preferences
The cells for d[X, Y] have a light green background if d[X, Y] > d[Y, X], otherwise the background is light red.
There is no undisputed winner by only looking at the pairwise differences here.
Now the strongest paths have to be identified.
To help visualize the strongest paths, the set of pairwise preferences is depicted in the diagram on the right in the form of a directed graph.
An arrow from the node representing a candidate X to the one representing a candidate Y is labelled with d[X, Y].
To avoid cluttering the diagram, an arrow has only been drawn from X to Y when d[X, Y] > d[Y, X] (i.e. the table cells with light green background), omitting the one in the opposite direction (the table cells with light red background).
One example of computing the strongest path strength is p[B, D] = 33: the strongest path from B to D is the direct path (B, D) which has strength 33.
But when computing p[A, C], the strongest path from A to C is not the direct path (A, C) of strength 26, rather the strongest path is the indirect path (A, D, C) which has strength min(30, 28) = 28.
The strength of a path is the strength of its weakest link.
For each pair of candidates X and Y, the following table shows the strongest path from candidate X to candidate Y in red, with the weakest link underlined.
Strongest paths
Strengths of the strongest paths
Now the output of the Schulze method can be determined.
For example, when comparing  and ,  since (28 =) p[A,B] > p[B,A] (= 25), for the Schulze method candidate  is better than candidate .
Another example is that (31 =) p[E,D] > p[D,E] (= 24), so candidate E is better than candidate D. Continuing in this way, the result is that the Schulze ranking is E > A > C > B > D, and  wins.
In other words,  wins since p[E,X] \ge p[X,E] for every other candidate X. Implementation
The only difficult step in implementing the Schulze method is computing the strongest path strengths.
However, this is a well-known problem in graph theory sometimes called the widest path problem.
One simple way to compute the strengths, therefore, is a variant of the Floyd–Warshall algorithm.
The following pseudocode illustrates the algorithm.
# Input: d[i,j], the number of voters who prefer candidate i to candidate j.
# Output: p[i,j], the strength of the strongest path from candidate i to candidate j.
for i from 1 to C     for j from 1 to C         if i ≠ j then             if d[i,j] > d[j,i] then                 p[i,j] := d[i,j]             else                 p[i,j] := 0
for i from 1 to C     for j from 1 to C         if i ≠ j then             for k from 1 to C                 if i ≠ k and j ≠ k then                     p[j,k] := max (p[j,k], min (p[j,i], p[i,k]))
This algorithm is efficient and has running time O(C3) where C is the number of candidates.
Ties and alternative implementations
When allowing users to have ties in their preferences, the outcome of the Schulze method naturally depends on how these ties are interpreted in defining d[*,*].
Two natural choices are that d[A, B] represents either the number of voters who strictly prefer A to B (A>B), or the margin of (voters with A>B) minus (voters with B>A).
But no matter how the ds are defined, the Schulze ranking has no cycles, and assuming the ds are unique it has no ties.
Although ties in the Schulze ranking are unlikely,Under reasonable probabilistic assumptions when the number of voters is much larger than the number of candidates they are possible.
Schulze's original paper proposed breaking ties in accordance with a voter selected at random, and iterating as needed.
An alternative way to describe the winner of the Schulze method is the following procedure:
draw a complete directed graph with all candidates, and all possible edges between candidates
iteratively [a] delete all candidates not in the Schwartz set (i.e. any candidate x which cannot reach all others who reach x) and [b] delete the graph edge with the smallest value (if by margins, smallest margin; if by votes, fewest votes).
the winner is the last non-deleted candidate.
There is another alternative way to demonstrate the winner of the Schulze method.
This method is equivalent to the others described here, but the presentation is optimized for the significance of steps being visually apparent as a human goes through it, not for computation.
Make the results table, called the "matrix of pairwise preferences," such as used above in the example.
If using margins rather than raw vote totals, subtract it from its transpose.
Then every positive number is a pairwise win for the candidate on that row (and marked green), ties are zeroes, and losses are negative (marked red).
Order the candidates by how long they last in elimination.
If there is a candidate with no red on their line, they win.
Otherwise, draw a square box around the Schwartz set in the upper left corner.
It can be described as the minimal "winner's circle" of candidates who do not lose to anyone outside the circle.
Note that to the right of the box there is no red, which means it is a winner's circle, and note that within the box there is no reordering possible that would produce a smaller winner's circle.
Cut away every part of the table outside the box.
If there is still no candidate with no red on their line, something needs to be compromised on; every candidate lost some race, and the loss we tolerate the best is the one where the loser obtained the most votes.
So, take the red cell with the highest number (if going by margins, the least negative), make it green—or any color other than red—and go back step 2.
Here is a margins table made from the above example.
Note the change of order used for demonstration purposes.
Initial Results Table
The first drop (A's loss to E by 1 vote) doesn't help shrink the Schwartz set.
First Drop
So we get straight to the second drop (E's loss to C by 3 votes), and that shows us the winner, E, with its clear row.
Second Drop, final
This method can also be used to calculate a result, if the table is remade in such a way that one can conveniently and reliably rearrange the order of the candidates on both the row and the column, with the same order used on both at all times.
Satisfied and failed criteria
Satisfied criteria
The Schulze method satisfies the following criteria:
Unrestricted domain
Non-imposition (a.k.a. citizen sovereignty)
Non-dictatorship
Pareto criterion
Monotonicity criterion
Majority criterion
Majority loser criterion
Condorcet criterion
Condorcet loser criterion
Schwartz criterion
Smith criterion
Independence of Smith-dominated alternatives
Mutual majority criterion
Independence of clones
Reversal symmetry
Mono-appendDouglas R. Woodall, Properties of Preferential Election Rules, Voting Matters, issue 3, pages 8-15, December 1994
Mono-add-plump
Resolvability criterion
Polynomial runtime
prudence
MinMax sets
Woodall's plurality criterion if winning votes are used for d[X,Y]
Symmetric-completion if margins are used for d[X,Y]
Failed criteria
Since the Schulze method satisfies the Condorcet criterion, it automatically fails the following criteria:
Participation
Consistency
Invulnerability to compromising
Invulnerability to burying
Later-no-harm
Likewise, since the Schulze method is not a dictatorship and agrees with unanimous votes, Arrow's Theorem implies it fails the criterion
Independence of irrelevant alternatives
The Schulze method also fails
Peyton Young's criterion Local Independence of Irrelevant Alternatives.
Comparison table
The following table compares the Schulze method with other preferential single-winner election methods:
The main difference between the Schulze method and the ranked pairs method can be seen in this example:
Suppose the MinMax score of a set X of candidates is the strength of the strongest pairwise win of a candidate A ∉ X against a candidate B ∈ X.
Then the Schulze method, but not Ranked Pairs, guarantees that the winner is always a candidate of the set with minimum MinMax score.
So, in some sense, the Schulze method minimizes the largest majority that has to be reversed when determining the winner.
On the other hand, Ranked Pairs minimizes the largest majority that has to be reversed to determine the order of finish, in the minlexmax sense.Tideman, T. Nicolaus, "Independence of clones as a criterion for voting rules," Social Choice and Welfare vol 4 #3 (1987), pp 185-206.
In other words, when Ranked Pairs and the Schulze method produce different orders of finish, for the majorities on which the two orders of finish disagree, the Schulze order reverses a larger majority than the Ranked Pairs order.
History
The Schulze method was developed by Markus Schulze in 1997.
It was first discussed in public mailing lists in 1997–1998See: * Markus Schulze, Condorect sub-cycle rule, October 1997 * Mike Ossipoff, Party List P.S., July 1998 * Markus Schulze, Tiebreakers, Subcycle Rules, August 1998 * Markus Schulze, Maybe Schulze is decisive,  August 1998 * Norman Petry, Schulze Method - Simpler Definition, September 1998 * Markus Schulze, Schulze Method, November 1998 and in 2000.See: * Anthony Towns, Disambiguation of 4.1.5, November 2000 * Norman Petry, Constitutional voting, definition of cumulative preference, December 2000 Subsequently, Schulze method users included Debian (2003),See: * Constitutional Amendment: Condorcet/Clone Proof SSD Voting Method, June 2003 * Constitution for the Debian Project, appendix A6 * Debian Voting Information Gentoo (2005),Project:Elections Topcoder (2005), 2007 TopCoder Collegiate Challenge, September 2007 Wikimedia (2008)
,See: * 2008 Board Elections, June 2008 * 2009 Board Elections, August 2009 * 2011 Board Elections, June 2011 KDE (2008),section 3.4.1 of the Rules of Procedures for Online Voting the Pirate Party of Sweden (2009),See: * Inför primärvalen, October 2009 * Dags att kandidera till riksdagen, October 2009 * Råresultat primärvalet, January 2010 and the Pirate Party of Germany (2010).11 of the 16 regional sections and the federal section of the Pirate Party of Germany are using LiquidFeedback for unbinding internal opinion polls.
In 2010/2011, the Pirate Parties of Neukölln (link), Mitte (link), Steglitz-Zehlendorf (link), Lichtenberg (link), and Tempelhof-Schöneberg (link) adopted the Schulze method for its primaries.
Furthermore, the Pirate Party of Berlin (in 2011) (link) and the Pirate Party of Regensburg (in 2012) (link) adopted this method for their primaries.
In the French Wikipedia, the Schulze method was one of two multi-candidate methods approved by a majority in 2005,Choix dans les votes and it has been used several times.:fr:Spécial:Pages liées/Méthode Schulze The newly formed Boise, Idaho chapter of the Democratic Socialists of America in February chose this method for their first special election held in March 2018.
In 2011, Schulze published the method in the academic journal Social Choice and Welfare.Markus Schulze, A new monotonic, clone-independent, reversal symmetric, and condorcet-consistent single-winner election method, Social Choice and Welfare, volume 36, number 2, page 267–303, 2011.
Preliminary version in Voting Matters, 17:9-19, 2003.
Users
The Schulze method is used by the city of Silla for all referendums.
It is used by the Institute of Electrical and Electronics Engineers, by the Association for Computing Machinery, and by USENIX through their use of the HotCRP decision tool.
The Schulze method is used by the cities of Turin and San Donà di Piave and by the London Borough of Southwark through their use of the WeGovNow platform, which in turn uses the LiquidFeedback decision tool.
Organizations which currently use the Schulze method include:
AEGEE - European Students' ForumArticle 7.1.3 of its Working Format of the Agora, p. 54, July 2016
Annodex AssociationElection of the Annodex Association committee for 2007, February 2007
Berufsverband der Kinder- und Jugendärzte (BVKJ)§9a of the bylaws, October 2013
BoardGameGeekSee: * 2013 Golden Geek Awards - Nominations Open, January 2014 * 2014 Golden Geek Awards - Nominations Open, January 2015 * 2015 Golden Geek Awards - Nominations Open, March 2016 * 2016 Golden Geek Awards - Nominations Open, January 2017 * 2017 Golden Geek Awards - Nominations Open, February 2018 * 2018 Golden Geek Awards - Nominations Open, March 2019
Cloud Foundry Foundationarticle 7(e)(iii)(2) of the charter, May 2021
Club der Ehemaligen der Deutschen SchülerAkademien e.
V. , January 2021
Collective AgencyCivics Meeting Minutes, March 2012
County HighpointersAdam Helman, Family Affair Voting Scheme - Schulze Method
DaprSteering and Technical committee, November 2021
Debian
Associated Student Government at École normale supérieure de ParisRéférendum sur la réforme du thurnage, June 2021
EuroBillTrackerSee: * Candidate cities for EBTM05, December 2004 * Meeting location preferences, December 2004 * Date for EBTM07 Berlin, January 2007 * Vote the date of the Summer EBTM08 in Ljubljana, January 2008 * New Logo for EBT, August 2009
European Democratic Education Community (EUDEC)
FFmpegDemocratic election of the server admins , July 2010
Five Star Movement of Campobasso,Campobasso.
Comunali, scattano le primarie a 5 Stelle, February 2014 Fondi,Fondi, il punto sui candidati a sindaco.
Certezze, novità e colpi di scena, March 2015 Monte Compatri,article 25(5) of the bylaws, October 2013 Montemurlo,2° Step Comunarie di Montemurlo, November 2013 Pescara,article 12 of the bylaws, January 2015 and San CesareoRidefinizione della lista di San Cesareo con Metodo Schulze, February 2014
Flemish Society of Engineering Students Leuvenarticle 57 of the statutory rules
Free GeekVoters Guide, September 2011
Free Hardware Foundation of ItalySee: * Verbale della Free Hardware Foundation, June 2008 * Poll Results, June 2008
Gentoo Foundation
GNU Privacy Guard (GnuPG)GnuPG Logo Vote, November 2006
Graduate Student Organization at the State University of New York: Computer Science (GSOCS)
HaskellHaskell Logo Competition, March 2009
Hillegass Parker House
Internet Corporation for Assigned Names and Numbers (ICANN)section 9.4.7.3 of the Operating Procedures of the Address Council of the Address Supporting Organization
Kanawha Valley Scrabble ClubA club by any other name ..., April 2009
KDE e.V.
Kingman HallSee: * Ka-Ping Yee, Condorcet elections, March 2005 * Ka-Ping Yee, Kingman adopts Condorcet voting, April 2005
Knight FoundationKnight Foundation awards $5000 to best created-on-the-spot projects, June 2009
KubernetesKubernetes Code of Conduct Committee Elections
KumoriconMascot Contest
League of Professional System Administrators (LOPSA)article 8.3 of the bylaws
LiquidFeedback
Madisonium
Metalab
Associated Students of Minerva​ ​Schools​ ​at​ ​KGIarticle 9.4.5.h of the charter, November 2017
Music Television (MTV)David Chandler, Voting for more than just either-or, MIT Tech Talk, volume 52, number 19, page 2, 12 March 2008
NeoSee: * Wahlen zum Neo-2-Freeze: Formalitäten , February 2010 * Hinweise zur Stimmabgabe, March 2010 * Ergebnisse, March 2010
New Liberalsbylaws, September 2014
Noisebridge
Associated Student Government at Northwestern UniversityAjith, Van Atta win ASG election, April 2013
OpenEmbedded
OpenStackOpenStack Election
OpenSwitchOpenSwitch Project Charter, May 2016
Pirate Party AustraliaNational Congress 2011 Results, November 2011
Pirate Party of Austria§6(10) of the bylaws
Pirate Party of BelgiumArticle III.3.4 of the Statutory Rules (french, dutch)
Pirate Party of Brazil
Pirate Party of Germany
Pirate Party of Icelandbylaws
Pirate Party of ItalyRules adopted on 18 December 2011
Pirate Party of the NetherlandsVerslag ledenraadpleging 4 januari, January 2015
Pirate Party of Sweden
Pirate Party of SwitzerlandPiratenversammlung der Piratenpartei Schweiz, September 2010
Pirate Party of the United Statesarticle IV section 3 of the bylaws, July 2012
RLLMUKCommittee Elections, April 2012
SqueakSqueak Oversight Board Election 2010, March 2010
Students for Free CultureSee: * Bylaws of the Students for Free Culture, article V, section 1.1.1 * Free Culture Student Board Elected Using Selectricity, February 2008
Sugar LabsElection status update, September 2009
SustainableUnion§10 III of its bylaws, June 2013
SverokMinutes of the 2018 Annual Sverok Meeting, November 2018
TopCoder
UbuntuUbuntu IRC Council Position, May 2012
Associated Student Government at University of Freiburg§6 and §7 of its bylaws, May 2014
Associated Student Government at the Computer Sciences Department of the University of Kaiserslautern§6(6) of the bylaws
Vidya Gaem Awards
Volt Europe
Wikipedia in French, Hebrew,See e.g. here  (May 2009), here  (August 2009), and here  (December 2009).
Hungarian,See here and here.
Russian, and Persian.See here
Notes
External links
The Schulze Method of Voting by Markus Schulze
The Schulze Method by Hubert Bray
Spieltheorie  by Bernhard Nebel
Accurate Democracy by Rob Loring
Christoph Börgers (2009), Mathematics of Social Choice: Voting, Compensation, and Division, SIAM,
Nicolaus Tideman (2006), Collective Decisions and Voting: The Potential for Public Choice, Burlington: Ashgate,
preftools by the Public Software Group
Arizonans for Condorcet Ranked Voting
Condorcet PHP Command line application and PHP library, supporting multiple Condorcet methods, including Schulze.
Implementation in Java
Implementation in Ruby
Implementation in Python 2
Implementation in Python 3
