The exact contents of citations.db main_text.text for this paper — one flattened LaTeX string, title through conclusion, appendix excluded, unmodified except for removing email addresses. This is what our citation measures are computed over.
125,819 characters
The Cascade Identity: 2SLS as a Policy Parameter in Capacity-Constrained Settings
\maketitle
\begin{abstract}
\vspace{-3em}
\centering
\noindent\begin{minipage}{0.9\textwidth}
\singlespacing
Governments routinely adjust capacity in rationed programs such as university fields, medical training and public housing, where admitting one individual displaces others and triggers chains of reallocation. We show that in such settings, the standard multi-treatment two-stage least squares (2SLS) coefficient identifies exactly the total societal effect of a marginal expansion, including all downstream reallocations. The result is an algebraic identity: under instrument relevance and a single alignment condition, satisfied in centralized admissions systems, the 2SLS coefficient equals the general-equilibrium shadow value of relaxing a capacity constraint, while the single-instrument Wald ratio captures only the direct effect. Their difference recovers the full equilibrium adjustment without additional structure. Monotonicity is not required. The identity extends beyond queue-based allocation to any fixed-supply setting, including competitive markets with price instruments. We apply the framework to two policy questions in Swedish university admissions, where marginal students are allocated across fields through a centralized lottery mechanism. First, revisiting the debate on whether economics and business education erodes prosocial values, we find that the direct effect of expanding business on charitable giving is precisely zero, but expanding the less competitive fields that business students are displaced from has large prosocial effects. Second, analyzing gender-targeted STEM policies, we find that admitting four women to competitive STEM generates one additional male STEM degree through downstream vacancies. Both are general-equilibrium effects invisible to single-instrument methods.
\end{minipage}
\end{abstract}
\medskip
\noindent\textbf{JEL codes:} C36, D61, I23, I26, I28, D64 \\
\textbf{Keywords:} Instrumental variables, multiple treatments, heterogeneous treatment effects, capacity constraints, cascade effects, university admissions, charitable giving, gender quotas
\section{Introduction}
Governments routinely adjust capacity in programs such as university
fields of study, medical training, and public services. In such
settings, admitting one additional individual typically displaces
someone from another program, whose vacated slot is then filled from
its own queue, triggering a chain of reallocations across the system.
The policy-relevant effect of such an expansion is therefore not just
the effect on the marginal entrant, but the total effect of this
reallocation chain.
We show that a standard econometric object---the multi-treatment
two-stage least squares (2SLS) coefficient---identifies exactly this
total effect. The result is an algebraic identity: under instrument
relevance and the condition that the instrument and the policy
operate on the same allocation margin, the 2SLS coefficient equals
the general-equilibrium shadow value of relaxing a capacity
constraint, including all downstream reallocations through the
system. No monotonicity condition is required, no
restriction on the pattern of cross-program substitution is imposed,
and the identity extends beyond queue-based allocation to any
fixed-supply setting, including competitive markets with price
instruments.
The margin-alignment condition holds by construction in centralized
admissions systems, where capacity expansions shift the admission
cutoff and the instrumental variable strategy exploits local
randomness around that same threshold (e.g.,
\citealp{ockert2010, kirkeboen2016, abdulkadiroglu2017, altmejd2021,
bleemer2022}), and more generally in any rationed setting where slots are
filled from queues, including public housing lotteries
\citep{jacob2012}, military draft lotteries \citep{angrist1990},
and oversubscribed public programs
\citep{kline2016, gelber2016effects}.
The mechanism is straightforward. Expanding a program draws
individuals from other programs, which in turn refill their vacancies
from their own queues, propagating the shock through the system. The
first-stage matrix already encodes these reallocations---how shocks
to one treatment shift enrollment across all others---and 2SLS
aggregates them into their total outcome effect by inverting this
matrix. The off-diagonal elements, often viewed as a complication for \emph{individual}
causal interpretation, are precisely the vacancy-creation rates
through which the policy operates.
The result provides a different way of interpreting multi-treatment IV. With multiple treatments and heterogeneous effects, 2SLS coefficients are typically viewed as weighted averages of individual treatment effects, where the weights may be negative and depend on complex substitution patterns, making the estimand difficult to interpret \citep{mogstad2024handbook}. The standard response has been to impose additional structure on choice behavior, such as latent index models \citep{heckman2008multiple}, observed next-best alternatives \citep{kirkeboen2016}, additive separability \citep{heckman2018}, or marginal treatment response approaches \citep{mogstad2024policy}. More recently, \citet{bhuller2024} show that positive weighting requires ruling out cross-treatment spillovers.
We instead study environments in which such spillovers are intrinsic: capacity-constrained systems in which individuals are allocated across competing programs. In such settings,
the relevant object for welfare analysis is the total societal effect
of a marginal capacity expansion, and we show that this is what the
2SLS coefficient identifies. It is not an average of individual
treatment effects but a general-equilibrium policy parameter: the
marginal societal value of expanding a treatment in a
capacity-constrained system. Under homogeneous effects, the downstream cascade
is inert and this parameter reduces to the standard individual
treatment effect; under heterogeneity, they diverge.
\citet{haavelmo1943} showed that recovering the effect of a policy intervention requires inverting the full simultaneous system, not reading off the reduced form. The modern
literature has developed this theme in capacity-constrained settings
specifically.
\citet{kline2016} show that in Head Start, the policy-relevant
effect of expanding a program includes the downstream reallocations
it triggers through competing alternatives: an equilibrium object
that the standard Wald ratio misses and that recovering requires a
structural model of the allocation mechanism.
\citet{gandil2025trickle} and \citet{arkhangelsky2025} develop
methods to recover such equilibrium effects; the former by
simulating counterfactual equilibria through a re-engineered version
of the Danish admissions mechanism, the latter by constructing an
adjusted outcome that appends each agent's equilibrium externality,
estimated from LATEs at admission cutoffs. Both approaches require
the researcher to build new objects beyond standard regression
output.
Our result complements these contributions by showing that in any
fixed-supply system, the standard multi-treatment 2SLS coefficient
\emph{already is} the equilibrium-adjusted estimand; no
transformation of the outcome, no simulation of the mechanism, and no
assumptions on individual choice behavior are needed. The result
connects to \citet{carneiro2010}, who show that marginal policy
effects can be identified under weaker conditions than average
effects, without extrapolating beyond the support of the instrument.
The cascade identity is the multi-treatment analogue of this result in capacity-constrained systems, where the relevant margin is defined by the admission cutoff and the policy effect propagates through competing programs rather than operating on a single treatment. A
researcher needs only the 2SLS coefficient $\beta_k$ and the
marginal cost of capacity to conduct cost-benefit analysis. The Wald
ratio $W_k$ provides the partial-equilibrium benchmark; the cascade
correction $\beta_k - W_k$ is the general-equilibrium adjustment.
Both ingredients are standard regression outputs.
We illustrate the framework with two applications using Swedish
university admissions, where marginal applicants are allocated across fields
through a centralized lottery mechanism. The first revisits the
long-standing question of whether economics and business education
erodes prosocial values. We find that the direct effect of expanding
business on charitable giving is precisely zero: the marginal
business student gives no more or less to charity than she would have
in her next-best alternative. But the total policy effect is positive
and significant, driven entirely by the cascade: opening a business
seat draws a student away from a field that would have increased her giving, and refilling that vacancy draws
someone in from outside higher education. The apparent prosociality
gap between business students and others is not caused by business
education; it reflects the prosocial effects of the fields that
business students would otherwise have attended.
The second application analyzes gender-targeted STEM policies.
Quotas and targeted expansions are among the most common
instruments for increasing female representation in competitive
fields, yet their system-level consequences are difficult to
evaluate: admitting a woman to a competitive program displaces
someone from a fallback program, and the vacancy left behind is
filled from a mixed-gender queue. The cascade framework is informative about exactly this type of intervention, since it traces the full
chain of reallocations triggered when the composition of the
marginal entrant changes. We find that admitting one additional
woman to competitive STEM generates 0.25 STEM degrees, of which
roughly one-fifth accrues to men: the woman vacates a mid-tier STEM
slot that is refilled from a predominantly male queue. A
replacement policy---admitting a woman in place of the marginal
man---redistributes STEM degrees across genders but barely changes
the total. Both effects are invisible to single-instrument methods
and emerge only through the cascade.
The remainder of the paper proceeds as follows.
Section~\ref{sec:model} presents the policy parameter, econometric
specification, and assumptions, and derives the cascade identity.
Section~\ref{sec:discussion} discusses the assumptions and their
scope. Section~\ref{sec:heterogeneity} examines heterogeneity and
replacement policies. The following sections apply the framework to
field-of-study choice and prosocial behavior
(Section~\ref{sec:application1}) and to gender-targeted STEM policies
(Section~\ref{sec:stem_application}). Section~\ref{sec:conclusion}
concludes.
\section{The Cascade Identity}
\label{sec:model}
\subsection{The policy parameter}
\label{sec:policy_parameter}
There are $K$ programs, indexed by $j \in \{1,\dots,K\}$, and an
outside option $j = 0$. Each program has fixed and binding capacity. Individual~$i$
assigned to alternative~$j$ generates a specific societal value.
A planner considering whether to expand program~$k$ by one slot needs
the total expected societal effect of this expansion, including all downstream
reallocations. Denote this object~$T_k$.
The marginal entrant to program~$k$ generates a direct benefit~$W_k$ in expectation.
But she may have come from another program~$j$, creating a vacancy
there. When program~$j$ refills that vacancy from its ranking list,
the new entrant to~$j$ may herself have come from program~$m$,
creating a further vacancy. The cascade continues until a slot is
filled from the outside option.
Let $r_{kj}$ denote the \emph{vacancy creation rate}: the number of
vacancies created in program~$j$ per new admission to program~$k$.
Then $T_k$ satisfies the recursion
\begin{equation}
T_k = W_k + \sum_{j \neq k} r_{kj}\, T_j, \qquad k = 1,\dots,K.
\label{eq:cascade_recursion}
\end{equation}
Each reallocation in program~$j$ carries societal value~$T_j$---the
same object we are defining---so the equation is a fixed-point
condition: the value of expanding program~$k$ equals the direct
effect on the marginal entrant plus the value of all induced
reallocations, each of which is itself an equilibrium object defined
by the same primitives.
Equation~\eqref{eq:cascade_recursion} is not an identifying
assumption. It is a consequence of three primitives: (i)~the
definition of~$T_k$ as the total societal effect of a one-slot
expansion, (ii)~fixed total supply of every program other than~$k$,
and (iii)~the allocation mechanism fills vacancies from ranked queues.
It is useful to express (\ref{eq:cascade_recursion}) in matrix form. Collect the vacancy creation rates into a $K \times K$ matrix~$M$
with entries $m_{kj} = r_{kj}$ and zeros on the diagonal. Let
$\mathbf{W} = (W_1, \dots, W_K)^T$ denote the vector of direct
effects. The cascade recursion becomes
\begin{equation}
(I - M)\,\mathbf{T} = \mathbf{W},
\label{eq:cascade_fixedpoint}
\end{equation}
with solution $\mathbf{T} = (I - M)^{-1}\,\mathbf{W}$ whenever the
spectral radius of~$M$ is less than one.
The Neumann series expansion
\begin{equation}
(I - M)^{-1} = \sum_{n=0}^{\infty} M^n
= I + M + M^2 + M^3 + \cdots
\label{eq:neumann_main}
\end{equation}
has a direct economic interpretation. Each power of~$M$ corresponds
to one round of the cascade:
\begin{itemize}[nosep]
\item $M^0 = I$: the direct effect on the marginal entrant (the
vector~$\mathbf{W}$).
\item $M^1$: first-round vacancy refills in all other programs.
\item $M^2$: feedback from those refills back through the system.
\item $M^n$: the $n$th round of adjustment.
\end{itemize}
This is Walrasian t\^atonnement: a supply shock propagates through
successive rounds of reallocation until all vacancies are filled.
Convergence of the series, given spectral radius of~$M$ less than
one, is stability of the equilibrium.
Equation~\eqref{eq:cascade_fixedpoint} computes the infinite
t\^atonnement in closed form. Appendix~\ref{app:neumann} works through an instructive two-program case in detail.
The policy parameter~$T_k$ is therefore the general-equilibrium
shadow value of relaxing the capacity constraint in program~$k$.
The direct effect~$W_k$ is the partial-equilibrium shadow value;
the cascade correction $T_k - W_k$ is the general-equilibrium
adjustment. The question is whether standard econometric tools can
recover~$T_k$.
\begin{remark}
(Reallocation) When the planner cannot expand total capacity but can reallocate a
slot from program~$m$ to program~$k$, the net societal effect is
simply $T_k - T_m$. The contraction of~$m$ by one slot triggers a
vacancy cascade governed by the same matrix~$M$, but in reverse:
individuals spill out rather than in. Since $(I-M)\mathbf{T} =
\mathbf{W}$ continues to hold, the welfare gain of redistribution is
$T_k - T_m$. No new objects need to be estimated; the same
general-equilibrium shadow values~$\mathbf{T}$ that govern expansion
also govern redistribution.
\end{remark}
\subsection{Econometric specification}
\label{sec:econometric}
Consider the linear model
\begin{equation}
Y_i = \beta_0 + \sum_{j=1}^{K} \beta_j A_{ij} + \varepsilon_i,
\label{eq:secondstage}
\end{equation}
estimated by two-stage least squares using instruments
$(Z_{i1},\dots,Z_{iK})$. $A_{ij}$ indicates admission of individual $i$ to programme $j$. Predetermined covariates and fixed effects are suppressed;
all results extend immediately.
Define the \emph{first-stage matrix} $\Pi$ with entries
\begin{equation}
\pi_{jk} \;=\; \frac{\partial\, E[A_{ij}]}{\partial Z_{ik}},
\end{equation}
so that $\pi_{jk}$ measures how instrument~$k$ shifts enrollment in
program~$j$.
The reduced form satisfies
\begin{equation}
\mathrm{RF}_k \;=\; \frac{\partial\, E[Y_i]}{\partial Z_{ik}}
\;=\; \sum_{j=1}^{K}\beta_j\,\pi_{jk},
\end{equation}
or in matrix form
\begin{equation}
\mathbf{RF} \;=\; \Pi^T\boldsymbol{\beta}.
\label{eq:rf_matrix}
\end{equation}
The 2SLS estimand is $\boldsymbol{\beta} = (\Pi^T)^{-1}\mathbf{RF}$:
the reduced form, passed through the inverse of the full first-stage
matrix.
\subsection{Assumptions}
\label{sec:assumptions}
We require two conditions linking the econometric objects to the
planner's problem.
\begin{assumption}[Instrument relevance]
\label{ass:relevance}
$\pi_{kk}\neq 0$ for all $k=1,\dots,K$.
\end{assumption}
\begin{assumption}[Ranking-list refill]
\label{ass:margin}
Any change in program~$j$'s enrollment is mediated by admitting or not
admitting the marginal applicant on program~$j$'s ranking list. The
instrument and the policy of expanding capacity by one slot operate on
this same margin.
\end{assumption}
Assumption~\ref{ass:margin} is an institutional condition satisfied by
construction in centralized admission systems (Sweden, Norway, Denmark,
Chile), where both the instrument and capacity expansions shift the
cutoff along the same ranked queue. It applies equally to school choice
mechanisms with waitlists and other settings where programs fill to
capacity from ranked lists. In less centralized settings, the condition
need not hold by construction but remains a plausible interpretation of
the instrument whenever the researcher treats the IV estimate as
informative about capacity policy.
Assumption~\ref{ass:margin} is thus not a new requirement imposed by the
cascade framework. It is the same condition that makes any LATE estimate
in these settings interpretable as a policy-relevant parameter. When
\citet{kirkeboen2016} argue that their estimates are ``informative about
policy that (marginally) changes the supply of slots in different
fields,'' they are asserting precisely that the instrument and the policy
operate on the same margin, i.e. that the person who would be admitted under
a marginal expansion is the same type of person whose admission is
shifted by the instrument. Without this alignment, the LATE identifies
the effect on lottery compliers but says nothing about the effect of
expanding capacity, because the marginal expansion might admit a
different person through a different channel. Any researcher who
interprets a lottery- or cutoff-based IV estimate as informative about
capacity policy is implicitly invoking Assumption~\ref{ass:margin}. We
merely formalize what the literature already assumes.
A prominent view in applied microeconomics holds that the reduced
form is more
policy-relevant than the IV coefficient, because it captures the effect
of the instrument itself and requires fewer assumptions
\citep{angristpischke2009, imbens2014}. Assumption~\ref{ass:margin} accepts the
premise of this argument, i.e. that the instrument is a relevant
policy, but overturns the conclusion. When the policy is a capacity
expansion that propagates through the system, the reduced form captures
only the effect of one lottery draw on the lottery winner: a
partial-equilibrium object that ignores all downstream reallocations.
It is the 2SLS coefficient---obtained by inverting the full first-stage
matrix---that traces the cascade and recovers the general-equilibrium
policy effect. The distinction between the reduced form as a prediction tool and the structural equation as a policy tool dates to \citet{haavelmo1943}: when the government intervenes by changing a constraint, the structural parameters govern the response---not the conditional expectations from single equations.
The key implication of Assumption~\ref{ass:margin} is that the
instrument-based first stage identifies the vacancy creation rates
and direct effects from the planner's problem:
\begin{equation}
r_{kj} = \frac{-\pi_{jk}}{\pi_{kk}}, \qquad
W_k = \frac{\mathrm{RF}_k}{\pi_{kk}}.
\label{eq:bridge}
\end{equation}
The logic is simple. Per unit increase in~$Z_k$, program~$k$ gains
$\pi_{kk}$ students and program~$j$ loses $|\pi_{jk}|$ students.
Rescaling to one new admission to~$k$, the number of vacancies
created in~$j$ is $-\pi_{jk}/\pi_{kk}$. Similarly, the reduced
form $\mathrm{RF}_k$ is the total outcome change per unit increase
in~$Z_k$, so the outcome change per new admission---the direct
effect---is the Wald ratio $\mathrm{RF}_k / \pi_{kk}$. These are the vacancy
creation rates and direct effects that enter the cascade recursion
of Section~\ref{sec:policy_parameter}; Assumption~\ref{ass:margin}
ensures they are identified by the instrument variation.
The same marginal responses that govern the effect of the instruments
also govern the effect of a marginal capacity expansion. This bridges
the policy parameter defined in Section~\ref{sec:policy_parameter}
and the econometric objects defined in Section~\ref{sec:econometric}.
Assumption~\ref{ass:margin} does impose a stability requirement: the
ranking list that governs who fills a vacancy is not itself affected by
the expansion. For a marginal change, this is innocuous -- no applicant or
program responds to a single-slot shift. For larger reforms, however, it
rules out endogenous responses on both sides of the market: applicants
must not adjust their application or ranking decisions, and programs must
not alter admission criteria or capacity in other dimensions.
\citet{gandil2025trickle} illustrates the importance of this condition:
when applicants are allowed to adjust their application lists, simulated
ripple effects increase substantially. The cascade identity therefore
characterizes the marginal expansion at current capacity levels; applying
it to non-marginal reforms requires the first-stage matrix to remain
stable, a substantively stronger assumption.
The framework imposes little additional structure beyond these two
assumptions. Treatment indicators need not be mutually exclusive: a
student can be ``ever admitted'' to multiple programs, and the cascade
operates on net enrollment flows. No monotonicity condition is required.
Cross-effects are allowed: $\pi_{jk} \neq 0$ for $j \neq k$, as they
generically are in capacity-constrained systems. Flows need not balance:
$\sum_j \pi_{jk} \neq 0$, so instruments may draw individuals both from
other programs and from the outside option. Indeed, at least some instruments \emph{must} draw entrants from the outside
option: if all column sums $\sum_j \pi_{jk}$ were zero, the
first-stage matrix would be singular and the 2SLS coefficient would
not exist.
\subsection{Main result}
\label{sec:mainresult}
\begin{proposition}[Cascade Identity]
\label{prop:main}
Under Assumptions~\ref{ass:relevance} and~\ref{ass:margin}, the 2SLS
coefficients equal the societal policy effects:
\begin{equation}
\boxed{\;\mathbf{T}=\boldsymbol{\beta}\;}
\end{equation}
That is, $\beta_k$ equals the total societal effect of expanding
program~$k$ by one slot, including all cascading reallocations through
the system.
\end{proposition}
\begin{proof}
By Assumption~\ref{ass:margin}, the first stage identifies the
vacancy creation rates and direct effects:
\begin{equation}
r_{kj} = \frac{-\pi_{jk}}{\pi_{kk}},
\qquad
W_k = \frac{\mathrm{RF}_k}{\pi_{kk}}.
\end{equation}
Substituting into the cascade recursion
\eqref{eq:cascade_recursion} gives, for each $k$,
\begin{equation}
\label{eq:cascade}
T_k
= \frac{\mathrm{RF}_k}{\pi_{kk}}
- \sum_{j \neq k} \frac{\pi_{jk}}{\pi_{kk}}\, T_j.
\end{equation}
Multiplying both sides by $\pi_{kk}$ and rearranging,
\begin{equation}
\mathrm{RF}_k
= \sum_{j=1}^K \pi_{jk}\, T_j.
\end{equation}
Stacking these equations across $k$ yields the matrix system
\begin{equation}
\mathbf{RF} = \Pi^T \mathbf{T}.
\end{equation}
But by the reduced-form identity \eqref{eq:rf_matrix},
\begin{equation}
\mathbf{RF} = \Pi^T \boldsymbol{\beta}.
\end{equation}
Since $\Pi$ is diagonal nonzero (Assumption~\ref{ass:relevance}),
it follows immediately that
\begin{equation}
\mathbf{T} = \boldsymbol{\beta}.
\end{equation}
\end{proof}
The cascade recursion~\eqref{eq:cascade_recursion} is derived from the
primitives fixed supply and queue-based reallocation. It is not assumed to
match the econometric objects. To verify that the identity is not an
artifact of the algebraic setup, Appendix~\ref{app:simulation}
computes~$T_k$ independently by brute force: expanding a program by one
slot in a fully simulated multi-round admissions system with retakes,
programme switching, new cohorts, noncompliance, and defiers. It then sums up the resulting outcome changes across all individuals. The 2SLS
coefficient $\hat{\beta}_k$, estimated on the same simulated data, agrees
with this experimentally computed~$T_k$ to within sampling error (paired
$t$-statistics of 1.35 and 0.60 across 1{,}000 replications).
\begin{remark}[Generality beyond queues]
\label{rem:generality}
The proof uses only two ingredients: the reduced-form identity
$\mathbf{RF} = \Pi^T\boldsymbol{\beta}$ and the cascade
equation~\eqref{eq:cascade}. The first is definitional. The second
follows from any allocation mechanism in which (i)~total supply of each
good is fixed and (ii)~the instrument is the variable through which a
marginal supply expansion is transmitted to individual allocations.
Ranked queues are one such mechanism; competitive markets with price
instruments are another. Appendix~\ref{app:general} proves the cascade
identity for an arbitrary allocation mechanism, showing that the
fixed-supply condition, and not the institutional form, is the essential
assumption.
\end{remark}
\begin{remark}[Potential outcomes]
The cascade identity can also be derived in the potential outcomes framework. The notation is more cumbersome without matrices, but Appendix~\ref{sec:threeprog} works through a two-program (plus outside option) example with ordered treatments, connecting each term in the 2SLS coefficient to a specific complier transition.
\end{remark}
\subsection{Homogeneous treatment effects}
\label{sec:homogeneous}
Under homogeneous treatment effects, every individual gains
$\Delta_j = Y(j) - Y(0)$ from enrolling in program~$j$, regardless of
type. Since the average treatment effect and the marginal policy
effect coincide when effects are constant, the homogeneous case
provides a useful benchmark for interpreting the cascade identity.
Consider expanding program~$k$ by one slot. The new entrant may have
come from another program~$j$. Her net gain is
$\Delta_k - \Delta_j$: she gains $\Delta_k$ from entering~$k$ but
loses $\Delta_j$ from leaving~$j$. Her vacated seat in~$j$ is filled
by the next person on~$j$'s ranking list, who may in turn have come
from program~$m$, gaining $\Delta_j - \Delta_m$. This person's
departure from~$m$ is again filled from~$m$'s ranking list, and so
on. The cascade terminates when a seat is filled by someone from the
outside option, who gains $\Delta_\ell$ for whatever program~$\ell$
she enters.
Under homogeneity, the intermediate terms telescope. Summing along the
chain:
\[
(\Delta_k - \Delta_j) + (\Delta_j - \Delta_m) + \cdots + \Delta_\ell
= \Delta_k.
\]
Every intermediate program cancels: it appears once as a gain (for the
person entering) and once as a loss (for the person leaving). The only
term that survives is $\Delta_k$, the effect at the origin of the
chain. The cascade is a zero-sum reallocation at every intermediate
step, and the sole net effect is that one additional person, wherever
she sits at the end of the chain, has been drawn into the system
through program~$k$'s expansion.\footnote{When treatment indicators
are not mutually exclusive, the terminal entrant in the cascade need
not come from the outside option; she may already be enrolled in
other programs. However, the second-stage equation is linear and
additive in the treatment indicators, so under homogeneous effects the
incremental gain from adding program~$k$ is $\Delta_k$ regardless of
which other programs the individual is already enrolled in. The
telescoping argument goes through unchanged.} Hence
$\beta_k = \Delta_k = Y(k) - Y(0)$, the standard textbook
interpretation.
This makes precise what heterogeneous treatment effects add. When
effects differ across individuals, the person who enters program~$j$
at one link of the cascade may gain more or less than the person who
left~$j$ at the previous link. The intermediate terms no longer
cancel. The 2SLS coefficient $\beta_k$ captures the full chain of
non-cancelling gains and losses. The cascade identity
$\mathbf{T} = \boldsymbol{\beta}$ says that 2SLS performs this accounting
automatically: it aggregates the direct effect and all downstream
spillovers into a single policy-relevant number.
\begin{remark}[What heterogeneity does]
Under homogeneous effects, the cascade is inert---every reallocation
is zero-sum---and $\beta_k$ reduces to the individual-level causal
effect. Under heterogeneous effects, the cascade is active: each link
contributes a non-zero net effect because the person entering a
program differs from the person leaving. The magnitude of the cascade
correction depends on (i)~the extent of cross-program reallocation
(the off-diagonal elements of $\Pi$) and (ii)~the degree of treatment
effect heterogeneity across complier types at each margin. When either
is small, $\beta_k \approx \Delta_k$; when both are large, the
cascade can substantially alter the policy-relevant effect.
\end{remark}
\section{Discussion}
\label{sec:discussion}
\subsection{The cascade as a general-equilibrium object}
\label{sec:PEtoGE}
The distinction between the Wald ratio $W_k$ and the 2SLS coefficient
$\beta_k$ is most naturally understood as a distinction between partial
and general equilibrium effects. The Wald ratio is the effect on the
lottery winner; the cascade correction $\beta_k - W_k$ is the effect on
everyone else. In this sense, $\beta_k$ is the general-equilibrium
shadow value of relaxing the capacity constraint in programme~$k$,
while $W_k$ is the partial-equilibrium shadow value.
A demand-system analogy makes this transparent. Suppose $K$ goods are supplied in fixed
quantities and prices $p = (p_1,\dots,p_K)$ clear the markets. The
first-stage matrix $\Pi$ corresponds to the matrix of demand
derivatives, with entries $\pi_{jk} = \partial E[Q_j]/\partial p_k$.
See Appendix~\ref{app:general} for details.
A marginal increase in the supply of good~$k$ requires a reduction in
its price $p_k$ to clear the market. The welfare gain from this
price change, holding all other prices fixed, is exactly the Wald
ratio $W_k$. This is a partial-equilibrium object: it ignores that
the change in $p_k$ shifts demand in all other markets through the
cross-price effects $\pi_{jk}$.
These cross-effects require further price adjustments in every other
market. Each adjustment has its own welfare effect and feeds back
into the system through additional cross-price responses. The
economy converges to a new equilibrium through a sequence of such
adjustments.
This is Walrasian t\^atonnement in its standard market economy form. The cascade identity $\mathbf{T} = \boldsymbol{\beta}$ then says: in a
fixed-supply economy, the 2SLS coefficient is the
general-equilibrium shadow value of relaxing the supply constraint.
The Wald ratio is the partial-equilibrium shadow value; the cascade
correction is the GE adjustment.
\subsection{Relationship to individual-level LATE estimates}
\label{sec:late_comparison}
The cascade identity targets a general-equilibrium policy effect,
whereas the existing literature on multi-treatment IV targets
partial-equilibrium individual treatment effects. The distinction
maps directly into the PE/GE interpretation of Section~\ref{sec:PEtoGE}.
\citet{kirkeboen2016} and \citet{heinesen2024instrumental} identify
local average treatment effects by conditioning on each individual's
next-best alternative and imposing an irrelevance condition: if
instrument~$k$ does not shift an individual into treatment~$k$, it
does not shift her into any other treatment either. Together, these
assumptions imply that within each next-best stratum, the off-diagonal
elements $\pi_{jk}$ are zero.
With no cross-program spillovers, the policy expansion does
not propagate the shock beyond programme~$k$, and the distinction
between partial and general equilibrium disappears. In this case,
the Wald ratio and the 2SLS coefficient coincide,
\[
\beta_k = W_k,
\]
and both recover the same partial-equilibrium effect.
The cascade identity instead allows for non-zero cross-terms and explicitly
incorporates the resulting spillovers. The off-diagonal elements
that \citet{kirkeboen2016} and \citet{heinesen2024instrumental}
eliminate are exactly the cross-program flows that transmit the
shock through the system. Their approach shuts down general-equilibrium
adjustment; ours traces it out by inverting the full matrix
$\Pi$.
The two approaches therefore answer different questions. For
individual-level pairwise LATEs, the irrelevance and next-best
assumptions are required and our result offers no shortcut. For the
system-level effect of a capacity expansion, these assumptions are
not needed: the first-stage matrix already contains the information
required to recover the general-equilibrium response.
\subsection{The marginal value of public funds}
\label{sec:mvpf}
The cascade interpretation gives the 2SLS coefficient a direct welfare
meaning. The marginal value of public funds for expanding program $k$ is
\begin{equation}
MVPF_k = \frac{T_k}{c_k} = \frac{\beta_k}{c_k},
\end{equation}
where $c_k$ is the marginal cost of a slot. The numerator $\beta_k$ is
the 2SLS coefficient from the main specification. This object is the multi-treatment analog of the marginal policy
effect in \citet{carneiro2010} and connects directly to the MVPF
framework of \citet{hendren2020}: the welfare consequence of an
infinitesimal expansion of program $k$, expressed per unit cost,
identified from local variation at the admission margin without
extrapolation across the full distribution of treatment effects.
In the spirit of \citet{chetty2009}, the 2SLS coefficient serves
as a sufficient statistic for welfare analysis in
capacity-constrained systems; the equilibrium adjustment is
already embedded in the estimator, requiring no additional
structural modeling.
This contrasts with approaches such as \citet{kline2016} and \citet{gandil2025trickle}, where the
Wald ratio identifies only the direct effect on the lottery winner, and
the analyst must model or simulate the downstream re-allocations, and
their fiscal consequences, to recover the policy-relevant effect.
In the cascade framework, these equilibrium adjustments are already
embedded in the 2SLS coefficient. The researcher needs only the marginal
cost of capacity to conduct cost-benefit analysis; no additional
structural modeling of reassignment flows or costs in other programs is
required.
The result highlights a key advantage of the cascade interpretation:
while individual-level LATE parameters are often difficult to map into
policy-relevant welfare objects, the multi-treatment 2SLS coefficient
directly identifies the marginal policy effect needed for cost-benefit
analysis in capacity-constrained systems.
\section{Subsample effects in a capacity-constrained system}
\label{sec:heterogeneity}
A natural question in any treatment evaluation is whether effects
differ across subgroups, for example, by gender, age, or family
background. In the standard LATE framework with a single uncapped
treatment, the approach is straightforward: estimate the model
separately on each subgroup. The resulting coefficient identifies the
LATE for compliers within that subgroup. The cascade framework can
address the analogous question: what is the societal effect of a
group-targeted expansion, such as reserving an additional slot for
women? But the system-level nature of the estimand requires a
decomposition that accounts for how the cascade propagates through
mixed-group queues.
\subsection{Why subsample estimation answers the wrong question}
Consider estimating $\beta_k$ on women only, i.e. dropping all men from
the sample and running 2SLS with the female subsample. The resulting
coefficient $\beta_k^f$ inverts the women-only first-stage matrix
$\Pi^f$ and uses the women-only reduced form. By the cascade identity
applied to this subsample, $\beta_k^f$ equals the societal effect of
expanding programme $k$ by one \emph{women-only} slot, where the
entire downstream cascade also operates exclusively through women.
This is a fictional policy. The system does not have a gender. In the real admission system, when a woman
vacates a slot in programme $j$, the next person on $j$'s ranking list
may be a man. The cascade is gender-blind from the second step onwards.
The women-only estimate imposes a single-gender system that does not
exist, producing a parameter that does not correspond to any
implementable policy.
Two well-defined heterogeneity questions can be asked instead. We
describe each in turn.
\subsection{Decomposing the policy effect by subgroup}
The first question is: \emph{when programme $k$ expands by one slot,
how much of the total societal effect accrues to women versus men?}
This is answered by running full-sample 2SLS with group-specific
outcomes as dependent variables. Define $Y_i^f = f_i \cdot Y_i$ and
$Y_i^m = (1-f_i) \cdot Y_i$, where $f_i$ is a female indicator.
Estimate
\begin{equation}
Y_i^f = \alpha_0^f + \sum_{j=1}^K \beta_j^{f*} A_{ij} + \varepsilon_i^f
\end{equation}
by 2SLS on the full sample, using the same instruments and endogenous
variables as the main specification. Define $\beta_j^{m*}$ analogously
from the regression with $Y_i^m$ as the dependent variable.
Since $Y_i^f + Y_i^m = Y_i$, linearity of 2SLS implies
\begin{equation}
\beta_k^{f*} + \beta_k^{m*} = \beta_k
\end{equation}
for each $k$. The decomposition is exact and additive. Both
$\beta_k^{f*}$ and $\beta_k^{m*}$ inherit the cascade interpretation
from the full-sample specification: the first-stage matrix $\Pi$ is
the actual mixed-gender system, and the cascade operates through
mixed-gender queues at every step. We are simply partitioning the
outcome changes at each step into those experienced by women and
those experienced by men.
The coefficient $\beta_k^{f*}$ answers: ``of the total societal effect
of expanding programme $k$ by one slot, how much is due to changes in
women's outcomes?'' This includes women who enter programme $k$
directly, women who enter other programmes through the cascade, and
women who are displaced. It is a well-defined policy parameter that
requires no fictional single-gender system.
This approach generalises immediately to any partition of the
population: age groups, parental income quartiles, prior education
levels. For any exhaustive set of group indicators $g \in \{1,\dots,G\}$
with $\sum_g \mathbf{1}[g_i = g] = 1$, define $Y_i^{(g)} =
\mathbf{1}[g_i = g] \cdot Y_i$ and estimate full-sample 2SLS for
each group outcome. The coefficients sum to the total:
$\sum_g \beta_k^{(g)*} = \beta_k$.
\subsection{The effect of conditioning the marginal entrant}
The second question is: \emph{what is the total societal effect of
admitting one more woman (specifically) to programme $k$, rather than
one more person of unspecified gender?}
This question asks whether it matters for society who the marginal
entrant is. It is the closest analogue to the standard heterogeneous
LATE and requires a different construction.
When programme $k$ admits one more woman:
\begin{itemize}[nosep]
\item The direct effect is on a woman. Her outcome changes by the
female-specific treatment effect at the margin, captured by the
women-only reduced form and first stage: $\mathrm{RF}_k^f /
\pi_{kk}^f$.
\item She may vacate a slot in programme $j$. The probability of this
is determined by the women-only first stage: $-\pi_{jk}^f /
\pi_{kk}^f$.
\item The vacated slot in $j$ is refilled from $j$'s mixed-gender
ranking list. From this point on, the cascade is gender-blind.
The societal effect of one additional slot in $j$ is the full-sample $\beta_j$.
\end{itemize}
The total effect of admitting one more woman to programme $k$ is
therefore
\begin{equation}
T_k^{|f} = \frac{\mathrm{RF}_k^f}{\pi_{kk}^f}
+ \sum_{j \neq k} \frac{-\pi_{jk}^f}{\pi_{kk}^f} \, \beta_j,
\label{eq:conditional_het}
\end{equation}
where $\mathrm{RF}_k^f$ and $\pi_{jk}^f$ are the reduced form and
first stage estimated on women only, and $\beta_j$ is the full-sample
2SLS coefficient.
The first term is female-specific: the direct effect on the marginal
woman that fills the new slot. The cascade correction uses female-specific vacancy creation
rates (since it is a woman who potentially departs programme $j$) but
full-population cascade effects (since the refill draws from the
mixed-gender queue). All ingredients are standard output
from two sets of 2SLS regressions: the women-only first stage and
reduced form, and the full-sample $\beta_j$.
Comparing $T_k^{|f}$ with $T_k^{|m}$ (defined analogously for men)
reveals whether the gender of the marginal entrant matters for the
total societal effect. The two can differ for two reasons. First, the
direct effect may differ: the marginal woman admitted to programme $k$
may gain more or less than the marginal man would
($\mathrm{RF}_k^f / \pi_{kk}^f \neq \mathrm{RF}_k^m / \pi_{kk}^m$).
Second, the cascade triggered by a woman may differ from the cascade
triggered by a man, because women and men tend to vacate different
programmes when admitted to $k$ ($\pi_{jk}^f \neq \pi_{jk}^m$). For
example, if women admitted to a STEM programme disproportionately
vacate slots in health sciences while men disproportionately vacate
slots in business, the downstream reallocation differs by gender even though the refill at each
step draws from the same mixed-gender queue. If neither channel is
operative ($T_k^{|f} = T_k^{|m}$), the policy maker expanding
programme $k$ need not be concerned with the gender composition of
the marginal entrants.
\subsection{Replacement policies}
\label{sec:replacement}
The cascade framework extends naturally from capacity expansions to
\emph{replacement policies}: interventions that hold total capacity
fixed but change the composition of entrants. A quota, an affirmative
action rule, or a reallocation of slots across applicant types are all
examples. The key observation is that the marginal policy effect $T_k$
is defined as a derivative, so it is symmetric: expanding program~$k$
by one slot has effect $+T_k$, and contracting by one slot has effect
$-T_k$. A policy that simultaneously admits one type and removes
another is the difference of two conditional policy effects.
Suppose the planner replaces the marginal type-$m$ entrant in
program~$k$ with a type-$f$ entrant, holding total capacity fixed. This
is equivalent to two simultaneous operations: admit one more type-$f$
individual (effect $T_k^{|f}$) and remove one type-$m$ individual
(effect $-T_k^{|m}$). The net effect of the replacement is
\begin{equation}
R_k^{f \leftarrow m}
\;=\; T_k^{|f} - T_k^{|m}.
\label{eq:replacement}
\end{equation}
Each term decomposes using equation~\eqref{eq:conditional_het}:
\begin{align}
T_k^{|f} &= \frac{\mathrm{RF}_k^f}{\pi_{kk}^f}
+ \sum_{j \neq k} \frac{-\pi_{jk}^f}{\pi_{kk}^f} \, \beta_j, \\[4pt]
T_k^{|m} &= \frac{\mathrm{RF}_k^m}{\pi_{kk}^m}
+ \sum_{j \neq k} \frac{-\pi_{jk}^m}{\pi_{kk}^m} \, \beta_j.
\end{align}
The replacement effect $R_k^{f \leftarrow m}$ therefore has two
sources. First, the direct effects differ: the type-$f$ entrant may
gain more or less from program~$k$ than the type-$m$ entrant she
replaces ($\mathrm{RF}_k^f / \pi_{kk}^f \neq \mathrm{RF}_k^m /
\pi_{kk}^m$). Second, the two types trigger different cascades:
type-$f$ and type-$m$ individuals vacate different fallback programs
when admitted to~$k$ ($\pi_{jk}^f \neq \pi_{jk}^m$), so the
downstream reallocations differ even
though both cascades draw from the same mixed-type queues at every
subsequent step.
The replacement effect can be further decomposed by who benefits. For
any partition of the population into groups $g \in \{1,\dots,G\}$,
define group-specific outcomes $Y_i^{(g)} = \mathbf{1}[g_i = g]
\cdot Y_i$ and let $\beta_j^{(g)*}$ denote the full-sample 2SLS
coefficient from regressing $Y_i^{(g)}$ on the treatment indicators.
Then
\begin{equation}
R_k^{f \leftarrow m,(g)}
\;=\; T_k^{|f,(g)} - T_k^{|m,(g)},
\label{eq:replacement_group}
\end{equation}
where
\[
T_k^{|f,(g)} = \frac{\mathrm{RF}_k^{f,(g)}}{\pi_{kk}^f}
+ \sum_{j \neq k} \frac{-\pi_{jk}^f}{\pi_{kk}^f} \, \beta_j^{(g)*}
\]
measures how admitting one more type-$f$ individual to program~$k$
affects group~$g$'s outcomes, and $T_k^{|m,(g)}$ is defined
analogously. By linearity, the group-specific replacement effects sum
to the total: $\sum_g R_k^{f \leftarrow m,(g)} = R_k^{f \leftarrow m}$.
The replacement formula~\eqref{eq:replacement} answers a question that
arises naturally in any capacity-constrained system: what happens when
the planner changes \emph{who} fills a slot rather than \emph{how many}
slots exist? The expansion effect $T_k^{|f}$ and the contraction effect
$-T_k^{|m}$ each include a direct component and a cascade component.
The direct components measure the difference in treatment effects
between the two types at program~$k$'s margin. The cascade components
measure the difference in the downstream reallocations that each type
triggers: which programs they vacate, who fills those vacancies, and
what those individuals would otherwise have done.
The decomposition by beneficiary~\eqref{eq:replacement_group} makes
the distributional consequences of replacement policies transparent. A
gender quota in program~$k$, for instance, replaces the marginal man
with a woman. The group-specific replacement effects reveal how this
swap affects women's and men's outcomes separately, including all effects working through
the cascade. The direct effect of the quota operates on the two
individuals directly involved (the woman who enters and the man who is
displaced). The cascade effect operates on everyone else in the system
who is reallocated as a consequence. If the woman and the man who are
swapped would have attended different fallback programs, the cascade
triggered by the quota differs from the cascade that would have
occurred without it, and the distributional consequences extend well
beyond the two individuals at program~$k$'s margin.
All ingredients are standard regression output. The type-specific first
stages and reduced forms come from subsample IV regressions; the
full-population $\beta_j$ and $\beta_j^{(g)*}$ come from full-sample
2SLS with the overall and group-specific outcomes. No additional
structural modeling is required. The replacement effect is identified
under the same assumptions as the expansion effect: instrument
relevance and ranking-list refill.
\section{Applications: Effects of expanding fields of study}
\label{sec:application}
The cascade estimator is particularly well-suited to field-of-study effects because the
counterfactual for a student marginally admitted to, say, economics, STEM or medicine is
not ``no higher education'' but rather enrollment in whatever program
they would have attended instead. A single-instrument Wald ratio that
ignores this substitution confounds the effect of attending economics
with the effect of not attending a program that may itself increase
prosocial behavior. The cascade identity resolves this by estimating the
full societal effect of expanding each field by one slot, including the
downstream reallocation of students across substitute programs that such
an expansion triggers.
Our application uses Swedish data. In the Swedish university admissions system, applicants submit a single
ranked list of programs and are admitted through a national clearing
process administered by UHR (\emph{Universitets och högskolerådet}). Admission is determined by a merit score
(\emph{meritvärde}) based on upper secondary grades, results from the
Swedish Scholastic Aptitude Test (\emph{Högskoleprovet}), or prior
undergraduate credits. Each program allocates seats across parallel
tracks corresponding to these criteria. When qualified applicants exceed
available seats, the admission cutoff falls at the lowest merit score
among admitted students within each track. Ties at the cutoff are
resolved by lottery, conducted independently within each program and
admission round. The lottery produces a complete ranking of applicants
within each merit-score bracket, with position determined by chance
alone.
The lottery tie-breaking rule defines a natural set of \emph{pivotal
groups}: for each program and admission round, the pivotal group
consists of all applicants whose merit score equals the admission cutoff.
Within this group, admission is determined by the lottery draw alone,
while applicants above the cutoff are admitted with certainty and those
below are rejected with certainty. We construct a luck variable equal to
the applicant's normalized rank within the pivotal group, which is
uniformly distributed between 0 and 1 and independent of all
pre-determined characteristics conditional on group membership.
Crucially, the lottery ranking also determines the marginal applicant in
the natural policy experiment of expanding a program by one seat: it is
the highest-ranked rejected applicant, i.e. the next in the lottery
queue who would be admitted under a marginal capacity expansion. This
alignment between the instrument and the policy margin is what gives the
2SLS estimator its institutional interpretation.
This design is closely related to the regression discontinuity approach
used in related work on Scandinavian higher education
\citep{altmejd2021, kirkeboen2016}, which identifies causal effects by
comparing applicants just above and just below the admission cutoff. Our
setting differs in that applicants within the same merit-score bracket
are \emph{identical} on the running variable by construction, and
admission among them is determined by lottery. Continuity assumptions and
bandwidth choices are therefore not required, and the instrument can be
treated as the outcome of a randomization within each pivotal group.
Not all programs use pure lottery tie-breaking. Until 2012, a small
number of programs applied gender quotas at the admission margin. Other
programs resolve ties using \emph{Högskoleprovet} scores rather than
random draws, generating a deterministic rather than stochastic margin.
Both deviations are flagged in the administrative data. We exclude all
affected programs from the analysis, retaining only programs for which
the within-pivotal-group luck variable is consistent with random
assignment. The final analytical sample comprises 11,604 pivotal groups
across 28 admission rounds between 2008 and 2021, with an average
pivotal group size of approximately 12 applicants.
We group the 11,604 pivotal groups in our sample into seven mutually
exclusive fields using the standard Swedish SUN classification
(\emph{Standard f\"{o}r svensk utbildningsnomenklatur}). The fields are:
business including economics (SUN 34 and 314), social science (SUN 2--3
excluding business), pedagogy (SUN 1), medicine (SUN 721, 724, 727),
health (remaining SUN 7), STEM (SUN 4--5), and a residual other
category. Appendix~\ref{sec:aggregation} discusses the aggregation
weights and the conditions under which field-level estimates inherit the
cascade interpretation from the underlying program-level effects.
The structural equation is
\begin{equation}
Y_i = \beta_0 + \sum_{j=1}^{F} \beta_j A_{ij} + \mathbf{X}_i'\boldsymbol{\gamma}
+ \varepsilon_i,
\label{eq:secondstage_app}
\end{equation}
where $Y_i$ are application-specific outcomes in the years following
the admission decision, $A_{ij}$ indicates enrollment in field $j$, and
$\mathbf{X}_i$ contains field of application, prior giving (application 1), gender, age,
year of admission, and application priority. We estimate the system by
2SLS on the sample of pivotal-group members, using field-specific lottery
instruments $Z_{ij} = L_i \times \mathbf{1}(\text{applied to field } j)$
as excluded instruments, where
\begin{equation}
L_i = 1 - \frac{\text{lottery rank}_i}{(1+n_g)}
\end{equation}
is the applicant's normalized lottery rank within pivotal group $g$ of
size $n_g$. By construction, $L_i$ is symmetric and uniformly distributed
on $(0,1)$ within each pivotal group and therefore orthogonal to all
variables fixed within groups, including field of application, year of
admission, and merit score. Pivotal group fixed effects are consequently
not required for identification. Section~\ref{sec:balanceandrobustness}
verifies balance on predetermined individual characteristics and
demonstrates robustness to alternative control specifications (including
pivotal group fixed effects).
By the cascade identity of Section~\ref{sec:model}, the coefficient
$\hat{\beta}_j$ recovers the full societal effect of expanding field $j$
by one seat, inclusive of all downstream student reallocations across
substitute fields. A central feature of the cascade framework is that
the cascade effect itself requires no additional estimation beyond what
is already standard practice. The difference between the full 2SLS
coefficient $T_k$ and the single-instrument Wald ratio
$W_k = \mathrm{RF}_k / \pi_{kk}$ recovers exactly the downstream
reallocation effect:
\begin{equation}
T_k - W_k = \sum_{j \neq k} \frac{-\pi_{jk}}{\pi_{kk}} T_j.
\end{equation}
Both objects are standard regression output: $T_k$ is the coefficient
from the full 2SLS system and $W_k$ is the coefficient from a
single-instrument IV regression restricted to field $k$'s own lottery.
Their difference, reported in column~(5) of Table~\ref{tab:main},
measures the societal effect of the reallocation triggered by a marginal
expansion of field $k$; the effect on everyone else in the system, net
of the direct effect on the lottery winner.
\subsection{Application 1: Field of Study and Prosociality}
\label{sec:application1}
Universities have long claimed that their purpose extends beyond the
transmission of technical skills to the cultivation of prosocial values,
civic responsibility, and moral character.\footnote{Classical and
progressive educational theory emphasizes education as character
formation and preparation for democratic citizenship; see, e.g.,
\citet[Book VIII]{aristotle_politics} and \citet{dewey1916}. A large
empirical literature studies the causal impact of education in general on
prosociality and civic engagement, typically exploiting compulsory
schooling reforms or other sources of exogenous variation in years of
schooling \citep{dee2004, milligan2004, glaeser2002, helliwellputnam2007,
persson2015, almen2025}. \citet{dee2020} and \citet{willeck2022} provide
recent surveys.} The content of these commitments differs systematically
across fields. Programs in health care, social work, and education frame
their mission around public service and human development, while programs
in economics, business, and engineering emphasize competition, innovation,
and market-based problem solving. Whether these differences in mission
translate into differences in the prosocial behavior of graduates is an
open empirical question with direct implications for education policy.
A long-standing literature documents that economics and business students
exhibit lower levels of cooperative behavior, charitable giving, and
trust relative to students in other fields \citep[see,
e.g.,][]{frank1993, frey2003, bauman2011, carter1991, sundemo2025}.
Two competing explanations have proved difficult to disentangle. The
first is \emph{treatment}: economics education itself shapes values by
reinforcing a model of human behavior premised on narrow
self-interest---the \emph{homo economicus} assumption---or by
legitimizing self-interested action through the language of incentives
and efficiency \citep{marwell1981, frank1993}. The second is
\emph{selection}: students who choose economics are already less
prosocially oriented before enrollment, and the field attracts rather
than creates self-interested individuals \citep{bauman2011,
girardi2024}. Fully resolving the selection-versus-treatment debate
requires exogenous variation in field assignment itself, i.e., precisely what
the Swedish admissions lottery provides.
We measure prosociality using annual data on charitable giving drawn from
Swedish tax registers, which record all donations qualifying for tax
deductions,\footnote{The tax deduction for charitable donations was
available during 2012--2015 and reintroduced from 2019 onward. Giving
data are therefore observed for these years only. Since our admission
sample covers 2008--2021, nearly all applicants have at least one
post-admission observation of giving. However, for applicants admitted
before 2012, we lack a pre-admission measure of giving. To maintain a
common sample across all specifications, we set prior giving equal to
zero for these applicants. Section~\ref{sec:balanceandrobustness} shows
that the main estimates are robust to alternative treatments of this
variable.} for the full population of university applicants over
2008--2021. Giving is observed both before and after the admission
decision, allowing us to control for pre-existing levels and trends and
isolate the causal effect of field attendance. As a revealed-preference
measure that is private, voluntary, and financially costly, it is free from
the social desirability bias that plagues survey-based attitude measures.
Figure~\ref{fig:firststage_heatmap} displays the estimated first-stage
matrix. Each cell reports the effect of a high lottery score in one field
(column) on the probability of eventual admission (i.e.\ ever admitted
during 2008--2021) to the same or another field (row), measured over a
two-to-twelve year window following the lottery draw.\footnote{An applicant is only coded as ever admitted if she was admitted to the field through competition. This means that all admissions that did not have applicants in the final queue, i.e. that were not capacity constrained, are counted towards the outside option instead. Technically, the outside option thus includes a few students that were admitted to university programmes that had surplus capacity and could not fill all its slots.} The diagonal
elements are large, positive, and uniformly significant: a high lottery
score for a given field substantially raises the probability of eventual
admission to that same field, confirming strong compliance. The
off-diagonal elements are negative throughout, consistent with the
capacity-constraint mechanism underlying the cascade identity: a student
who secures admission to one field is displaced from others.
\begin{figure}[!ht]
\centering
\begin{tikzpicture}[x=1.6cm,y=1.3cm]
\foreach \j/\lab in {
0/Business, 1/Social science, 2/Teaching,
3/Medicine, 4/Other health, 5/STEM, 6/Other}{
\node[rotate=45, anchor=west] at (\j,7.2) {\lab};
}
\foreach \i/\lab in {
0/Business, 1/Social science, 2/Teaching,
3/Medicine, 4/Other health, 5/STEM, 6/Other}{
\node[anchor=east] at (-0.6,6-\i+0.5) {\lab};
}
\node[font=\bfseries] at (3.5,8.8) {Field applied to};
\node[font=\bfseries, rotate=90] at (-2.4,3.5) {Field admitted to};
\pgfmathsetmacro{\cellcoef}{.2880273786036889}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0351699457679392}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.000214811039012}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0102023695270323}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(3, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.0035190815322949}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(4, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.038714367222529}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(5, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0200378630736505}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(6, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0259714757252574}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.2171916408447561}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.0009819781507032}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0151580856935988}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(3, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0045027179470411}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(4, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0206270443918399}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(5, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0719730754178791}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(6, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.0021309484277185}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0178997998411345}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.4147904261804323}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0046156032835472}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(3, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0110105411226587}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(4, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0046035887091153}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(5, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0140990154109018}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(6, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0073539244706943}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-3) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.000503710920506}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-3) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.0004565957841107}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-3) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.1870970462916206}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(3, 46-3) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0124030826352648}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(4, 46-3) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0055818026323489}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(5, 46-3) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.0135623264741895}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(6, 46-3) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.011007383729976}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-4) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0279900515697151}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-4) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0105024490188208}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-4) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0170536861418848}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(3, 46-4) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.2363799753765909}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(4, 46-4) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0119505532474032}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(5, 46-4) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0425230770375388}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(6, 46-4) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0559432325822144}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-5) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0163446306167425}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-5) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0138889745505199}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-5) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0353542356804823}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(3, 46-5) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0058639768943174}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(4, 46-5) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.2601509549047082}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(5, 46-5) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.0083578194556172}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(6, 46-5) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0035369513303116}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-6) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0065291567676474}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-6) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0061639680456991}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-6) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0126179708196152}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(3, 46-6) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-0.000001621088}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(4, 46-6) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0040596097739785}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(5, 46-6) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.5123496811743266}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(6, 46-6) rectangle ++(1,1);
\draw[black!30] (0,0) rectangle (7,7);
\end{tikzpicture}
\caption{First-stage matrix. Effect of the instrument (lottery draw) on ever (2008-2021) being admitted to a specific field. Rows indicate fields admitted to ($D_k$) and columns indicate field applied to. Red~=~positive coefficient, blue~=~negative.
Faded color~=~not significant ($|t|<1.96$). $t$-values in parentheses. 149579 observations, t-statistics computed using clustered standard errors on 11,604 pivotal groups.}
\label{fig:firststage_heatmap}
\end{figure}
The pattern of cross-effects reveals the substitution structure of the
Swedish higher education market. Business, social science, STEM, and
medicine exhibit substantial mutual substitution, indicating that
applicants to these competitive fields hold overlapping preferences and
treat them as close alternatives. Teaching and health, by contrast, show
negligible cross-effects with other fields. Their applicant pools are
largely distinct, and the counterfactual for a rejected applicant is more
likely to be no higher education at all rather than enrollment in a
substitute field. This reflects the lower average merit-score cutoffs for
teaching and non-specialist health programs, which draw from a different
part of the applicant distribution than the more competitive fields.
Appendix~\ref{sec:heatmap2} shows a more granular table at the 3-digit
SUN-level, revealing that there is also some substitution within fields.
These cross-effects are the structural inputs to the cascade estimator.
The off-diagonal elements of the first-stage matrix determine the cascade correction that separates the direct effect of
enrolling in a field from the indirect effect of displacing students into
substitute fields. The heatmap thus summarizes the identification
structure of the entire analysis: strong diagonals confirm that each
field's own lottery instrument provides credible variation, while the
pattern of off-diagonal substitution maps the reallocation mechanism
through which a marginal capacity expansion propagates across the system.
Table~\ref{tab:main} reports the main results. Column~(1) reports the
full 2SLS estimate $T_k$, interpreted as the total societal effect of
admitting one additional student to field $k$, including both the direct
effect on the marginal entrant and all downstream reallocation effects
through the capacity-constrained system. Column~(2) reports the
own-instrument Wald ratio $W_k$, which captures only the direct effect
on the lottery winner, ignoring what happens to displaced students.
Column~(5) reports the cascade $T_k - W_k$.
The results reveal substantial heterogeneity across fields. Teaching,
medicine, health, and STEM all generate large and statistically
significant total effects on charitable giving, with point estimates
ranging from 0.045 to 0.077. For teaching, virtually the entire effect is
direct: the cascade is small and insignificant (0.002), indicating that vacancies created by an additional teaching seat do not create prosocial effects. This is consistent with the
first-stage evidence that teaching draws from a distinct applicant pool
with few close substitutes. The counterfactual for a rejected teaching
applicant is more likely no higher education than enrollment in another
prosocial field. For medicine, health, and STEM, by contrast, the
cascade accounts for a meaningful share of the total effect, ranging from
0.01 to 0.02, all statistically significant. Expanding these
competitive fields displaces applicants who would otherwise have enrolled
in other programs with positive prosocial effects, and these programs
recruit, in turn, individuals from outside higher education. This
reallocation adds to the total societal benefit of expanding these
disciplines.
The results for business and social science are particularly instructive
for the debate on economics and prosociality. The own-instrument Wald
ratio for business ($W_k = 0.0042$) is precisely estimated and
statistically indistinguishable from zero. This is a clean
estimate of what attending business does to a student's prosocial
behavior relative to their counterfactual: it finds no effect whatsoever.
Students who are marginally admitted to business programs give no more or
less to charity than they would have had they attended their next-best
alternative. The total policy effect of expanding business with one seat
is, however, positive ($T_k = 0.0196$), and the difference is the cascade
($T_k - W_k = 0.0154$, $p < 0.01$). Opening one additional seat in
business draws a student away from their next-best alternative---social
science, medicine, or another field with a positive prosocial effect---and
filling that vacancy generates a societal gain that the own-instrument
estimate misses entirely.
\begin{table}[htbp]\centering
\caption{The effects of expanding fields of study on charitable giving}
\label{tab:main}
\begin{threeparttable}
\begin{tabular}{lccccc}
\hline
& $\beta_k$ & \multicolumn{3}{c}{$W_k$} & $\Delta$ \\
\cline{3-5}
& & $b_k$ & $F$-stat & $N$ & (Cascade) \\
&(1)&(2)&(3)&(4)&(5) \\
\hline
\\
Business & .0196 & .00416 & 427 & 19882 & .0154\ifmmode^{***}\else\(^{***}\)\fi\\
& (.0149) & (.0132) & & & (.0054) \\
\\
Social science & .0368\ifmmode^{**}\else\(^{**}\)\fi & .019 & 651 & 47011 & .0177\ifmmode^{***}\else\(^{***}\)\fi\\
& (.0156) & (.014) & & & (.00602) \\
\\
Teaching & .0579\ifmmode^{***}\else\(^{***}\)\fi& .0561\ifmmode^{***}\else\(^{***}\)\fi& 449 & 11102 & .00185 \\
& (.0221) & (.0217) & & & (.00351) \\
\\
Medicine & .0767\ifmmode^{***}\else\(^{***}\)\fi& .0586\ifmmode^{**}\else\(^{**}\)\fi & 165 & 21169 & .0181\ifmmode^{**}\else\(^{**}\)\fi \\
& (.0266) & (.0252) & & & (.00743) \\
\\
Health & .0531\ifmmode^{***}\else\(^{***}\)\fi& .0449\ifmmode^{**}\else\(^{**}\)\fi & 588 & 26867 & .00815\ifmmode^{**}\else\(^{**}\)\fi \\
& (.0199) & (.0194) & & & (.00377) \\
\\
STEM & .0452\ifmmode^{***}\else\(^{***}\)\fi& .0354\ifmmode^{**}\else\(^{**}\)\fi & 449 & 20358 & .00979\ifmmode^{**}\else\(^{**}\)\fi \\
& (.0168) & (.0152) & & & (.00498) \\
\\
Other & -.0252 & -.0349\ifmmode^{*}\else\(^{*}\)\fi & 255 & 3190 & .0097 \\
& (.0201) & (.0191) & & & (.00689) \\
\\
$\bar{\beta}$ & 0.0377 & & & & \\
~SE($\bar{\beta}$) & 0.0099 & & & & \\
KP F-stat & 53.654 & & & & \\
Joint $\chi^2$ (betas=0)& 26.790 & & & & \\
Observations & 149579 & & & & \\
\\
\hline
\end{tabular}
\begin{tablenotes}[flushleft]
\footnotesize
\item \textit{Notes:} Column (1), $\beta_k$, reports results from a single 2SLS regression with all fields jointly instrumented; columns (2)--(4), $W_k$, report results from separate single-instrument regressions for each field (hence the field-specific first-stage F-statistics and sample sizes). Outcome variable is a binary indicator equal to one if student donated a positive amount to charity in the future years, zero otherwise. Standard errors in parentheses. Standard errors for $\beta_k$ and $b_k$ are clustered at the pivotal group level. Standard errors for the cascade (5) are computed by cluster bootstrap (1000 reps), resampling at the level of pivotal groups. The F-statistic refers to the Kleibergen–Paap first-stage F-statistic, testing the joint significance of the excluded instruments. \ifmmode^{*}\else\(^{*}\)\fi $p<0.10$, \ifmmode^{**}\else\(^{**}\)\fi $p<0.05$, \ifmmode^{***}\else\(^{***}\)\fi $p<0.01$.
\end{tablenotes}
\end{threeparttable}
\end{table}
Social science presents a similar but empirically sharper pattern. The
total policy effect is positive and significant ($T_k = 0.037$,
$p < 0.05$), yet the own-instrument Wald ratio is half as
large and statistically insignificant ($W_k = 0.019$). The significant
cascade ($T_k - W_k = 0.018$, $p < 0.01$) accounts for the difference.
A researcher reporting only $T_k$ would conclude that expanding social
science raises charitable giving; a researcher reporting only $W_k$
would conclude it has no effect. Both conclusions are correct since they
answer different questions. The cascade decomposition reveals that the
policy effect of expanding social science operates substantially through the
reallocation of displaced students into fields with stronger prosocial
effects, rather than through the direct effect of social science
attendance itself. This is precisely the confound that a
single-instrument Wald estimate cannot disentangle, and that the cascade
framework resolves.
A broader implication for the literature is that estimates of the prosocial ``cost'' of economics or business education may conflate two distinct effects: the impact of studying business and the impact of not studying the alternative. Our results indicate that the latter drives much of the observed differences. In particular, fields such as pedagogy, health, and medicine appear to generate substantial increases in prosocial behavior. From this perspective, economics and business do not so much erode an underlying baseline of prosociality; rather, they fall short of the prosocial gains induced by competing fields.
The field-level estimates in Table~\ref{tab:main} are uniformly positive
(except for ``other'', a small group of diverse programs), suggesting that higher education broadly
increases prosocial behavior. The average $\hat{\beta}_k$ of 0.0377 is
statistically significant, providing causal evidence in favor of the
long-standing view that expanding university education cultivates moral
character beyond the transmission of technical skills (in this sample, the average charitable giving was about 0.1 in 2021; see Table \ref{tab:summary_fields} in Appendix \ref{sec:appendix} for field-specific averages). A natural question
is how this average, which reflects the mean effect of expanding each
field by one slot, relates to what a researcher would typically estimate
when asking whether higher education in general increases prosocial
behavior: regressing the outcome on a single indicator for any
enrollment, instrumented by $L_i$ or a set of field-specific
interactions. This is the standard single-regressor local average
treatment effect (LATE). Appendix~\ref{sec:aggregation} discusses the
relationship between the average of $\beta_1, \dots, \beta_K$ and this
pooled 2SLS estimate, and Table~\ref{tab:aggregation} reports the
results.
\subsection{Application 2: Gender quotas and STEM degree attainment}
\label{sec:stem_application}
A central objective of higher education policy in many countries is to
increase female representation in STEM fields: science, technology, engineering, and
mathematics \citep{blickenstaff2005, ceci2011}. Interventions range from
targeted recruitment and mentoring programs to explicit gender quotas or
preferential admission rules. Two distinct policy instruments are
commonly discussed. The first is \emph{expansion}: creating an additional
slot in a STEM program and reserving it for a woman. The second is
\emph{replacement}: holding capacity fixed and admitting a woman in place
of the marginal man. Both are standard tools of affirmative action.
The cascade framework developed in
Sections~\ref{sec:heterogeneity}--\ref{sec:replacement} provides a
unified analysis of both policy instruments. The expansion effect is the
gender-conditional policy effect $T_k^{|f}$; the replacement effect is
$R_k^{f \leftarrow m} = T_k^{|f} - T_k^{|m}$. Each can be decomposed
by beneficiary: how much of the effect accrues to women's STEM degrees
versus men's? The cascade matters because the woman who enters and the
man who is displaced vacate different fallback programs, triggering
different downstream reallocations through the mixed-gender admission
queues. A policy that appears to move one woman into STEM may, through
the cascade, also move men into or out of STEM at other points in the
system.
We apply this decomposition to Swedish admissions data. Among applicants to STEM programs in the pivotal groups, approximately 57.7 percent ultimately obtain a STEM degree, while only 27.2 percent of applicants are female (see Table \ref{tab:summary_fields} in Appendix \ref{sec:appendix}).
We classify STEM programs into three tiers based on admission selectivity: competitive STEM (top quartile), mid-tier STEM, and non-STEM. The outcome is a binary indicator for holding a STEM degree in 2022. This three-tier classification allows cascade effects to operate \emph{within} STEM, which would be obscured by a single STEM indicator. For example, admitting a woman to a competitive STEM program may free up a spot in a mid-tier STEM program, which is then filled from a predominantly male applicant pool.
\begin{figure}[htbp]
\centering
\vspace{0.5em}
\begin{minipage}[t]{0.47\textwidth}
\centering
\textbf{(a) Women}
\vspace{0.3em}
\begin{tikzpicture}[
x=2.1cm, y=-2.1cm,
every node/.style={font=\scriptsize}
]
\pgfmathsetmacro{\cellcoef}{.1566802036502014}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0056161048861126}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0881451706003984}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0087913974214935}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.3942848183598707}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.1339824169969087}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0037920780883287}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 0=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0662369571669012}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.5486590370449614}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-2) rectangle ++(1,1);
\node[anchor=south, font=\scriptsize\bfseries, align=center] at (0.5, -0.12) {Non-\\STEM};
\node[anchor=south, font=\scriptsize\bfseries, align=center] at (1.5, -0.12) {Mid-\\tier};
\node[anchor=south, font=\scriptsize\bfseries, align=center] at (2.5, -0.12) {Comp.\\STEM};
\node[anchor=east, font=\scriptsize\bfseries, align=right] at (-0.12, 0.5) {Non-STEM};
\node[anchor=east, font=\scriptsize\bfseries, align=right] at (-0.12, 1.5) {Mid-tier};
\node[anchor=east, font=\scriptsize\bfseries, align=right] at (-0.12, 2.5) {Competitive};
\end{tikzpicture}
\end{minipage}
\hfill
\begin{minipage}[t]{0.47\textwidth}
\centering
\textbf{(b) Men}
\vspace{0.3em}
\begin{tikzpicture}[
x=2.1cm, y=-2.1cm,
every node/.style={font=\scriptsize}
]
\pgfmathsetmacro{\cellcoef}{.1560240421823646}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0828350597042143}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0676737145649595}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-0) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0223853153178366}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.3592422094344426}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.2293827600977614}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-1) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0225939289728708}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(0, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{-.0501303510632802}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(1, 46-2) rectangle ++(1,1);
\pgfmathsetmacro{\cellcoef}{.4425314983070032}
\pgfmathsetmacro{\intensity}{sqrt(min(abs(\cellcoef)/0.35,1))*100}
\ifdim \cellcoef pt > 0.00001pt
\defwhite{red}
\else
\ifdim \cellcoef pt < -0.00001pt
\defwhite{blue}
\else
\defwhite{white}
\fi
\fi
\ifnum 1=1
\def0.15{1}
\else
\def0.15{0.15}
\fi
\filldraw[draw=black!10,
fill=white!\intensity!white,
fill opacity=0.15]
(2, 46-2) rectangle ++(1,1);
\node[anchor=south, font=\scriptsize\bfseries, align=center] at (0.5, -0.12) {Non-\\STEM};
\node[anchor=south, font=\scriptsize\bfseries, align=center] at (1.5, -0.12) {Mid-\\tier};
\node[anchor=south, font=\scriptsize\bfseries, align=center] at (2.5, -0.12) {Comp.\\STEM};
\node[anchor=east, font=\scriptsize\bfseries, align=right] at (-0.12, 0.5) {Non-STEM};
\node[anchor=east, font=\scriptsize\bfseries, align=right] at (-0.12, 1.5) {Mid-tier};
\node[anchor=east, font=\scriptsize\bfseries, align=right] at (-0.12, 2.5) {Competitive};
\end{tikzpicture}
\end{minipage}
\caption{\footnotesize First-stage matrix by gender: STEM tiers. Each cell reports the first-stage
coefficient and $t$-statistic (in parentheses) from regressing
enrollment in the row tier on the column tier's lottery instrument,
estimated separately for women (panel~a) and men (panel~b). Red
shading indicates positive coefficients (own effects on the diagonal);
blue indicates negative (cross-program substitution). Bold entries are
significant at the 5\% level. All regressions include tier-of-application dummies,
age, year fixed effects, and application priority as controls. Standard
errors clustered by pivotal group.}
\label{fig:stem_heatmap_gender}
\end{figure}
Figure~\ref{fig:stem_heatmap_gender} displays the gender-specific first-stage matrices. The diagonal elements confirm strong compliance for both genders, with women showing somewhat larger own effects in competitive STEM (0.549 vs.\ 0.443) and mid-tier STEM (0.394 vs.\ 0.359), reflecting that women in pivotal groups for STEM programs are more strongly affected by the lottery, which is consistent with men having more fallback options within STEM. The off-diagonal elements reveal the substitution patterns that drive the cascade. The key asymmetry is in the competitive STEM column: when women win the competitive STEM lottery, they vacate mid-tier STEM at a rate of 0.134; about 24\% of the own effect. For men, the corresponding rate is 0.229, or 52\% of the own effect. Men admitted to competitive STEM are thus twice as likely as women to have come from mid-tier STEM rather than from outside STEM. Conversely, women admitted to competitive STEM vacate non-STEM slots at a higher rate than men (0.088 vs.\ 0.068), indicating that a larger share of marginal women in competitive STEM would otherwise have left STEM entirely. This asymmetry is the mechanism behind the gendered cascade: when a woman enters competitive STEM, the mid-tier vacancy she creates is smaller, but the direct effect on the marginal women is bigger. When a man enters, the direct effect on the marginal man is smaller, but the cascade is bigger since his admission frees more slots in mid-tier STEM.
Table~\ref{tab:stem_main} reports the full-sample cascade decomposition.
Expanding competitive STEM by one slot generates 0.215 STEM degrees in
total, of which the cascade accounts for 0.087 ($p < 0.01$)---roughly
40\% of the total effect. The cascade is driven by substitution within
the STEM hierarchy: the marginal competitive-STEM admit vacates a
mid-tier slot, which is refilled from mid-tier's queue. For mid-tier
STEM, the cascade is smaller (0.026, $p < 0.05$) because the marginal
admit comes predominantly from outside STEM. The non-STEM row confirms
the logic from the other direction: the Wald ratio is significantly
negative ($-0.054$), but the positive cascade (0.034) partially offsets
the loss as vacated STEM slots are refilled.
\begin{table}[htbp]\centering
\caption{Expanding STEM tiers: effect on STEM degree attainment}
\label{tab:stem_main}
\begin{threeparttable}
\begin{tabular}{lccc}
\hline
& $\beta_k$ & $W_k$ & Cascade \\
& (1) & (2) & (3) \\
\hline
&\multicolumn{1}{c}{(1)} &\multicolumn{1}{c}{(2)} &\multicolumn{1}{c}{(3)} \\
[1em]
Non-STEM & -0.0200 & -0.0537\ifmmode^{***}\else\(^{***}\)\fi& 0.0337\ifmmode^{***}\else\(^{***}\)\fi\\
& (0.0160) & (0.0148) & (0.00871) \\
[1em]
Mid-tier STEM & 0.219\ifmmode^{***}\else\(^{***}\)\fi& 0.192\ifmmode^{***}\else\(^{***}\)\fi& 0.0263\ifmmode^{*}\else\(^{*}\)\fi \\
& (0.0524) & (0.0476) & (0.0137) \\
[1em]
Competitive STEM & 0.215\ifmmode^{***}\else\(^{***}\)\fi& 0.128\ifmmode^{***}\else\(^{***}\)\fi& 0.0870\ifmmode^{***}\else\(^{***}\)\fi\\
& (0.0479) & (0.0390) & (0.0272) \\
[1em]
Observations & 149579 & . & . \\
KP F-statistic & 93.03 & . & . \\
\\
\hline
\end{tabular}
\begin{tablenotes}[flushleft]
\footnotesize
\item \textit{Notes:} Outcome is a binary indicator for holding a STEM
degree. Treatments are admission to one of three tiers defined by
programme competitiveness. Column~(1): full 2SLS estimate $\beta_k =
T_k$. Column~(2): single-instrument Wald ratio $W_k$. Column~(3):
cascade $T_k - W_k$. Standard errors for columns~(1)--(2) are clustered
by pivotal group; column~(3) uses bootstrap standard errors (1000
replications). \ifmmode^{*}\else\(^{*}\)\fi $p<0.10$, \ifmmode^{**}\else\(^{**}\)\fi $p<0.05$, \ifmmode^{***}\else\(^{***}\)\fi $p<0.01$.
\end{tablenotes}
\end{threeparttable}
\end{table}
Table~\ref{tab:admit_gender} applies the gender-conditional formula of
equation~\eqref{eq:conditional_het} with STEM degree as the outcome,
decomposed into women's and men's STEM degrees. The headline
result is in the competitive STEM row in Panel A: admitting one more woman
generates 0.250 total STEM degrees, of which 0.197 are women's and
0.053 are men's ($p < 0.01$), approximately one man's STEM degree for
every four women's. The effect on men is entirely a cascade effect: the
woman admitted to competitive STEM vacates a mid-tier slot that is
refilled from a predominantly male queue.
The mid-tier row reveals a different pattern. Admitting one more woman
to mid-tier STEM generates essentially zero additional women's STEM
degrees ($-0.022$, insignificant): the marginal woman does not increase her chance of ending up with a STEM degree when admitted to mid-tier STEM. Mid-tier
STEM is thus not the binding constraint for women's STEM attainment. The
effect on men is positive (0.028) but imprecisely estimated.
The non-STEM row is instructive. Admitting one more woman to a non-STEM
program has no net effect on total STEM degrees (0.001), but the
decomposition shows why: it reduces women's STEM degrees by 0.016
($p < 0.01$) and increases men's by the same amount ($p < 0.01$). Some
women drawn into non-STEM would otherwise have been in STEM; these
vacated STEM slots are mostly filled by men. The policy is almost exactly
zero-sum for total STEM, but it redistributes degrees from women to men.
\begin{table}[htbp]\centering
\caption{Expanding field capacity on STEM degree attainment}
\label{tab:admit_gender}
\begin{threeparttable}
\begin{tabular}{lcccc}
\toprule
& Total & Direct & $\to$ Women's & $\to$ Men's \\
& $T_k^{|g}$ & $W_k^{|g}$ & $T_k^{|g,f}$ & $T_k^{|g,m}$ \\
& (1) & (2) & (3) & (4) \\
\midrule
\multicolumn{5}{c}{\textit{A. Admit one more woman}} \\[0.3em]
Non-STEM & 0.000666 & -0.0168 & -0.0155 & 0.0162\ifmmode^{**}\else\(^{**}\)\fi \\
& (0.0166) & (0.0165) & (0.0168) & (0.00662) \\
Mid-tier STEM & 0.00625 & -0.0290 & -0.0215 & 0.0278\ifmmode^{*}\else\(^{*}\)\fi \\
& (0.0900) & (0.0917) & (0.0932) & (0.0146) \\
Competitive STEM & 0.250\ifmmode^{***}\else\(^{***}\)\fi& 0.197\ifmmode^{***}\else\(^{***}\)\fi& 0.197\ifmmode^{***}\else\(^{***}\)\fi& 0.0529\ifmmode^{**}\else\(^{**}\)\fi \\
& (0.0686) & (0.0684) & (0.0703) & (0.0211) \\
Observations & 88545 & . & . & . \\
KP F-statistic & 32.93 & . & . & . \\
\\[0.5em]
\multicolumn{5}{c}{\textit{B. Admit one more man}} \\[0.3em]
Non-STEM & -0.0558\ifmmode^{*}\else\(^{*}\)\fi & -0.119\ifmmode^{***}\else\(^{***}\)\fi& 0.00707 & -0.0629\ifmmode^{*}\else\(^{*}\)\fi \\
& (0.0327) & (0.0313) & (0.00888) & (0.0327) \\
Mid-tier STEM & 0.312\ifmmode^{***}\else\(^{***}\)\fi& 0.286\ifmmode^{***}\else\(^{***}\)\fi& 0.00497 & 0.307\ifmmode^{***}\else\(^{***}\)\fi\\
& (0.0636) & (0.0592) & (0.00704) & (0.0636) \\
Competitive STEM & 0.206\ifmmode^{***}\else\(^{***}\)\fi& 0.0961\ifmmode^{*}\else\(^{*}\)\fi & 0.000569 & 0.206\ifmmode^{***}\else\(^{***}\)\fi\\
& (0.0578) & (0.0495) & (0.0189) & (0.0581) \\
Observations & 61034 & . & . & . \\
KP F-statistic & 52.47 & . & . & . \\
\\
\bottomrule
\end{tabular}
\begin{tablenotes}[flushleft]
\footnotesize
\item \textit{Notes:} Outcome is a binary indicator for STEM degree.
Column~(1) reports the total effect of admitting one more student of gender $g$
to tier~$k$. Column~(2) reports the direct effect on the marginal admitted student.
Columns~(3)--(4) decompose the total effect into effects on women's and men's STEM
degrees. Bootstrap standard errors clustered by pivotal group.
\ifmmode^{*}\else\(^{*}\)\fi $p<0.10$, \ifmmode^{**}\else\(^{**}\)\fi $p<0.05$, \ifmmode^{***}\else\(^{***}\)\fi $p<0.01$.
\end{tablenotes}
\end{threeparttable}
\end{table}
Panel B of Table~\ref{tab:admit_gender} reports the symmetric analysis for men. The contrast with Panel A is sharp. Admitting one more
man to competitive STEM generates 0.205 STEM degrees, virtually all of
which are men's (0.205) and essentially none women's (0.001). Unlike the
female case, the male cascade does not benefit the other gender: men at
the competitive STEM margin vacate programs whose queues do not contain
women who would gain STEM degrees. The asymmetry traces directly to the
first-stage matrices in Figure~\ref{fig:stem_heatmap_gender}: men
admitted to competitive STEM vacate mid-tier STEM at a much higher rate
than women do (0.229 vs.\ 0.134), but the mid-tier refill draws
predominantly from men, so the cascade circulates within the male STEM
pipeline without pulling women in.
Table~\ref{tab:replace} reports the replacement effect
$R_k^{f \leftarrow m} = T_k^{|f} - T_k^{|m}$: the net consequence of
replacing the marginal man with a woman, holding capacity fixed. The
point estimates follow mechanically from Table \ref{tab:admit_gender}; the contribution here is inference on the difference.
At competitive STEM, the net effect on total STEM degrees is small and
insignificant (0.043): the quota barely changes total STEM production.
But the decomposition reveals that this near-zero masks a significant
redistribution: the quota generates 0.196 additional women's STEM
degrees ($p < 0.01$) and destroys 0.153 men's ($p < 0.01$). The quota
redistributes rather than creates.
The redistribution is not one-for-one. Each woman who replaces a man
generates 0.196 women's STEM degrees but eliminates only 0.153 men's
--- the net gain of 0.043 reflects the asymmetry in the two cascades
documented above. Because the woman's fallback is more likely to be
outside STEM while the man's is mid-tier STEM, removing the man
destroys fewer downstream STEM degrees than admitting the woman creates.
The quota is mildly STEM-expanding, but the effect is too small to
distinguish from zero.
\begin{table}[htbp]\centering
\caption{Replace the marginal man with a woman: net effect on STEM degrees}
\label{tab:replace}
\begin{threeparttable}
\begin{tabular}{lcccc}
\hline
& Net total & Net direct & $\to$ Women's & $\to$ Men's \\
& $\Delta T_k$ & $\Delta W_k$ & $\Delta T_k^{f}$ & $\Delta T_k^{m}$ \\
& (1) & (2) & (3) & (4) \\
\hline
Non-STEM & 0.0565 & 0.102\ifmmode^{***}\else\(^{***}\)\fi& -0.0226 & 0.0791\ifmmode^{**}\else\(^{**}\)\fi \\
& (0.0356) & (0.0361) & (0.0171) & (0.0320) \\
Mid-tier STEM & -0.306\ifmmode^{***}\else\(^{***}\)\fi& -0.315\ifmmode^{***}\else\(^{***}\)\fi& -0.0265 & -0.279\ifmmode^{***}\else\(^{***}\)\fi\\
& (0.108) & (0.111) & (0.0904) & (0.0604) \\
Competitive STEM & 0.0433 & 0.101 & 0.196\ifmmode^{***}\else\(^{***}\)\fi& -0.153\ifmmode^{***}\else\(^{***}\)\fi\\
& (0.0865) & (0.0887) & (0.0677) & (0.0526) \\
\\
\hline
\end{tabular}
\begin{tablenotes}[flushleft]
\footnotesize
\item \textit{Notes:} Each cell is $T_k^{|f} - T_k^{|m}$: the net
effect of replacing the marginal man with a woman in tier~$k$, holding
capacity fixed. Column~(1): net effect on total STEM degrees.
Column~(2): net direct effect. Columns~(3)--(4): net effect on women's
and men's STEM degrees. A positive value in column~(3) and negative
in column~(4) indicates redistribution from men to women. Bootstrap
standard errors (1000 replications, clustered by pivotal group).
\ifmmode^{*}\else\(^{*}\)\fi $p<0.10$, \ifmmode^{**}\else\(^{**}\)\fi $p<0.05$, \ifmmode^{***}\else\(^{***}\)\fi $p<0.01$.
\end{tablenotes}
\end{threeparttable}
\end{table}
These results illustrate a general feature of affirmative action in
capacity-constrained systems: the policy does not operate in a vacuum.
Whether the instrument is expansion or replacement, the cascade
propagates the intervention through the system, generating
distributional consequences that extend beyond the individuals directly
targeted. In our setting, expanding competitive STEM toward women
generates one man's STEM degree for every four women's; replacing the
marginal man with a woman redistributes degrees across genders but
barely changes the total. The cascade framework makes these downstream
effects visible and measurable using only standard IV output. The same logic applies to any rationed setting where slots are
reallocated across types---including corporate board quotas
\citep{matsa2013, ahern2012} and race-based university admissions
policies, where banning or introducing affirmative action triggers
cascading reallocations across tiers of the system
\citep{bleemer2022}.
\section{Conclusion}
\label{sec:conclusion}
The prevailing view in the econometric literature is that 2SLS with
multiple treatments yields coefficients that are difficult to interpret
under heterogeneous treatment effects. We show that in
capacity-constrained allocation systems---a class that includes
university admissions, school choice, medical residency matching, public
housing, and other rationed settings---the 2SLS coefficient $\beta_k$
has a direct policy interpretation: the total societal effect of
expanding treatment $k$ by one slot, including all cascading
reallocations through the system. The result is an algebraic identity
that holds for any first-stage matrix, requires only instrument relevance
and that the allocation mechanism transmits supply expansions through the
instruments, and imposes no restrictions on treatment effect heterogeneity
or individual choice behavior. The identity applies not only to
queue-based systems but to any allocation mechanism operating over
goods with fixed supply, including competitive markets with price
instruments.
For applied researchers working in capacity-constrained settings, the
practical implication is straightforward. Multi-treatment 2SLS is not
merely a convenience for combining instruments, it is the estimator
that answers the policy question of whether to expand capacity. The
cascade decomposition into own effects and downstream reallocation
effects requires no additional estimation beyond what is already standard
practice: the difference between the multi-treatment 2SLS coefficient and
the single-instrument Wald ratio recovers the cascade directly.
The result has limitations. Assumption~\ref{ass:margin} requires that
the instrument and the policy operate on the same margin: a condition
satisfied by construction in centralized systems but potentially violated
in decentralized settings where vacancies are filled through different
channels than those generating the instrument variation. The fixed-supply
condition is essential: if competing programs can expand endogenously in
response to the demand pressure created by the cascade, the identity
breaks down. In practice, most publicly funded systems enforce fixed
supply through administrative budget separation, regulatory constraints,
or policy choice, but the assumption should be assessed case by case.
Finally, the cascade identity characterizes a system-level policy effect
that is in general difficult to decompose into individual-level treatment
effects. Under homogeneous effects, the system-level and individual-level
parameters coincide; under heterogeneity, they diverge, requiring the
researcher to be clear about which parameter is being targeted.
Our empirical applications demonstrates the cascade framework using
Swedish university admissions. The results show
that the cascade correction is quantitatively important: for competitive
fields like business and social science, the entire policy effect of
expansion operates mainly through the downstream reallocation of displaced
students rather than through the direct effect on the marginal entrant.
This finding reframes the long-standing debate on whether economics
education erodes prosocial values: the apparent prosociality gap between
economics students and others is driven primarily by the prosocial
effects of the fields that economics students would otherwise have
attended, not by any negative effect of economics itself. The second application demonstrates that gender-targeted STEM admission policies generate distributional consequences that extend well beyond the individuals directly affected: approximately one-fifth of the STEM-degree effect of admitting a woman to competitive STEM accrues to men through the cascade.
\newpage
\bibliographystyle{econ}
\bibliography{cascade}
\newpage