The Method of Equal Shares
(in early papers the method has been also referred to as Rule X,
but since 2022 the authors started using the name "method of equal shares"
) is a proportional method of counting ballots that applies to
participatory budgeting
Participatory budgeting (PB) is a type of citizen sourcing in which ordinary people decide how to allocate part of a municipal or public budget through a process of democratic deliberation and decision-making. Participatory budgeting allows cit ...
to
committee elections and to simultaneous public decisions.
It can be used, when the voters vote via
approval ballots,
ranked ballots or
cardinal ballots. If each voter has equal entitlement and each voter submits approval preferences, the Method of Equal Shares is a specific rule in a more general class of rules called PB-EAR that was designed earlier in 2019 by Aziz and Lee for ordinal preferences (that include approval ballots).
Motivation
The method is an alternative to the
knapsack algorithm which is used by most cities even though it is a disproportional method. For example, if 51% of the population support 10 red projects and 49% support 10 blue projects, and the money suffices only for 10 projects, the knapsack budgeting will choose the 10 red supported by the 51%, and ignore the 49% altogether.
In contrast, the method of equal shares would pick 5 blue and 5 red projects.
The method guarantees
proportional representation
Proportional representation (PR) refers to a type of electoral system under which subgroups of an electorate are reflected proportionately in the elected body. The concept applies mainly to geographical (e.g. states, regions) and political divis ...
: it satisfies the strongest known variant of the
justified representation
Justified representation (JR) is a criterion for evaluating the fairness of electoral systems in multiwinner voting, particularly in multiwinner approval voting. It can be seen as an adaptation of the proportional representation criterion to ap ...
axiom that is known to be satisfiable in participatory budgeting.
Intuitive explanation
In the context of participatory budgeting the method assumes that the municipal budget is initially evenly distributed among the voters. Each time a project is selected its cost is divided among those voters who supported the project and who still have money. The savings of these voters are decreased accordingly. If the voters vote via
approval ballots, then the cost of a selected project is distributed equally among the voters; if they vote via
cardinal ballots, then the cost is distributed proportionally to the utilities the voters enjoy from the project. The rule selects the projects which can be paid this way, starting with those that minimise the voters' marginal costs per utility.
Example 1
The following example with 100 voters and 9 projects illustrates how the rule works. In this example the total budget equals $1000, that is it allows to select five from the nine available projects. See the animated diagram below, which illustrates the behaviour of the rule.
File:MethodOfEqualShares-Example1.png, none, There are 9 projects. For example, the third group of 11 voters voted for D and G. The total budget of $1000 is divided equally among 100 voters. Each voter is given 10. Click on the arrow above the image in order to see the next steps of the method.
File:MethodOfEqualShares-Example1a.png, none, Project D obtained most votes. If we divided the cost of D equally among its supporters, each voter would pay $3.03. D is the project that minimises the maximal voter payment and so it is selected.
File:MethodOfEqualShares-Example1b.png, none, Project A obtained 60 votes. Analogously to the previous step: if we divided the cost of A equally among its supporters, each voter would pay at most $3.33. Project A minimises the maximal voter payment and so is selected.
File:MethodOfEqualShares-Example1c.png, none, Project C obtained 56 votes and is selected in the third round. Each supporter of C needs to pay $3.64, and this is the minimal possible payment. At this point the first 46 voters run out of their money.
File:MethodOfEqualShares-Example1d.png, none, In the fourth step project G is selected. Some voters do not have enough money to participate equally in the purchase, so they pay all money left. The maximal payment for this candidate equals $6.97.
File:MethodOfEqualShares-Example1e.png, none, In the last step, project H is selected. Now, only the fourth group of voters has money. They have enough money to afford the project they voted for. The maximal payment for the selected project is now $10.
The budget is first divided equally among the voters, thus each voters gets $10.
Project
received most votes, and it is selected in the first round. If we divided the cost of
equally among the voters, who supported
, each of them would pay
. In contrast, if we selected, e.g.,
, then the cost per voter would be
. The method selects first the project that minimises the price per voter.
Note that in the last step project
was selected even though there were projects which were supported by more voters, say
. This is because, the money that the supporters of
had the right to control, was used previously to justify the selection of
,
, and
. On the other hand, the voters who voted for
form 20% of the population, and so shall have right to decide about 20% of the budget. Those voters supported only
, and this is why this project was selected.
For a more detailed example including
cardinal ballots see
Example 2
Example may refer to:
* '' exempli gratia'' (e.g.), usually read out in English as "for example"
* .example, reserved as a domain name that may not be installed as a top-level domain of the Internet
** example.com, example.net, example.org, e ...
.
Definition
This section presents the definition of the rule for
cardinal ballots. See
discussion for a discussion on how to apply this definition to
approval ballots and
ranked ballots.
We have a set of projects
, and a set of voters
. For each project
let
denote its cost, and let
denote the size of the available municipal budget. For each voter
and each project
let
denote the
's cardinal ballot on
, that is the number that quantifies the level of appreciation of voter
towards project
.
The method of equal shares works in rounds. At the beginning it puts an equal part of the budget, in each voter's virtual bank account,
. In each round the method selects one project according to the following procedure.
Example 2
The following diagram illustrates the behaviour of the method.
File:MethodOfEqualShares-Example2.png, none, There are 8 available projects and 250 voters. For example, the first 65 voters assign value 30 to project B and value 10 to projects E and G. The total budget of $2500 is divided equally among 250 voters. Each voter is given $10. Click on the arrow above the image in order to see the next steps of the method.
File:MethodOfEqualShares-Example2a.png, none, Project B is selected first, and its cost is divided proportionally to the values that the voters assigned to the project. In this case, this means it is divided equally among the voters from the first and the second group. Each such voter pays $2, and for those $2 they get the utility of 30. Thus the maximal payment-per-utility equals . If a different project was selected, the maximal payment-per-utility would be higher.
File:MethodOfEqualShares-Example2b.png, none, Consider project G and the payments presented in the picture. The payments are not equal, but they are still proportional to the values that the voters' assigned to G. The maximal voter's payment-per-utility for project G equals and this value is minimal across all projects. Consequently, G is selected. After this round the voters from the fourth group have run out of money.
File:MethodOfEqualShares-Example2c.png, none, In the third round project F is selected. Every supporter of F pays an equal part of the price - except for voters from the fourth group, who have no money. If they had any, they would also need to participate. Nevertheless, the maximal payment-per-utility for project F is minimal (it equals 0.2), hence F is elected.
File:MethodOfEqualShares-Example2d.png, none, In the fourth round, project E is elected. Consider the payments presented in the picture, and note that the voters from the third group have too little money to participate in paying proportionally to their utilities, yet they all still have $4 dollars left. In such case, they pay all money they still have. The maximal payment-per-utility (paid by the voters from the first group) is minimal, and equals circa 0.54.
File:MethodOfEqualShares-Example2e.png, none, In the last step, project C is elected. The voters from the second and the sixth group have too little money to participate in paying proportionally to their utilities, hence they pay as much as possible. The maximal payment-per-utility is paid for the fifth group of voters and equals 0.7.
File:MethodOfEqualShares-Example2e.png, none, The rule spent $2380 out of $2500 in the budget. While the voters from the first and the fifth group have positive savings, no project can be afforded by their supporters. Hence the algorithm stops. The outcome can be further completed. According to the utilitarian strategy project H would be selected as its cost per utility equals and is maximal across the projects that would fit within the budget constraint.
Discussion
This section provides a discussion on other variants of the method of equal shares.
Other types of ballots
The method of equal shares can be used with other types of voters ballots.
Approval ballots
The method can be applied in two ways to the setting where the voters vote by marking the projects they like (see
Example 1):
# Setting
if project
is approved by voter
, and
otherwise. This assumes that the utility of a voter equals the total amount of money spent on the projects supported by the voter. This assumption is commonly used in other methods of counting approval ballots for participatory budgeting, for example in the
knapsack algorithm, and typically results in selecting fewer more expensive projects.
# Setting
if project
is approved by voter
, and
otherwise. This assumes that the utility of a voter equals the number of approved selected projects. This typically results in selecting more but less expensive projects.
Ranked ballots
The method applies to the model where the voters vote by ranking the projects from the most to the least preferred one. Assuming
lexicographic preferences, one can use the convention that
depends on the position of project
in the voter's
ranking, and that
, whenever
ranks
as more preferred than
.
Formally, the method is defined as follows.
For each voter
let
denote the ranking of voter
over the projects. For example,
means that
is the most preferred project from the perspective of voter
,
is the voter's second most preferred project and
is the least preferred project. In this example we say that project
is ranked in the first position and write
, project
is ranked in the second position (
), and
in the third position (
).
Each voter is initially assigned an equal part of the budget
. The rule proceeds in rounds, in each round:
Committee elections
In the context of
committee elections the projects are typically called candidates. It is assumed that cost of each candidate equals one; then, the budget
can be interpreted as the number of candidates in the committee that should be selected.
Unspent budget
The method of equal shares can return a set of projects that does not exhaust the whole budget. There are multiple ways to use the unspent budget:
Properties
In the context of
committee elections the method is often compared to
Proportional Approval Voting (PAV), since both methods are proportional (they satisfy the axiom of
Extended Justified Representation (EJR)).
The difference between the two methods can be described as follow.
MES is similar to the
Phragmen's sequential rule. The difference is that in MES the voters are given their budgets upfront, while in the Phragmen's sequential rule the voters earn money continuously over time.
The methods compare as follows:
MES with adjusting initial budget, PAV and Phragmen's voting rules can all be viewed as extensions of the
D'Hondt method
The D'Hondt method, also called the Jefferson method or the greatest divisors method, is a method for allocating seats in parliaments among federal states, or in party-list proportional representation systems. It belongs to the class of highe ...
to the setting where the voters can vote for individual candidates rather than for political parties.
MES further extends to
participatory budgeting
Participatory budgeting (PB) is a type of citizen sourcing in which ordinary people decide how to allocate part of a municipal or public budget through a process of democratic deliberation and decision-making. Participatory budgeting allows cit ...
.
Implementation
Below there is a Python implementation of the method that applies to participatory budgeting. For the model of committee elections, the rules is implemented as a part of the Python packag
''abcvoting''
import math
def leq(a, b):
return a < b or math.isclose(a, b)
# N: a list of voters.
# C: a list of projects (candidates).
# cost: a dictionary that assigns each project its cost.
# b: the total available budget.
# u: a dictionary; u i] is the value that voter i assigns to candidate c.
# an empty entry means that the corresponding value u i] equals 0.
def complete_utilitarian(N, C, cost, u, b, W):
util =
committee_cost = sum( ost[cfor c in W">.html" ;"title="ost[c">ost[cfor c in W
while True:
next_candidate = None
highest_util = float("-inf")
for c in C.difference(W):
if leq(committee_cost + cost b):
if util[c] / cost[c] > highest_util:
next_candidate = c
highest_util = util[c] / cost[c]
if next_candidate is None:
break
W.add(next_candidate)
committee_cost += costext_candidate
Ext, ext or EXT may refer to:
* Ext functor, used in the mathematical field of homological algebra
* Ext (JavaScript library), a programming library used to build interactive web applications
* Exeter Airport (IATA airport code), in Devon, England
...
return W
def method_of_equal_shares(N, C, cost, u, b):
W = set()
total_utility =
supporters =
budget =
while True:
next_candidate = None
lowest_rho = float("inf")
for c in C.difference(W):
if leq(cost sum( udget[ifor i in supporters[c">.html" ;"title="udget[i">udget[ifor i in supporters[c)):
supporters_sorted = sorted(supporters key=lambda i: budget / u i])
price = cost[c]
util = total_utility[c]
for i in supporters_sorted:
if leq(price * u i], budget * util):
break
price -= budget util -= u i]
rho = price / util \
if not math.isclose(util, 0) and not math.isclose(price, 0) \
else budget upporters_sorted[-1 / u supporters_sorted[-1">1.html" ;"title="upporters_sorted[-1">upporters_sorted[-1 / u supporters_sorted[-1
if rho < lowest_rho:
next_candidate = c
lowest_rho = rho
if next_candidate is None:
break
W.add(next_candidate)
for i in N:
budget -= min(budget[i], lowest_rho * u[next_candidate][i])
return complete_utilitarian(N, C, cost, u, b, W) # one of the possible completions
References
{{voting systems
Vote counting
Multi-winner electoral systems
Preferential electoral systems
Proportional representation electoral systems
Participatory budgeting
Cardinal electoral systems
Approval voting