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