This vignette is meant to explain
how bunchr
estimates the earning elasticity from bunching
induced by a notch. These calculations derive the formulas used for
notch analysis. It closely follows the discussion by Kleven1 with one
main difference: Kleven discusses a notch created by a change in average
tax rates on income. `bunchr’ is inspired by another setting: tax rates
are marginal, and the notch is created by a “cash cliff” - where a fixed
sum of money is taken from the agent for crossing a threshold. This
“cash cliff” is observed in many settings of government transfers in
developed countries (e.g. disability insurance in the US).
The agent faces the following budget line:
$$ c(z) = \begin{cases} z \cdot (1-t_1) & \quad \text{if} \quad z \leq z^* \\ z^* \cdot (1-t_1) + (z - z^*)\cdot (1-t_2) - T & \quad \text{if} \quad z > z^*\\ \end{cases} $$
Where c is consumption (net earnings after tax), z are pre-tax earnings, z* is the notch point, t1 and t2 are the marginal tax rates before and after the notch point, and T is the Taxed “penalty” for crossing the notch.
An agent has an ability measure ni, and an elasticity of earnings w.r.t. net-of-tax rate ei. We assume a smooth ability distribution in the population. We also assume that elasticity is constant among all agents, or that its mean, conditional on ability, is constant (in the latter case, we are estimating the mean elasticity in the population). The agent has quasi-linear, iso-elastic utility:
$$u(c,z) = c - \frac{n}{1 + 1/e } \cdot \left( \frac{z}{n} \right)^{1+1/e}$$
Which has a first order condition of: z = n ⋅ (1 − t)e
Where z is the level of earnings. Note that when the marginal tax rate is zero, earnings equal ability. Thus we can interpret the ability parameter as the level of income this individual would earn in a world where marginal tax rate is zero.
There is an agent with ability n*, who optimally earns exactly the sum of money where the notch kicks in. This agent’s tangency condition for maximizing utility is z* = n* ⋅ (1 − t1)e. There is another agent, the marginal buncher, with ability n* + Δn*. This agent is indifferent between earning at the notch point z* or earning at the point satisfying his first order condition, which we call z* + Δz*. The marginal buncher is indifferent between two bundles, as the budget line is not convex. Agents with higher ability have only one optimal point, a tangency point to the right of the notch. They are unaffected by the notch.
When estimating elasticity for a notch, bunchr
first
tries to get an estimate of Δz*, using the
amount of bunching and assuming that all that bunching comes from the
right side of the distribution. After estimating this Δz*, or being
provided one by the user with the force_after
option,bunchr
finds the elasticity that would equate
utilities of this agent at both point: z* and z* + Δz*.
To do so, it uses the convenient connection between ability and earnings
given by the first order condition: z* + Δz* = (n* + Δn*) ⋅ (1 − t2)e
### Equating these two, we can numerically solve for elasticity.
After calculating Δz*,
bunchr
solves for elasticity, by minimizing the difference
between these two utilities. The function elas_equalizer
,
included in bunchr
, takes the marginal taxes, the Tax
variable, and Δz*, returning
the squared difference between the utilities defined with some e. Using the optimize
function in the stats package, bunchr
finds the elasticity
that minimizes the squared distance between these utilities. Note that,
while by definition of the utility function, earnings cause disutility
(from work). Hence elasticity should be positive. bunchr
bounds the elasticity search between 0 and 5, the latter being a very
high elasticity in most settings, let alone labor supply.
Kleven, H.J., 2016. “Bunching”, Annual Review of Economics 8(1)↩︎