Government#
In OG-Core
, the government enters by levying taxes on households, providing transfers to households, levying taxes on firms, spending resources on public goods and infrastructure, and making rule-based adjustments to stabilize the economy in the long-run. It is this last activity that is the focus of this chapter.
Government Tax and Transfer Policy#
Government levies taxes on households and firms, funds public pensions, and makes other transfers to households.
Taxes#
Individual income taxes#
Income taxes are modeled through the net tax liability function for each household OG-Core
, along with our method of incorporating detailed microsimulation data into a dynamic general equilibrium model.
Incorporating realistic tax and incentive detail into a general equilibrium model is notoriously difficult for two reasons. First, it is impossible in a dynamic general equilibrium model to capture all of the dimensions of heterogeneity on which the real-world tax rate depends. For example, a household’s tax liability in reality depends on filing status, number of dependents, many types of income, and some characteristics correlated with age. A good heterogeneous agent DGE model tries to capture the most important dimensions of heterogeneity, and necessarily neglects the other dimensions.
The second difficulty in modeling realistic tax and incentive detail is the need for good microeconomic data on the individuals who make up the economy from which to simulate behavioral responses and corresponding tax liabilities and tax rates.
OG-Core
follows the method of [DeBacker et al., 2019] of generating detailed tax data on effective tax rates and marginal tax rates for a sample of tax filers along with their respective income and demographic characteristics and then using that data to estimate parametric tax functions that can be incorporated into OG-Core
.
Effective and Marginal Tax Rates#
Before going into more detail regarding how we handle these two difficulties in OG-Core
, we need to define some functions and make some notation. For notational simplicity, we will use the variable
We can express household net tax liability
where the wealth tax function is described in Section Wealth taxes of this chapter. Rearranging the first term on the right-hand-side of (57) gives the definition of an effective tax rate on income (
A marginal tax rate (OG-Core
, we differentiate between the marginal tax rate on labor income (
Note that a change in wealth
As we show in Section Optimality Conditions of the Households chapter of the OG-Core
repository documentation, the derivative of total tax liability with respect to labor supply OG-Core
documentation. It is valuable to be able to express those marginal tax rates, for which we have no data, as marginal tax rates for which we do have data. The following two expressions show how the marginal tax rates of labor supply can be expressed as the marginal tax rate on labor income times the household-specific wage and how the marginal tax rate of savings can be expressed as the marginal tax rate of capital income times the interest rate.
Fitting Tax Functions#
In looking at the 2D scatter plot on effective tax rates as a function of total income in Figure 2 and the 3D scatter plots of
Default Tax Functional Form#
For the default option, OG-Core
follows the approach of [DeBacker et al., 2019] in using the following functional form to estimate tax functions for each age tax_func_type="DEP"
. Alternative specifications are outlined in Section Alternative Functional Forms below. Equation (63) is written as a generic tax rate, but we use this same functional form for
The parameters values will, in general, differ across the different functions (effective and marginal rate functions) and by age,
By assuming each tax function takes the same form, we are breaking the analytical link between the the effective tax rate function and the marginal rate functions. In particular, one could assume an effective tax rate function and then use the analytical derivative of that to find the marginal tax rate function. However, we’ve found it useful to separately estimate the marginal and average rate functions. One reason is that we want the tax functions to be able to capture policy changes that have differential effects on marginal and average rates. For example, a change in the standard deduction for tax payers would have a direct effect on their average tax rates. But it will have secondary effect on marginal rates as well, as some filers will find themselves in different tax brackets after the policy change. These are smaller and second order effects. When tax functions are are fit to the new policy, in this case a lower standard deduction, we want them to be able to represent this differential impact on the marginal and average tax rates. The second reason is related to the first. As the additional flexibility allows us to model specific aspects of tax policy more closely, it also allows us to better fit the parameterized tax functions to the data.
The key building blocks of the functional form Equation (63) are the
The respective
This functional form for tax rates delivers flexible parametric functions that can fit the tax rate data shown in the scatterplot data in Figure 2 and Figure 3 as well as a wide variety of policy reforms. Further, these functional forms are monotonically increasing in both labor income
Symbol |
Description |
---|---|
Coefficient on squared labor income term |
|
Coefficient on labor income term |
|
Coefficient on squared capital income term |
|
Coefficient on capital income term y in |
|
Maximum tax rate on labor income |
|
Minimum tax rate on labor income |
|
Maximum tax rate on capital income |
|
Minimum tax rate on capital income |
|
shifter |
|
shifter |
|
shifter (can be negative) allows for support of |
|
Cobb-Douglas share parameter between 0 and 1 |
Parameter |
|||
---|---|---|---|
6.28E-12 |
3.43E-23 |
4.32E-11 |
|
4.36E-05 |
4.50E-04 |
5.52E-05 |
|
1.04E-23 |
9.81E-12 |
5.62E-12 |
|
7.77E-09 |
5.30E-08 |
3.09E-06 |
|
0.80 |
0.71 |
0.44 |
|
-0.14 |
-0.17 |
0.00E+00 |
|
0.80 |
0.80 |
0.13 |
|
-0.15 |
-0.42 |
0.00E+00 |
|
0.15 |
0.18 |
4.45E-03 |
|
0.16 |
0.43 |
1.34E-03 |
|
-0.15 |
-0.42 |
0.00E+00 |
|
0.84 |
0.96 |
0.86 |
|
Obs. ( |
3,105 |
3,105 |
1,990 |
SSE |
9,122.68 |
15,041.35 |
7,756.54 |
Let
We then estimate five remaining parameters
where
The underlying data can limit the number of tax functions that can be estimated. For example, we use the age of the primary filer from the PUF-CPS match to be equivalent to the age of the DGE model household. The DGE model we use allows for individuals up to age 100, however the data contain few primary filers with age above age 80. Because we cannot reliably estimate tax functions for
In OG-Core
, we estimate the 12-parameter functional form (63) using weighted nonlinear least squares to fit an effective tax rate function
Alternative Functional Forms#
In addition to the default option using tax functions of the form developed by [DeBacker et al., 2019], OG-Core
also allows users to specify alternative tax functions. Four alternatives are offered:
Functions as in [DeBacker et al., 2019], but where
, , and are functions of total income (i.e., ) and not labor and capital income separately. Users can select this option by setting the parametertax_func_type="DEP_totalinc"
.Functions of the Gouveia and Strauss form [Gouveia and Strauss, 1994]:
Users can select this option by setting the parameter
tax_func_type="GS"
. The three parameters of this function ( ) are estimated using the weighted sum of squares estimated described in Equation (64).Tax functions from [Heathcote et al., 2017]:
Users can select this option by setting the parameter
tax_func_type="HSV"
. The two parameters of this function ( ) are estimated using ordinary least squares.Linear tax functions (i.e.,
a constant). Users can select this option by setting the parametertax_func_type="linear"
. The constant rate is found by taking the weighted average of the appropriate tax rate (effective tax rate, marginal tax rate on labor income, marginal tax rate on labor income) for each age and year, where the values are weighted by sampling weights and income.Monotonically increasing smoothing spline
tax_func_type="mono"
. This functional approach is based on [Eilers and Marx, 1996], [Eilers, 2003] and [Eilers, 2005], which is a least squares smoothing spline that penalizes nonmonotonicities. We used k-fold cross validation to show that the optimal smoothing parameter for this function on our tax data is , which is set as the default. These tax functions are fit to total income data (labor income plus capital income).
Among all of these tax functional forms, users can set the age_specific
parameter to False
if they wish to have one function for all ages tax_func_type="DEP"
or tax_func_type="DEP_totinc"
), one can set analytical_mtrs=True
if they wish to have the
Income Tax Noncompliance#
The parameters of the tax functions used in OG-Core
are typically estimated using data that miss the effects of compliance (either because they use administrative data from tax returns or because of similar under-reporting in survey data [Hurst et al., 2014](see Hurst et al. (REStat, 2014))). OG-Core
therefore offers the user two parameters that scale the marginal and effective tax rate functions in order to account for income tax noncompliance. These parameters are labor_income_tax_noncompliance_rate
and capital_income_tax_noncompliance_rate
and represent the rates of noncompliance on the respective sources of income. The implementation of these parameters is as follows. Let represent
When computing the role of compliance on the effective tax rate, we take a weighted average over the rates of noncompliance for labor and capital income. If we let
Factor Transforming Income Units#
The tax functions OG-Core
model are not in the same units as the real-world income data. For this reason, we have to transform the income by a
The tax rate functions are each functions of capital income and labor income
We do not know the steady-state wage, interest rate, household labor supply, and savings ex ante. So the income
Consumption taxes#
Linear consumption taxes,
Wealth taxes#
Wealth taxes can be implemented through the
where
The expression for the effective tax rate on wealth is the following.
The analytical expression for the marginal tax rate on wealth defined in equation {eq}`` is the following.
Corporate income taxes#
Businesses face a linear tax rate OG-Core
provides the parameters c_corp_share_of_assets
to scale the tax rate applied to the representative firm so that it represents a weighted average between the rate on businesses entities taxes at the entity level (e.g., C corporations in the United States) and those with no entity level tax. The parameter adjustment_factor_for_cit_receipts
is additionally provided to represent a wedge between marginal and average tax rates (which could otherwise be zero with a linear tax function).
Spending#
Government spending is comprised of government provided pension benefits, lump sum transfers, universal basic income payments, infrastructure investment, spending on public goods, and interest payments on debt. Below, we describe the transfer spending amounts. Spending on infrastructure, public goods, and interest are described in Government Budget Constraint. Because government spending on lump-sum transfers to households
where GDP
Pensions#
The OG-Core
model allows for four different systems for public pensions:
U.S.-style social security system
Defined benefit system
Notional defined contribution system
Points system
These can be selected with the pension_system
parameter. Accepted values are US-Style Social Security
, Defined Benefits
, Notional Defined Contribution
, Points System
. We discuss each of these in turn below.
For all systems,
Defined benefit system#
The defined benefit system pension amount is given as:
where:
are the number of years over which average earnings are calculated are the number of years of contributions. In our model, there is no exit from the labor force, so workers will contribute for years, but could be some number less than if there is a maximum number of years of contributions one can accrue under the DB system. is the replacement rate per year of contribution.
Given this pension system and the fact that there is only variation in labor supply along the intensive margin (so we don’t need to consider changes in
Notional defined contribution system#
The pension amount under a notional defined contribution system is given as:
where:
is the pension contribution tax rate the rate of growth applied to contributions.For example, In the Italian system,
is the mean nominal GDP growth rate in the 5 years before seniorityi.e.,
Note, this is not
. In the SS, it’s , and in the transition path equilibrium, it’s not a function of exogenous variables since the growth rate of nominal GDP is endogenous.
is the conversion coefficient at time and its calculation is detailed below.
where
The
where
Finally, indR
if one would like to account for the fact that households lose members over time.
Given this pension system, the partial derivatives from the household section are given by:
Points system#
Under a points system, the pension amount is given as:
where
Given this pension system, the partial derivatives from the household section are given by:
Aggregate Pension Spending#
Total pension spending is the sum of the pension payments to each household in the model:
Lump sum transfers:#
Aggregate non-pension transfers to households are assumed to be a fixed fraction
The time dependent multiplier
Universal basic income#
[TODO: This section is far along but needs to be updated.]
Universal basic income (UBI) transfers show up in the household budget constraint (22). Household amounts of UBI can vary by household age
Calculating UBI#
Household transfers in model units of the numeraire good default_parameters.json
file (ubi_growthadj
, ubi_nom_017
, ubi_nom_1864
, ubi_nom_65p
, and ubi_nom_max
). Three additional parameters provide information on household structure by age, lifetime income group, and year: [ubi_num_017_mat
, ubi_num_1864_mat
, ubi_num_65p_mat
].
As a convenience to users, UBI policy parameters ubi_nom_017
, ubi_nom_1864
, ubi_nom_65p
, and ubi_nom_max
are entered as nominal amounts (e.g., in dollars or pounds). The parameter ubi_nom_017
represents the nominal value of the UBI transfer to each household per dependent child age 17 and under. The parameter ubi_nom_1864
represents the nominal value of the UBI transfer to each household per adult between the ages of 18 and 64. And ubi_nom_65p
is the nominal value of UBI transfer to each household per senior 65 and over. The maximum UBI benefit per household, ubi_nom_max
, is also a nominal amount. From these parameters, the model computes nominal UBI payments to each household in the model:
The rest of the time periods of the household UBI transfer and the respective steady-states are determined by whether the UBI is growth adjusted or not as given in the ubi_growthadj
boolean parameter. The following two sections cover these two cases.
UBI specification not adjusted for economic growth#
A non-growth adjusted UBI (ubi_growthadj = False
) is one in which the initial nonstationary nominal-valued
As described in chapter Stationarization, the stationarized UBI transfer to each household
Note that in non-growth-adjusted case, if
UBI specification adjusted for economic growth#
Put description of growth-adjusted specification here.
Spending in the reform
simulation#
While aggregate spending on reform
simulation, these spending amounts can be set in two different ways. The method is controlled by the baseline_spending
parameter. If baseline_spending=False
, the behavior of these spending is analgous to that in the baseline simulation; they are set as fractions of GDP, in this case GDP in the reform simulation. Thus, with the default assumption of baseline_spending
it’s assumed that spending levels in these three categories are function of GDP in the reform. In this case, users will see that, even with the parameters
With the assumption of baseline_spending=True
, the level of spending in the reform is held to the level of spending in the baseline. If the user wishes to adjust the level of spending, relative to the baseline level, in the reform, then the parameters alpha_bs_G
, alpha_bs_T
, and alpha_bs_I
can be used to proportionally increase or decrease the levels of spending on alpha_bs_*
parameters are time varying, so the proportional change in spending can be different across time. E.g., for government consumption expenditures, we’d have the reform amount of
Note that the budget closure rule (described in Section ref{SecUnbalGBCcloseRule
}) still takes effect in the case of baseline_spending=True
. What this means is that the relation described above holds until the period in which the closure rules takes effect. Once the closure rule begins, the path of
Government Tax Revenue#
We see from the household’s budget constraint that net taxes
where we defined the tax liability function
We define total government revenue from taxes in terms of the numeraire good as the following,
where household labor income is defined as
Government Budget Constraint#
Let the level of government debt in period
where
We assume that government spending on public goods in terms of the numeraire good is a fixed fraction of GDP each period in the initial periods.
Similar to transfers
Total government infrastructure investment spending,
The government also chooses what percent of total infrastructure investment goes to each industry
The stock of public capital (i.e., infrastructure) in each industry
where
Aggregate spending on UBI at time
Interest Rate on Government Debt and Household Savings#
Despite the model having no aggregate risk, it may be helpful to build in an interest rate differential between the rate of return on private capital and the interest rate on government debt. Doing so helps to add realism by including a risk premium. OG-Core
allows users to set an exogenous wedge between these two rates. The interest rate on government debt,
where
Budget Closure Rule#
If total government transfers to households
A virtue of dynamic general equilibrium models is that the model must be stationary in the long-run in order to solve it. That is, no variables can be indefinitely growing as time moves forward. The labor augmenting productivity growth
For the model to be stationary, the debt-to-GDP ratio must be stable in the long run. Because the debt-to-GDP ratio is a quotient of two macroeconomic variables, the non-stationary and stationary versions of this ratio are equivalent. Let
where
We detail three possible closure-rule options here for stabilizing the debt-to-GDP ratio in the long run, although OG-Core
only has the capability currently to execute the first closure rule that adjusts government spending OG-Core
options soon. Each rule uses some combination of changes in government spending on public goods
Change only government spending on public goods
.Change only government transfers to households
.Change both government spending
and transfers by the same percentage.
Change government spending only#
We specify a closure rule that is automatically implemented after some period
The first case in (96) says that government spending
Change government transfers only#
If government transfers to households are specified by (81) and the long-run debt-to-GDP ratio can only be stabilized by changing transfers, then the budget closure rule must be the following.
The first case in (97) says that government transfers
Change both government spending and transfers#
In some cases, changing only government spending
In our specific form of this joint option, we assume that the factor by which we scale government spending and transfers is the same
If government spending on public goods is specified by (89) and government transfers to households are specified by (81) and the long-run debt-to-GDP ratio can only be stabilized by changing both spending and transfers, then the budget closure rule must be the following.
The first case in (99) says that government spending and government transfers
Each of these budget closure rules (96), (97), and (99) allows the government to run increasing deficits or surpluses in the short run (before period
Some Caveats and Alternatives#
OG-Core
adjusts some combination of government spending
There is no guarantee that any of our stated closure rules (96), (97), or (99) is sufficient to stabilize the debt-to-GDP ratio in the long run. For large and growing deficits, the convex combination parameter
And finally, in closure rules (96) and (99) in which government spending is used to stabilize the long-run budget, it is also possible that government spending is forced to be less than zero to make this happen. This would be the case if tax revenues bring in less than is needed to financed transfers and interest payments on the national debt. None of the equations we’ve specified above preclude that result, but it does raise conceptual difficulties. Namely, what does it mean for government spending to be negative? Is the government selling off public assets? We caution those using this budget closure rule to consider carefully how the budget is closed in the long run given their parameterization. We also note that such difficulties present themselves across all budget closure rules when analyzing tax or spending proposals that induce structural budget deficits. In particular, one probably needs a different closure instrument if government spending must be negative in the steady-state to hit your long-term debt-to-GDP target.
Footnotes#
This section contains the footnotes for this chapter.