Matching models with imperfectly transferable utility

Alfred Galichon (NYU+ScPo)

'math+econ+code' masterclass on equilibrium transport and matching models in economics

With python code examples

© 2018-2022 by Alfred Galichon. Past and present support from NSF grant DMS-1716489, ERC grant CoG-866274 are acknowledged, as well as inputs from contributors listed here.

If you reuse material from this masterclass, please cite as:
Alfred Galichon, 'math+econ+code' masterclass on equilibrium transport and matching models in economics, June 2021. https://github.com/math-econ-code/mec_equil

References

Matching with nonlinear taxes

Generating the data

We will generate the same type of worker/firm data as yesterday.

Tax schedule

In 2020, the federal tax schedule for a single taxpayer was as follows:

MARGINAL RATE LOWER BRACKET UPPER BRACKET TAX OWED
10\% \$0 \$9,700 10\% of taxable income
12\% \$9,701 \$39,475 \$970 plus 12\% of the excess over \\$9,700
22\% \$39,476 \$84,200 \$4,543 plus 22\% of the excess over \\$39,475
24\% \$84,201 \$160,725 \$14,382.50 plus 24\% of the excess over \\$84,200
32\% \$160,726 \$204,100 \$32,748.50 plus 32\% of the excess over \\$160,725
35\% \$204,101 \$510,300 \$46,638.50 plus 35\% of the excess over \\$204,100
37\% \$510,300 - \$153,798.50 plus 37\% of the excess over \\$510,300

(Source: https://www.investopedia.com/terms/t/taxbracket.asp)

Let $N\left( w\right) $ be the net wage if gross wage is $w$.

Let $\tau ^{k}$ be the $k$-th tax rate (by increasing order), and $w^{k}$ be the lower bracket associated with $\tau_k$.

Set $w^{0}=0,n^{0}=0,\tau ^{0}=0.1$.

Letting $n^k=N(w^k)$, one has
$n^{k+1}=n^{k}+\left( 1-\tau ^{k}\right) \left( w^{k+1}-w^{k}\right) $
and
$N\left( w\right) =\min_{k}\left\{ n^{k}+\left( 1-\tau ^{k}\right) \left( w-w^{k}\right) \right\} $

Let $g$ be the gross wage, and $n$ be the net wage, we have that the net wage is a piecewise linear, increasing and concave function of the gross wage, whose slopes are $1-\tau_k$, so it expresses as
$ n = \min_k \{N^k+(1-\tau_k) w\}$
where $N^k = n^k - w^k (1-\tau^k) = \tau^k w^k - (n^k - w^k)$.

We encode this as:

Bargaining whithin a pair

In order to study the matching problem, we need to first study the bargaining possibilities within a matched pair. For now we shall drop the subscripts $x$ and $y$, and we will study the set of utilities $(U,V)$ that the worker and the firm can obtain as an outcome of that bargaining. This set is called feasible utility set, or bargaining set.

Most of the material in this lecture is taken from Galichon, Kominers and Weber (2019).

Feasible utilities

For each value of $w$ (nominal wage), compute
$\left\{ \begin{array}{l} U \text{ = utility of the worker}\\ V\text{ = utility of the firm} \end{array} \right.$

In the transferable utility case (Becker-Shapley-Shubik),
$\left\{ \begin{array}{l} U(w) = \alpha + w\\ V(w) = \gamma -w, \end{array} \right.$
but in general, we shall assume that $\mathcal{U}\left( w\right)$ and $\mathcal{U}\left( w\right)$ are nondecreasing (resp. nonincreasing) and continuous, not necessarily linear.

The feasible utility set

Given a worker-firm pair, define $\mathcal{F}$ the feasible utility set as:

$\mathcal{F}=\left\{ \left( U,V\right) :\exists w,U\leq U\left( w\right) ,V\leq V\left( w\right) \right\} $.

equivalently, if $\mathcal{U}$ is strictly increasing

$\mathcal{F}=\left\{ \left( U,V\right) :V\leq V\left( U ^{-1}\left( U\right) \right) \right\} .$

Note that we are assuming free disposal: if $(U,V)$ is feasible and if $U' \leq U$ and $V' \leq V$, then $(U',V')$ is feasible.

Also, $w$ does not have to be a wage; it can be the set of terms of a contract.

Frontier of the feasible utility set

We define the frontier of the feasible utility sets as the set of points $(U,V)\in \mathcal{F}$ such that there is no point $(U',V')\in \mathcal{F}$ with
$U' < U$ and $V' < V$.

Caution here. This coincides with the topological frontier which is defined as the intersection of the closures of the interior and exterior of the set, but not with the set of Pareto efficient points, which is in general a subset of the former. Indeed, the set of Pareto efficient points is the set of points $(U,V)\in \mathcal{F}$ such that there is no point $(U',V')\in \mathcal{F}$ with
$U' \leq U$ and $V' \leq V$, with at least one strict inequality.
In particular, if $\mathcal{F} = (U,V): U\leq 1~and~V\leq 1$, the topological frontier is union of the set $\{U=1,V\leq 1\}$ and $\{U\leq 1, V=1\}$, while the set of Pareto efficient points is $(1,1)$.
This distinction will be important when we discuss model with non-transferable utility.

Distance-to-frontier function

Given a feasible set $\mathcal{F}$, compute the distance to the frontier of $\mathcal{F}$ along the diagonal, with a minus sign if in the interior, and a plus sign if it is not.

Define the distance-to-frontier function as
$D(U,V)=\min\{t∈R:(U-t,V-t)∈F\}$

This way:
$D(U,V) \leq 0 $ means that $(U,V)\in\mathcal{F},$
while
$D(U,V) = 0 $ means that $(U,V)$ is on the frontier of $\mathcal{F}$.

Property. For $a \in \mathbb{R}$, we have $D(U+a,V+a)=D(U,V)+a$.

Parameterization of the frontier of the feasible set

We can define $\delta = U-V$ and get an explicit parameterization on the frontier of the feasible set as a function of $\delta$.
$D(\mathcal{U}(\delta) , \mathcal{U}(\delta) - \delta) =0$ and
$D(\mathcal{V}(\delta) + \delta, \mathcal{V}(\delta) ) =0$
thus
$\left\{ \begin{array}[l] ~\mathcal{U}\left( \delta \right) = - D(0,-\delta)\\ \mathcal{V}\left( \delta \right) = - D(\delta,0) \end{array} \right. $

Some examples

Example 1: transferable utility (TU)

Example 2: non-transferable utility (NTU)

Example 3: linearly transferable utility (LTU)

Example 4: exponentially transferable utility (ETU)

Example 4 (continued): limits of the ETU case

Remarks.

Example 5: union of feasible sets

Example 6: progressive taxation

The matching model without heterogeneity

Assume $w_{xy}$ is the wage and consider the workers' and the firms' problems. Define the indirect utilities as:
$u_{x}=max_{y}\{U_{xy}(w_{xy}),0\}$ and $v_{y}=max_{x}\{V_{xy}(w_{xy}),0\}$

$(\mu,u,v,w)$ is an equilibrium matching if the following conditions hold

(i) population constraint

$\sum_{y}\mu_{xy}+\mu_{x0}=n_{x}$ and $\sum_{x}\mu_{xy}+\mu_{0y}=m_{y}$

(ii) Stability

$u_{x}\geq U_{xy}(w_{xy})$ and $v_{y}\geq V_{xy}(w_{xy})$, and

$u_{x}\geq0$ and $v_{y}≥0$

(iii) Complementarity

$\mu_{xy}>0$ implies $u_{x}=U_{xy}(w_{xy})$ and $v_{y}=V_{xy}(w_{xy})$
$\mu_{x0}>0$ implies $u_{x}=0$, and $\mu_{0y}>0$ implies $v_{y}=0$.

Equilibrium formulation (model without heterogeneity)

Note that we can remove $w_{xy}$ by rewriting stability as $D_{xy}(u_x,v_y) \geq 0$. Equilibrium can be reexpressed as:
(i) population constraint
$\sum_{y}\mu_{xy}+\mu_{x0}=n_{x}$ and $\sum_{x}\mu_{xy}+\mu_{0y}=m_{y}$

(ii) Stability
$D_{xy}(u_x,v_y) \geq 0$ $u_{x}\geq0$ and $v_{y}≥0$

(iii) Complementarity
$\mu_{xy}>0$ implies $D_{xy}(u_x,v_y) = 0$
$\mu_{x0}>0$ implies $u_{x}=0$, and $\mu_{0y}>0$ implies $v_{y}=0$.

The matching model with logit heterogeneity

The matching equations

Solving for the equilibrium using Gauss-Seidel

We will verify that we are in the Gross Substitutes / BGH case. Recall

$M_{xy}(\mu_{x0},\mu_{0y})=\exp(-D_{xy}(-T\ln \mu_{x0},-T\ln \mu_{0y}) / T)$

Introduce $p_{z}=(p_{x},p_{y})$ with $p_{x}=-\mu_{x0}$ and $p_{y}=\mu_{0y}$,

$\left\{ \begin{array}[l] ~Q_{x}(p) = p_{x}-∑_{y∈Y}M_{xy}(-p_{x},p_{y})+n_{x}\\ Q_{y}(p) = p_{y}+∑_{x∈X}M_{xy}(-p_{x},p_{y})-m_{y} \end{array} \right.$

Gross substitutes hold.

Law of aggregate supply holds:
$\sum_{x}Q_{x}(p)+∑_{y}Q_{y}(p)=∑_{x}p_{x}+∑_{y}p_{y}+∑_{x}n_{x}-\sum_{y}m_{y}$ is increasing in all the prices.

Hence $Q$ is inverse isotone.

Now let's see that there is a subsolution and a supersolution.

$p_{z}=N$, $N$ large enough yields a supersolution, while $p_{z}=-N$, N large enough yields a subsolution.

Hence there is a solution, and Gauss-Seidel converges.

The class GKW_model

Distance function

Note that $n_{xy} \leq \min_k \{N_k+(1-\tau_k) g_{xy}\}$ is equivalent to $$ \frac{- N_k - (1-\tau_k) g_{xy} + n_{xy}} {2 - \tau_k} \leq 0~\forall k.$$ As $n_{xy}=U_{xy}-\alpha_{xy}$ and $g_{xy} = \gamma_{xy} -V_{xy}$, this is equivalent to $$ \frac{ (U_{xy} - \alpha_{xy} ) + (1-\tau_k) ( V_{xy} - \gamma_{xy}) -N_k } {2 - \tau_k} \leq 0~\forall k, $$ therefore, we get $$ D_{xy}(U,V) = \max_k \left\{ \frac{ (U - \alpha_{xy} ) + (1-\tau_k) ( V - \gamma_{xy}) -N_k } {2 - \tau_k} \right\} $$ or, setting
$\lambda_k = 1 / (2 - \tau_k)$ and
$\nu_k = (1 - \tau_k) / (2 - \tau_k)$ and
$\Phi^k_{xy} = \lambda_k (\alpha_{xy}+N_k) + \nu_k \gamma_{xy}$
$$ D_{xy}(U,V) = \max_k \left\{ \lambda_k U + \nu_k V - \Phi^k_{xy} \right\} $$

Matching function

One has $$M_{xy}(\mu_{x0},\mu_{0y})=\exp(-D_{xy}(-\log \mu_{x0},-\log \mu_{0y}))=\min_k \left\{ \mu_{x0}^{\lambda_k} \mu_{0y}^ {\nu_k} e^{ \Phi^k_{xy}} \right\} $$

Next, we compute the mappings
$\mu_{x0} \to \mu_{x0}+\sum_y M_{xy}(\mu_{x0},\mu_{0y})$ and
$\mu_{0y} \to \mu_{0y}+\sum_x M_{xy}(\mu_{x0},\mu_{0y}).$

Now we solve in $\mu_{x0}$ the equation
$\mu_{x0}+\sum_y M_{xy}(\mu_{x0},\mu_{0y})=n_x,$
and in $\mu_{0y}$ the equation
$\mu_{0y}+\sum_x M_{xy}(\mu_{x0},\mu_{0y})=m_y.$

Recovering the wages

Recall that we had
$n_{xy}=U_{xy}-\alpha_{xy}$ and $w_{xy} = \gamma_{xy} -V_{xy}$,
and
$U_{xy} = \log \frac {\mu_{xy}} {\mu_{x0}} $ and $V_{xy} = \log \frac {\mu_{xy}} {\mu_{0y}},$
so as a result, we can compute: