Dictator game and pure altruism

experimental-economics
dictator-game
altruism
other-regarding-preferences
The dictator game as a test of pure altruism versus strategic motives, with warm-glow and CES utility models calibrated to Engel’s (2011) meta-analysis of experimental giving distributions.
Author

Raban Heller

Published

May 8, 2026

Modified

May 8, 2026

Keywords

dictator game, altruism, warm-glow, CES preferences, other-regarding preferences, Engel meta-analysis, experimental economics, prosocial behaviour

Introduction & motivation

The dictator game is perhaps the simplest economic experiment ever devised, yet its results have profoundly challenged the standard assumption of pure self-interest. In the game, one player (the dictator) receives an endowment — typically $10 — and can transfer any amount to a second player (the recipient), who has no say in the decision. The recipient must accept whatever allocation the dictator chooses. There is no strategic interaction, no repeated play, no reputation to build: the dictator’s decision is a pure, unilateral choice.

Standard game theory, assuming rational, self-interested agents, makes a stark prediction: the dictator should keep the entire endowment and transfer nothing. Since the recipient cannot punish or reward the dictator, and the game is played anonymously with no future interactions, there is no strategic reason to share. Any positive transfer is a pure loss from the perspective of payoff maximisation.

Yet decades of experimental evidence tell a radically different story. In a comprehensive meta-analysis covering 129 papers and over 41,000 individual observations, Christoph Engel (2011) documented that the mean dictator transfer is approximately 28 percent of the endowment. Only about 36 percent of dictators give nothing; the modal positive gift is an equal split (50-50). The distribution is not simply bimodal between zero and half — it exhibits a rich spectrum of giving behaviour, with positive mass at virtually every point between 0 and 50 percent.

These findings demand explanation. What motivates people to give away real money to anonymous strangers in a one-shot setting with no strategic consequences? Three broad classes of models have been proposed. First, pure altruism models assume that agents derive utility directly from the recipient’s consumption. Second, warm-glow models (Andreoni, 1990) posit that agents derive utility from the act of giving itself, independent of its effect on the recipient. Third, inequality aversion models (Fehr and Schmidt, 1999; Bolton and Ockenfels, 2000) assume that agents dislike unequal distributions.

In this tutorial, we implement the warm-glow model and a constant elasticity of substitution (CES) altruism model, derive the optimal giving rule for each, simulate heterogeneous populations of dictators, and compare the resulting distributions with the stylised facts from Engel’s meta-analysis. The goal is to understand which preference specifications can generate the observed patterns of giving and what the data tell us about the structure of prosocial motivation.

Mathematical formulation

The dictator has endowment \(w\) and chooses transfer \(g \in [0, w]\). The dictator keeps \(w - g\) and the recipient receives \(g\).

Warm-glow model. The dictator’s utility depends on own consumption and a “warm glow” from giving:

\[ U_{\text{WG}}(g) = (w - g)^{1 - \gamma} / (1 - \gamma) + \alpha \cdot g^{1 - \gamma} / (1 - \gamma) \]

where \(\gamma > 0\) (\(\gamma \neq 1\)) is the curvature parameter (coefficient of relative risk aversion) and \(\alpha \geq 0\) is the warm-glow intensity. The first-order condition yields the optimal gift:

\[ (w - g^*)^{-\gamma} = \alpha \cdot (g^*)^{-\gamma} \]

\[ g^*_{\text{WG}} = \frac{\alpha^{1/\gamma}}{1 + \alpha^{1/\gamma}} \cdot w \]

When \(\alpha = 0\), the dictator gives nothing. When \(\alpha = 1\), the dictator gives exactly half (equal split). As \(\alpha \to \infty\), the gift approaches \(w\).

CES altruism model. The dictator’s utility combines own consumption \(x = w - g\) and recipient’s consumption \(g\) with a CES aggregator:

\[ U_{\text{CES}}(g) = \left[\beta \cdot (w - g)^{\rho} + (1 - \beta) \cdot g^{\rho}\right]^{1/\rho} \]

where \(\beta \in (0, 1)\) is the self-interest weight and \(\rho < 1\) governs the elasticity of substitution \(\sigma = 1/(1 - \rho)\). The optimal gift is:

\[ g^*_{\text{CES}} = \frac{w}{1 + \left(\frac{\beta}{1 - \beta}\right)^{\sigma}} \]

When \(\rho \to -\infty\) (Leontief preferences, \(\sigma \to 0\)), the dictator chooses the equal split \(g = w/2\) regardless of \(\beta\) (as long as \(\beta < 1\)). When \(\rho \to 1\) (perfect substitutes, \(\sigma \to \infty\)), the dictator gives everything or nothing depending on whether \(\beta < 1/2\).

Population heterogeneity. We model a population where the altruism parameter varies across individuals. For the warm-glow model, we draw \(\alpha_i\) from a distribution; for CES, we draw \(\beta_i\).

R implementation

We simulate 10,000 dictators under each model, with altruism parameters drawn from calibrated distributions, and compare the resulting giving distributions.

set.seed(2026)
n_dictators <- 10000
w <- 10  # endowment

# --- Warm-glow model ---
# alpha_i drawn from mixture: point mass at 0 (selfish) + lognormal (givers)
p_selfish <- 0.36  # ~36% give nothing (Engel 2011)
gamma_wg <- 0.8    # curvature

alpha_i <- ifelse(
  runif(n_dictators) < p_selfish,
  0,
  rlnorm(n_dictators, meanlog = -0.8, sdlog = 0.9)
)

gift_wg <- ifelse(
  alpha_i == 0,
  0,
  alpha_i^(1/gamma_wg) / (1 + alpha_i^(1/gamma_wg)) * w
)
gift_wg <- pmin(gift_wg, w)  # cap at endowment

# --- CES altruism model ---
# beta_i drawn from mixture: point mass at 1 (selfish) + beta distribution
beta_i <- ifelse(
  runif(n_dictators) < p_selfish,
  1.0,  # pure self-interest
  rbeta(n_dictators, shape1 = 4, shape2 = 2)  # skewed toward self-interest
)
rho_ces <- -0.5  # elasticity of substitution = 2/3
sigma_ces <- 1 / (1 - rho_ces)

gift_ces <- ifelse(
  beta_i >= 0.999,
  0,
  w / (1 + (beta_i / (1 - beta_i))^sigma_ces)
)
gift_ces <- pmax(pmin(gift_ces, w), 0)

# --- Stylised experimental data (Engel 2011 approximation) ---
# Approximate the empirical distribution from Engel's meta-analysis
set.seed(99)
engel_probs <- c(0.363, 0.045, 0.12, 0.083, 0.032, 0.167, 0.025, 0.015, 0.01, 0.06, 0.08)
engel_values <- seq(0, w, by = 1)
gift_engel <- sample(engel_values, n_dictators, replace = TRUE, prob = engel_probs)

# Summary statistics
cat("=== Dictator Game: Giving Distributions ===\n\n")
=== Dictator Game: Giving Distributions ===
cat(sprintf("  %-20s | Mean gift | %% zero | %% equal split | Median\n", "Model"))
  Model                | Mean gift | % zero | % equal split | Median
cat(paste(rep("-", 75), collapse = ""), "\n")
--------------------------------------------------------------------------- 
for (label_model in c("Warm-glow", "CES altruism", "Engel (2011) approx")) {
  gifts <- switch(label_model,
                  "Warm-glow" = gift_wg,
                  "CES altruism" = gift_ces,
                  "Engel (2011) approx" = gift_engel)
  cat(sprintf("  %-20s | %9.2f | %5.1f%% | %13.1f%% | %6.2f\n",
              label_model, mean(gifts),
              mean(gifts == 0) * 100,
              mean(abs(gifts - w/2) < 0.5) * 100,
              median(gifts)))
}
  Warm-glow            |      2.00 |  36.1% |           6.1% |   1.35
  CES altruism         |      2.44 |  35.6% |          12.4% |   2.68
  Engel (2011) approx  |      3.20 |  36.3% |          17.5% |   2.00
# Prepare data for plotting
giving_data <- bind_rows(
  tibble(gift = gift_wg, model = "Warm-glow"),
  tibble(gift = gift_ces, model = "CES altruism"),
  tibble(gift = gift_engel, model = "Engel (2011) data")
)

# Bin the data for cleaner comparison
giving_binned <- giving_data %>%
  mutate(gift_bin = round(gift * 2) / 2) %>%  # round to nearest 0.5
  group_by(model, gift_bin) %>%
  summarise(count = n(), .groups = "drop") %>%
  group_by(model) %>%
  mutate(proportion = count / sum(count)) %>%
  ungroup()

Static publication-ready figure

The figure compares the distributions of dictator giving across the warm-glow model, CES altruism model, and the approximate empirical distribution from Engel’s meta-analysis.

p_dictator <- ggplot(giving_binned,
                     aes(x = gift_bin, y = proportion, fill = model,
                         text = paste0("Model: ", model,
                                       "\nGift: $", gift_bin,
                                       "\nProportion: ", round(proportion * 100, 1), "%"))) +
  geom_col(position = position_dodge(width = 0.45), width = 0.4, alpha = 0.85) +
  scale_fill_manual(values = okabe_ito[c(1, 3, 5)]) +
  scale_x_continuous(breaks = 0:10, labels = paste0("$", 0:10)) +
  scale_y_continuous(labels = scales::percent_format()) +
  labs(
    title = "Dictator game: giving distributions across preference models",
    subtitle = "Simulated heterogeneous dictators (N = 10,000) vs Engel (2011) meta-analysis",
    x = "Transfer to recipient (out of $10 endowment)",
    y = "Proportion of dictators",
    fill = "Model / data source"
  ) +
  theme_publication() +
  theme(legend.position = "bottom")

p_dictator
Figure 1: Figure 1. Distributions of dictator game giving under two preference specifications compared with approximate experimental data from Engel (2011). The warm-glow model generates a smoother distribution while the CES model captures the concentration around zero and the equal split. N = 10,000 simulated dictators per model.

Interactive figure

Explore the giving distributions interactively. Hover over each bar to compare the proportion of dictators at each giving level across models and the empirical benchmark.

ggplotly(p_dictator, tooltip = "text") %>%
  config(displaylogo = FALSE) %>%
  layout(legend = list(orientation = "h", y = -0.2))
Figure 2

Interpretation

The simulation results reveal both the strengths and limitations of each preference model in explaining the rich pattern of dictator game giving documented by Engel’s meta-analysis.

The warm-glow model successfully generates a distribution with a substantial mass point at zero (matching the ~36 percent of dictators who give nothing) and a wide spread of positive gifts. The shape of the positive-giving distribution depends critically on the distribution of the warm-glow intensity parameter \(\alpha\). Our calibration using a lognormal distribution produces a right-skewed distribution of gifts with a mode near $2–$3, which approximates the mean giving rate of about 28 percent. However, the warm-glow model struggles to generate the sharp spike at the equal split ($5) observed in experiments, because the equal split requires \(\alpha = 1\) exactly, which has measure zero in a continuous distribution.

The CES altruism model offers a complementary fit. By varying the elasticity of substitution parameter \(\rho\), it can generate different shapes of the giving distribution. With low elasticity of substitution (our choice of \(\rho = -0.5\)), the model produces more concentration around moderate gifts and can capture the equal-split spike if the self-interest parameter \(\beta\) is distributed with mass near \(0.5\). However, the CES model tends to produce a smoother distribution of intermediate gifts and has difficulty generating the empirical pattern where substantial numbers of dictators give small positive amounts ($1–$2) but very few give large-but-not-equal amounts ($7–$9).

Neither model alone perfectly replicates the empirical distribution, which suggests that multiple motives are at work in the dictator game. The data are most consistent with a mixture model: some dictators are purely selfish (the zero-givers), some are motivated by warm-glow feelings (the small-to-moderate givers), and some are committed to fairness norms (the equal splitters). This interpretation aligns with evidence from experimental manipulations showing that giving decreases substantially when the experimenter cannot observe the dictator’s choice (suggesting social pressure rather than pure altruism) and when the dictator can “opt out” of the game entirely (suggesting that giving is partly driven by the demand characteristics of the experimental situation).

The dictator game’s simplicity is both its strength and its weakness. By stripping away all strategic considerations, it provides the cleanest possible test of whether people have other-regarding preferences. But this very simplicity means that the observed behaviour may not generalise to more complex strategic environments where reputation, reciprocity, and repeated interaction provide additional motivations for prosocial behaviour.

A key limitation of our simulation is the assumption that the altruism parameter is exogenous and context-independent. In practice, dictator giving is sensitive to a host of contextual factors: the social distance between players, the perceived deservingness of the recipient, whether the endowment was earned or endowed, and the degree of anonymity. A complete model of prosocial behaviour must account for this context-dependence, which is a challenge for the standard utility-maximisation framework.

References

Back to top

Reuse

Citation

BibTeX citation:
@online{heller2026,
  author = {Heller, Raban},
  title = {Dictator Game and Pure Altruism},
  date = {2026-05-08},
  url = {https://r-heller.github.io/equilibria/tutorials/experimental-economics/dictator-game-altruism/},
  langid = {en}
}
For attribution, please cite this work as:
Heller, Raban. 2026. “Dictator Game and Pure Altruism.” May 8. https://r-heller.github.io/equilibria/tutorials/experimental-economics/dictator-game-altruism/.