The method of equal shares[1] [2] [3] [4] is a proportional method of counting ballots that applies to participatory budgeting, to committee elections, and to simultaneous public decisions.[5] It can be used when the voters vote via approval ballots, ranked ballots or cardinal ballots. It works by dividing the available budget into equal parts that are assigned to each voter. The method is only allowed to use the budget share of a voter to implement projects that the voter voted for. It then repeatedly finds projects that can be afforded using the budget shares of the supporting voters. In contexts other than participatory budgeting, the method works by equally dividing an abstract budget of "voting power".
In 2023, the method of equal shares was being used in a participatory budgeting program in the Polish city of Wieliczka.[6] The program, known as Green Million (Zielony Milion), was set to distribute 1 million złoty to ecological projects proposed by residents of the city. It was also planned to be used in a participatory budgeting program in the Swiss city of Aarau in 2023 (Stadtidee).[7]
The method of equal shares was first discussed in the context of committee elections in 2019, initially under the name "Rule X". From 2022, the literature has referred to the rule as the method of equal shares, particularly when referring to it in the context of participatory budgeting algorithms.[8] The method can be described as a member of a class of voting methods called expanding approvals rules introduced earlier in 2019 by Aziz and Lee for ordinal preferences (that include approval ballots).[9]
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 percent of the population support 10 red projects and 49 percent support 10 blue projects, and the money suffices only for 10 projects, the knapsack budgeting will choose the 10 red supported by the 51 percent, and ignore the 49 percent altogether.[10] In contrast, the method of equal shares would pick 5 blue and 5 red projects.
The method guarantees proportional representation: it satisfies a strong variant of the justified representation axiom adapted to participatory budgeting. This says that a group of X percent of the population will have X percent of the budget spent on projects supported by the group (assuming that all members of the group have voted the same or at least similarly).
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.
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.
The budget is first divided equally among the voters, thus each voters gets $10. Project
D
D
D
\$200/66 ≈ \$3.03
E
\$200/46 ≈ \$4.34
Note that in the last step project
H
E
E
D
A
C
H
H
For a more detailed example including cardinal ballots see Example 2.
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
P=\{p1,p2,\ldots,pm\}
N=\{1,2,\ldots,n\}
p\inP
cost(p)
b
i\inN
p\inP
ui(p)
i
c
i
p
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,
bi=b/n
The following diagram illustrates the behaviour of the method.
This section provides a discussion on other variants of the method of equal shares.
The method of equal shares can be used with other types of voters 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):
ui(p)=cost(p)
p
i
ui(p)=0
ui(p)=1
p
i
ui(p)=0
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
ui(p)
p
i
ui(p)/ui(p')\toinfty
i
p
p'
Formally, the method is defined as follows.
For each voter
i\inN
\succi
i
Y\succiX\succiZ
Y
i
X
Z
Y
posi(Y)=1
X
posi(X)=2
Z
posi(Z)=3
Each voter is initially assigned an equal part of the budget
bi=b/n
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
b
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:
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)).[11] 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.[12] [13] 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 to the setting where the voters can vote for individual candidates rather than for political parties.[14] MES further extends to participatory budgeting.
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 package abcvoting.
def method_of_equal_shares(N, C, cost, u, b): """Method of Equal Shares
Args: 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[c][i] is the value that voter i assigns to candidate c. an empty entry means that the corresponding value u[c][i] equals 0. """ W = set total_utility = supporters = budget = while True: next_candidate = None lowest_rho = float("inf") for c in C.difference(W): if _leq(cost[c], sum([budget[i] for i in supporters[c]])): supporters_sorted = sorted(supporters[c], key=lambda i: budget[i] / u[c][i]) price = cost[c] util = total_utility[c] for i in supporters_sorted: if _leq(price * u[c][i], budget[i] * util): break price -= budget[i] util -= u[c][i] rho = price / util \ if not math.isclose(util, 0) and not math.isclose(price, 0) \ else budget[supporters_sorted[-1]] / u[c][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[i] -= min(budget[i], lowest_rho * u[next_candidate][i]) return _complete_utilitarian(N, C, cost, u, b, W) # one of the possible completions
def _complete_utilitarian(N, C, cost, u, b, W): util = committee_cost = sum([cost[c] for c in W]) while True: next_candidate = None highest_util = float("-inf") for c in C.difference(W): if _leq(committee_cost + cost[c], 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 += cost[next_candidate] return W
def _leq(a, b): return a < b or math.isclose(a, b)
Fairstein, Meir and Gal[15] extend MES to a setting in which some projects may be substitute goods.
Fairstein, Benade and Gal[16] compare MES to greedy aggregation methods. They find that greedy aggregation leads to outcomes that are highly sensitive to the input format used, and the fraction of the population that participates. In contrast, MES leads to outcomes that are not sensitive to the type of voting format used. This means that MES can be used with approval ballots, ordinal ballots or cardinal ballots, without much difference in the outcome. These outcomes are stable even when only 25 to 50 percent of the population participates in the election.
Fairstein, Meir, Vilenchik and Gal[17] study variants of MES both on real and synthetic datasets. They find that these variants do very well in practice, both with respect to social welfare and with respect to justified representation.