[EM] Biproportional representation (was Re: Preferential voting system where a candidate may win multiple seats)

Vidar Wahlberg canidae at exent.net
Mon Sep 2 14:43:20 PDT 2013

On Mon, Sep 02, 2013 at 09:55:57AM +0200, Kristofer Munsterhjelm wrote:
> I'm not sure what you mean by "exactly how it's done in counties
> today", though. If you mean that the apportionment of seats to
> counties (i.e. how many seats each district gets in the district
> target) is done by unmodified Sainte-Laguë, that's right. But the
> apportionment of seats to parties within each county (e.g. how many
> seats AP should get in Oslo according to the current system) is done
> by modified Sainte-Laguë.

Correct, I explained poorly. I meant that the Sainte-Laguë method is
used in the upper apportionment, just like it's used in counties, but
the difference is that I use unmodified Sainte-Laguë (because it makes
much less impact, even though it actually did result in one party not
winning a seat in one recent election).
One does not need to use Sainte-Laguë in the upper apportionment, one
might as well use Webster's method. This really is just a detail,

> The particular example I gave there would seek to emulate the
> "county only threshold" by finding out the number of seats per party
> per county. For any party that gets less than 4% nationwide support,
> the number of seats they would get would be fixed to this number.
> For instance, Venstre would be fixed to get only 2 seats since its
> support of 3.88% fell short of the 4%. Then, after those parties'
> seat numbers have been fixed, the other parties would get seats as
> by ordinary (or modified) Sainte-Laguë.
> However, I did actually calculate the upper party apportionment with
> a threshold like the above, and the party target I ended up with was
> almost identical to the actual 2009 outcome. The only difference was
> that Arbeiderpartiet got one seat less and Høyre got one more; so
> that shows that, given the 4% threshold, the current leveling seat
> system is already pretty good at meeting the target. At least it is
> so for the 2009 outcome, though one may argue that outcome is not
> representative because it included unusually few parties.

As to be expected, because todays system do strive to reach a fairly
proportional representation on a national level, but when limited to 19
leveling seats, there are many scenarios where you'll still end up with
disproportionality. One example is that large parties are probably to
receive "too many" (as if it were one district) seats, which in turn
will decrease the amount of seats to the other parties. Another example
is that several parties may be just above the election threshold, which
will give them about 6-7 seats, but they may only win 1-2 seats
directly. Once there are 4 such parties (which happens to be the case in
Norway at the moment, possibly 5 if MDG wins more support, and support
for FrP is declining which eventually could make it 6), there won't be
nearly enough leveling seats. Denmark "solved" this by increasing the
amount of leveling seats, but even when that is done, the current
algorithm for distributing leveling seats to the district can cause some
really peculiar results (such as Venstre winning a seat in Finnmark in
2005, with nearly no support in the county).

That said, and this going a bit on the "sociological issues", an
election threshold of 4% I believe is quite detrimental to our election
system, especially when you can't rank your next preference. It will
make it very difficult for new parties to challenge the the existing
parties, and parties that drops below the election threshold may
eventually disappear completely as people won't "gamble" their vote on a
party that may not be (well) represented. Over time this may lead to a
two-party system, which I do not believe would represent the people very
well, at least not in Norway. We generally vote for a set of ideas
(which parties represent), having to choose between only two sets will
unlikely reflect the preferences of the population.

> But that is just Webster's method! And Webster's method is
> equivalent to Sainte-Laguë. So internally, the lower apportionment
> consists of alternating a Webster apportionment "across" (for the
> districts) and "down" (for the parties), adjusting the factors until
> convergence. That's what I mean by that the method uses Sainte-Laguë
> internally.

Interesting. Maybe I've overlooked it, but I don't recall reading about
this connection in the works that describe biproportional apportionment.
This is good to know, though.
As the amount of seats each party receives is already decided before the
lower apportionment then I would assume that it will make little
difference whether you "floor", "round" or even "ceil" the quotients,
I've not given it much thought or actually tried it, though.

> I did a cursory search and it doesn't seem like rational number
> support is planned for D. I suppose you could use a mathematical
> language (e.g. MATLAB or Mathematica's); or on the other end of
> things, use C or C++ with GNU MP's rational number functions or
> classes. But since the algorithm already works the way you have
> implemented it, that would more be a perfectionist/100% thing, or
> something one would do for a library implementation.

It turned out to be fairly simple to implement, and there are several
alternatives. I just found one and used that. Instead of multiplying
the row/column with highest/lowest constant to reach the target seats
for the row/column a friend more skilled in math than me showed me a
trick to find a fraction with few digits within the constant range. This
fraction usually is quite close to the desirable value both when I wish
to increase or decrease the row/column multiplier. I digress a bit, but
the idea behind this is that at the end, you get a fraction with few
digits both in the numerator and the denominator.
I also changed the implementation to calculate the final county
multipliers and party multipliers, so now it's easy for the public to
verify the result. They simply multiply votes for a party in a district
with the district multiplier and the party multiplier.

I did start implementing it all over in javascript, my intentions was to
make a page where people could test it out for themselves, but I'm no
web designer and I sort of lost interest in the project once the
implementation of the current Norwegian system and biproportional
apportionment was working. It looks horrible, is in no way user
friendly, probably got bugs, throws together over a couple evenings,
doesn't give a lot of information (just the results), is in Norwegian,
but if you're really interested, you could take a look:
The top button can be used to predict they outcome of an election by
typing in vote percentage in the top row of input boxes, but currently
it got the wrong amount of seats for each county (this will be changed
for the upcoming election). As noted, I sort of lost interest in working
on it, I may not bother spending more time on it.

> Do you think there could be similar arguments even when the upper
> apportionment is published? If so, it couldn't argue that the
> outcome is unfair with respect to the upper apportionment, since the
> upper apportionment is set and it's easy to verify that the lower
> apportionment results match. So the arguments, I suppose, would
> either have to be that the upper apportionment is not desirable
> (e.g. weights districts too much or permits fringe parties to get
> seats), or that the balancing act distorts the "fair" outcome too
> much (e.g. "a majority voted for X in this district, yet Y got more
> seats. Is this democracy?").

I recently decided to actually write about the system and got it
published in the only magazine with somewhat credibility that lets
unknown people write at great lengths. Here I do mention the most likely
arguments I believe will be against the system.
I'm not a good writer, and I had two more or less conflicting desires,
both write in-depth details while trying to keep it interesting for
people with less insight and interest into voting systems. It did not
receive much attention, which I must admit did surprise me ever so
slightly given that our current system is criticized every election
(notably for votes weighting differently between counties).
It's written in Norwegian and likely not so useful for most readers of
this list, but in any case, it can be found here:
I created some spreadsheets to compare the outcome of our current system
with biproportional election (using 1.5% and no election threshold) for
the last three parliament elections, this may be of some interest too:

> If the problem was fed to a malicious algorithm (i.e. a game theory
> adversary with its own goals), then I guess the only thing it could
> do, with the upper apportionment fixed, would be to unfairly
> distribute the seats. For instance, it might fill Oslo entirely with
> MPs from Arbeiderpartiet. This would not contradict the party target
> (if other counties got fewer AP MPs to compensate), nor would it
> contradict the county target (since Oslo would still get as many
> seats as it used to).

The algorithm is quite strict. I don't see how this possibly could be
achieved, given that for each iteration, the sum of seats either for a
row or a column, must match the amount of seats decided in the upper

> Yes, that's what I meant. The votes are sort of "half unequal".
> They're equal in that an Oslo vote counts as much as a Finnmark vote
> for any given party. However, they're unequal in that Finnmark gets
> more MPs per thousand people than does Oslo. To reconcile these
> discrepancies, the method would override Finnmark county results
> more often than it would override Oslo county results. In a way, the
> method counters bias in one direction with bias in the other.

True, but when looking at the result of biproportional apportionment
with 1.5% election threshold for the last three parliament elections,
the end result is actually not notably less proportional even on county
level. Notably because the current distribution of leveling seats can
give some really unexpected results. Biproportional seems to reduce the
greatest disproportionalities. Looking at the result in 2001, Finnmark
got a Loosemore-Hanby index of 39.03, but with biproportional
apportionment the index dropped to 29.00.
It is difficult to get very meaningful numbers out of counties due to
the low amount of seats, but with a quick glance, biproportional does
certainly not seem to make the disproportionality any worse.

I have some thoughts on your thread about "STV-like" Sainte-Laguë, but
I'll have to reply another evening. I've played with the thought of a
Ranked Pairs-like Sainte-Laguë for an election with parties rather than
candidates (i.e. multiple seats to the winners). It was an attempt on
implementing proper preferential election for party-list systems, but
I'll need more time to explain it properly.

Vidar Wahlberg

More information about the Election-Methods mailing list