When using tax and transfer microsimulation models, a common approach for calculating marginal tax rates is to recalculate the tax liability when adding $1 to earnings. This will take into account various tax laws that interact in complex ways.
However, this will generally miss the effects of cliffs, such as losing Medicaid, ACA subsidies, or SSDI, unless a household is $1 below the threshold.
Is there a best practice to deal with this? A couple ideas come to mind:
Recalculate the tax liability for multiple changes to earnings, such as $1, $100, $1,000, etc., and weigh the results by the distance (e.g.
Make copies of the underlying data, varying the initial earnings within some range, e.g. +/- $1,000, possibly oversampling near the true earnings (e.g. triangular distribution).