PSLmodels / Tax-Calculator

USA Federal Individual Income and Payroll Tax Microsimulation Model
https://taxcalc.pslmodels.org
Other
257 stars 156 forks source link

MTRs respond oddly to double of standard deduction - high priority #555

Closed MattHJensen closed 8 years ago

MattHJensen commented 8 years ago

I believe there is a bug in our marginal tax rate function. I am comparing baseline to a reform scenario where the standard deduction is doubled; for some taxpayers, marginal tax rates wrt e00200p increase under the reform by as much as 39%. This is quite unexpected.

There are also taxpayers whose marginal tax rates fall by as much as 72%. Frankly, I was surprised to see marginal tax rates in the 70s and 80s at all.

Here is the script that I was working with when I ran into this issue. https://gist.github.com/MattHJensen/5b1a9a7c0d81ff57ef7d

@GoFroggyRun and I are have been skirting around the edges of this issue while trying to identify why there are units with a tax cut when you double the standard deduction or give a rate cut and include a positive substitution effect.

This is a very important issue to solve. @martinholmer and @Amy-Xu, if you have some time tomorrow, could you dig into this along with me and Sean?

cc @jdebacker

MattHJensen commented 8 years ago

I believe there is a bug in our marginal tax rate function. I am comparing baseline to a reform scenario where the standard deduction is doubled; for some taxpayers, marginal tax rates wrt e00200p increase under the reform by as much as 39%.

I should note that I am not sure this is a bug. Everyone's _combined tax does decrease under the reform, but some of their mtrs increase. @feenberg, your insight would be helpful here as well.

MattHJensen commented 8 years ago

There are 10,368,720 weighted taxpayers whose mtr increases when the standard deduction is doubled.

martinholmer commented 8 years ago

Matt said:

I believe there is a bug in our marginal tax rate function. I am comparing baseline to a reform scenario where the standard deduction is doubled; for some taxpayers, marginal tax rates wrt e00200p increase under the reform by as much as 39%.

I should note that I am not sure this is a bug. Everyone's _combined tax does decrease under the reform, but some of their mtrs increase. @feenberg, your insight would be helpful here as well.

Could you give us some RECIDs for cases in the puf.csv file that you find surprising? You are doing the reform analysis for 2017, right?

@MattHJensen @feenberg @GoFroggyRun @Amy-Xu

martinholmer commented 8 years ago

Matt said:

There are 10,368,720 weighted taxpayers whose mtr increases when the standard deduction is doubled.

OK, that's good to know, but not as useful as "some RECIDs for cases in the puf.csv file that you find surprising".

MattHJensen commented 8 years ago

@martinholmer, the most surprising are at the very top and bottom of this list. RECIDs are on the far right. A couple of examples of mtrs increasing with the reform are RECID = 25370 and RECID = 2951300. A couple of examples of extremely high mtrs under baseline are RECID = 3433200 and RECID = 2452500. Those last two also serve as examples where mtrs fall a whole lot under the reform.

        mtr_x        mtr_y      _combined_x      _combined_y    mtr_diff    recid
189677  0.311528    0.702194    70332.418649    69799.590451    0.390666    25370
195485  0.313455    0.703795    84988.038000    80164.648000    0.390340    2951300
188616  0.313455    0.703795    76149.992000    75809.126000    0.390340    1266290
194163  0.313455    0.703795    86840.644000    83012.042000    0.390340    3034110
194821  0.313455    0.703795    111679.862000   111427.024000   0.390340    3063270
199154  0.313455    0.703795    111489.262000   107375.176000   0.390340    3063070
188354  0.313455    0.703795    103869.388000   103625.802000   0.390340    24590
192554  0.313455    0.703795    108543.652000   106831.482000   0.390340    3664490
183948  0.437529    0.754292    26699.650400    26176.918708    0.316763    2778240
138390  0.430098    0.662332    36509.777803    34843.422951    0.232234    3635240
150819  0.383651    0.615885    14109.094449    13255.797832    0.232234    1679800
150820  0.383651    0.615885    14109.094449    13255.797832    0.232234    1679801
132787  0.383651    0.615885    3977.410000 2320.485000 0.232234    1711690
3401    0.374361    0.583372    42159.784856    39128.877117    0.209011    3385170
6988    0.374361    0.583372    31925.975000    28666.012500    0.209011    1778830
170409  0.374361    0.583372    37850.709010    36388.721923    0.209011    1439170
138593  0.374361    0.583372    30775.307610    28541.490668    0.209011    2524591
6790    0.374361    0.583372    28596.400000    26961.125000    0.209011    2521820
138594  0.374361    0.583372    30775.307610    28541.490668    0.209011    2524590
5927    0.440613    0.637243    54784.908318    51510.409662    0.196630    1634710
142987  0.418950    0.604738    2209600.786455  2207162.841000  0.185787    2052430
142888  0.418950    0.604738    659590.136150   659224.120300   0.185787    2466640
139921  0.456108    0.618672    39938.102355    37690.968229    0.162564    1200950
5167    0.456108    0.618672    50301.965667    47017.758581    0.162564    1681560
44686   0.456108    0.618672    33368.484545    30036.802273    0.162564    1135910
140165  0.456108    0.618672    40084.576500    37196.560250    0.162564    2612860
140164  0.456108    0.618672    40084.576500    37196.560250    0.162564    2612861
139134  0.456108    0.618672    45940.860475    43722.474959    0.162564    1015700
33206   0.569701    0.732265    19906.893584    16362.092281    0.162564    1017780
138728  0.420808    0.583372    9402.448820 7348.674092 0.162564    1932450
... ... ... ... ... ... ...
116171  0.425685    0.142127    817.676250  0.000000    -0.283558   925070
116172  0.425685    0.142127    817.676250  0.000000    -0.283558   925071
79493   0.425685    0.142127    1494.819500 0.000000    -0.283558   1661680
94683   0.425685    0.142127    802.966750  552.000000  -0.283558   1501841
94682   0.425685    0.142127    802.966750  552.000000  -0.283558   1501840
77431   0.430841    0.142127    762.732000  0.000000    -0.288713   1148541
77432   0.430841    0.142127    762.732000  0.000000    -0.288713   1148540
129634  0.298189    0.002787    6592.644786 5207.321810 -0.295402   820880
68422   0.709243    0.399907    4866.906000 4613.580000 -0.309336   2696070
68421   0.709243    0.399907    4866.906000 4613.580000 -0.309336   2696071
75624   0.675903    0.364710    1452.655729 668.250906  -0.311194   400830
75625   0.675903    0.364710    1452.655729 668.250906  -0.311194   400833
75623   0.675903    0.364710    1452.655729 668.250906  -0.311194   400832
75622   0.675903    0.364710    1452.655729 668.250906  -0.311194   400831
47800   0.675903    0.364710    -691.371593 -876.872267 -0.311194   2245430
98172   0.719554    0.399907    4609.000400 3496.910000 -0.319647   1654720
98171   0.719554    0.399907    4609.000400 3496.910000 -0.319647   1654721
49255   0.467255    0.142127    1851.567500 0.000000    -0.325128   3299310
49254   0.467255    0.142127    1851.567500 0.000000    -0.325128   3299311
51441   0.495123    0.142127    243832.966919   243994.972628   -0.352996   2604010
82459   0.545286    0.177427    2609989.720000  2610283.948000  -0.367859   3538820
82460   0.545286    0.177427    2610961.880000  2611256.108000  -0.367859   3538830
8309    0.545286    0.177427    625594.986000   625889.214000   -0.367859   2652610
51409   0.509986    0.142127    177630.132563   177671.035256   -0.367859   2281620
3224    0.545286    0.177427    213837.780000   214132.008000   -0.367859   3352970
143500  0.815606    0.444032    32490.022449    31025.687610    -0.371575   3433200
102022  0.522991    0.142127    6264.854588 6121.303300 -0.380864   2778600
15524   0.420808    0.002787    1762.399433 1584.006123 -0.418021   901770
194424  0.703795    0.037457    69863.930000    66853.320000    -0.666338   3030690
180602  0.759297    0.035300    64702.673164    64666.080112    -0.723997   2452500
martinholmer commented 8 years ago

Matt said:

the most surprising are at the very top and bottom of this list. RECIDs are on the far right.

Thanks. I start looking into this matter first thing in the morning.

@MattHJensen

MattHJensen commented 8 years ago

Thanks @martinholmer. Much appreciated.

MattHJensen commented 8 years ago

You are doing the reform analysis for 2017, right?

Right.

rickecon commented 8 years ago

This is likely a factor, if not the main factor, in some of the strange results we have been getting in the dynamic model.

martinholmer commented 8 years ago

@MattHJensen said:

Here is the script that I was working with when I ran into this issue. https://gist.github.com/MattHJensen/5b1a9a7c0d81ff57ef7d

I'm puzzled about why the reform that increases standard deductions is never implemented in the following script. What am I missing?

import sys
sys.path.append("../../")
from taxcalc import *
import pandas as pd
import numpy as np

records_x = Records("../../puf.csv")
params_x = Policy()
records_y_std = Records("../../puf.csv")
params_y_std = Policy()

reform_std = {
    2015: {
            '_STD': [[12600, 25200, 12600, 18500, 25200, 0, 0]]
           },}

calc_x = Calculator(params_x, records_x)
for i in range(4):
    calc_x.increment_year()
assert calc_x.current_year == 2017

calc_y_std = Calculator(params_y_std, records_y_std, behavior = behavior_std)
for i in range(4):
    calc_y_std.increment_year()
assert calc_x.current_year == 2017

calc_x.calc_all()
calc_y_std.calc_all()

x = pd.DataFrame()
x['_expanded_income'] = calc_x.records._expanded_income
a,b,x['mtr_x'] = calc_x.mtr()
a,b,x['mtr_y'] = calc_y_std.mtr()
x['_combined_x'] = calc_x.records._combined
x['_combined_y'] = calc_y_std.records._combined
x['mtr_diff'] = x['mtr_x'] - x['mtr_y']
x.sort('mtr_diff')
talumbau commented 8 years ago

Yes, I agree @martinholmer, it looks to me that Matt is missing:

params_y_std.implement_reform(reform_std)

after the creation of the params_y_std object.

MattHJensen commented 8 years ago

Sorry, I pasted the gist over from another file and missed that. I am updating the gist now with that in the same spot I have it in the other file.

MattHJensen commented 8 years ago

@talumbau and @martinholmer, I just updated the gist as per the comment above: https://github.com/open-source-economics/Tax-Calculator/issues/555#issuecomment-175378235

feenberg commented 8 years ago

On Tue, 26 Jan 2016, Matt Jensen wrote:

I believe there is a bug in our marginal tax rate function. I am comparing baseline to a reform scenario where the standard deduction is doubled; for some taxpayers, marginal tax rates wrt e00200p increase under the reform by as much as 39%. This is quite unexpected.

39 points or 39 percent? Either could be true. The way to resolve this is to print out the individual record for both ends of the finite difference and examine the calculation.

An easy explanation is a taxpayer with no regular tax obligation who becomes an AMT payer when the standard deduction is increased.

There are also taxpayers whose marginal tax rates fall by as much as 72%. Frankly, I was surprised to see marginal tax rates in the 70s and 80s at all.

An interaction of the AMT and a clawback can do this. Again, one would want to look at the individual record.

I would filter out such records in a regression, where the influence of a record is proportional to the square of the deviation, and an outlier would be a problem. For aggregate statistics, I might not worry.

dan

feenberg commented 8 years ago

On Tue, 26 Jan 2016, Matt Jensen wrote:

  I believe there is a bug in our marginal tax rate function. I am comparing
  baseline to a reform scenario where the standard deduction is doubled; for
  some taxpayers, marginal tax rates wrt e00200p increase under the reform
  by as much as 39%.

I should note that I am not sure this is a bug. Everyone's _combined tax does decrease under the reform, but their mtrs increase. @feenberg, your insight would be helpful here as well.

Looking at the individual records is really useful. Sometimes bugs do manifest themselves as high marginal rates. I wouldn't assume it was a bug, though.

dan

— Reply to this email directly or view it on GitHub.[AHvQVVZYxhFQfhpbkzautdxaVkaVWAZiks5peCangaJpZM4HNEft.gif]

feenberg commented 8 years ago

On Tue, 26 Jan 2016, Matt Jensen wrote:

There are 10,368,720 weighted taxpayers whose mtr increases when the standard deduction is doubled.

Look at a couple, at least.

dan

— Reply to this email directly or view it on GitHub.[AHvQVWeYP33z5xLb9xgO24RKyMe6TQfOks5peCfbgaJpZM4HNEft.gif]

MattHJensen commented 8 years ago

@feenberg, thank you very much for the tips.

39 points or 39 percent? Either could be true.

39 points.

Amy-Xu commented 8 years ago

@MattHJensen Why do you have STD[5] and STD[6] as zeros in your script?

Amy-Xu commented 8 years ago

And what exactly is your behavior_std?

MattHJensen commented 8 years ago

Why do you have STD[5] and STD[6] as zeros in your script?

They aren't used in functions.py and I was too lazy to type them.

And what exactly is your behavior_std?

behavior_std = Behavior

(just updated the gist to include this..another thing I left out in the copy-paste operation)

I did not implement any non-default (non-zero) behavior before producing the odd mtr results.

Amy-Xu commented 8 years ago

They aren't used in functions.py and I was too lazy to type them.

That is not true. Look at this line. By setting STD[6] to zero, you're moving this part downward when other parameters upward. You probably should keep them the same as 2015 current law.

MattHJensen commented 8 years ago

By setting STD[6] to zero, you're moving this part downward when other parameters upward. You probably should keep them the same as 2015 current law.

I will do this and repost the results and update the gist. Thank you @Amy-Xu!

MattHJensen commented 8 years ago

By setting STD[6] to zero, you're moving this part downward when other parameters upward. You probably should keep them the same as 2015 current law.

Here is the new result. Not much changed, though. I have also updated the gist:

            mtr_x   mtr_y       _combined_x     _combined_y     mtr_diff    recid
199154  0.313455    0.703795    110115.890000   106914.964000   0.390340    3063070
194163  0.313455    0.703795    85467.272000    82542.470000    0.390340    3034110
195969  0.313455    0.703795    94200.942000    91583.736000    0.390340    2556470
193308  0.313455    0.703795    101987.800000   96916.426000    0.390340    1413440
195485  0.313455    0.703795    83614.666000    79695.076000    0.390340    2951300
192554  0.313455    0.703795    107170.280000   106361.910000   0.390340    3664490
188496  0.313455    0.703795    63708.428000    59168.222000    0.390340    2607750
183948  0.437529    0.754209    26760.710400    26572.302324    0.316680    2778240
132787  0.383651    0.615885    4335.690000 2830.015000 0.232234    1711690
160741  0.383651    0.615885    25723.395176    22805.668401    0.232234    2571630
150819  0.383651    0.615885    14328.014449    13550.367832    0.232234    1679800
150820  0.383651    0.615885    14328.014449    13550.367832    0.232234    1679801
138390  0.430098    0.662332    36262.010283    34862.057431    0.232234    3635240
6988    0.374361    0.583372    32157.475000    29389.847500    0.209011    1778830
170409  0.374361    0.583372    38001.959010    37112.556923    0.209011    1439170
138593  0.374361    0.583372    31025.216701    29276.371122    0.209011    2524591
138594  0.374361    0.583372    31025.216701    29276.371122    0.209011    2524590
3401    0.374361    0.583372    42403.784856    39860.212117    0.209011    3385170
165783  0.374361    0.583372    59888.451374    56005.473566    0.209011    2100620
5927    0.440360    0.637091    55229.303399    52334.891710    0.196731    1634710
142987  0.418950    0.604738    2210170.936455  2207743.391000  0.185787    2052430
142888  0.418950    0.604738    660160.286150   659804.670300   0.185787    2466640
50478   0.456108    0.618672    45526.385412    41920.287778    0.162564    2764280
131821  0.420808    0.583372    57050.156571    53398.130881    0.162564    912340
44686   0.456108    0.618672    33675.961818    30759.000909    0.162564    1135910
5167    0.456108    0.618672    50607.315667    47738.893581    0.162564    1681560
140525  0.420808    0.583372    25756.515000    25050.523750    0.162564    2497090
33206   0.569701    0.732265    20229.534493    17091.872736    0.162564    1017780
140164  0.456108    0.618672    40395.326500    37920.395250    0.162564    2612861
140165  0.456108    0.618672    40395.326500    37920.395250    0.162564    2612860
... ... ... ... ... ... ...
135282  0.420808    0.142127    18066.514470    16506.766376    -0.278681   400750
79740   0.420808    0.142127    1412.550000 0.000000    -0.278681   1791080
72227   0.504134    0.225453    -572.039975 -1201.371188    -0.278681   861560
122539  0.281468    0.002787    5065.254907 4132.122416 -0.278681   2349080
1878    0.420808    0.142127    367.856773  -2633.413291    -0.278681   3041450
116172  0.425685    0.142127    842.526250  0.000000    -0.283558   925071
116171  0.425685    0.142127    842.526250  0.000000    -0.283558   925070
79493   0.425685    0.142127    1529.869500 0.000000    -0.283558   1661680
94683   0.425685    0.142127    815.416750  552.000000  -0.283558   1501841
94682   0.425685    0.142127    815.416750  552.000000  -0.283558   1501840
77432   0.430841    0.142127    787.582000  0.000000    -0.288713   1148540
77431   0.430841    0.142127    787.582000  0.000000    -0.288713   1148541
129634  0.298189    0.002787    6632.794786 5207.321810 -0.295402   820880
68421   0.709243    0.399907    4974.156000 4630.980000 -0.309336   2696071
68422   0.709243    0.399907    4974.156000 4630.980000 -0.309336   2696070
75624   0.675903    0.364710    1670.132129 845.227306  -0.311194   400830
75623   0.675903    0.364710    1670.132129 845.227306  -0.311194   400832
75625   0.675903    0.364710    1670.132129 845.227306  -0.311194   400833
75622   0.675903    0.364710    1670.132129 845.227306  -0.311194   400831
47800   0.675903    0.364710    -500.795193 -699.895867 -0.311194   2245430
98172   0.719554    0.399907    4716.250400 3514.310000 -0.319647   1654720
98171   0.719554    0.399907    4716.250400 3514.310000 -0.319647   1654721
49255   0.467255    0.142127    2167.117500 0.000000    -0.325128   3299310
49254   0.467255    0.142127    2167.117500 0.000000    -0.325128   3299311
143500  0.815606    0.444032    33088.337449    31377.402610    -0.371575   3433200
102022  0.522991    0.142127    6481.644588 6121.303300 -0.380864   2778600
15524   0.420808    0.002787    2051.549433 1584.006123 -0.418021   901770
192977  0.703795    0.037457    51215.806000    50462.392000    -0.666338   3681940
194424  0.703795    0.037457    69500.882000    65418.888000    -0.666338   3030690
202400  0.703795    0.037457    89463.210000    89196.016000    -0.666338   226590
martinholmer commented 8 years ago

Matt, I'm not sure where your investigation of high marginal income tax rates stands. Your initial thought was the high rates indicated a bug in the mtr() method. But then Dan said these kinds of high marginal rates can happen via interactions of two or more provisions in the tax law. Dan's main recommendation was to look at some individual cases to see what's going on. Remember that high marginal income tax rates have, in the past, indicated bugs in the tax-calculation logic. So, the bug(s) could be anywhere in the code, not necessarily in the mtr() method.

To help you and Sean investigate this matter, I've identified a relatively simple 2013 filing unit that, under current-law policy, has a marginal income tax rate of 75.85 percent and a marginal FICA tax rate of 15.30 percent, which implies a combined marginal tax rate of 91.15 percent. I guess we can all agree that 91% is a high marginal test rate. But the question is whether it is realistic or whether it is caused by a bug.

Here is what I did to find this filing unit. You and Sean can find others with high marginal rates using the same method. And the ability to easily add debugging variables to SIMTAX output should make it relatively easy to investigate filing units like this one.

validation$ bash test c13 . save
. c13
validation$ ls -l  c13* | grep -v reform
-rw-r--r--  1 mrh  staff   8627960 Jan 28 11:37 c13.in
-rw-r--r--  1 mrh  staff  18072494 Jan 28 11:38 c13.in.out-simtax
-rw-r--r--  1 mrh  staff  23531356 Nov  1 19:33 c13.in.out-taxsim
-rw-r--r--  1 mrh  staff       917 Jan 28 11:39 c13.taxdiffs
validation$ awk '{n++}END{print n}' c13.in.out-simtax
10000
validation$ awk '$7>70{n++}END{print n}' c13.in.out-simtax
1
validation$ awk '$7>70{n++;print $1,$7,$9}END{print n}' c13.in.out-simtax
32844. 75.85 15.30
1
validation$ awk '$1==32844' c13.in
32844 2013 0 2 0 1 19500 6500 8000 0 42000 78000 0 0 0 40000 0 0 0 10000 -2000 -1000
validation$ 

cc @MattHJensen @feenberg @GoFroggyRun @Amy-Xu

martinholmer commented 8 years ago

Matt, By the way, I forgot to mention in my prior comment, that the marginal tax rates of 75.85 and 15.30 percent for the filing unit with id 32844 estimated by the Tax-Calculator (via the simtax.py program) are exactly the same marginal tax rates as estimated by Internet TAXSIM for that filing unit.

So, if there is a bug somewhere in Tax-Calculator, it would seem as if the same bug is also in Internet TAXSIM.

@MattHJensen @feenberg @GoFroggyRun @Amy-Xu

feenberg commented 8 years ago

On Thu, 28 Jan 2016, Martin Holmer wrote:

Matt, By the way, I forgot to mention in my prior comment, that the marginal tax rates of 75.85 and 15.30 percent for the filing unit with id 32844 estimated by the Tax-Calculator (via the simtax.py program) are exactly the same marginal tax rates as estimated by Internet TAXSIM for that filing unit.

So, if there is a bug somewhere in Tax-Calculator, it would seem as if the same bug is also in Internet TAXSIM.

In that case you could probably see what was going on by just entering the 22 values in the boxes on the taxsim website and looking at the detailed output.

dan

@MattHJensen @feenberg @GoFroggyRun @Amy-Xu

— Reply to this email directly or view it on GitHub.[AHvQVW6zvM7qOL0dBoZIk8KEra9jdF6_ks5pekLrgaJpZM4HNEft.gif]

MattHJensen commented 8 years ago

In that case you could probably see what was going on by just entering the 22 values in the boxes on the taxsim website and looking at the detailed output.

Here is the output.

NBER TAXSIM Model v9.7          85
 Marginal tax rate wrt taxpayer earnings.

 Input Data:                   
      1. Record ID:                   32844.
      2. Tax Year:                 2013.00
      3. State Code:                  0.00
      4. Marital Status:              2.00
      5. Dependent Exemptions:        0.00
      6. Age Exemptions:              1.00
      7. Wages (Primary):         19500.00
      8. Wages (Spouse):           6500.00
      9. Dividend Income:          8000.00
     10. Other Property:              0.00
     11. Taxable Pensions:        42000.00
     12. Gross Social Security:   78000.00
     13. Non-taxable Transfers:       0.00
     14. Rent Paid:                   0.00
     15. Property Taxes Paid:         0.00
     16. Other Itemized Deds:     40000.00
     17. Child Care Expenses:         0.00
     18. UI Compensation:             0.00
     19. Children under 17            0.00
     20. Mortgage Interest        10000.00
     21. Short Term Gains         -2000.00
     22. Long Term Gains          -1000.00

 Basic Output:               
      1. Record ID:                     32844.
      2. Year:                           2013
      3. State (SOI code):                  0                            
      4. Federal IIT Liability:      10855.00
      5. State IIT Liability:            0.00
      6. SS Payroll Tax Liability:    3978.00
 Marginal Rates wrt  Earner
      7. Federal Marginal Rate:         75.85
      8. State Marginal Rate:            0.00
      9. Taxpayer SS Rate:              15.30

 Federal Tax Calculation:              Base        + $1
     10. Federal AGI                136800.00   136801.85
     11. UI in AGI 79+                   0.00        0.00
     12. Social Security in AGI 84   63800.00    63800.85
     13. Zero Bracket Amount         13400.00    13400.00
     14. Personal Exemptions          7800.00     7800.00
     15. Exemption Phaseout 91+          0.00        0.00
     16. Deduction Phaseout 91+          0.00        0.00
     17. Deductions allowed          50000.00    50000.00
     18. Federal Taxable Income      79000.00    79001.85
     19. Federal Regular Tax         11607.50    11607.96
     20. Exemption Surtax 88-96          0.00        0.00
     21. General Tax Credit 75-78        0.00        0.00
     22. Child Tax Credit*17/22 98       0.00        0.00
     23  Refundable Part                 0.00        0.00
     24. Child Care Credit 76+           0.00        0.00
     25. Earned Income Credit 75+        0.00        0.00
     26. Alternative Min Income:    126800.00   126801.85
     27. AMT                           122.50      122.70
     28. Income Tax Before Credits   10732.50    10733.06
     29. FICA                         3978.00     3978.15

 Decomposition of the Marginal Rate
    (taxpayer earned income)

 Regular Income Tax
        Bracket rate from X,Y or Z      15.00
        Deduction Phaseout:              0.00
        Exemption Phaseout:              0.00
        Social Security Phasein:        12.75
        Child Tax Credit:                0.00
        Child Care Credit:               0.00
        Refundable Part of CTC:          0.00
        Earned Income Credit:            0.00
        Surtax on 15% bracket:           0.00
        Exemption Surtax:                0.00
        Unemployment Insurance:          0.00
        Max Tax on Earned Income:     8000.00
        Elderly Credit:                  0.00
        General Tax Credit:              0.00
        Percentage Std Deduction         0.00

 Alternative Minimum Income Tax  
        AMT Bracket Rate                26.00
        AMT Phaseout                     0.00

 Only AMT Rate Relevant
        Total Marginal Rate:            48.10
        FICA (t,s):                     15.30       15.30
GoFroggyRun commented 8 years ago

I was also able to find some unit with high mtr wrt iit under the reform that doubles the standard deduction: (2015 law)

e00200 e00600 e00650 e07300 f6251 MARS XTOT
648675 24759 24759 199643 1 2 2

Our calculator reports a mtr of 66.7%, while the manual calculation yields a mtr of 68%. It remains to manually check the mtr of this unit without any reform, where in this scenario our calculator produces a mtr of 27.6%.

martinholmer commented 8 years ago

Sean said:

I was also able to find some unit with high mtr wrt iit under the reform that doubles the standard deduction: (2015 law)

e00200    e00600  e00650  e07300  f6251   MARS    XTOT
648675    24759   24759   199643    1       2      2

Our calculator reports a mtr of 66.7%, while the manual calculation yields a mtr of 68%. It remains to manually check the mtr of this unit without any reform, where in this scenario our calculator produces a mtr of 27.6%.

Are the mtr values of 66.7 and 27.6 marginal income tax rates? Or, are your adding in the marginal FICA tax rate?

martinholmer commented 8 years ago

Sean, Sorry I forgot to cc you on question just above this comment. cc @GoFroggyRun

GoFroggyRun commented 8 years ago

@martinholmer Yes. The mtr values are calcualted with respect to individual income tax.

MattHJensen commented 8 years ago

I examined the taxpayer that @martinholmer found (32844 2013 0 2 0 1 19500 6500 8000 0 42000 78000 0 0 0 40000 0 0 0 10000 -2000 -1000).

From looking at the internet taxsim output on @feenberg's suggestion, it appears that the high marginal tax rate is due to the fact that AGI increases by $1.85 when AGI increases by $1. I verified that this is the case by filling out the social security benefits worksheet twice and noting that when a dollar of wages is added an additional $0.85 of socials security benefits enters AGI.

NBER TAXSIM Model v9.7          85
 Marginal tax rate wrt taxpayer earnings.

 Input Data:                   
      1. Record ID:                   32844.
      2. Tax Year:                 2013.00
      3. State Code:                  0.00
      4. Marital Status:              2.00
      5. Dependent Exemptions:        0.00
      6. Age Exemptions:              1.00
      7. Wages (Primary):         19500.00
      8. Wages (Spouse):           6500.00
      9. Dividend Income:          8000.00
     10. Other Property:              0.00
     11. Taxable Pensions:        42000.00
     12. Gross Social Security:   78000.00
     13. Non-taxable Transfers:       0.00
     14. Rent Paid:                   0.00
     15. Property Taxes Paid:         0.00
     16. Other Itemized Deds:     40000.00
     17. Child Care Expenses:         0.00
     18. UI Compensation:             0.00
     19. Children under 17            0.00
     20. Mortgage Interest        10000.00
     21. Short Term Gains         -2000.00
     22. Long Term Gains          -1000.00

 Basic Output:               
      1. Record ID:                     32844.
      2. Year:                           2013
      3. State (SOI code):                  0                            
      4. Federal IIT Liability:      10855.00
      5. State IIT Liability:            0.00
      6. SS Payroll Tax Liability:    3978.00
 Marginal Rates wrt  Earner
      7. Federal Marginal Rate:         75.85
      8. State Marginal Rate:            0.00
      9. Taxpayer SS Rate:              15.30

 Federal Tax Calculation:              Base        + $1
     10. Federal AGI                136800.00   136801.85
     11. UI in AGI 79+                   0.00        0.00
     12. Social Security in AGI 84   63800.00    63800.85
     13. Zero Bracket Amount         13400.00    13400.00
     14. Personal Exemptions          7800.00     7800.00
     15. Exemption Phaseout 91+          0.00        0.00
     16. Deduction Phaseout 91+          0.00        0.00
     17. Deductions allowed          50000.00    50000.00
     18. Federal Taxable Income      79000.00    79001.85
     19. Federal Regular Tax         11607.50    11607.96
     20. Exemption Surtax 88-96          0.00        0.00
     21. General Tax Credit 75-78        0.00        0.00
     22. Child Tax Credit*17/22 98       0.00        0.00
     23  Refundable Part                 0.00        0.00
     24. Child Care Credit 76+           0.00        0.00
     25. Earned Income Credit 75+        0.00        0.00
     26. Alternative Min Income:    126800.00   126801.85
     27. AMT                           122.50      122.70
     28. Income Tax Before Credits   10732.50    10733.06
     29. FICA                         3978.00     3978.15

 Decomposition of the Marginal Rate
    (taxpayer earned income)

 Regular Income Tax
        Bracket rate from X,Y or Z      15.00
        Deduction Phaseout:              0.00
        Exemption Phaseout:              0.00
        Social Security Phasein:        12.75
        Child Tax Credit:                0.00
        Child Care Credit:               0.00
        Refundable Part of CTC:          0.00
        Earned Income Credit:            0.00
        Surtax on 15% bracket:           0.00
        Exemption Surtax:                0.00
        Unemployment Insurance:          0.00
        Max Tax on Earned Income:     8000.00
        Elderly Credit:                  0.00
        General Tax Credit:              0.00
        Percentage Std Deduction         0.00

 Alternative Minimum Income Tax  
        AMT Bracket Rate                26.00
        AMT Phaseout                     0.00

 Only AMT Rate Relevant
        Total Marginal Rate:            48.10
        FICA (t,s):                     15.30       15.30
martinholmer commented 8 years ago

Matt said:

I examined the taxpayer that @martinholmer found:

32844 2013 0 2 0 1 19500 6500 8000 0 42000 78000 0 0 0 40000 0 0 0 10000 -2000 -1000

From looking at the Internet TAXSIM output on @feenberg's suggestion, it appears that the high marginal tax rate is due to the fact that AGI increases by $1.85 when AGI increases by $1. I verified that this is the case by filling out the social security benefits worksheet twice and noting that when a dollar of wages is added an additional $0.85 of socials security benefits enters AGI.

That's interesting. Now that you describe this situation, I remember years ago this happened to my mother (but in her case the increase was in interest income, not earnings). I got quite an earful from her about how this was not right.

martinholmer commented 8 years ago

Sean said:

I was also able to find some unit with high mtr wrt iit under the reform that doubles the standard deduction: (2015 law)

e00200    e00600  e00650  e07300  f6251   MARS    XTOT
648675    24759   24759   199643    1       2      2

Our calculator reports a mtr of 66.7%, while the manual calculation yields a mtr of 68%. It remains to manually check the mtr of this unit without any reform, where in this scenario our calculator produces a mtr of 27.6%.

Actually, when I use the newest version of inctax.py and its --mtr option, I get under current-law policy in 2017 a marginal income tax rate for this couple of 28.00 percent (and 67.60 percent under the reform). Have any idea what the narrative is in this case? Clearly not the taxation of social security benefits story that Matt found in the other simple case. I see that e07300 is Foreign Tax Credits. I have no idea how that interacts with high earnings and nontrivial qualified dividends.

cc @GoFroggyRun @MattHJensen @feenberg @Amy-Xu

GoFroggyRun commented 8 years ago

@martinholmer:

Actually, when I use the newest version of inctax.py and its --mtr option, I get under current-law policy in 2017 a marginal income tax rate for this couple of 28.00 percent (and 67.60 percent under the reform).

I have just verified using the forms that the unit's marginal tax rate for the original plan is 28%. Please note that I'm working under 2015 law and these inputs are after-extrapolation values, this might explains why we are having slightly different mtrs.

Have any idea what the narrative is in this case? Clearly not the taxation of social security benefits story that Matt found in the other simple case. I see that e07300 is Foreign Tax Credits. I have no idea how that interacts with high earnings and nontrivial qualified dividends.

Foreign Tax credit actually contributes to this gap. This unit's income tax is previously higher than the amount of Foreign Tax credit before the reforms that double standard deduction. While after the reform being applied, the amount is lower than FTC. On form 6251, Tentative minimum tax needs to be deducted by certain amount. If there's no foreign tax credit, it would be income tax. If there is any, that amount would be income tax subtracted by the amount of foreign tax credit.

In other words, previously, the effect of adding a penny is diminished by this subtraction for tentative minimum tax. After the reform applied, however, we are not negating that effect at all, since we are now subtracting a zero amount. And thus the reform amplifies the mtr wrt iit.

Sorry that my explanation might be confusing, just let me know and I'd be more than happy to clarify as much as I can.

feenberg commented 8 years ago

On Thu, 28 Jan 2016, Sean.Wang wrote:

@martinholmer:

  Actually, when I use the newest version of inctax.py and its --mtr option,
  I get under current-law policy in 2017 a marginal income tax rate for this
  couple of 28.00 percent (and 67.60 percent under the reform).

I have just verified using the forms that the unit's marginal tax rate for the original plan is 28%. Please note that I'm working under 2015 law and these inputs are after-extrapolation values, this might explains why we are having slightly different mtrs.

  Have any idea what the narrative is in this case? Clearly not the taxation
  of social security benefits story that Matt found in the other simple
  case. I see that e07300 is Foreign Tax Credits. I have no idea how that
  interacts with high earnings and nontrivial qualified dividends.

Foreign Tax credit actually contributes to this gap. This unit's income tax is previously higher than the amount of Foreign Tax credit before the reforms that double standard deduction. While after the reform being applied, the amount is lower than

So at the initial level of income, and with base law the taxpayer is paying the rate from schedule XYZ, and no AMT liability. That explains 28%.

FTC. On form 6251, Tentative minimum tax needs to be deducted by certain amount. If there's no foreign tax credit, it would be income tax. If there is any, that amount would be income tax subtracted by the amount of foreign tax credit.

Now we double the standard deduction, reducing regular tax. The base law is no longer relevant. Does that put the taxpayer in the AMT? Then the rate should be one of the AMT rates or that rate times 1.5 if the taxpayer is in the clawback range. Does the FTC somehow change that? The FTC is allowed against the AMT also. What does adding a penny to wages do to the regular tax? What does it do to AMTI? What does it do to AMT?

In other words, previously, the effect of adding a penny is diminished by this subtraction for tentative minimum tax. After the reform applied, however, we are not negating that effect at all, since we are now subtracting a zero amount. And thus the reform amplifies the mtr wrt iit.

Still confused. The base law isn't relevant. After the reform we compare base data to base data plus a penny. Does the taxpayer switch from regular tax to AMT for a penny? Can you show the dollars and sense for

 variable         before  +a penny

taxable income regular tax ftc amti amt

thanks

dan

After adding

Sorry that my explanation might be confusing, just let me know and I'd be more than happy to clarify as much as I can.

— Reply to this email directly or view it on GitHub.[AHvQVXByVs1iwqzZl80Ik0ke9sBupkekks5pepabgaJpZM4HNEft.gif]

GoFroggyRun commented 8 years ago

@feenberg:

The unit owes AMT under both current law and reformed law. The problem is that the income taxes in the two scenarios are different, where FTC is in between them. Let me specify using a table: (I don't have the number handy)

Base Base, Added a penny Reform Reform, Added a penny
Adjusted Gross Income AGI AGI + 0.01 AGI AGI + 0.01
Standard Deduction STD STD 2*STD 2*STD
Taxable Income AGI - STD AGI - STD +0.01 AGI - 2*STD AGI - 2*STD +0.01
Income Tax intax_1 intax_1 + delta intax_2 intax_2 + delta
Foreign Tax Credit FTC FTC FTC FTC
AMTI AGI AGI + 0.01 AGI AGI + 0.01
Tentative Minimum Tax TMT_1 TMT_1 + less_delta TMT_2 TMT_2 + less_delta
AMT TMT_1 - (intax_1 - FTC) TMT_1 + less_delta - (intax_1 + delta - FTC) TMT_2 TMT_2 + less_delta
Tax Before Credits TMT_1 + FTC TMT_1 + less_delta + FTC TMT_2 + intax_2 TMT_2 + less_delta + intax_2 + delta

This is because the relationship intax_2 + delta < FTC < intax_1, and the delta/0.01 is the gap for the two mtrs wrt iit. (For simplicity I'm assuming delta and less_delta to be the same for both cases, which they don't actually have to.) Does this make sense to you? Any comments, concerns or remarks would be appreciated.

feenberg commented 8 years ago

On Thu, 28 Jan 2016, Sean.Wang wrote:

@feenberg:

The unit owes AMT under both current law and reformed law. The problem is that the income taxes in the two scenarios are different, where FTC is in between them. Let me specify using a table: (I don't have the number handy)

Base Base, Added a penny Reform Reform, Added a penny Adjusted Gross Income AGI AGI + 0.01 AGI AGI + 0.01 Standard Deduction STD STD 2_STD 2_STD Taxable Income AGI - STD AGI - STD +0.01 AGI - 2_STD AGI - 2_STD +0.01 Income Tax intax_1 intax_1 + delta intax_2 intax_2 + delta Foreign Tax Credit FTC FTC FTC FTC AMTI AGI AGI + 0.01 AGI AGI + 0.01 Tentative Minimum Tax TMT_1 TMT_1 + less_delta TMT_2 TMT_2 + less_delta AMT TMT_1 - (intax_1 - FTC) TMT_1 + less_delta - (intax_1 + delta - FTC) TMT_2 TMT_2 + less_delta Tax Before Credits TMT_1 + FTC TMT_1 + less_delta + FTC TMT_2 + intax_2 TMT_2 + less_delta + intax_2 + delta

This is because the relationship intax_2 + delta < FTC < intax_1, and the delta/0.01 is the gap for the two mtrs wrt iit. (For simplicity I'm assuming delta and less_delta to be the same for both cases, which they don't actually have to.) Does this make sense to you? Any comments, concerns or remarks would be appreciated.

It still makes no sense at all. Why are you comparing intax_2 to intax_1? The 28% marginal rate for the base case is perfectly sensible and unrelated to intax_2.

I thought the problem was that 68% seemed high for the reform law. So lets look at the reform case. Why do you show reform tax before credits as "TMT_2 + intax_2"? The regular tax is a credit against the tentative minimum tax.

Are you saying that the FTC wipes out the tax under base law (then shouldn't the marginal rate be zero) but not under the reform (then shouldn't the rate be the AMT rate)?

dan

— Reply to this email directly or view it on GitHub.[AHvQVfMXX67FogDuBHjUPFiRIoSl3jBYks5pett1gaJpZM4HNEft.gif]

GoFroggyRun commented 8 years ago

There's another general case, where even with no foreign tax credit, some units will still have a bump in their MTR under a tax-liability-favored reform. The alteration from non-AMT payer to AMT payer will account for the increase in MTR. Again we specify the before-and-after scenarios using a table:

Base Base, Added a penny Reform Reform, Added a penny
Adjusted Gross Income AGI AGI + 0.01 AGI AGI + 0.01
Standard Deduction STD STD 2*STD 2*STD
Taxable Income AGI - STD AGI - STD +0.01 AGI - 2*STD AGI - 2*STD +0.01
Income Tax intax_1 intax_1 + delta intax_2 intax_2 + delta
AMTI AGI AGI + 0.01 AGI AGI + 0.01
Tentative Minimum Tax TMT_1 TMT_1 + less_delta TMT_2 TMT_2 + less_delta
AMT 0 0 TMT_2 - intax_2 TMT_2 + less_delta - intax_2 - delta
Tax Before Credits intax_1 intax_1 + delta TMT_2 TMT_2 + less_delta + delta

Doubling the standard deduction reduced the unit's income tax, meanwhile, however, that tax payer is no longer exempted from AMT. Please note in the above table we have intax_1 > TMT_1, and intax_2 < TMT_2.

For taxpayers of this kind, the bump in MTR will be less_delta/0.01. A remark after investigating the MTR issue is that: in the first case, the increment in MTR (delta/0.01) will always be greater than the MTR of baseline (less_delta/0.01); while for the second case, the increment in MTR (less_delta/0.01) will always be less than the MTR of baseline (delta/0.01).

feenberg commented 8 years ago

Can you explain the intuition behind calling the variable "less_delta"? What is less? I feel like I am missing something.

dan

On Sun, 31 Jan 2016, Sean.Wang wrote:

There's another general case, where even with no foreign tax credit, some units will still have a bump in their MTR under a tax-liability-favored reform. The alteration from non-AMT payer to AMT payer will account for the increase in MTR. Again we specify the before-and-after scenarios using a table:

Base Base, Added a penny Reform Reform, Added a penny Adjusted Gross Income AGI AGI + 0.01 AGI AGI + 0.01 Standard Deduction STD STD 2_STD 2_STD Taxable Income AGI - STD AGI - STD +0.01 AGI - 2_STD AGI - 2_STD +0.01 Income Tax intax_1 intax_1 + delta intax_2 intax_2 + delta AMTI AGI AGI + 0.01 AGI AGI + 0.01 Tentative Minimum Tax TMT_1 TMT_1 + less_delta TMT_2 TMT_2 + less_delta AMT 0 0 TMT_2 - intax_2 TMT_2 + less_delta - intax_2 - delta Tax Before Credits intax_1 intax_1 + delta TMT_2 TMT_2 + less_delta + delta

Doubling the standard deduction reduced the unit's income tax, meanwhile, however, that tax payer is no longer exempted from AMT. Please note in the above table we have intax_1 > TMT_1, and intax_2 < TMT_2.

For taxpayers of this kind, the bump in MTR will be less_delta/0.01. A remark after investigating the MTR issue is that: in the first case, the increment in MTR (delta/0.01) will always be greater than the MTR of baseline (less_delta/0.01); while for the second case, the increment in MTR (less_delta/0.01) will always be less than the MTR of baseline (delta/0.01).

— Reply to this email directly or view it on GitHub.[AHvQVdsfbJzWFsNdbRA6lTZNzp9l5LGIks5pfoExgaJpZM4HNEft.gif]

GoFroggyRun commented 8 years ago

@feenberg Sorry that I forgot to mention this part.

So for this tax payer, his income tax fall into the 39.6% bracket. This 39.6%, along with the penny added, will induce a delta amount change on income tax. While for the capital gain part in form 6251, that penny will be subjected to a lower deterioration rate of 28%, and thus induces a change of less_delta amount.

In general, if tax payers get more complicated, and more iterations matter, the number here, 39.6% and 28%, might no longer work. However, the relationship less_delta < delta could still hold for high income taxpayers.

feenberg commented 8 years ago

On Mon, 1 Feb 2016, Sean.Wang wrote:

@feenberg Sorry that I forgot to mention this part.

So for this tax payer, his income tax fall into the 39.6% bracket. This 39.6%, along with the penny added, will induce a delta amount change on income tax. While for the capital gain part in form 6251, that penny will be subjected to a lower deterioration rate of 28%, and thus induces a change of less_delta amount.

In general, if tax payers get more complicated, and more iterations matter, the number here, 39.6% and 28%, might no longer work. However, the relationship less_delta < delta could still hold for high income taxpayers.

You promised to send me dollar amounts for the intermediate variables - I listed the variables in a previous message.

dan

— Reply to this email directly or view it on GitHub.[AHvQVQ4U7nlOZbWu4ETjlLKM9wlinbM1ks5pf6NRgaJpZM4HNEft.gif]

GoFroggyRun commented 8 years ago

@feenberg Yes. The email was sent at 3:23 PM. I have also rotated the images and just sent you another copy via email.

martinholmer commented 8 years ago

Sean said five days ago:

I was also able to find some unit with high mtr wrt iitax under the reform that doubles the standard deduction: (2015 law)

e00200    e00600  e00650  e07300  f6251   MARS    XTOT
648675     24759   24759  199643      1      2       2

Our calculator reports a mtr of 66.7% [after the reform], while the manual calculation yields a mtr of 68%. It remains to manually check the mtr of this unit without any reform, where in this scenario our calculator produces a mtr of 27.6%.

Since then there has been a conversation between Sean and Dan that I have not been able to follow.

I have just one simple question about this case: Is there any suspicion that the tax liability or marginal tax rate computed by Tax-Calculator for this filing unit (either under current law or under the doubling of standard deduction reform) is incorrect?

cc @feenberg @GoFroggyRun @MattHJensen @Amy-Xu

feenberg commented 8 years ago

On Tue, 2 Feb 2016, Martin Holmer wrote:

Sean said five days ago:

  I was also able to find some unit with high mtr wrt iitax under the reform
  that doubles the standard deduction: (2015 law)

e00200 e00600 e00650 e07300 f6251 MARS XTOT 648675 24759 24759 199643 1 2 2

  Our calculator reports a mtr of 66.7% [after the reform], while the manual
  calculation yields a mtr of 68%. It remains to manually check the mtr of
  this unit without any reform, where in this scenario our calculator
  produces a mtr of 27.6%.

Since then there has been a conversation between Sean and Dan that I have not been able to follow.

I have just one simple question about this case: Is there any suspicion that the tax liability or marginal tax rate computed by Tax-Calculator for this filing unit (either under current law or under the doubling of standard deduction reform) is incorrect?

I am suspicous of the 68% rate, since the taxpayer's income should put them above any clawbacks or phaseouts. But I just got the tax forms this morning and haven't had a chance to study them yet.

Wild marginal rates can sometimes come from small programming errors.

dan

cc @feenberg @GoFroggyRun @MattHJensen @Amy-Xu

— Reply to this email directly or view it on GitHub.[AHvQVeRSSxYX7Ix2UMevpe2XtCVRITTjks5pgInWgaJpZM4HNEft.gif]

martinholmer commented 8 years ago

Dan said:

I am suspicious of the 68% rate, since the taxpayer's income should put them above any clawbacks or phaseouts. But I just got the tax forms this morning and haven't had a chance to study them yet. Wild marginal rates can sometimes come from small programming errors.

Dan, Thanks for the update. We'll await your analysis of this case.

cc @feenberg @GoFroggyRun @MattHJensen @Amy-Xu

feenberg commented 8 years ago

Here is the explanation:

For a taxpayer on the AMT we would expect:

tax = regular_tax + AMT - FTC

expanding:

tax = regular_tax + (TentativeAMT - (regular_tax - FTC)) - FTC

which means that

delta_tax = .28

since the regular tax cancels out. However, in this case we have to worry about regular_tax - FTC being negative, which isn't allowed in the Form

  1. So the formula is:

    tax = regular_tax + (TentativeAMT - max(0,regular_tax - FTC)) - FTC

and now regular tax no longer cancels out and the marginal tax rate is the sum of the regular and AMT rates.

On Tue, Feb 2, 2016 at 8:26 AM, Martin Holmer notifications@github.com wrote:

Dan said:

I am suspicious of the 68% rate, since the taxpayer's income should put them above any clawbacks or phaseouts. But I just got the tax forms this morning and haven't had a chance to study them yet. Wild marginal rates can sometimes come from small programming errors.

Dan, Thanks for the update. We'll await your analysis of this case.

cc @feenberg https://github.com/feenberg @GoFroggyRun https://github.com/GoFroggyRun @MattHJensen https://github.com/MattHJensen @Amy-Xu https://github.com/Amy-Xu

— Reply to this email directly or view it on GitHub https://github.com/open-source-economics/Tax-Calculator/issues/555#issuecomment-178574448 .

martinholmer commented 8 years ago

Dan @feenberg said:

Here is the explanation:

For a taxpayer on the AMT we would expect:

 tax = regular_tax + AMT - FTC

expanding:

 tax = regular_tax + (TentativeAMT - (regular_tax - FTC)) - FTC

which means that

delta_tax = .28

since the regular tax cancels out. However, in this case we have to worry about regular_tax - FTC being negative, which isn't allowed in the Form 6251. So the formula is:

 tax = regular_tax + (TentativeAMT - max(0,regular_tax - FTC)) - FTC

and now regular tax no longer cancels out and the marginal tax rate is the sum of the regular and AMT rates.

Dan, Thanks for the explanation. So, it would seem that Tax-Calculator is handling this filing unit correctly, and thus, this unit's tax liability and marginal tax rate are correct. Is that right?

cc @MattHJensen @Amy-Xu @GoFroggyRun

feenberg commented 8 years ago

On Wed, 3 Feb 2016, Martin Holmer wrote:

Dan @feenberg said:

  Here is the explanation:

  For a taxpayer on the AMT we would expect:

tax = regular_tax + AMT - FTC

  expanding:

tax = regular_tax + (TentativeAMT - (regular_tax - FTC)) - FTC

  which means that

delta_tax = .28

  since the regular tax cancels out. However, in this case we have to worry
  about regular_tax - FTC being negative, which isn't allowed in the Form
  6251. So the formula is:

tax = regular_tax + (TentativeAMT - max(0,regular_tax - FTC)) - FTC

  and now regular tax no longer cancels out and the marginal tax rate is the
  sum of the regular and AMT rates.

Dan, Thanks for the explanation. So, it would seem that Tax-Calculator is handling this filing unit correctly, and thus, this unit's tax liability and marginal tax rate are correct. Is that right?

At least that is what the tax forms say to do. That is enough for me. At least it is a rare case.

dan

cc @MattHJensen @Amy-Xu @GoFroggyRun

— Reply to this email directly or view it on GitHub.[AHvQVcsUnBSm1WaxP3zbDE7R6ScToW1Fks5pgi1xgaJpZM4HNEft.gif]

MattHJensen commented 8 years ago

Thanks everyone. I am closing this given that we've looked into the oddest records and not found any bugs.

cc @rickecon @jdebacker