-
-
Notifications
You must be signed in to change notification settings - Fork 158
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
[WIP] Corporate Income Tax Distribution #1482
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1482 +/- ##
==========================================
+ Coverage 99.95% 99.96% +<.01%
==========================================
Files 37 37
Lines 2481 2512 +31
==========================================
+ Hits 2480 2511 +31
Misses 1 1
Continue to review full report at Codecov.
|
@yuying27, Now your code passes the PEP8 and py.test tests, but you have failed to add new tests for the code you want to add. As as result, your pull request results in an increase in untested statements from 8 to 35. You need to add new tests so that the number of untested statements stays unchanged at 8. It looks as if you need to do what the README documentation says to do:
|
@martinholmer Thanks for illustrating this to me. I am trying to add more tests. Is there a way to check whether my added new tests work well to pass the above reports? Or I can only check it out after I make another pull request? |
@yuying27 asked:
Don't create another pull request. Just keep working on the one you have now. Make changes on your local branch, test them, and then do:
The push will automatically update your GitHub pull request and rerun the tests. But if you want to see how your new tests are affecting coverage on your local computer before you do a commit, then execute the following commands in the
That third command is how to open the coverage report in your default browser on a Mac. If you're working on some other OS, you will need to do something other than the third command to view the HTML coverage report. |
@martinholmer Got it! Thanks a lot! |
@yuying27, Thanks for adding the #1482 tests to maintain the number of untested statements at eight. This is the first of several comments I expect to make about more substantive #1482 issues. First of all, we have a long-standing policy of minimizing the number of binary files included in the repository. So, the The same for the And second of all, you have not followed the Tax-Calculator coding style, a link to which is on the README page displayed every time you open Tax-Calculator on GitHub. That page says, among other things, this:
When I follow these directions with your proposed #1482 code, I get this:
and this:
These coding-style problems need to be fixed. And finally, a third issue. Over a year ago, @MattHJensen renamed the individual income tax variable as Let me know if you have any questions or think some of these suggestions are not good ones. I look forward to your revised pull request #1482. |
@martinholmer Thanks for your quick and clear reply!
I remove the files from pull requests, and write my concerns in below comments. These two files are not necessary for tax-calculator. They only present current results for discussion use.
Coding style is fixed.
I change the variable name, previously share_corptax_burden, into citax . And relative codes are modified as well. |
Formula: Labor = e00200 + e00250 + e07240 + e03150 + e01400 + e01700 + e02400 + e02100 + e00900 + e02000 Aggregated labor income: Each taxpayer’s Corporate Income Tax distribution: Current Results and Problems:
As shown above, if we sort the Corporate Income Tax Burden by expanded_income, the top 10% will take more than 168% of corporate income tax burden. The main reason is the existence of capital gain/loss (variables p23250 and p22250). p23250 has a range from -234 million to 294 million. p22250 has a range from -121 million to 315 million. But the range of expanded_income is -147 million to 295 million. p23250 and p22250 account for large proportion (they contribute to both normal and supernormal income) in our calculation. They distort whole tax burden distribution as a consequence. In order to get a more reasonable distribution, I think we ought to modify the formula we get from TPC. Either dropping some extreme negative terms or reducing the weights of capital gain/loss would be feasible. For example:
|
I'm taking a long weekend to a lake-side cottage in Canada, so I'll be out of the office until next Wednesday, July 26th. And then I'll be out of town over a long end-of-the-month weekend. All this means that, even though I'm very interested in discussing some of the substantive issues that your pull request #1482 raises, I probably will not have time to do that until early August. We will restart our conversation then, OK? |
We need a special tag for great @martinholmer issue and PR comments. |
@martinholmer No worries. Enjoy your long weekend! |
@yuying27, I have a few more questions/comments about pull request #1482: (1) Why are there two new functions instead of just one? Why not put the logic that you currently have in the (2) A coding style suggestion: prefer |
@martinholmer , welcome back!
The reason is
I can definitely change this. $100 billion is just a random number for testing the distribution. |
@martinholmer Yes. I try as closely as possible to emulate the methods in this TPC paper. Some variables are missing in our Puf so I skip them. But the distribution results polarize in an extreme way, so I think some adjustments are needed. |
@yuying27 said about distributing corporate income tax revenue to individuals in PR #1482:
Thanks for the clarification; you should probably edit your first #1482 comment to make that clear. I have a few questions about how you have tried to implement the TPC approach. (1) Given that the logic you propose to add to Tax-Calculator distributes total corporate income tax liability each year among the sample individuals, where does the Tax-Calculator user specify the total corporate income tax liability for each year? It seems to me that TPC and we are so short of relevant data that the result of this distribution of the total across individuals is highly speculative (to put it politely). Given that situation, it is essential for Tax-Calculator to work so that users "turn on" the corporate income tax logic only when they want it. In other words, the default mode of Tax-Calculator operation should be zero total corporate income taxes in total, and therefore, no corporate income tax distributed to individuals. This is the way Tax-Calculator works now, and we should always be able to run Tax-Calculator that way. So how do you propose users specify positive total corporate income tax liability amounts by year? My next questions are about this proposed code:
(2) Given that the TPC paper says on pages 13-14:
So, your definition of Why are you including total OASDI benefits ( Why are you including the term (3) I also have questions about both the TPC specification and your specification of |
I fully understand your confusion. This is also what I felt (speculative, politely) about distributing corporate tax to individuals. I did not have a clear idea when I wrote the code, but your words enlighten me. I agree that we should set the default mode of Tax-calculator without corporate income taxes. And giving users a choice to turn on the corporate income taxes with an input amount. Besides, for passing Fiscal Year, we are able to prepare actual taxes amount. For example, 343.8 billion for FY2015.
I do not have proxies for employer's share. Do you have any suggestion?
Yes, I assume social security is a "defined benefit plan", so I include e02400 in the calculation. To be honest, I am not sure neither.
I use these as proxies of "the labor component of self-employment and partnership income". Actually I am not sure the exact meaning of "80 percent of the SECA base". So I include the active and passive income as proxies here. Another thing good to mention is I tried to include e00250 based on TPC, but we do not have it in current Puf. |
@yuying27 said:
OK, we are in agreement on this. So, how shall we implement this mode of operation? @yuying27 said:
You need to search the @yuying27 said:
I haven't completely read the TPC paper, but the notion that those with labor earnings have some of the corporate income tax shifted to them is probably based on the notion that corporations are paying them less wage and salary income than they would be is there was no corporate income tax. Is that a correct understanding of the TPC approach? If so, then social security should not be viewed as a defined benefit plan because it has nothing to do with an all-in measure of labor compensation. Unless you can explain to me why I'm confused about this, it seems like you should drop OASDI benefits from the @yuying27 said:
Again, you need to read the @yuying27 said:
Why did you try to include |
I wonder we could add another parameter in current_law_policy.json? And the default value can be set to zero.
I will go through the codes before I provide further updates.
I don't think TPC mentions the reason. I will go back to check again and see if I miss any explanation of it.
I have no problem of dropping OASDI here. But I am confused about how to measure the
I found in this document, e00250 is mentioned as "other earned income". I do not find more information about this variable in neither NBER nor Puf, so I keep it with a question mark for discussion. If this is a kind of income, I think we should include it in labor income. I will get back once I finish learning the |
@yuying27 said in response to question by @martinholmer:
This makes a lot of sense. Why don't you add a new policy parameter with this info:
|
@yuying27 said:
The more I think about this, the more I doubt the TPC logic of adding pension benefits of any kind into the So, unless I'm missing something here (and that is a real possibility), we should remove all pension and social security benefits from the |
@martinholmer said:
On further thought, it seems as if we want to have the aggregate CIT variable be the change (from current-law) in total corporate income tax revenue. Also, seems as if we should add a boolean switch to toggle between long-term shifting assumptions and short-term shifting assumptions. So the new policy parameters would be something like this:
|
On Mon, 7 Aug 2017, Martin Holmer wrote:
@yuying27 said:
I haven't completely read the TPC paper, but the notion that those with labor earnings
have some of the corporate income tax shifted to them is probably based on the notion
that corporations are paying them less wage and salary income than they would be is
there was no corporate income tax. Is that a correct understanding of the TPC
approach?
I think TPC is thinking that a higher corporate tax reduces the demand for
labor, which would reduce the equilibrium wage, all other things constant.
I don't think TPC mentions the reason. I will go back to check again and see if I miss any
explanation of it.
If so, then social security should not be viewed as a defined benefit plan because it
has nothing to do with an all-in measure of labor compensation. Unless you can explain
to me why I'm confused about this, it seems like you should drop OASDI benefits from
the labor variable. There is no indication that TPC is adding this amount into the
labor variable, is there?
I have no problem of dropping OASDI here. But I am confused about how to measure the defined
contribution plans and defined benefit plans. If OASDI is not the case, then which benefits fit
the description?
Social Security Benefits could be valued as an asset, and the accumulation
of PIA added to income (like saving) and benefits paid subtracted from
income (as dis-saving). That isn't what most people would like to see
though. Once benefits are treated as income, then it makes some sense to
make them subject to effects on the accumulation of PIA.
The more I think about this, the more I doubt the TPC logic of adding pension benefits of any kind into the
labor variable. Do they really want us to believe that by increasing the corporate income tax, individuals who
are no longer employed by corporations, but are receiving either social security benefits and/or private
pension benefits, will experience some of the corporate income tax increase? I don't understand how that can
happen? I can imagine that corporate employees could see lower wages and salaries in the long run. But how is
the corporate income tax shifted to retirees? I don't get it.
Corporate pensions can be treated as an asset of the employee but I don't
think people want us to do that.
So, unless I'm missing something here (and that is a real possibility), we should remove all pension and
social security benefits from the labor variable used to distribute total corporate income taxes.
If wages are lower, doesn't it make some sense that (long run) pensions
will be lower?
dan
…
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the
thread.[AHvQVRiQm_fsdGQCrbnNQOIpbTzbPfoVks5sV2QPgaJpZM4OY0PA.gif]
|
@feenberg said:
Maybe. Where in the paper do they say that? Given all the obvious flaws in the TPC approach and given that none of us understand, for certain, everything that is going on in the TPC approach, I see this pull request as being premature. I think it should be closed (without merging) and our corporate income tax efforts be focused on understanding what the research literature says about the incidence of the corporate income tax. Then once we have a firm understanding of the research literature, we can have a discussion about whether we should introduce kind of analysis into one of the models, and if so, how best to introduce the corporate income tax analysis. @MattHJensen @feenberg @Amy-Xu @andersonfrailey @hdoupe @GoFroggyRun @yuying27 |
Thanks to @feenberg Dan for weighing in and thanks to Martin @martinholmer for careful review on this PR. The initial reason for Yuying @yuying27 to open this PR is to replace the ages-old #286, adapting some of the assumptions and logics to current data input and TC utilities. The referred TPC paper apparently has many assumptions that not everyone agrees with. I propose we consult Alan Viard at AEI for explanations or improvements on some TPC assumptions, since the distributing corporate tax would be a nice function to have. @martinholmer Martin, do you think that's an acceptable way to proceed with this PR? |
@martinholmer said:
I read TPC paper again, and do not get any clue why distributions from defined contribution plans and defined benefit plans should be include in labor income. My understanding is TPC treats pension as a kind of wage employees should have received. But TPC does not consider the time differences between paying for pensions as an active employee and receiving the pension as a retiree. So current employee's wages and current retiree's benefits are both included in the labor income. @feenberg said:
I agree. TPC considers these benefits as an asset/income. |
@Amy-Xu said:
Yes, but more importantly the TPC paper seems to not explain its economic mode of corporate income tax shifting. Nobody who has looked at the paper can point to a page that explains the economic mechanism(s) that lead to labor bearing a substantial portion of the corporate tax burden. That is a pretty basic thing that nobody can point to in the paper. We need to know things like this before we can begin to figure out how to implement this in Tax-Calculator. @Amy-Xu also said:
I think that would be fine, but that, by itself, is not enough. The staff working on this needs to read and understand the key papers in the economic research literature on this topic. |
@martinholmer said:
I totally agree. @yuying27 Yuying, could you start on a literature review for this topic? Feel free to post anything relevant. |
Absolutely, I am reading the OTA paper to see if there is any useful information. Let me know if you have any suggestion. |
I don't have access to WSJ articles behind their paywall. Can somebody who does, send me via private email the contents of this article? It is not a research paper, but it does interview scholars including Alan Auerbach and mention a number of research papers. |
@martinholmer Thanks for looking into the background of this issue. I just sent an email with a PDF attached. |
@martinholmer A quick update. Different papers have different views on how to cut the corporate tax burden. U.S. Treasury department believes 63% of the corporate income tax burden is distributed to supernormal capital income, 17% is distributed to normal capital income and 18% is distributed to labor income. The rest 1% is not a burden. Joint Committee on Taxation staff assumes 25% of corporate income taxes are borne by domestic labor and 75% are borne by owners of domestic capital. For the labor income and capital income definition, as well as the weights assigned, different articles vary from each other. So I think in our formula, it’s better to focus on one paper. Otherwise, we will lose the consistency. I will look for more recent papers on CIT topics. |
@yuying27 said after providing links to and short summaries of Treasury and JCT papers:
Thanks for the links and summaries, but what I'm more interested in is economic analysis of the effects of a reform-induced change in corporate income tax (CIT) revenue. The Treasury and JCT papers, like the TPC paper, focus on the distribution mechanics. Eventually, we will have to address issues of mechanics, but before we do that we need to understand what the most recent thinking is on the economic analysis, both theoretical and empirical. The most recent review of theoretical and empirical issues I could find, is this paper: Do you want to begin there? Or can you suggest a better article to begin with? |
Definitely. I will start with this article. |
Please add any further discussion of corporate income taxes to issue #1515. |
This is a comment on distributional mechanics, so I am leaving it here rather than #1515. @feenberg said:
@yuying27 said:
These two comments are inline with my understanding, which is that TPC assumes higher labor income will lead to higher pensions and ignores the time difference. I think it is reasonable to focus on the "phased in" effect rather than the transition. This is similar to how most of our users -- to my knowledge -- use long-run capital gains elasticities rather than short-run elasticities, even when conducting 10-year revenue estimates. |
This is a comment on distributional mechanics, so leaving it here rather than #1515. In this PR, the shares on labor, normal returns, and supernormal returns are all hardcoded. I believe these should be parameterized. Our long-standing objective has been to parameterize important assumptions, and these are certainly important assumptions. An ideal implementation would also allow for different values for current law and the reform, as these parameters are not policy invariant. |
The discussion in issue #1515 indicates that the approach to corporate income taxes (CIT) in pull request #1482 is not the best approach. I suggest #1482 be closed and that a new pull request be created that implements as a behavioral response the kind of CIT approach discussed in #1515. Does that make sense? @MattHJensen @feenberg @yuying27 @Amy-Xu @andersonfrailey @hdoupe @GoFroggyRun |
Yuying was a summer intern at OSPC and she did fantastic work reviewing how other modeling projects handle these issues and then developing a prototype for Tax-Calculator. I am going to contact her via email to see if she has any feedback on this discussion and/or would like to continue working on this feature in her spare time. If she does not have the time, we will need to find a new owner for this project. I would like to give Yuying an opportunity to comment, though, before closing the PR. |
@MattHJensen said:
Sounds quite sensible. |
@martinholmer said:
I read #1515 . It makes sense to me that we need a different structure of whole piece. Please feel free to close the pull request so that we can start a new model with behavioral interaction soon. @MattHJensen said:
Thanks for giving me this opportunity! I hope I have made some help in solving this more-than-two-year old issue. |
Pull request #1482 is being closed for the reasons outlined in this comment in the discussion of open issue #1515. |
This PR is to replace PR #286 and update PR #1479
I update the tax-calculater from master branch and fix the pep8 problem.
Besides the function modifications, I write a brief description "CIT_description.pdf" discussing current results and problems. Also, I create a notebook "Corp_Inc_Tax_Test.ipynb" for testing purpose.
I modify several lines in the test files to pass the py.test.
All the codes in comments within function.py are alternative ways to distribute the tax. Basically, only keeping stock gains and dropping all the loss.
The TPC paper I refer to.