Monroe PR doesn't work properly

In approval Monroe, voters approve however many candidates they want, and each voter is assigned to a candidate, with equal numbers of voters assigned to each elected candidate. The winning slate of candidates is the one where the most voters can be assigned to a candidate that they approved.

It’s been discussed previously that Monroe has problems because it ignores how popular a slate of candidates is other than the one candidate that each voter is assigned to. For example, in this 2 candidate, 2 voter election:

1 voter: A, B, C
1 voter: A, B, D

Any set of two candidates would be considered as good as any other. AB has unanimous support but is considered no better than e.g. CD, where each candidate has 50% support each. But this is well known about and not what this new thread is about.

I was looking at what sort of results Monroe would actually give in certain scenarios. I think I have proved that where voters vote purely for candidates of their favourite party and there are just two parties, Monroe is equivalent to Sainte-Laguë party list. I won’t give the proof here, but I’ll give a couple of examples:

4 to elect

5 voters: Party A
3 voters: Party B

Under Sainte-Laguë party list, it would be a tie between

A: 3 seats
B: 1 seat


A: 2 seats
B: 2 seats

This is also the case under Monroe. There are 8 voters and 4 seats, so each elected candidate has 8/4 = 2 voters assigned to them.

Under the 3:1 result, all 5 A voters are satisfied (as they are over-represented), and 2 B voters are satisfied. 5+2 = 7

Under the 2:2 result, 2*2 = 4 A voters are satisfied along with all 3 B voters. 4+3 = 7. This gives a tie.

Next example:

3 to elect

5 voters: Party A
1 voter: Party C

Under Sainte-Laguë party list, it would be a tie between

A: 3 seats
C: 0 seats


A: 2 seats
C: 1 seats

The maths is as simple as in the first example, but to cut to the chase, Monroe gives the same result.

Next example:

2 to elect

3 voters: Party B
1 voter: Party C

Under both Sainte-Laguë and Monroe, there would be a tie between

B: 2 seats
C: 0 seats


B: 1 seat
C: 1 seat

Again, this is easy to verify. However, it starts to go wrong when there are three parties. You can combine the three examples above as follows:

4 to elect

5 voters: Party A
3 voters: Party B
1 voter: Party C

Under Sainte-Laguë party list, there is a three-way tie between 3:1:0, 2:2:0 and 2:1:1. But the equivalence with Monroe no longer holds. It starts to go wrong when we look at the 3:1:0 and 2:2:0 cases. Comparing these two is exactly the same as the first example above except that there are more voters. There are now 9 instead of 8. This means that each candidate has 9/4 voters assigned to them instead of 8/4.

The number of satisfied voters under 3:1:0 is 5 + 9/4 = 7.25.

Under 2:2:0 it is 2 * 9/4 + 3 = 7.5

Of course, we could consider only the voters who approved at least one candidate in the slate. That way we would be back to 8/4 voters per candidate, and 7 satisfied voters under either result, as in the first example. But is it right to ignore voters in this way? By not ignoring these voters, we would get failures of independence of irrelevant ballots, but by ignoring them, it doesn’t seem like the right thing to do. Plus it’s a weird discontinuity to consider at 100% weight all voters who have approved 1 or more candidates in a slate (so it could be 2, 3, 4… candidates), and those who have approved 0 at 0%. But that’s enough philosophising, because the final possible result kills it off anyway: 2:1:1.

In this case, every voter has approved at least one candidate, so the number of voters assigned to each candidate is 9/4 however you cut it.

And the number of satisfied voters is 2*9/4 + 9/4 + 1 = 7.75. This matches none of the numbers above.

I think Monroe has been let to exist as some sort of ideal of proportional representation without ever really being tested. But different numbers of voters approving at least one candidate in a slate breaks it quite badly.

I don’t really follow this forum that closely but I know that Monroe has been discussed in other topics. I probably wouldn’t touch it with a barge pole though.

Hi @Toby_Pereira

Yes this is something we have talked about quite a bit. The first thing is that using approval ballots for a multi winner system will exacerbate these effects. They are a general problem where your optimization metric has a blind spot in the phase space. Score ballots gives the ability to make more nuanced decisions.

One of the things that really shines about Harmonic Voting is that it does make these nuanced decisions in a way that nobodies ballot is ever fully exhausted. That benefit is however its greatest flaw. It gives some voters the ability to have more influence than others. This results in lower equity (ie larger standard deviation of total score).

My solution to the is was something I have called “Vote Unitarity”. I Introduced it in the this thread a while back. The idea is that the metric being optimized is linearly related to the score “spent” by each voter. I was thinking of it as a sequential model originally but you can make it optimal if you want.

If this notation is confusing here is how I would write the more familiar Harmonic Voting

My optimal model still does have one of these blind spots but it is vastly reduced relative to Monroe.

I am not convinced any of these optimal metrics are actually viable for reform. Each of these has a sequential method

In the sequential case the problem you are talking about is more clearly aligned with the concept of vote unitarity. RRV down weights too slowly and Sequential Monore downweights too fast but SSS is just right. (kinda like the 3 bears). It is worth pointing out that Sequential Monore when implemented with “fractional surplus handling” actually fixes most of the issue with not downweighting all those people who voted for the winner.

In any case, I am clearly biased since I invented Vote Unitarity specifically to solve this issue. What really matters is results. I posted some simulations of these three systems with the addition of regular sequential allocation here. However, there was an issue with how I defined allocation. @parker_friedland says he can make sure he is happy with the code within the next week or so. After that I will rerun and give an update.

1 Like

A few thoughts on whether Condorcet PR could be adopted as some kind of PR measuring stick relevant to cardinal methods, and applications on your examples which seem to improve on Monroe:

Consider Approval ballots as ranking approved candidates 1st (use KP on score ballots), and consider Condorcet PR here to be where a voter can split their vote up as necessary to put more votes behind the outcomes they prefer in pairwise matchups. Also:

treat equal-ranking voters as preferring Pareto outcomes.

For the examples I’ll only show the pairwise matchups of the Condorcet-winning outcome.

AB wins.
AB vs AC: the first voter “Pareto-prefers” AB, and the second voter prefers B>C thus AB>AC.
AB vs BC: the first voter Pareto-prefers AB, the second voter prefers A>C thus AB>BC.
AB vs BD: the first voter prefers A>D, the second voter is neutral (Pareto-prefers).
AB vs CD: Both voters get more representation from AB.

The only relevant outcomes to compare are 2-2 and 3-1.
2-2 vs. 3-1: The 5 A voters can split their votes for 3 seats to be 1.666 votes per seat, more than the 1.5 votes per seat the B voters would need to get 2 seats. So 3-1 wins.

5/3 = 1.666, more than the 1 vote C voters have, so it’d be 3-0.

This is 3-1-0, because the A’s can do 1.666 votes per seat for 3 seats, greater than the 1.5 for 2 seats or 1 for 1 seats the B’s and C’s can do respectively. It wouldn’t be 4-0-0 because then the A’s would be at 1.25 votes per seat, less than the 3 for 1 seat the B’s have.

My conjecture is that there can never be a Condorcet cycle in Condorcet PR if every voter submits an approval-style ballot, so maybe it’s a useful way to test outcomes. I’m not sure how to get a numerical quality metric out of it though.

Well, for those Condorcet PR methods that permit tied rankings, we can “create” new Approval PR methods by converting each approval ballot into a ranked ballot of the form {Approved Candidates} > {Disapproved Candidates}.

Yup. But of particular interest to me is that you could allow the voter to submit weak pairwise preferences that allow them to have less influence on putting certain candidates in the final winner set. So, a voter voting A5>B4 only gives 0.2 votes to help A be in the winning winner set of a pairwise matchup between a set with A and a set with B, but by voting A5>C0 and B5>C0 maximizes support for one of them to be in the winning winner set rather than C. This is easier to visualize imo by thinking of it like an Asset negotiation.

It seems to me that if you do the KP transform on Score ballots then do the “ranked Approval” transform and run the ballots through a Condorcet PR method, that the Condorcet PR winner set will closely resemble the result of Thiele or something consensus-biased.

If we choose Schulze STV, the method we get looks like this:

Define the “Minroe score” of a winner set {W1,…,Wn} as the value of min{S1,…,Sn} where Si is the number of approvals the ith winner has on the Hare quota of ballots assigned to them (as in Monroe), when the ballots are assigned to candidates in a way that optimizes min{S1,…,Sn}. (So instead of the total score like in Monroe, it’s the score of the weakest candidate.)

To compare two winner sets that differ by one candidate, such as (A1,…,An,B) and (A1,…,An,C), to find the score for (A1,…,An,B)>(A1,…,An,C), we find the Minroe score of (A1,…,An,B) on the ballots that do not approve C. To find the score for (A1,…,An,C)>(A1,…,An,B), we have to reverse this procedure, as in standard Schulze STV.

At this time, I do not know if these comparisons are transitive.

Edit: this misinterpreted how Schulze STV handled tied rankings. I assumed that when determining votes for {A1,…,An}>B, that ballots of the form Ai=B could not be assigned to Ai. This doesn’t work very well (the cardinal method I described would see a lot of 0-0 pairwise ties in party list cases because all votes for a test candidate’s party would become unusuable) and according to the paper, ballots of the form Ai=B can be assigned to Ai. So instead the method for determining votes for {A1,…,An}>B is:

Pretend that all ballots that disapprove B approve every member of Ai. Then find the Minroe score.

I expect that this fails IIB, because ballots approving no one and ballots approving everyone become usable by any winner set in determining its support against a test candidate.

Of course, the tie rule could be partially modified. For example, allowing a ballot that says Ai=B to count for Ai when both are approved but not when both are disapproved would just produce Minroe.

The problem I see with CPO and Schulze STV is that if you have a comparison between a purely majoritarian winner set and a winner set with only one minority-quota-preferred candidate and a bunch of very weakly supported candidates, those methods won’t create and give the victory to a third winner set with all but one candidate being majoritarian and the final one being the minority-quota-preferred candidate. Algorithmizing Asset Voting (or simulating strategic iterated cumulative voting based on voters’ ballots) can do that.

Do you have an example of this?

5-winner election:

51: Party A candidates
20: Party B candidates
20: Party C
9: split between random candidates, call them D, E, F, G

Winner set (5 A’s) vs. (B, D, E, F, G)

I’d argue that the winning winner set here is actually (4 A’s, B). The B voters have enough votes to force B to be one of the top 5 candidates in a iterated cumulative voting election or an Asset negotiation, and no voters can force an improvement from their perspective from there.

Edit: To be clear no improvement based on the candidates in either set is possible. If we take (4 A’s, B) and compare it to all remaining candidates, it’s clear the C voters can force 1 C to be among the top 5 as well, and that would be the equilibrium outcome, so the final Condorcet PR winner set is 3-1-1 A-B-C.

But any Droop proportional method, including Schulze STV, is going to return 3A, B, C here, because the droop quota is 16 2/3. I don’t see what problems with Schulze STV this example demonstrates.

I’m demonstrating that it doesn’t notice that a better winner set can be constructed from the elements of the two that are being compared. This might make it a lot harder to compute in practice, and in my opinion makes the process a lot harder to understand. A Condorcet PR method based on stable equilibriums would intuitively be Smith-efficient (you’ll eventually reach a CW set or a cycle with the fewest winner sets than can get more votes than any others), Droop-proportional (Droop Quotas will always pivot their votes to their preferred candidates, and mathematically they’re guaranteed to have their preferred candidates in the top (number of winners) candidates no matter how other voters vote), be a lot easier to visualize (show the winners based solely on 1st choices, then show the votes moving around as the voters are simulated improving the outcome from their perspective until the Smith Set is reached), and I think wouldn’t require

doing the comparison twice for the same two sets.

Here’s a picture demonstrating how this works: Need to fix some errors before reuploading.
Should make sense now: