Part of the Politics series 
Electoral systems 

Politics portal 
The Schulze method (/ˈʃʊltsə/) is a single winner rankedchoice voting rule developed by Markus Schulze. It is also known as the beatpath method. The Schulze method is a Condorcet method, which means it will elect a majoritychoice candidate if one exists; in other words, if most people rank A above B, A will defeat B (whenever this is possible).
Schulze's method is based on the idea of breaking cyclic ties by using indirect victories. The idea is that if Alice beats Bob, and Bob beats Charlie, then Alice (indirectly) beats Charlie; this kind of indirect win is called a beatpath.
For proportional representation, a single transferable vote (STV) variant known as Schulze STV also exists. The Schulze method is used by several organizations including Debian, Ubuntu, Gentoo, Pirate Party political parties and many others. It was also used by Wikimedia prior to their adoption of score voting.
Schulze's method uses ranked ballots with equal ratings allowed. There are two common (equivalent) descriptions of Schulze's method.
The idea behind Schulze's method is that if Alice defeats Bob, and Bob beats Charlie, then Alice "indirectly" defeats Charlie; this kind of indirect win is called a 'beatpath'.
Every beatpath is assigned a particular strength. The strength of a singlestep beatpath from Alice to Bob is just the number of voters who rank Alice over Bob. For a longer beatpath, consisting of multiple "beats", the strength of a beatpath is as strong as its weakest link (i.e. the beat with the smallest number of winning votes).
We say Alice has a "beatpathwin" over Bob if her strongest beatpath to Bob is stronger than all of Bob's beatpaths to Alice. The winner is the candidate who has a beatpathwin over every other candidate.
Markus Schulze proved that this definition of a beatpathwin is transitive; in other words, if Alice has a beatpathwin over Bob, and Bob has a beatpathwin over Charlie, Alice has a beatpathwin over Charlie.^{[1]}^{: §4.1 } As a result, the Schulze method is a Condorcet method, providing a full extension of the majority rule to any set of ballots.
The Schulze winner can also be constructed iteratively, using a defeatdropping method:
The winner is the only candidate left at the end of the procedure.
In the following example 45 voters rank 5 candidates.
Number of voters  Order of preference 

5  ACBED 
5  ADECB 
8  BEDAC 
3  CABED 
7  CAEBD 
2  CBADE 
7  DCEBA 
8  EBADC 
The pairwise preferences have to be computed first. For example, when comparing A and B pairwise, there are 5+5+3+7=20 voters who prefer A to B, and 8+2+7+8=25 voters who prefer B to A. So and . The full set of pairwise preferences is:
20  26  30  22  
25  16  33  18  
19  29  17  24  
15  12  28  14  
23  27  21  31 
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.
To From

A  B  C  D  E  

A  —  A(30)D(28)C(29)B  A(30)D(28)C  A(30)D  A(30)D(28)C(24)E  A 
B  B(25)A  —  B(33)D(28)C  B(33)D  B(33)D(28)C(24)E  B 
C  C(29)B(25)A  C(29)B  —  C(29)B(33)D  C(24)E  C 
D  D(28)C(29)B(25)A  D(28)C(29)B  D(28)C  —  D(28)C(24)E  D 
E  E(31)D(28)C(29)B(25)A  E(31)D(28)C(29)B  E(31)D(28)C  E(31)D  —  E 
A  B  C  D  E  From To

28  28  30  24  
25  28  33  24  
25  29  29  24  
25  28  28  24  
25  28  28  31 
Now the output of the Schulze method can be determined. For example, when comparing A and B, since , for the Schulze method candidate A is better than candidate B. Another example is that , so candidate E is better than candidate D. Continuing in this way, the result is that the Schulze ranking is , and E wins. In other words, E wins since for every other candidate X.
The only difficult step in implementing the Schulze method is computing the strongest path strengths. However, this is a wellknown 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(C^{3}) where C is the number of candidates.
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.^{[2]}
Although ties in the Schulze ranking are unlikely, they are possible. Schulze's original paper recommended breaking ties by random ballot.^{[2]}
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.
Here is a margins table made from the above example. Note the change of order used for demonstration purposes.
E  A  C  B  D  

E  1  −3  9  17  
A  −1  7  −5  15  
C  3  −7  13  −11  
B  −9  5  −13  21  
D  −17  −15  11  −21 
The first drop (A's loss to E by 1 vote) does not help shrink the Schwartz set.
E  A  C  B  D  

E  1  −3  9  17  
A  −1  7  −5  15  
C  3  −7  13  −11  
B  −9  5  −13  21  
D  −17  −15  11  −21 
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.
E  A  C  B  D  

E  1  −3  9  17  
A  −1  7  −5  15  
C  3  −7  13  −11  
B  −9  5  −13  21  
D  −17  −15  11  −21 
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.
The Schulze method satisfies the following criteria:
Since the Schulze method satisfies the Condorcet criterion, it automatically fails the following criteria:
Likewise, since the Schulze method is not a dictatorship and is a ranked voting system (not rated), Arrow's Theorem implies it fails:
The Schulze method also fails
The following table compares the Schulze method with other singlewinner election methods:
Criterion:  Majority  Majority loser criterion  Mutual majority criterion  Condorcet winner 
Condorcet loser  Smith 
ISDA 
LIIA  IIA 
Cloneproof  Monotone  Participation  Laternoharm 
Laternohelp 
No favorite betrayal  

Antiplurality  No  Yes  No  No  No  No  No  No  No  No  Yes  Yes  No  No  Yes  
Approval  Yes  No  No  No 
No  Yes  Yes  Yes  Yes 
Yes  Yes  Yes  No  Yes  Yes  
Baldwin  Yes  Yes  Yes  Yes  Yes  Yes  No  No  No  No  No  No  No  No  No  
Black  Yes  Yes  No  Yes  Yes  No  No  No  No  No  Yes  No  No  No  No  
Borda count  No  Yes  No  No  Yes  No  No  No  No  No  Yes  Yes  No  Yes  No  
Bucklin  Yes  Yes  Yes  No  No  No  No  No  No  No  Yes  No  No  Yes  No  
Coombs  Yes  Yes  Yes  No  Yes  No  No  No  No  No  No  No  No  No  Yes  
Copeland  Yes  Yes  Yes  Yes  Yes  Yes  Yes  No  No  No  Yes  No  No  No  No  
Dodgson  Yes  No  No  Yes  No  No  No  No  No  No  No  No  No  No  No  
Highest median  Yes  Yes 
No 
No 
No  No  No  Yes  Yes 
Yes  Yes  No 
No  Yes  Yes  
Instantrunoff voting  Yes  Yes  Yes  No  Yes  No  No  No  No  Yes  No  No  Yes  Yes  No  
Kemeny–Young  Yes  Yes  Yes  Yes  Yes  Yes  Yes  Yes  No  No  Yes  No  No  No  No  
Minimax  Yes  No  No  Yes 
No  No  No  No  No  No  Yes  No  No 
No  No  
Nanson  Yes  Yes  Yes  Yes  Yes  Yes  No  No  No  No  No  No  No  No  No  
Plurality  Yes  No  No  No  No  No  No  No  No  No  Yes  Yes  Yes  Yes  No  
Random ballot 
No  No  No  No  No  No  No  Yes  Yes  Yes  Yes  Yes  Yes  Yes  Yes  
Ranked pairs  Yes  Yes  Yes  Yes  Yes  Yes  Yes  Yes  No  Yes  Yes  No 
No  No  No  
Runoff  Yes  Yes  No  No  Yes  No  No  No  No  No  No  No  Yes  Yes  No  
Schulze  Yes  Yes  Yes  Yes  Yes  Yes  Yes  No  No  Yes  Yes  No 
No  No  No  
Score  No  No  No  No 
No  No  No  Yes  Yes 
Yes  Yes  Yes  No  Yes  Yes  
Sortition 
No  No  No  No  No  No  No  Yes  Yes  No  Yes  Yes  Yes  Yes  Yes  
STAR  No  Yes  No  No 
Yes  No  No  No  No  No  Yes  No  No  No  No  
Tideman alternative  Yes  Yes  Yes  Yes  Yes  Yes  Yes  No  No  Yes  No  No  No  No  No  
Table Notes 

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.^{[2]}^{: §4.8 } 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.^{[citation needed]}^{[4]} 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.
The Schulze method was developed by Markus Schulze in 1997. It was first discussed in public mailing lists in 1997–1998^{[5]} and in 2000.^{[6]}
In 2011, Schulze published the method in the academic journal Social Choice and Welfare.^{[2]}
The Schulze method is used by the city of Silla for all referendums.^{[7]}^{[8]} It is also 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.^{[citation needed]}
Schulze was adopted by the Pirate Party of Sweden (2009),^{[9]} and the Pirate Party of Germany (2010).^{[10]} 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.^{[11]}
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.
Organizations which currently use the Schulze method include: