Alabama and the extra seat
The Census Office's table after 1880 showed that if the House had 300 seats instead of 299, Alabama would get one seat fewer, 7 instead of 8. That is where the paradox gets its name.
A council splits its seats among three districts in proportion to population and rounds the fractions with the simplest fair rule. It had 10 seats; now it will have 11. It seems an extra seat can only add to someone. So how many seats does the smallest district get then? Lock in your answer, then check it: change the council size yourself, run thousands of random councils and read the explanation.
A council splits its seats among districts of 6, 6 and 2 thousand people by the largest remainder method. With 10 seats the small district has 2; with 11 it has just 1, though there are more seats and the same people. A new seat raises every district's share in proportion to its size, and the big districts' remainders overtake the small one's. In 1880 the Census Office's table gave Alabama 8 seats in a House of 299 and 7 in a House of 300.
Splitting seats in proportion is easy as long as the shares are whole. But you cannot cut a seat into pieces, so the fractions have to be rounded somehow. The rule below was devised by Alexander Hamilton, and it looks perfectly fair.
District A has 6,000 people, district B also 6,000, district C 2,000. That is 14,000 in total.
A district's fair share is how many seats it would get if seats could be cut: the district's population × the number of seats / the total population. With 10 seats that is 6,000 × 10 / 14,000 ≈ 4.29 for A and B, and 1.43 for C.
Each district first gets the whole part of its share: 4, 4 and 1. That is 9 seats. The seats left over go one at a time to the districts with the largest fractional parts. The tenth seat goes to C: it has 0.43, while A and B have only 0.29 each. The result is 4, 4 and 2.
The council is enlarged to 11 seats. The populations have not changed, and the rule is the same. How many seats does district C get now?
"There are more seats now, so nobody can end up with fewer. At worst nothing changes"
In fact C gets 1 seat instead of 2. The shares grow: 4.71, 4.71 and 1.57. The whole parts are the same, 4, 4 and 1, but now two seats are left over and the big districts take both: their 0.71 has overtaken C's 0.57.
| 10 seats | share | whole | seats |
|---|---|---|---|
| A 6 000 | 4.29 | 4 | 4 |
| B 6 000 | 4.29 | 4 | 4 |
| C 2 000 | 1.43 | 1 | 2 |
Pick an answer with a button under the slider or type a number. With 10 seats, district C has 2.
Your answer will be compared with the right one here.
Hard to decide? Open the hints one at a time: the easy one first, then stronger ones.
Compute the fair shares for 11 seats the same way as for 10: the district's population × 11 / 14,000.
How many seats do the whole parts give with 11 seats? How many are left over, and who has the largest fractional remainders?
How much does each district's share grow from one new seat? The same for everyone, or in proportion to population?
The next rounds split seats: you change the council size and the populations yourself, the computer re-splits thousands of random councils, and then comes the explanation. Answer round 1 first, or go on?
You chose to always show all rounds.
Move the council size, change the districts' populations, add a fourth or fifth district. The table splits the seats by the largest remainder rule and compares them with a council one seat smaller. On the right are all sizes from 1 to 40: the pink cells are those where the added seat takes a seat from someone.
Cell h is pink if going from h − 1 to h seats takes a seat from at least one district. A dashed cell means tied remainders at the cut-off, so a lot decides the seat. Click a cell to open that size.
Find the paradox with other numbers: change the populations so the ratio is not 3 : 3 : 1, and look for a pink cell. Can you do it with two districts?
The computer builds random councils: 2 to 12 districts with 1 to 100 thousand people each, 10 to 40 seats. For each one it splits the seats, adds one seat and splits again. It does this three ways: by largest remainders and by two divisor methods, D'Hondt and Sainte-Laguë, which many parliaments use to count seats.
Check: Python on 500,000 councils per number of districts gives 0% for two districts, 2.4% for three, 3.9% for four, 5.1% for six and 6.2% for twelve (error ±0.1 points). With two districts the paradox never happens, and the divisor methods never produce it at all.
Once you answer, the simulation code appears here so you can run it yourself.
The same simulation, short and with no libraries. Run the JavaScript in your browser console (F12) or in Node; the Python needs only the standard library.
// Random councils: 2 to 12 districts of 1 to 100 thousand people, 10 to 40 seats. Add one seat: does anyone lose a seat?
function largestRemainder(p, h) {
const P = p.reduce((a, b) => a + b, 0), q = p.map(x => x * h / P), s = q.map(Math.floor);
const order = p.map((_, i) => i).sort((a, b) => (q[b] - s[b]) - (q[a] - s[a]));
const left = h - s.reduce((a, b) => a + b, 0);
for (let k = 0; k < left; k++) s[order[k]]++; // leftover seats go to the largest remainders
return s;
}
function dHondt(p, h) { // the next seat goes to the largest p / (s + 1)
const s = p.map(() => 0);
for (let k = 0; k < h; k++) { let b = 0; p.forEach((x, i) => { if (x / (s[i] + 1) > p[b] / (s[b] + 1)) b = i; }); s[b]++; }
return s;
}
console.log('6·6·2 thousand: 10 seats', largestRemainder([6, 6, 2], 10), '11 seats', largestRemainder([6, 6, 2], 11));
const loses = (f, p, h) => { const a = f(p, h), b = f(p, h + 1); return a.some((x, i) => b[i] < x); };
const T = 20000;
for (const n of [2, 3, 4, 6, 8, 12]) {
let ham = 0, dh = 0;
for (let t = 0; t < T; t++) {
const p = Array.from({ length: n }, () => 1 + 99 * Math.random()), h = 10 + Math.floor(31 * Math.random());
if (loses(largestRemainder, p, h)) ham++;
if (loses(dHondt, p, h)) dh++;
}
console.log('districts', n, '· largest remainders', (100 * ham / T).toFixed(1) + '%', '· D\'Hondt', dh);
}
# Random councils: 2 to 12 districts of 1 to 100 thousand people, 10 to 40 seats. Add one seat: does anyone lose a seat?
import math, random
def largest_remainder(p, h):
P = sum(p)
q = [x * h / P for x in p]
s = [math.floor(x) for x in q]
order = sorted(range(len(p)), key=lambda i: q[i] - s[i], reverse=True)
for i in order[:h - sum(s)]: # leftover seats go to the largest remainders
s[i] += 1
return s
def d_hondt(p, h): # the next seat goes to the largest p / (s + 1)
s = [0] * len(p)
for _ in range(h):
s[max(range(len(p)), key=lambda i: p[i] / (s[i] + 1))] += 1
return s
print("6·6·2 thousand: 10 seats", largest_remainder([6, 6, 2], 10), "11 seats", largest_remainder([6, 6, 2], 11))
def loses(f, p, h):
a, b = f(p, h), f(p, h + 1)
return any(y < x for x, y in zip(a, b))
T = 20000
for n in [2, 3, 4, 6, 8, 12]:
ham = dh = 0
for _ in range(T):
p = [1 + 99 * random.random() for _ in range(n)]
h = random.randint(10, 40)
ham += loses(largest_remainder, p, h)
dh += loses(d_hondt, p, h)
print("districts", n, "· largest remainders", f"{100 * ham / T:.1f}%", "· D'Hondt", dh)
Intuition thinks about seats, but the rule looks at fractional remainders. A new seat adds to every district a piece in proportion to its population, so the big ones get bigger pieces and overtake the small one in the queue for leftover seats.
“In plain words” is hidden on all puzzles.
This is not the whole explanation yet, but it is the core. Leftover seats go to those with the biggest "tail" after the whole numbers. One new seat is shared among the districts like everything else, in proportion to population: A and B each get 6/14 ≈ 0.43 of a seat, while little C gets only 2/14 ≈ 0.14. C's tail barely moves, while the big districts' tails jump ahead.
With 10 seats there is one leftover seat, and C takes it with the biggest tail, 0.43. With 11 seats there are two leftovers, but A's and B's tails have grown to 0.71 and overtaken C's 0.57. Both leftover seats go to the big districts, and C is left with its whole part, 1.
| 3 seats | seats | 4 seats | seats | |
|---|---|---|---|---|
| A | 1.29 | 1 | 1.71 | 2 |
| B | 1.29 | 1 | 1.71 | 2 |
| C | 0.43 | 1 | 0.57 | 0 |
The same 6, 6 and 2 thousand. In a council of three seats each district has one: C takes the third with a tail of 0.43. Add a fourth, and C loses its only seat: 0.57 is less than the big ones' 0.71.
Two districts' shares add up to a whole number, so their tails add up to either 0 or 1. There is at most one leftover seat, and it goes to the one whose tail is more than a half. So each district simply rounds its share to the nearest whole number.
And a share only grows with a new seat, so the rounded share cannot shrink. That is why in round 2 there are no pink cells with two districts, and in the simulation the paradox appears only from three districts on.
“Rigorous” is hidden on all puzzles.
Each dot is the fractional part of a share with h seats. When a share crosses a whole number, the tail drops to zero, so the chart looks like a saw. A's and B's teeth are steep, because their share grows by 3/7 of a seat per step; C's teeth are shallow, just 1/7. The ratio 3 : 3 : 1 repeats every 7 seats, so C loses a seat at 3 → 4, 10 → 11, 17 → 18 and every seven seats after that.
Let a district have p people out of P, with h seats. Its share is q = p · h / P. Add a seat: q grows by p/P, the district's share of the population. All shares grow by the same percentage, but in absolute terms the big ones grow more.
All the shares add up to h, so the number of leftover seats equals the sum of the tails. A district loses a seat when its whole part has not grown, while the number of districts with a bigger tail is no longer smaller than the number of leftover seats. For that someone else has to overtake it in the queue, and only a district whose share grows faster, that is a bigger district, can overtake it.
Largest remainders never give a district less than its share rounded down or more than its share rounded up. This is the "quota rule": 1.57 can only become 1 or 2, never 0 or 3. The method can break monotonicity, but it never strays outside the share's bounds.
So with 11 seats, C's 1 seat is formally within bounds: its share is 1.57. What is broken is something else: with 10 seats, when its share was smaller, 1.43, it had 2.
The share of district i with population pi for h seats and total population P, and its growth from one new seat.
Each district gets the whole part, and the number of leftover seats k equals the sum of the fractional parts.
The example 6, 6, 2 thousand (P = 14): the shares at 10 and 11 seats.
A divisor method: find one number d and round each pi/d by a fixed rule (D'Hondt: down; Sainte-Laguë: to the nearest). More seats means a smaller d, so no pi/d shrinks.
Largest remainders do not use one divisor for everyone; they build a separate queue of tails for each h. The queue at h + 1 can turn out quite different from the one at h, and that is where the paradox comes from.
“Deeper” is hidden on all puzzles.
D'Hondt (called Jefferson's method in the US), Sainte-Laguë (Webster's method) and Huntington–Hill divide each district's population by a common divisor and round. They can also be run one seat at a time: each next seat goes to the district with the largest p/(s + 1) for D'Hondt or p/(2s + 1) for Sainte-Laguë, where s is the seats it already has. A council of h + 1 seats is a council of h seats plus one more, so such a method cannot take a seat from anyone. This property is called house monotonicity.
The price is the quota rule. Four districts with 20, 5, 5 and 5 thousand, 10 seats: the big one's share is 5.71, yet D'Hondt gives it 7, more than its share rounded up. Largest remainders would give it 6, within its bounds.
Michel Balinski and Peyton Young proved that no apportionment method can always respect the quota rule and at the same time never produce the population paradox (where a faster-growing district loses a seat to a slower-growing one). With four or more districts it is impossible in principle. They set out this theory in their 1982 book "Fair Representation".
So choosing a method means choosing which unfairness to put up with. Divisor methods are monotone but sometimes stray outside the share's bounds. Largest remainders stay within bounds but suffer from the Alabama, population and new states paradoxes (round 5).
After the 1880 census, Charles Seaton, chief clerk of the US Census Office, computed the House apportionment by Hamilton's method for every size from 275 to 350. With 299 seats Alabama had 8; with 300, only 7. We recomputed this from the census population of the 38 states (49,371,340 people in all; Nevada gets the 1 seat the Constitution guarantees, though its share is 0.38):
| State | population | share, 299 | seats | share, 300 | seats |
|---|---|---|---|---|---|
| Alabama | 1 262 505 | 7.646 | 8 | 7.671 | 7 |
| Texas | 1 591 749 | 9.640 | 9 | 9.672 | 10 |
| Illinois | 3 077 871 | 18.640 | 18 | 18.702 | 19 |
With 299 seats, 20 seats were left over after the whole parts, and Alabama, with a tail of 0.646, took the last, twentieth one, ahead of Illinois and Texas with their 0.640. At 300, Alabama's tail grew by only 0.026, Texas's by 0.032 and Illinois's by 0.062. Both overtook Alabama. Meanwhile three states' shares crossed a whole number, so there were 18 leftover seats instead of 20, and Alabama ended up nineteenth in the queue. The discovery caused an uproar in Congress; in 1911 the House switched to Webster's method, and since 1941 it has used Huntington–Hill.
Largest remainders can punish a district not only for a new seat, but also for its own growth or for a new neighbour. And real elections still count seats by this rule.
The population paradox. District A grows, B stays the same, yet a seat moves from A to B. The cause is the same: every share is computed from the total population, which grew because of the third district, so the tails got re-sorted. According to Wikipedia and James Stein's book, in 1900 Virginia lost a seat to Maine this way, even though it was growing faster.
The new states paradox. A new district joins the council together with its fair share of seats. The old districts gave nothing up, yet a seat moves between them. In 1907 Oklahoma joined the US with 5 new seats, and the recount took a seat from New York and gave it to Maine.
Each requirement sounds obvious: everyone gets their share rounded down or up; more seats hurt nobody; whoever grows faster does not lose to someone growing slower. The Balinski–Young theorem says they cannot all hold together. This is not a flaw of one particular rule but a property of the task itself: fractions cannot be rounded so that the rounding behaves like the fractions.
Voting is similar: the Condorcet paradox shows that even the majority's opinion cannot always be put into a fair order. And parts and wholes that behave differently also appear in Simpson's paradox and the Will Rogers phenomenon, where the averages of all groups rise while the people stay the same.
Under Ukraine's 2011 law on the election of people's deputies (Art. 98), used for the 2012, 2014 and 2019 Rada elections, the 225 list seats are split among the parties that cleared 5%. The electoral quota is the votes for these parties divided by 225; each party gets the whole part of its votes divided by the quota, and the remaining seats go one at a time to the parties with the largest fractional remainders. The votes below are the Central Election Commission's official results; check them yourself.
The Bundestag split seats among parties by the Hare–Niemeyer method, that is largest remainders, from the 1987 election. In 2008 a law replaced it with the Sainte-Laguë–Schepers method to avoid the paradoxes, and it was first used at the election of 27 September 2009. If you split a whole into whole parts in a spreadsheet (a budget across departments, laptops across teams) and the total may change, use a divisor method: an extra unit will then never shrink anyone's part.
The Census Office's table after 1880 showed that if the House had 300 seats instead of 299, Alabama would get one seat fewer, 7 instead of 8. That is where the paradox gets its name.
After the 1900 census the Bureau computed Houses of 350 to 400 seats. Colorado got 3 seats at every size except one: at 357, only 2.
Oklahoma became a state, and the House grew by its 5 seats. The recount took one seat from New York and gave it to Maine, though neither state had changed anything.
In the 2019 Verkhovna Rada election the last leftover seats were assigned by remainders. Batkivshchyna, with a remainder of 0.511, got a seat; Opposition Platform – For Life, with 0.500, did not.
Since 1941 the US House has split its 435 seats among the states by the Huntington–Hill method. It is a divisor method, and the Alabama paradox cannot happen in it.
From 1987 the Bundestag split seats by largest remainders (the Hare–Niemeyer method). Because of the paradoxes it was replaced in 2008 by the Sainte-Laguë–Schepers method, first used at the 2009 election.
Share your own explanation, an objection or a variant of the puzzle. You need a GitHub account to comment.
Is “School maths” the right level for this puzzle?
Thank you! This helps set the levels right.
I keep adding new puzzles, new ways to explain them and write-ups of the discussions they start. Leave your email and I'll write when something new is out. No spam, one-click unsubscribe.
The sign-up form will appear here soon.