The a_v function is used in single member districts and lets
voters rank the candidates competing in the district from most to least preferred.
If a candidate is ranked first by a majority of voters, he or she
wins the single seat available. If no candidate obtains a majority of votes, the
candidate with the fewest first-place votes is eliminated and her votes are
distributed to the candidates that her supporters ranked second. If this redistribution
gives another candidate a majority of the votes, that candidate is elected; if not, the
second weakest candidate is eliminated and his votes are redistributed among the
surviving candidates. This process of redistribution and recounting continues
until a candidate obtains majority support.
The bc function is used in single-member or multi-member
districts, though it is typically discussed in settings that return a single
choice. Voters assign candidates a rank, but seats are then awarded by
plurality rather than majority. Each rank is assigned a weight, and a
candidate’s vote total is the sum of the full and fractional votes he or she
receives. For example, a first place rank might be weighted by one, a second
place rank by 1/2, a third place rank by 1/3. A candidate ranked first by one
hundred voters, second by twenty voters, and third by ten voters would be
awarded a total of 100/1 + 20/2 + 12/3 =114 votes. This, in fact, is the
modified bc system used to elect the Parliament in the country of Nauru
(not included in our dataset), an island in Micronesia. To our knowledge,
the bc is not used in national elections elsewhere.
The dhondt function divides parties’ vote totals
successively by 1, 2, 3, 4, 5, and so on (until m). Seats are then awarded
sequentially starting with the party that enjoys the largest quotient
until no more seats are available.
The droop function assigns seats by calculating the Droop
quota, which is Q = V/(M+1) + 1 (rounded to the nearest integer). The seats
are assigned in two stages. First, the number of votes obtained by each
party is divided by Q and rounded down. That integer is the number of seats
that the party will obtain in the first stage. Second, Q is multiplied by
the number of seats obtained by each party (Si) and that number if
substracted from the total number of votes obtained by that party. That would
be a residual: Ri = Vi - Q*Si. The remaining seats are assigned to the
parties with the largest residuals.
The fortified_pr function is used for proportional
representation with a majority bonus. The seat allocation formula is
different from other list PR systems. Under this set of rules, the list which
receives the largest vote share receives a bonus in seats. Sometimes, that
list needs to surpass a certain percentage of votes (the cutoff) in order to
be eligible for that. In this case, the function assigns half the seats to
the party with most votes and assigns the other half of the seats
proportionally.
The hagenbachbischoff function works with the same
procedure as the droop function, but in this case Q = V/(M+1).
The hare function works with the same procedure as the
droop function, but in this case Q = V/M.
The imperiali function works with the same procedure as
the droop function, but in this case Q = V/(M+2).
The lim_nom function is used to calculate the seats obtained
with closed-list plurality with limited nomination system. Voters only get
one vote, which is cast for a closed party list. District magnitude needs
to be 3 (i.e., M=3) and the top vote-getting party is awarded two seats
while the third seat goes to the second-place finisher — even if its level
of support is abysmally low.
The modsaintelague function works with the same procedure as
the dhondt function, but in this case the sequence of numbers used for the
division is only comprised by odd numbers except for the first one, which is
1.4 instead of 1. It ends up being: 1.4, 3, 5, 7 and so on. It uses an amount
of numbers equal to m.
The plurality function returns the number of seats according
to the seat allocation formula—plurality. In a single-member district decided
by plurality system, voters get a single vote, cast at the party level, to
fill the only contested seat, and that seat goes to the top vote-earner
regardless of level of support. In a multiple non-transferable vote system,
the votes are cast at the candidate level and m is greater than 1. The number
of candidates should always be greater or equal to m.
The saintelague function works with the same procedure as
the dhondt function, but in this case the sequence of numbers used for the
division is only comprised by odd numbers (1, 3, 5, 7 and so on). It uses an
amount of odd numbers equal to m.