What it is
In the ultimatum game, Player 1 (the proposer) divides a fixed endowment between themselves and Player 2 (the responder). Player 2 sees the proposed split and can either accept — in which case both players receive the proposed amounts — or reject — in which case both receive nothing. The rejection option is what distinguishes this from the dictator game: Player 2 has the power to punish unfair offers at a cost to themselves.
Under standard rational self-interest, Player 2 should accept any positive offer (something is better than nothing), so Player 1 should offer the minimum positive amount. In practice, offers below 20–30% of the endowment are regularly rejected, and modal offers are at or near an equal split. This pattern is robust across cultures and has been documented in populations from hunter-gatherer societies to OECD urban samples, though the specific thresholds vary.
The ultimatum game measures fairness norms from both sides: proposers reveal what they consider a fair offer (or what they expect responders will tolerate), and responders reveal the minimum offer they are willing to accept — their tolerance for inequality.
When to use it
The ultimatum game is appropriate when the research question concerns fairness norms, inequality aversion, or the willingness to enforce social norms at personal cost. It is commonly used to compare fairness standards across groups, to measure how institutions affect bargaining norms, or to examine whether a treatment changes perceived entitlement or distributional fairness.
Henrich et al. (2001) ran ultimatum games across 15 small-scale societies — from the Machiguenga of Peru to the Ache of Paraguay — and found substantial cross-cultural variation in both offers and rejection rates, establishing that economic preferences are shaped by local market integration, social norms, and institutions rather than universal human nature. In India, Hoff, Kshetramade and Fehr (2011) ran ultimatum games in villages with caste variation and found that lower-caste proposers made lower offers when paired with upper-caste responders, consistent with internalised social hierarchy.
The ultimatum game is less appropriate when the goal is to isolate altruism (use the dictator game) or trust (use the investment game), since ultimatum responses involve strategic considerations alongside fairness preferences.
How it works
Stage 1 — Proposal. Player 1 receives an endowment and proposes a split: X tokens for Player 2, keeping E − X for themselves. The proposal can be any amount from 0 to E.
Stage 2 — Acceptance or rejection. Player 2 sees the proposed amounts and either accepts or rejects. If accepted, both players receive the proposed amounts. If rejected, both receive zero.
Outcomes. The proposer’s offer (as a share of the endowment) measures their revealed fairness norm or strategic prediction of the responder’s minimum acceptance threshold. The responder’s decision at each offer level measures the minimum acceptable offer (MAO) — the threshold below which they prefer mutual punishment to accepting inequality.
Key decisions
Strategy method for responders. In the standard design, Player 2 sees the actual offer and decides once. The strategy method asks Player 2 to specify in advance whether they would accept or reject every possible offer (0%, 10%, 20%, … 100% of the endowment). This provides a complete acceptance function and directly identifies the minimum acceptable offer for each respondent, rather than inferring it from a single observation. The strategy method is generally preferred for measuring individual-level fairness thresholds.
Stake size. Unlike the dictator game, ultimatum rejection behaviour is somewhat sensitive to stakes. Rejection rates for “unfair” offers decline when stakes are very high — people become more willing to accept an unequal split when the absolute gain from acceptance is large. Stakes should be meaningful but calibrated to produce genuine trade-offs. Amounts equivalent to one to two days’ wages for the full endowment are standard.
Anonymity and framing. As with the dictator game, demand effects are present. The threat of rejection may cause proposers to make higher offers than they would with perfect anonymity. Anonymous sessions with standardised neutral framing reduce (but do not eliminate) this. Framing the game as a “task” rather than a “sharing game” reduces social norm priming.
Number of rounds. One-shot games are standard. Repeated games with fixed partners rapidly lead to equal-split norms as players learn each other’s rejection thresholds. Repeated games with random re-matching across rounds (stranger treatment) produce more heterogeneity and are closer to measuring stable underlying preferences.
Counterpart identity. As with other social preference games, pairing players with known vs. unknown partners, or with in-group vs. out-group members, substantially affects outcomes. Varying counterpart identity systematically — randomising whether the partner is from the same or a different caste, village, or ethnic group — measures the identity-specific fairness norm.
Caveats & common mistakes
Conflation of fairness and strategic prediction. Proposers’ offers reflect both what they consider fair and what they predict responders will accept. A proposer who offers 50% may be doing so because they believe fairness requires it, or because they believe anything less will be rejected. These motivations produce the same behaviour but have different implications for what the game measures. Comparing ultimatum offers to dictator allocations (where rejection is impossible) reveals the strategic component: higher ultimatum offers indicate strategic adjustment beyond pure distributional preference.
Rejection as emotionally driven. Responders who reject offers may be acting on anger or spite in the moment rather than expressing a stable fairness norm. Asking for minimum acceptable offers before the game (hypothetically) and comparing to actual rejection behaviour provides a check on within-session consistency.
Cultural and contextual meaning of refusal. In some cultural contexts, refusing an offer — even one perceived as unfair — is socially costly or morally inappropriate. Enumerators who express surprise at rejections, or communities with strong norms against refusal, will produce systematically biased responder decisions. Comprehension checks that confirm respondents understand rejection leaves both players with nothing are important.
Enumerator effects on proposers. Proposers in face-to-face sessions may anticipate enumerator evaluation and make more equal offers. Double-blind designs or written decisions (where possible) reduce this.
Analysis Guide
# offer_share: share of endowment offered to Player 2 (0-1)
# accepted: 1 if Player 2 accepted, 0 if rejected
# For strategy method: accept_10, accept_20, ..., accept_50 = 1 if would accept
import pandas as pd
import numpy as np
import statsmodels.formula.api as smf
# 1. Inspect the proposer offer distribution — modal offers at or near 50% are typical;
# the distribution of offers reveals the mix of motives: equal-split norms, strategic
# prediction of rejection thresholds, and self-interest; offers below 20% are
# regularly rejected and are therefore rare when proposers understand the game
print(df["offer_share"].describe())
# 2. Calculate rejection rates by offer level — this is the rejection function;
# a well-functioning game shows rejection rates near zero for offers above 40-50%
# and rising sharply below 20-30%; a flat function means respondents did not
# understand that rejection means both players receive nothing
df["offer_pct"] = (df["offer_share"] * 10).round() * 10
rejection_by_offer = df.groupby("offer_pct").agg(
reject_rate=("accepted", lambda x: 1 - x.mean()), n=("accepted", "size")).reset_index()
print(rejection_by_offer)
# 3. Extract the minimum acceptable offer (MAO) from strategy method responses —
# MAO is the smallest offer level at which the responder would accept; it directly
# measures the fairness threshold below which they prefer mutual punishment to
# accepting inequality; pick the first accepted offer level per person
levels = [10, 20, 30, 40, 50]
accept_cols = [f"accept_{p}" for p in levels]
def first_accept(row):
for p, c in zip(levels, accept_cols):
if row[c] == 1:
return p
return 60 # never accepted within elicited range
df["mao"] = df[accept_cols].apply(first_accept, axis=1)
# 4. Regress MAO on characteristics and treatment — a positive treatment coefficient
# means the treatment arm demands a higher minimum offer, indicating a stronger
# fairness norm or greater willingness to punish inequality
fit = smf.ols("mao ~ age + C(female) + log_hh_expenditure + C(treatment)",
data=df).fit(cov_type="HC1")
print(fit.summary()) XLSForm / SurveyCTO
For the proposer, use an integer field constrained to 0–endowment with a calculation showing both proposed amounts (own share and Player 2’s share) for confirmation. For the strategy method with the responder, use a looped select_one yes_no question for each offer level, displaying the proposed amounts at each level clearly. Present offers from lowest to highest (or in randomised order if order effects are a concern). Record all accept/reject decisions, not just the switching point, to allow identification of inconsistent responders.
Reading the output
- Modal proposer offers are typically at or near 50% of the endowment. Offers below 20% are regularly rejected across cultural contexts; the threshold above which rejection rates drop below 10% is around 30–40% in most study populations, but this varies and should be estimated from your own data.
reject_ratebyoffer_pctproduces the rejection function. A well-functioning game shows rejection rates close to 0 for offers above 40–50% and rising sharply for offers below 20–30%. A flat rejection function across offer levels suggests respondents did not understand that rejection means both players receive nothing.maofrom the strategy method is the minimum acceptable offer expressed as a percentage of the endowment (e.g., 20 = 20%). A highermaoindicates stronger willingness to punish inequality. Cross-study benchmarks place median MAO around 20–30%.- In regression output, a positive coefficient on
treatmentfor the MAO model means the treatment arm demands a higher minimum offer — a higher standard of fairness. A negative coefficient onoffer_sharefor the proposer model means the variable is associated with making lower offers (more self-interested proposals).
References
Güth, W., Schmittberger, R., & Schwarze, B. (1982). An experimental analysis of ultimatum bargaining. Journal of Economic Behavior & Organization, 3(4), 367–388. https://doi.org/10.1016/0167-2681(82)90011-7
Henrich, J., Boyd, R., Bowles, S., Camerer, C., Fehr, E., Gintis, H., & McElreath, R. (2001). In search of homo economicus: Behavioral experiments in 15 small-scale societies. American Economic Review, 91(2), 73–78. https://doi.org/10.1257/aer.91.2.73
Hoff, K., Kshetramade, M., & Fehr, E. (2011). Caste and punishment: The legacy of caste culture in norm enforcement. Economic Journal, 121(556), F449–F475. https://doi.org/10.1111/j.1468-0297.2011.02476.x
Nowak, M. A., Page, K. M., & Sigmund, K. (2000). Fairness versus reason in the ultimatum game. Science, 289(5485), 1773–1775. https://doi.org/10.1126/science.289.5485.1773