Biproportional apportionment
Biproportional apportionment is a proportional representation method to allocate seats in proportion to two separate characteristics. That is, for two different partitions each part receives the proportional number of seats within the total number of seats. For instance, this method could give proportional results by party and by region, or by party and by gender/ethnicity, or by any other pair of characteristics.
 Example: proportional by party and by region
 Each party's share of seats is proportional to its total votes.
 Each region's share of seats is proportional to its total votes
 (or this could be based on its populationsize or other criteria).
 Then, as nearly as possible given the totals for each region and each party:
 Each region's seats are allocated among parties in proportion to that region's votes for those parties. (The region's seats go to locally popular parties.)
 Each party's seats are allocated among regions in proportion to that party's votes in those regions. (The party's seats are in regions where it is most popular.)
Part of the Politics series 
Electoral systems 

Plurality/majoritarian 

Other systems and related theory 

Process
Suppose that the method is to be used to give proportional results by party and by region.
Each party nominates a candidate list for every region. The voters vote for the parties of their region (and/or for individual candidates, in an open list or local list system).
The results are calculated in two steps:
 In the so called upper apportionment the seats for each party (over all regions) and the seats for each region (from all parties) are determined.
 In the so called lower apportionment the seats are distributed to the regional party list respecting the results from the upper apportionment.
This can be seen as globally adjusting the voting power of each party's voters by the minimum amount necessary so that the regionbyregion results become proportional by party.
Upper apportionment
In the upper apportionment the seats for each party are computed with a highest averages method (for example the SainteLaguë method). This determines how many of all seats each party deserves due to the total of all their votes (that is the sum of the votes for all regional lists of that party). Analogical, the same highest averages method is used to determine how many of all seats each region deserves.
Note, that the results from the upper apportionment are final results for the number of the seats of one party (and analogically for the number of the seats of one region) within the whole voting area, the lower apportionment will only determine in which particular regions the party seats are allocated. Thus, after the upper apportionment is done, the final strength of a party/region within the parliament is definite.
Lower apportionment
The lower apportionment has to distribute the seats to each regional party list in a way that respects both the apportionment of seats to the party and the apportionment of seats to the regions.
The result is obtained by an iterative process. Initially, for each region a regional divisor is chosen using the highest averages method for the votes allocated to each regional party list in this region. For each party a party divisor is initialized with 1.
Effectively, the objective of the iterative process is to modify the regional divisors and party divisors so that
 the number of seats in each regional party list equals the number of their votes divided by both the regional and the party divisors which is then rounded by the rounding method of the highest averages method used, and
 the sum of the seats of all regional party lists of one party equals the number of seats computed in the upper apportionment for that party, and
 the sum of the seats of all regional party lists of one region equals the number of seats computed in the upper apportionment for that region.
The following two correction steps are executed until this objective is satisfied:
 modify the party divisors such that the apportionment within each party is correct with the chosen highest averages method,
 modify the regional divisors such that the apportionment within the region is correct with the chosen highest averages method.
Using the SainteLaguë method, this iterative process is guaranteed to terminate with appropriate seat numbers for each regional party list.
Specific Example
Suppose there are three parties A, B and C and three regions I, II and III and that there are 20 seats are to be distributed and that the SainteLaguë method is used. The votes for the regional party lists are as follows:
Party  Region  Total  

I  II  III  
A  123  45  815  983 
B  912  714  414  2040 
C  312  255  215  782 
total  1347  1014  1444  3805 
Upper apportionment
For the upper apportionment, the overall seat number for the parties and the regions are determined.
Since there are 3805 voters and 20 seats, there are 190 (rounded) voters per seat. Thus the results for the distribution of the party seats is:
Party  A  B  C 

#votes  983  2040  782 
#votes/divisor  5.2  10.7  4.1 
#seats  5  11  4 
Using the divisor 190, the results for the distribution of the region seats is:
Region  I  II  III 

#votes  1347  1014  1444 
#votes/divisor  7.1  5.3  7.6 
#seats  7  5  8 
Lower apportionment
Initially, regional divisors have to be found to distribute the seats of each region to the regional party lists. In the tables, for each regional party list, there are two cells, the first shows the number of votes and the second the number of seats allocated.
Party  region  

I  II  III  
A  123  1  45  0  815  5 
B  912  4  714  4  414  2 
C  312  2  255  1  215  1 
total  1347  7  1014  5  1444  8 
regional divisor  205  200  180 
Now, the party divisors are initialized with ones and the number of seats within each party is checked (that is, compared to the number computed in the upper apportionment):
Party  region  total  party
divisor  

I  II  III  
A  123  1  45  0  815  5  983  6  1 
B  912  4  714  4  414  2  2040  10  1 
C  312  2  255  1  215  1  782  4  1 
total  1347  7  1014  5  1444  8  3805  20  
regional divisor  205  200  180 
Since not all parties have the correct number of seats, a correction step have to be executed: For parties A and B, the divisors are to be adjusted. The divisor for A have to be raised and the divisor for B have to be lowered:
Party  region  total  party
divisor  

I  II  III  
A  123  1  45  0  815  4  983  5  1.1 
B  912  5  714  4  414  2  2040  11  0.95 
C  312  2  255  1  215  1  782  4  1 
total  1347  8  1014  5  1444  7  3805  20  
regional divisor  205  200  180 
Now, the divisors for regions I and III have to be modified. Since region I has one seat too much (8 instead of the 7 seats computed in the upper apportionment), its divisor have to be raised; in opposite, the divisor for region III has to be lowered.
Party  region  total  party
divisor  

I  II  III  
A  123  1  45  0  815  4  983  5  1.1 
B  912  5  714  4  414  3  2040  12  0.95 
C  312  1  255  1  215  1  782  3  1 
total  1347  7  1014  5  1444  8  3805  20  
regional divisor  210  200  170 
Again, the divisors for the parties have to be adjusted:
Party  region  total  party
divisor  

I  II  III  
A  123  1  45  0  815  4  983  5  1.1 
B  912  4  714  4  414  3  2040  11  0.97 
C  312  2  255  1  215  1  782  4  0.98 
total  1347  7  1014  5  1444  8  3805  20  
regional divisor  210  200  170 
Now, the numbers of seats for the three parties and the three regions match the numbers computed in the upper apportionment. Thus, the iterative process is completed.
The final seat numbers are:
#seats  region  total  

Party  I  II  III  
A  1  0  4  5 
B  4  4  3  11 
C  2  1  1  4 
total  7  5  8  20 
Usage
The method was proposed in 2003 by German mathematician Friedrich Pukelsheim. It is used for cantonal and municipal elections in some cantons of Switzerland, i.e. Zurich (since 2006), Aargau and Schaffhausen (since 2008), Nidwalden, Zug (since 2013), Schwyz (since 2015) and Valais (since 2017).
Fair majority voting
Fair majority voting is a biproportional apportionment method with singlemember regions called "districts", so each district has exactly one representative. It was proposed in 2008 by Michel Balinski (who also invented the singlewinner voting system called majority judgment) as a way to eliminate the power of gerrymandering, especially in the United States.