-
-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Did AGI millionaires have a tax increase under the TCJA or am I doing something wrong? #2513
Comments
@donboyd5, TCJA is the default current law for the calculator, so you do not need to implement the TCJA reform again. Could you try comparing a 2017-law calculator (as baseline) to a current-law calculator (as reform) in 2018? If you'd like to implement the TCJA law explicitly, then you could first implement 2017 law for that calculator, and then implement the TCJA reform, thereby going on a "round trip". |
Oops, just seeing this now. The agi measure will be helpful, but I don't
think it will make a major difference - see email I just sent.
…On Tue, Nov 24, 2020 at 6:01 PM Matt Jensen ***@***.***> wrote:
@donboyd5 <https://github.com/donboyd5>, I should also point you to recipe
1 <https://pslmodels.github.io/Tax-Calculator/recipes/recipe01.html> and recipe
5 <https://pslmodels.github.io/Tax-Calculator/recipes/recipe05.html> in
the cookbook. Recipe 1 compares pre-tcja to tcja law, and recipe 5 shows
how to use an alternative tab measure (like AGI) for the built-in
distribution tables.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2513 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABR4JGGBQ72CBWZRFNGHEN3SRQ3M5ANCNFSM4UBCKXNQ>
.
|
@MattHJensen, lightly edited version of the email: As far as I can tell puf.csv data really do show uber-millionaires getting tax increases. I tried the approach above and several others, including Recipe 1, all of which gave me the same answer. My version of Recipe 1 code is at the bottom; I used puf.csv instead of the cps and there are a few other minor differences that I don't think could cause error. In addition to the weighted deciles difference table in Recipe 1, I calculated 2 other difference tables, with different bins: diff_table = calc1.difference_table(calc2, 'weighted_deciles', 'iitax') When you look at weighted deciles, everything looks reasonable - total tax cut is $162 billion, the top 1% get $5b of that, and the next 4% get $45b of that. It's very toploaded, as I would expect. Next, I looked at the standard income bins. All use expanded income, not AGI, which is what I looked at before, but I don't think that difference is too important h ere. For expanded income > $1 million, we see a tax INCREASE of $3.5 billion. It's only ~740k returns whereas the top 1% from weighted deciles are the top 1.7 million returns. We must be getting into very thin parts of the data. When I do the calculation manually using AGI (not available in difference_table) I get a tax increase of $3.8 billion, so expanded income is telling a similar story to AGI and the two income measures are reasonably in accord. Next, I looked at finer expanded income breakdowns, using the soi_agi_bins. They're not labeled, but I put the cutpoints into the screenshot: We have significant increases in the two bins above $5 million with about 70k taxpayers, but the poorest millionaires (338k of them) have a substantial tax cut. It probably is possible to track down by looking at intermediate calculations for a few very rich people and figuring out why they have tax increases. I'll see if I can do that.
|
@MattHJensen , @feenberg (see 10 RECIDS below) The reason for millionaire tax increases seems to be related to (1) SALT, which is entirely expected from a tax calculation standpoint although I don't know whether we'd expect as much of it in the data as we have in puf.csv, (2) capital gains, which I don't understand but I suspect it's the same thing - that is, expected from a calculation perspective but I wouldn't know if we have what we want in the data, and (3) to a far lesser extent, miscellaneous deductions. I will try to add some data re capital gains after this post and would welcome comments on why this could cause tax increases. Here is what I did. I did the post-tax-calculator analysis in R for the sake of speed but happy to provide code if anyone wants:
Next:
Comments:
So I think the only real questions (and others may already know the answers) are:
As for specific records, the 2017-agi-definition millionaire RECIDS with the 10-largest weighted increases in iitax are: 207120 236805 228028 223428 227389 205708 222811 231102 228467 234452 If anyone has ability to understand why any of those had increases (presumably, why dwks14 and dwks19 increased so much), it would be great to know. @feenberg, if you can look at any I would really appreciate it. I'll report back on:
|
On Wed, 25 Nov 2020, Don Boyd wrote:
The reason for millionaire tax increases seems to be related to (1) SALT, which is
entirely expected from a tax calculation standpoint although I don't know whether we'd
expect as much of it in the data as we have in puf.csv, (2) capital gains, which I
don't understand but I suspect it's the same thing - that is, expected from a
calculation perspective but I wouldn't know if we have what we want in the data, and
(3) to a far lesser extent, miscellaneous deductions.
If you just look at one record, you will be able to learn what caused the
increase. Looking at aggregates won't help.
dan
… |
Yes, writing all that up now. Relevant info is now in the note above.
On Wed, Nov 25, 2020 at 7:19 AM Daniel Feenberg <[email protected]>
wrote:
…
On Wed, 25 Nov 2020, Don Boyd wrote:
>
> The reason for millionaire tax increases seems to be related to (1)
SALT, which is
> entirely expected from a tax calculation standpoint although I don't
know whether we'd
> expect as much of it in the data as we have in puf.csv, (2) capital
gains, which I
> don't understand but I suspect it's the same thing - that is, expected
from a
> calculation perspective but I wouldn't know if we have what we want in
the data, and
> (3) to a far lesser extent, miscellaneous deductions.
If you just look at one record, you will be able to learn what caused the
increase. Looking at aggregates won't help.
dan
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2513 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABR4JGBMXGWGOLXZJOP4YTTSRTY65ANCNFSM4UBCKXNQ>
.
|
Here is the first of the 2 additional pieces of info I mentioned: a comparison of c18300 from puf.csv grown to 2017 (NOT 2018) with defaults, to the relevant IRS data for 2017, by 2017 agi group, giving us insight into how much SALT millionaires had to lose in 2017. Below that I copy a table that sums the millionaire ranges. It turns out that millionaires had a lot more to lose than $69 billion, and puf appears to understate the amount they had to lose. So while that could use some investigation in a weighting context, the millionaire tax increases we are seeing in puf.csv due to the SALT cap are if anything too low. |
@donboyd5, I will start looking at the data next, but first a couple of initial observations:
|
Thanks, @MattHJensen, I suspect that is the case. If anything, the SALT data above suggest it might even be greater than puf.csv suggests. I want to make sure I understand it and can explain it, in relation to a NY project underway. I don't recall it being talked about much in the press (SALT in isolation yes, but I don't recall much discussion of net increases for millionaires), in the manner analyzed here (static, individual tax only), so I'm looking for some comfort. The TPC results definitely provide some comfort. Here is some rough math on Table 4, converting losers to total dollars:
This is all very interesting and quite frankly a surprise to me. I'll reread the QBID thread with an eye toward understanding it well enough to implement other treatment(s) to see how much impact it has. It may be that I should be using an alternative QBID treatment. Here is the last piece I mentioned, on the inputs into the GainsTax function. I don't understand what's going on well enough to interpret it, but maybe others do. However, here's what I did to create the table below:
I am not sure to make of it other than that these tax-increase millionaires had a lot of capital gains, it seems. But someone who understands what GainsTax is doing may glean information from it. On to QBID. |
@donboyd5, note that JCT does show a net tax cut of around $16B for million+ expanded income on the individual side only in FY2019. Their line item revenue estimate for estate tax changes in the same year roughly $8B. So let's say they find a net tax cut of around $8B w/o estate taxes. They include QBID on the individual side. |
Many thanks @MattHJensen . Our comments crossed. So my summary of what I think we've learned so far:
|
@donboyd5 @MattHJensen Can you update us on the status of this issue? Thanks! |
@jdebacker @MattHJensen @andersonfrailey: I think @MattHJensen and I concluded that when we turn off the QBID phaseout (#2497) our results are reasonably consistent with others so I don't think we have a Tax-Calculator issue and it would be fine to close this. We continue to have substantially different income and deduction magnitudes in top AGI ranges than the IRS, which I think is worthy of TaxData consideration, along with the other issues @jdebacker closed recently in Tax-Calculator. I continued to see large differences in my recent work on 50-state weights. I'm not sure it makes sense to re-open each of those issues in TaxData. Rather, it might make sense to have a more-general long-(or mid-)term TaxData issue on methods for (a) comparing TaxData to published and forecasted values, and (b) methods for bringing TaxData (puf.csv) in line with those values, time permitting. |
@donboyd5 Thanks for the update and your work in this area. I'll go ahead and close this hear, but I like the idea of having more discussion over in the taxdata repo as this seems like an important issue. |
Hi,
I'm hoping @MattHJensen, @Peter-Metz, or someone else familiar with tax-calculator and TCJA can respond.
Am trying to make sure I know how to use and construct json files for different kinds of reforms.
As a test:
I tried to compare 2018 law (TCJA) to 2017 law on puf.csv at 2018 income levels (puf.csv advanced to 2018 with default parameters, thus using growfactors, pufweights, and adjust_ratios).
I pulled the json files from here -- 2017_law.json for 2017 law, and TCJA.json for 2018 law. (I know I can use the built-in 2018 law on 2018 income levels, and in fact I compared to that and got the same results. I am using json files here because I want to see and understand how parameters are set so that later I can change them selectively.)
I ran the reforms statically - no behavioral changes.
I examined results for the iitax concept -- Total federal individual income tax liability. In 2017 this is defined as 1040 line 63 minus line 57 minus line 62a.
I examined this for all records in puf.csv and for those that had agi (c00100) >= $1 million in 2017.
What I found:
The TCJA caused a static reduction in iitax, over all puf.csv records, of $162 billion, or 9.4%
For millionaires based on the 2017 definition of AGI, iitax actually increased by 0.7%.
For these same records (millionaires based on 2017-defined AGI), 2018-defined AGI at 2018 levels was 1.8% greater than 2017-defined AGI at 2018 levels.
This is not what I expected. I did not expect millionaires to have a tax increase and I did not expect their AGI to increase based solely on definitional changes. I am wondering if there is something I am doing wrong or if there is something about the TCJA that should have caused these results. I suspect the former.
I've copied my full code below. It should be reproducible save for changing folder locations. I would much appreciate any advice or feedback people can provide.
Many thanks.
Don
The text was updated successfully, but these errors were encountered: