Combining the preferences of many individuals into a single collective
decision is far harder than it appears. This chapter studies social choice
theory, characterising aggregation procedures and establishing impossibility
results, most famously Arrow’s theorem, that reveal deep constraints on what
any fair voting rule can achieve.
In the final week of term, a game theory class of 45 students receives an
unexpected offer from their professor:
“You get to vote on which topic will feature most heavily on the final exam. Each of you will submit a full ranking of the three options, and we’ll use pairwise majority voting to decide the winner.”
After collecting all the votes, the professor finds that the students fall into
the preference groups shown in Table 1.
Group size
1st choice
2nd choice
3rd choice
18 students
A
B
C
16 students
B
C
A
11 students
C
A
B
If the professor only looks at the first choice then Replicator dynamics will
be the chosen topic of the exam.
However let us examine each pairwise contest:
A vs B
18 students: prefer A to B and B to C
16 students: prefer B to C and C to A so prefer B to A
11 students: prefer C to A and A to B.
So A beats B, with 29 votes to 16.
B vs C
18 students: prefer A to B and B to C
16 students: prefer B to C and C to A
11 students: prefer C to A and A to B so prefer C to B
So B beats C, with 34 votes to 11.
C vs A
18 students: prefer A to B and B to C so prefer A to C
16 students: prefer B to C and C to A
11 students: prefer C to A and A to B
→ C beats A, with 27 votes to 18.
A majority prefers A to B, B to C, and C to A.
This cycle is called a Condorcet cycleCaritat, 1785
and it illustrates the core difficulty in aggregating preferences from a
group: majority rule may not produce a consistent collective ranking. This
motivates a central question in voting theory:
What properties should a “reasonable” voting rule satisfy, and can we always
satisfy them all at once?
Let X be a finite set of alternatives. A preference function for a voter
is a strict linear order ≻ on X, meaning that for all distinct
alternatives x,y,z∈X:
Asymmetry: if x≻y, then not y≻x
Transitivity: if x≻y and y≻z, then x≻z
Completeness: for all x=y, either x≻y or y≻x
We refer to a complete list of n voters’ preference functions as a
preference profile.
A simple majority rule is a voting rule that compares alternatives x and
y based on how many voters prefer x over y:
x is ranked above y in the collective outcome if and only if a strict
majority of voters prefer x to y.
This defines a binary relation over pairs, but may not yield a transitive
overall ranking. When it does, the top-ranked option is called the Condorcet
winner.
Figure 1:Where the collective ‘centre’ sits depends on how individual views are weighed
against one another. Arrow’s theorem shows that no aggregation rule can reconcile
a few reasonable fairness requirements all at once.
The following theorem is given without proof Arrow, 1951.
Let X be a set of at alternatives with ∣X∣≥3.
There exists no social welfare function that satisfies all of the following
properties:
Unrestricted domain: all possible preference profiles are allowed
Pareto efficiency: if all voters prefer x over y, then x is ranked
above y
Independence of irrelevant alternatives (IIA): the group’s relative
ranking of x and y depends only on how individuals rank x vs y
Non-dictatorship: there is no single voter whose preferences always
determine the outcome
In short, there is no perfect voting rule that aggregates individual
preferences into a consistent group ranking while satisfying all of these
fairness criteria.
In the context of Motivating Example: Voting on exam topics this theorem
implies that there is no perfect way to choose. However there are two approaches
that can offer a good way to obtain an outcome.
Let x be a finite set of alternatives. Every alternative obtains k points
from a voter if that voter ranks the alternative above exactly k other
alternatives.
The total Borda score of each alternative is the sum of its points across all
voters. The alternative with the highest total score is the Borda winner.
Borda’s method always produces a complete ranking, but it may fail to select a
Condorcet winner when one exists.
The pref_voting Python library Holliday & Pacuit, 2025 provides tools for analysing preferential
voting systems. In the following example, we define a preference profile based
on the classroom voting scenario and use the library to explore two voting
methods.
We first check for a Condorcet winner using pairwise majority comparisons.
In this case, the method returns all alternatives, indicating that no
Condorcet winner exists due to a cycle.
/home/runner/work/gtb/gtb/.venv/lib/python3.14/site-packages/pref_voting/profiles.py:150: SyntaxWarning: "\l" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\l"? A raw string is also an option.
"""An anonymous profile of linear rankings of :math:`n` candidates. It is assumed that the candidates are named :math:`0, 1, \ldots, n-1` and a ranking of the candidates is a list of candidate names. For instance, the list ``[0, 2, 1]`` represents the ranking in which :math:`0` is ranked above :math:`2`, :math:`2` is ranked above :math:`1`, and :math:`0` is ranked above :math:`1`.
/home/runner/work/gtb/gtb/.venv/lib/python3.14/site-packages/pref_voting/profiles.py:477: SyntaxWarning: "\l" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\l"? A raw string is also an option.
.. warning:: Since the candidates in a Profile must be named :math:`0, 1, \ldots, n-1` (where :math:`n` is the number of candidates), you must use the candidate map returned to by the function to recover the original candidate names.
/home/runner/work/gtb/gtb/.venv/lib/python3.14/site-packages/pref_voting/profiles.py:561: SyntaxWarning: "\h" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\h"? A raw string is also an option.
latex_str += " & ".join([f"${rc}$" for rc in self._rcounts]) + "\\\\\hline \n"
Condorcet winners: [0, 1, 2]
Next, we apply the Borda count, which assigns points based on rankings and
selects the alternative with the highest total score.
/home/runner/work/gtb/gtb/.venv/lib/python3.14/site-packages/pref_voting/scoring_methods.py:57: SyntaxWarning: "\s" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\s"? A raw string is also an option.
"""The **Borda score** of a candidate is calculated as follows: If there are :math:`m` candidates, then the Borda score of candidate :math:`c` is :math:`\sum_{r=1}^{m} (m - r) * Rank(c,r)` where :math:`Rank(c,r)` is the number of voters that rank candidate :math:`c` in position :math:`r`. The Borda winners are the candidates with the largest Borda score in the ``profile`` restricted to ``curr_cands``.
The foundational work of Condorcet and Borda Caritat, 1785Borda, 1781
established key ideas in social choice theory, culminating in Arrow’s
impossibility theorem Arrow, 1951. Arrow’s result shows that no voting rule
can simultaneously satisfy a set of seemingly reasonable fairness criteria.
These challenges deepen with the Gibbard–Satterthwaite theorem, which
demonstrates that any non-dictatorial voting rule with at least three
alternatives is vulnerable to strategic manipulationGibbard, 1973Satterthwaite, 1975. This perhaps helps
explain why some open source software projects, such as Python, historically
adopted a Benevolent Dictator For Life (BDFL) model of governance
O’Mahony, 2007, with Guido van Rossum serving in that role until 2018.
Encouragingly, recent work has shown that although manipulation is theoretically
possible, it can be computationally difficult in practiceConitzer & Sandholm, 2002Faliszewski et al., 2010.
Other modern approaches focus on multiwinner voting rules that aim for fair
and proportional representation Elkind et al., 2017Bredereck et al., 2018.
These rules are increasingly relevant in applications such as committee
selection, participatory budgeting, and recommendation systems.
These developments show that while Arrow’s theorem rules out a perfect solution,
there are many meaningful and principled ways to navigate the trade-offs, especially when
one considers computation, uncertainty, or broader notions of fairness.
A helpful overview of these developments is provided in Pacuit, 2019.
This chapter explored the central challenge of social choice: how to aggregate
individual preferences into a fair and consistent group decision. Starting from
a motivating classroom example, we saw how simple majority rule can lead to
intransitive group preferences, known as Condorcet cycles, even when every
individual’s ranking is rational.
We then introduced the formal framework of preference functions and social
welfare functions, leading to Arrow’s impossibility theorem. This result shows
that no voting rule can satisfy a basic set of fairness properties when there
are at least three alternatives.
Despite this impossibility, we studied two influential responses: the
Condorcet method, which seeks an alternative that beats all others in
pairwise comparisons, and Borda’s method, which aggregates preferences using
a scoring rule. While each method has strengths and limitations, they both offer
principled approaches to navigating the trade-offs inherent in group decision
making.
Method
Summary
Strength
Limitation
Simple Majority
Pairwise majority voting
Intuitive and widely used
Can produce cycles
Condorcet
Chooses the option that beats all others in pairwise votes
Marie Jean Antoine Nicolas de Caritat, M. de C. (1785). Essai sur l’application de l’analyse à la probabilité des décisions rendues à la pluralité des voix. Imprimerie Royale.
Arrow, K. J. (1951). Social Choice and Individual Values. Wiley.
Holliday, W. H., & Pacuit, E. (2025). pref_voting: The Preferential Voting Tools package for Python. Journal of Open Source Software, 10(105), 7020. 10.21105/joss.07020
de Borda, J.-C. (1781). Mémoire sur les élections au scrutin. Histoire de l’Académie Royale Des Sciences.
Gibbard, A. (1973). Manipulation of voting schemes: a general result. Econometrica: Journal of the Econometric Society, 587–601.
Satterthwaite, M. A. (1975). Strategy-proofness and Arrow’s conditions: Existence and correspondence theorems for voting procedures and social welfare functions. Journal of Economic Theory, 10(2), 187–217.
O’Mahony, S. (2007). The governance of open source initiatives: what does it mean to be community managed? Journal of Management & Governance, 11, 139–150.
Conitzer, V., & Sandholm, T. (2002). Complexity of manipulating elections with few candidates. AAAI/IAAI, 314–319.
Faliszewski, P., Hemaspaandra, E., & Hemaspaandra, L. A. (2010). Using complexity to protect elections. Communications of the ACM, 53(11), 74–82.
Elkind, E., Faliszewski, P., Skowron, P., & Slinko, A. (2017). Properties of multiwinner voting rules. Social Choice and Welfare, 48, 599–632.
Bredereck, R., Faliszewski, P., Igarashi, A., Lackner, M., & Skowron, P. (2018). Multiwinner elections with diversity constraints. Proceedings of the AAAI Conference on Artificial Intelligence, 32(1).
Pacuit, E. (2019). Voting methods. Stanford Encyclopedia of Philosophy.