[EM] Level of proportionality for two-seat PR methods
Toby Pereira
tdp201b at yahoo.co.uk
Sat Jun 13 00:05:51 PDT 2026
More interesting work. Like you I'm surprised by the position of random ballots. Is it not the case that if you pick two random numbers between 0 and 1, the expected value of the lower number is 1/3 and the higher number 2/3? Not 1/4 and 3/4. And is that not essentially the same question?
Toby
On Saturday, 13 June 2026 at 01:54:18 BST, Kristofer Munsterhjelm via Election-Methods <election-methods at lists.electorama.com> wrote:
As mentioned in my previous post, I extended my PR measuring code to
consider different degrees of proportionality.
I haven't found a way to generalize proportionality degrees for any
number of seats (I should read that post, I suppose...) but for two
seats, I figured that it's not too hard. Since the voter opinion space
distribution is a standard normal, it's symmetric around zero, so
there's no reason for the method to prefer left-wing to right-wing
candidates (or vice versa). Thus, the proportionality level can be
parameterized by just how far from the median the two elected candidates
lie.
That is, the error function is
sqrt((x_1 - y_1)^2 + (x_2 - y_2)^2)
and can be parameterized by a quantile level q, so that y_1 is the
position corresponding to the qth quantile of the voter opinion space
distribution, and y_2 is the (1-q)th quantile; and x_1 and x_2 is the
location of the leftmost and rightmost elected candidate in opinion space.
The "significant" values of q, or at least those that come most readily
to mind as distinct, are, for two seats:
q = 0
as factional as possible, usually not a good idea, but perhaps useful
for the unanimity setting I mentioned earlier.
q = 1/4
This is the "independent wings" position, where to elect a council,
you split the voters into two halves (left-of-center and
right-of-center) and elect the centrist from each (i.e. the
left-wingers' internal median and the right-wingers' internal median).
The median is at q = 1/2, so a median of the left half is 1/4.
q = 1/3
Spatial Droop proportionality.
q = 1/2
Bloc majoritarian voting (elect as many median voter candidates as you
can).
The VSE is then a goodness-of-fit value (and is the maximum VSE that
method can get at any q, grid search optimization inaccuracies
notwithstanding). A low value means that even the best fit doesn't fit
very well, and thus that the method has trouble being consistently
proportional at any level. High values mean that the particular fit is a
very good one.
So, considering some methods for each of the "significant" values of q:
q = 0
Name Prop. quantile Goodness-of-fit VSE
Worst Plurality 0 -0.1640
Worst Antiplurality 0 0.9996
LPV0+ 0.0004 -0.4448
Log-penalty (K = 1000) 0.0027 -0.0304
None of these are very good. Worst Plurality elects Plurality losers,
and Worst Antiplurality elects Antiplurality losers (i.e. it gives one
point to last place and elects the candidates with the most points).
The interesting part here is that Antiplurality has such a good fit; I
think this is because my model is entirely focused on PR - there are no
"universally good" or "universally bad" candidates. Hence chosing losers
means chosing closer to the tail end of the distribution, which, if the
method doesn't have any center squeeze or other problems, means
consistently hitting q=0.
q = 1/4
Name Prop. quantile Goodness-of-fit VSE
QPQ (0.01) 0.2152 0.6605
SNTV 0.234 0.5868
QPQ (Sainte-Laguë) 0.2381 0.7190
Random ballots 0.2484 0.3292
Bloc IRV (bottoms-up) 0.2538 0.7967
Harmonic (delta = 0) 0.2651 0.9181
I'm a bit surprised that random ballots ended up here. But I suppose
this is the "non-interactionist" category, and the random ballots method
doesn't seek to reweight anybody.
As for SNTV: while its proportionality level seems to be around 1/4 when
it's just given candidates from the opinion space distribution (or from
uniform), it's so vulnerable to vote management that in practice it
would be closer to 1/3. I'd also note that SNTV gets more factional with
more candidates; for instance, with two seats and 15 candidates, its
quantile is 0.2159. In contrast, Bloc IRV stays pretty solid at 0.2515.
This suggests that strategy is pretty much required to make SNTV behave
properly (similar to vote-splitting problems with single-winner Plurality).
The SNTV result would suggest that at least some methods that have q =
1/4 with honest behavior are susceptible to strategy that drive them to
q = 1/3. It would be interesting to know what methods are "stable" at
1/4 in this sense, i.e. that their proportionality level isn't forced
inward by strategy. I suspect that vote-management problems become more
severe the lower q you have, though that's just a hunch.
q = 1/3
Name Prop. quantile Goodness-of-fit VSE
STV-ME (Plurality) 0.324 0.8323
Meek/Warren STV 0.3397 0.7945
QPQ (d'Hondt) 0.3398 0.7891
STV 0.3404 0.7946
Vote For and Against 0.3506 0.7330
STV-ME (Schulze) 0.36 0.8145
Bloc Nauru-Borda IRV 0.362 0.9157
DHwL Ranked Pairs 0.3819 0.8538
Schulze STV 0.393 0.5141
and for the cardinal methods within this region:
Harmonic (delta = 0.14) 0.3007 0.9355
...
Harmonic (d'Hondt) 0.382 0.9246
and
Isoelastic (r = -10) 0.3816 0.4803
...
Isoelastic (r = -5.7) 0.3993 0.5310
Not too much to say here. Some of the negative part of Isoelastic is in
this region, but not very good; Harmonic is much better. (Psi has an
optimum of q = 0.5, to be handled later.) DHwL is a multiplicative
version of Olli Salmi's "d'Hondt Without Lists"; see
http://lists.electorama.com/pipermail/election-methods-electorama.com/2008-October/121082.html.
I would suspect that the positional and positional elimination methods
are unstable in the number of seats to be elected, i.e. that their
optimal q (for some reasonable generalization) would change drastically
as the number of seats changes. Surprisingly, they don't change much
with number of candidates.
Schulze STV is somewhat of a surprise here. If my glue code was just
outright wrong, I would expect q to be either zero or 1/2, but it's
0.39, which is not *too* far off 1/3. Its goodness-of-fit is still
pretty bad. I guess I'll be more confident of whether there are errors
here once I've implemented some of Schulze's test elections; but still,
the result would be kinda weird if my implementation is just broken.
If the method turns out to work properly, then maybe Schulze STV just
implements a suboptimal completion rule to pick from Schulze's
vote-management Smith set. Or the measure isn't as good as I thought.
q = 1/2
Name Prop. quantile Goodness-of-fit VSE
Bloc Antiplurality 0.3966 0.2139
PSC-CLE 0.4704 0.9642
Bloc Ranked pairs 0.4994 0.9999
Range 0-20, rel. scale 0.5 0.9181
Bloc Borda 0.5 0.9331
Range 0-20, abs. scale 0.5 0.9734
and cardinal methods (for some parameter values)
Isoelastic (r = -5.5) 0.4007 0.5329
Isoelastic (r = 2.7) 0.5 0.9733 (q=0.5 max)
Isoelastic (r = 10) 0.5 0.7533
Psi (delta = 0) 0.5 0.6985
Psi (Sainte-Laguë) 0.5 0.7421
Psi (d'Hondt) 0.5 0.7717
These are the majoritarian/centrist ones. I'm most surprised at bloc
Antiplurality being that low, since I'd imagine that positional methods
on the other side of Borda are even more center-heavy than Borda itself.
PSC-CLE not being more proportional is also interesting, as is that
every delta Psi has proportionality 0.5; unless my code is wrong, this
means that Psi as a whole is a lot more center-biased than would be
expected of a proportional method.
So this post is already pretty long, but there's one thing I'd like to
mention. A method I implemented back in 2007-2009 as a proof of concept
showed good results (for its given quantile value) in a very limited
test, and the general idea might be worth investigating further:
Two seats, four candidates:
Name Prop. quantile Goodness-of-fit VSE
CFC-Kemeny 0.2493 0.9998
for comparison,
Meek/Warren STV 0.3319 0.9620
QPQ (d'Hondt 0.3321 0.9603
Harmonic (d'Hondt) 0.3732 0.9505
This is a clustering-based version of Kemeny (which is why I can't run
it with the full ten candidates; the combinatorial explosion is awful).
The setup is that the voting power (ballot weight), say w_i for the ith
ballot, is divided into (for two seats) a left half and a right half,
w_i,left + w_i,right = w_i. The left half must have equal the voting
power of the right half (so they represent as many voters). Then the
optimizer finds Kemeny social orders for both halves so that different
candidates win in each and the total Kemeny score is maximized.
Its proportionality level is 1/4 because it treats the two halves
separately. But there might be a way to make each half's result also
consider the other half's voters, or something similar, to bias it
towards Droop results. And if so, it might provide good results over the
whole scale from q=1/4 up to q=1/2.
But I'd have to use a more tractable method than Kemeny as the base.
I guess that Monroe would also do pretty well by this measure for
similar reasons. And perhaps there are ways to make Monroe "care about"
other clusters than its own, as well, to generalize it to span a range
of q, not just the 1/4 or "independent clusters" position.
-km
----
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/20260613/16b0c91e/attachment.htm>
More information about the Election-Methods
mailing list