A tax reform consists of a collection of reform provisions. There is
a way to specify in a text file the collection of reform provisions
that make up a reform proposal. When stored on your local computer,
such reform files can be used to estimate reform effects by using the
--reform
option of the Tax-Calculator command-line tool tc
or by
using them in a Python program that imports the Tax-Calculator
taxcalc
package as described in the user
guide.
Here we provide links to several reform files that specify historical reform proposals, and then provide a more general explanation of the structure and syntax of reform files.
Note that the current-law (that is, TCJA) values of each tax policy parameter are shown in the Policy Parameters section of the user documentation.
Read the answer to Question 1 in this FAQ to see how to use the compound-reform techique to analyze the reforms in this section.
The reform files are JSON files. JSON, which stands for JavaScript Object Notation, is an easy and widely used way to specify structured information. First we provide an abstract example of a JSON reform file with some explanation, and then we provide links to a few hypothetical reform files that illustrate their expressive range.
Here is an abstract example of a tax reform proposal that consists of several reform provisions. The structure of this file is as follows:
{
<parameter_name>: {<calyear>: <parameter-value>,
...,
<calyear>: <parameter-value>},
<parameter_name>: {<calyear>: <parameter-value>},
...,
<parameter_name>: {<calyear>: <parameter-value>,
...,
<calyear>: <parameter-value>}
}
Notice each pair of reform provision is separated by commas. Each reform provision may have one or multiple year-value pairs. Also, the <parameter_name> and must be enclosed in quotes ("). The <parameter_value> is NOT enclosed in brackets when the <parameter_value> is a scalar and is enclosed in single brackets when the <parameter_value> is a vector. The most common vector of values is one that varies by filing status (MARS) with the vector containing five parameter values for single, married filing joint, married filing separate, head of household, widow.
The following hypothetical payroll tax reforms, all of which are defined relative to pre-TCJA policy, illustrate the flexibility that reform files provide in expressing complex tax reforms.
Raise OASDI and HI payroll tax rates
Raise OASDI maximum taxable earnings
Eliminate OASDI maximum taxable earnings
Raise Additional Medicare Tax (Form 8959) tax rate and thresholds and index thresholds