Internet TAXSIM Version 5.1 Home Page

Internet TAXSIM

Version 5.1

Important Notice

We have moved from a concept of "primary/secondary" earner to "taxpayer/spouse" for calculating marginal rates on individual earners. That is, the rate reported for the second earner is always the rate for earnings in field 8, not necessarily the lower earner. Also, the marginal fica rate is now reported as a percentage for consistency with the report of the income tax rate.

TAXSIM is the NBER's FORTRAN program for calculating liabilities under US Federal and State income tax laws from individual data. Scholars interested in using TAXSIM to calculate tax liabilities and marginal tax rates should follow the these instructions for submitting data. Liabilities are returned as an online web page in a few seconds. The program itself is not released.

Users of Unix Stata will be happy to hear that there is now a direct Stata to TAXSIM interface allowing tax calculations to be made without leaving the Stata environment. The calculations themselves are done here at the NBER, using the tax calculator described below. More information is available from within Stata via the commands:

. net from https://www.nber.org/stata . net describe taxsim

Version 5.1 introduces:

  • April 2003 (JGTRRA) modifications to 2003-2006 tax law.

Version 5.0 introduces:

  • Federal tax 1960 - 2010. (Including EGTRRA).
  • State tax 1977 - 2003.
  • Many small corrections.
  • Optionally return many intermediate results.
  • Improved marginal rate calculation.

Further changes will be noted in a change log .

Upload a file with TAXSIM data:

File to upload:
Marginal Rates with respect to: Other Income Wage Income Taxpayer wages Spouse wages Long Term Gains Not Calculated
Show detailed intermediate calculations: Off On
Return data when finished or as it comes.
(New option: "when finished" is safer since if record 100,000 has a bad entry, the calculations for records 1-99,999 will still be findable. "As it comes" starts to return results immediately; if your system times out, try this instead. Apple's Safari browser is known to work better "as it comes")


OR... Calculate liabilities for one taxpayer (fill every box)

Marginal Rates with respect to: Other Income Wage Income Taxpayer Wages Spouse Wages Long Term Gains Not Calculated
1. Case ID (must be numeric)
2. Tax year (4 digits between 1960 and 2010, but state must be zero if year is before 1977 or after 2002. We don't have code for state laws before 1977.) After 2002, an inflation adjustment at the rate of 2.5% per year is assumed. (No default)
3. State (SOI codes. These run from 1 for Alabama to 51 for Wyoming. These differ from Census codes which are region based and the PSID codes which put Alaska and Hawaii at the end. See state list,and also item two above.). Use zero for "no state tax calculation".
4. Marital Status (Required)(
1. single
2. joint
4. head of household
8. single dependent on parents return (no personal exemption)
5. Dependent Exemptions (number of children)(See below for information about the Child Credit)
6. Age exemptions (number of taxpayers over 65 years of age)
7. Wage and salary income of Taxpayer (include self-employment).
8. Wage and salary income of Spouse (include self-employment).
9. Dividend income
10. Other property income, including interest, rent, alimony, fellowships and other income not above enumerated. This is the only dollar amount that may be negative.
11. Taxable Pensions
12. Gross Social Security Income
13. Other non-taxable transfer Income such as welfare, municipal bond interest, and child support that would affect eligibility for state property tax rebates but would not be taxable at the federal level.
14. Rent Paid (used only for calculating state property tax rebates)
15. Property taxes paid
16. Itemized deductions other than state income tax and local property tax. If you have medical expenses remember to only include the excess over 3%,5% or 7,5% of AGI (for years 60-82, 83-86 and 87+)
17. Child care expenses.
18. Unemployment compensation received.

Instructions for preparing data for TAXSIM.

If you have many cases, you can prepare a file, with each line representing a tax return. The file may have any number of lines, and we return a web page with tax liability, etc. for each case within a few seconds.

In order to upload a file, you must use Netscape 3.0+, MSIE 4.0+, or another browser that supports file uploading. When the data file is ready to upload enter the filename on your computer in the box below and select "calculate".

Each line of your file should have 18 values separated by spaces - one value for each of the 18 fields shown above in the "Individual taxpayer" section.

If you only need a calculation for one taxpayer you can just fill in the blank box beside each of the 18 variables listed above and select "calculate". Don't leave any box blank - use zeroes for none. Also use a zero for item 3 to indicate 'no state tax'. If you leave any blanks, the caclulator will fail silently. Sorry.

A list of state codes and a crosswalk of Census state codes to SOI codes are available, but you have to do the conversion yourself. If you don't want state tax calculations, just set the state id to zero.

This is a simplified list of input variables selected to encompass what might be available in a non-tax oriented survey such as the CPS, CEX, PSID, etc. The items are rich enough to cover the ordinary and supertax brackets, the earned income credit, the child care credit, the partial taxation of Social Security, and UI, the secondary earner deduction, the maximum tax on earned income and other important features of the tax code. At the state level, low income allowances, property and rent credits are calculated if data is available.

If you don't know the wage split between husbands and wives, you can put it all in one category. The computer won't get the perfect answer, but only you can judge the suitability of the simplification. Obviously ignored are the capital gains deduction, limits, floors and ceilings on deductions, adjustments, tax preferences, separate filing etc. The AMT is handled crudely - all deductions are assumed to be preferences, but most other preferences are ignored. These are available in the full TAXSIM model used internally at the NBER, but have been left out of Internet TAXSIM for the sake of simplicity.

Here is a sample entry for a single parent of one child in Idaho with only labor income, and $2000 in child care expenses. Notice that no missing value indicator is used - zero amounts are coded as zero.:

12345 1989 13 3 1 0 30000 0 0 0 0 0 0 0 0 0 2000 0

Sample input and output files are are available to allow users to make a quick test of the functioning of the server. To run the test right click on the sample file link to download the 14 case test file to your PC. Then submit it back to our server using the file selection box above. Compare the values returned with the cannonical output file stored on the server. If they are the same, the server has passed a simple test.

The file may include any number of data lines. While the format is flexible, and values may be of variable length, each value must be separated from the next by one or more spaces or a single comma. Tabs won't work. If one line is short of values, the next will be read to make up the set of 18, but a new case always begins on a new line. We cannot read .prn files, or any file that uses commas or dots to mark thousands. Spreadsheet files of any kind can not be read. Before uploading your file please check for the following common errors:

  • variable names in the first row (or any row)
  • missing value codes (na, dot, -9, etc)
  • out of range state id
  • asterisks
  • value labels anywhere in the input data
  • negative items (except item 10)
  • invalid year
  • not having 18 values per case
  • commas embedded in values
  • tabs between values

The tax calculator stops on any conversion error or value out of range and returns a range error with the case ID.

Some users are concerned about imputations. Internet TAXSIM only does only one. Social security taxes on wages and business income are imputed and the result used in the calculation of state income tax for the states that have a deduction for that tax. Anything not listed above becomes a zero on the Form 1040. Zero is always a valid entry, although it may be inaccurate.

Child Credit

The current variable list does not provide for distinguishing children under 17 from other dependents not eligible for the 1998+ child tax credit. The main reason for this is that our datasets from the IRS do not distinguish children by age. However, other datasets do, and we are offering the following mechanism for specifying the exact number of eligible children: If the number of exemptions specified in field 5 is over 100, the two last two digits are the number of eligible children, and the first (or first two) are the total number of dependent exemptions. That is, 0401 (or 401) means 4 dependents with 1 elegible for the child credit.

Marginal Tax Rates

The TAXSIM calculation of marginal rates is based on the effect of adding ten cents to the specified type of income. The finite difference is kept very small to minimize the chance of encountering a discontinuity in the tax function, and to make such a discontinuity very obvious if it occurs. For example, a discontinuous dollar jump in tax liability would result in a 1,000 percent tax rate, and be immediately noticable. All calculations are done in double precision, so the small finite difference should not reduce accuracy.

Since the federal and state tax liabilities may depend upon each other, the calculations are iterated, with the calculated state tax entered on the federal form as a (potential) deduction and the federal tax similarly placed in the state calculation. (Yes, we know that in law it is only lagged taxes that matter, but that is less interesting for our purposes). Refundable credits appear as negative liabilities.

In many cases the marginal rate of tax taken from schedule X, Y or Z of the form 1040 correctly characterizes the tax wedge. But for many taxpayers, their effective marginal rate is affected by a phase-outs other special provision of the tax code. The following claw-backs may affect the marginal rates calculated here:

  1. Deduction Phaseout
  2. Exemption phaseout 1991+
  3. Child Tax Credit
  4. Child Care Credit
  5. Earned Income Credit
  6. Alternative Minimum Tax
  7. Exemption Surtax 1988-1996
  8. Unemployment Insurance
  9. Maximum Tax on Earned Income
  10. General Tax Credit

The marginal rate on "wage income" is an earnings weighted average of the rates on the primary and secondary earners, or equal weights if both are non-workers. The estimate of FICA tax includes both employer and employee portions, and ignores the favorable treatment of self-employment income.

If only a single case is uploaded, intermediate calculations are shown for the base case, and after adding a dollar to income. Also, the effect of each of these clawbacks on the marginal rate for the primary earner is itemized. (This calculation doesn't change if you asked for a different marginal rate). If multiple cases are uploaded, the finite difference is only ten cents, which is more effective at avoiding notches.

These effective marginal rates are important to us, because one of the most important uses TAXSIM can be put to is calculating correct after-tax prices in models of economic behavior. A problem has been the presence of decreasing marginal tax rates (notches) and otherwise implausible marginal rates in these calculations. We maintain a list of significant notches that we have noticed. Although notches generally involved very small sums of money, they could have disproportionate effects on the results of a linear regression, which is sensitive to the squared difference of any observation from the mean.

Sometimes anomalies have arisen from defects in our FORTRAN code, these have been corrected where we have found them or they have been pointed out to us. One of the most important corrections in this version of the calculator selects itemization status based on tax minimization, rather than taxable income minimization, which no longer minimizes taxes and which can lead to large notches through an interaction with the AMT.

Nevertheless, most problems arise from actual notches in the tax laws. For example, in the federal law the child care credit is an integer percent of child care expenses, depending on AGI. In this case we have used a smooth interpolation between adjacent percentages even though the tax code prescribes a step function. For the intended purpose of TAXSIM, a little smoothing is a good thing. Especially at the state level some credits are just a fixed amount for taxpayers with income less than X. In that case the range for an smoothing isn't obvious and we have not done any.

TAXSIM now uses double precision for all calculations. This allows us to calculate the marginal tax rate over a very small finite difference - ten cents, which has proved valuable in reducing the number of notches encountered, and making the effect of such notches obvious. An increase in tax of $10 - (fairly typical of state level tax notches) is a 10,000 percent marginal rate, and even the novice user would notice and exclude such observations from statistical analysis. The larger finite differences in prior versions of that tax calculator could hide small notches.

For all these reasons, and because we add a penny of wage income to every taxpayer, (and notches typically occur at integer dollar boundaries), you should very rarely encounter notches. Sophisticated users may observe that since notches are part of the law, our strategems bias the results towards lower marginal rates. This is true, but we judge the reduction in variance to be worthwhile.

We are very interested in other solutions to this problem, and suggestions are welcome.

The returned columns of results include:

  1. Case ID
  2. Year
  3. State
  4. Federal tax liability
  5. State tax liability
  6. FICA (OADSI and HI)
  7. Effective federal marginal rate
  8. Effective state marginal rate
  9. FICA rate

    If detailed intermediate results are requested, the following are added:

  10. Federal AGI
  11. UI in AGI
  12. Social Security in AGI
  13. Zero Bracket Amount
  14. Personal Exemptions
  15. Exemption Phaseout
  16. Deduction Phaseout
  17. Deductions allowed
  18. Federal Taxable Income
  19. Federal Regular Tax
  20. Exemption Surtax
  21. General Tax Credit
  22. Child Tax Credit (as adjusted)
  23. Refundable Part of Child Tax Credit
  24. Child Care Credit
  25. Earned Income Credit
  26. Income for the Alternative Minimum Tax
  27. AMT Liability (addition to regular tax)
  28. Federal Income Tax After Credits
  29. FICA

    The following are zero if no state is specified

  30. State Household Income
  31. State Rent Payments
  32. State AGI
  33. State Exemption amount
  34. State Standard Deduction
  35. State Itemized Deductions
  36. State Taxable Income
  37. State Property Tax Credit
  38. State Child Care Credit
  39. State General Credit
  40. State Total Credits
  41. State Bracket Rate

The state tax cacalculators are more comprehensive than the list of variables above would imply.

In the case of the marginal rate on wage income husbands and wives will have different tax rates if the secondary earner deduction is in effect, or if one is above the social security taxable maximum and the other is not.

Bug Reporting

If you suspect any case has been calculated incorrectly, please extract that case (or a exemplar, if there are many cases) and run it in individual taxpayer mode. Examine the output to see if it suggests why the result is a surprise, but if you are still of the opinion that TAXSIM got it wrong, please email that web page to me with a statement of what you think is wrong. I will get back to you within a couple of days with an explanation or a fix. It is important that you not send large files or attachments. Just send an email with a few cases, the TAXSIM response and the reason you believe the response to be in error.

We do answer all mail, and we do follow up on queries, but it is important to abide by the guidelines in the previous paragraph. An email message with the statement that "TAXSIM is broken", or even "state x is broken for feature y" will be returned with a request for an example in Internet TAXSIM format as described above. Once we get that, we will compare our results with hand generated results done from a tax form and any problem will soon be resolved. Comments from users have led to significant improvements in the program, and are almost always resolved within 48 hours.

Some users have expressed concern about our ability to process large files, but files up to 200,000 cases are not a problem. Larger files should probably be broken up and run in the evening. Anytime you are getting timed out, please wait several hours and try again, as the time-outs are a sign that something is overloaded. If you have millions of cases, and make many runs, our spool space will fill up and subsequent users will get a "over quota" error message. Give me a call if you have a large project - something can be worked out.

Confidentiality

Users of the AHEAD and HRS are reminded that they are not permitted to send state identifiers to us. If such users need state tax calculations they should set the state id to "-1", in which case the server will return 51 records for each record received, one for each possible state. Don't laugh - it works.

For more information about TAXSIM see:

Feenberg, Daniel Richard, and Elizabeth Coutts, An Introduction to the TAXSIM Model, Journal of Policy Analysis and Management vol 12 no 1, Winter 1993, pages 189-194.

Also see the bibliography of papers using online taxsim.

This paper and this URL (https://www.nber.org/taxsim/) should be cited if any results from TAXSIM are circulated or published. If you intend to make any serious scholarly (or other) use of Internet TAXSIM you should speak with me about your project on the telephone. I am at 617-588-0343 and can offer advice etc. Don't think I am overwhelmed by calls and won't want to talk with you - I am interested in what people are doing with this tool. I am less likely to modify the program, however.

Daniel Feenberg
NBER
1050 Mass Ave.
Cambridge MA 02138
617-588-0343
feenberg@nber.org

Date last modified: April 19th, 2003