[EM] Preliminary Droop-fit proportionality results

Toby Pereira tdp201b at yahoo.co.uk
Tue Jun 2 07:54:30 PDT 2026


 Interestingly Kristofer put the two methods together suggesting the simulation ran them as if they were they same method. I don't really know the difference between all the STV methods, but QPQ also got a score 0f 0.998 for 9 seats, suggesting it's up there as well. Do we know why Schulze outperformed the others for 5 seats but not 9?
Toby
    On Sunday, 31 May 2026 at 10:34:43 BST, Etjon Basha via Election-Methods <election-methods at lists.electorama.com> wrote:  
 
 Thank you for sharing these Kristofer,
Always a pleasure to see one's biases reinforced by independent sources, with such a total Warren/Meek STV victory over Schultze. If only Warren had outdone Meek, this would have been perfect.
Best regards,
Etjon
The only thing th
On Sun, 31 May 2026, 1:31 am Kristofer Munsterhjelm via Election-Methods, <election-methods at lists.electorama.com> wrote:

So I implemented a quick version of a spatial Droop proportionality measure:

The voters are drawn from a standard normal over a 1D opinion space, and 
the candidates are drawn either from the same standard normal or a 
uniform distribution (odd iterations use one, even iterations use the 
other).[1] Each voter ranks the candidates in distance (and rates them 
according to negative distance).

The "ideal" kth candidate is the k/(s+1)th quantile of the (drawn) voter 
distribution; the error is then the square root of the sum of squares 
between each ideal kth candidate and the kth candidate actually elected 
(in order from leftmost to rightmost).

So, for instance, if it's a two-candidate election and the voters' 
quantiles are -0.43 and +0.43, and method X elects candidates who are at 
-0.27 and +0.34 respectively. Then the error for method X in that 
election is the Euclidean distance between (-0.43, 0.43) and (-0.27, 
0.34) ~= 0.184.[2]

I then calculated the VSE over this measure with 4096 voters, 10 
candidates, and different numbers of seats. Here are some results with 
some comments afterwards.

Note that a bad result (low VSE) only gives an indication that the 
method doesn't select candidates close to the Droop quantiles, but not 
*why*. It doesn't distinguish between that happening because the method 
has a different notion of proportionality, or because it has no such 
notion and is all over the place.

(I'd like to implement something that determines what that notion of 
proportionality is if there is one. But I should read Ryan's post more 
thoroughly before I do that.)

2 seats:
Name                             VSE
Log-penalty voting              -1.47
Random ballots                   0.29
Isoelastic (r=1)                 0.32
Isoelastic (r=10)                0.37
Schulze STV                      0.45
SNTV                             0.46
QPQ (0.01)                       0.47
Psi voting (delta=0)             0.52
Psi voting (Sainte-Laguë)        0.55
Psi voting (d'Hondt)             0.56
QPQ (Sainte-Laguë)               0.59
Isoelastic (r=2)                 0.64
(Bloc) Normalized 0-20 Range     0.65
(Bloc) Borda                     0.68
PSC-CLE                          0.72
QPQ (d'Hondt)                    0.79
Meek/Warren STV                  0.80
STV                              0.80
STV-ME(Schulze)                  0.80
Harmonic voting (delta=0.02)     0.80
Harmonic voting (d'Hondt)        0.87
Harmonic voting (Sainte-Laguë)   0.93

5 seats:
Name                             VSE
Log-penalty voting              -1.36
Isoelastic (r=10)               -0.30
Schulze STV                      0.21
QPQ (0.01)                       0.32
Isoelastic (r=1)                 0.36
Psi voting (delta=0)             0.39
Random ballots                   0.38
Psi voting (Sainte-Laguë)        0.40
Psi voting (d'Hondt)             0.41
(Bloc) Normalized 0-20 Range     0.44
Isoelastic (r=2)                 0.44
(Bloc) Borda                     0.49
Harmonic voting (delta=0.02)     0.59
SNTV                             0.67
Harmonic voting (d'Hondt)        0.76
PSC-CLE                          0.81
QPQ (Sainte-Laguë)               0.83
Harmonic voting (Sainte-Laguë)   0.89
STV                              0.94
QPQ (d'Hondt)                    0.94
Meek/Warren STV                  0.94
STV-ME(Schulze)                  0.96

9 seats:
Name                             VSE
Log-penalty voting              -0.70
Schulze STV                      0.00
Isoelastic (r=10)                0.10
Isoelastic (r=1)                 0.19
Random ballots                   0.41
SNTV                             0.57
Harmonic voting (delta=0.02)     0.57
QPQ (0.01)                       0.57
Isoelastic (r=2)                 0.71
(Bloc) Normalized 0-20 Range     0.71
(Bloc) Borda                     0.81
Psi voting (d'Hondt)             0.82
Psi voting (Sainte-Laguë)        0.82
Psi voting (delta=0)             0.83
Harmonic voting (d'Hondt)        0.90
QPQ (Sainte-Laguë)               0.91
PSC-CLE                          0.92
Harmonic voting (Sainte-Laguë)   0.95
STV                              0.98
STV-ME(Schulze)                  0.98
QPQ (d'Hondt)                    0.998
Meek/Warren STV                  0.998

("Random ballots" is the method where one repeatedly picks a random 
voter and elects their favorite continuing candidate.)

The most surprising part, to me, is the bad fit of Schulze STV and how 
little IRV's problems seem to generalize to STV, at least by this 
measure. It's also a bit surprising that for most tunable methods, 
d'Hondt does better than Sainte-Laguë, but for Harmonic the opposite is 
true.

Harmonic seems to do better than Psi, just as it did in the my earlier 
simulations.

In retrospect, it's not that surprising that Harmonic is beaten by 
ranked methods because it doesn't optimize the same thing (just like 
single-winner Range has a different objective than majority rule).

If I were to guess, I'd imagine that there is some kind of property 
that, if passed, leads to good performance here; and STV passes its due 
to the way it works, but Schulze STV doesn't because it was designed 
primarily to be strategy-resistant. But that's just a guess.

-km

[1] My point with doing this was to penalize methods that just make 
assumptions about the voter distribution from the candidate distribution 
or vice versa.

[2] Ideally, the error measure should be designed to generalize to 
something like the Sainte-Laguë index in the party list case, but I just 
chose something easy and broadly reasonable here.
----
Election-Methods mailing list - see https://electorama.com/em for list info

----
Election-Methods mailing list - see https://electorama.com/em for list info
  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.electorama.com/pipermail/election-methods-electorama.com/attachments/20260602/0a6ac2d0/attachment.htm>


More information about the Election-Methods mailing list