Skip to content
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

Ryan brady2016 #1204

Merged
merged 7 commits into from
Feb 22, 2017
Merged

Ryan brady2016 #1204

merged 7 commits into from
Feb 22, 2017

Conversation

codykallen
Copy link
Contributor

This PR adds a reform file for the Ryan-Brady Better Way tax blueprint. I included documentation on the scored reforms at the top, in the same manner as the Trump2016 reform JSON, and I included a list of unscored reforms at the end.

@martinholmer, can you tell me if I am using the param_code statement correctly?

@MattHJensen

@codecov-io
Copy link

codecov-io commented Feb 21, 2017

Codecov Report

Merging #1204 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1204   +/-   ##
=======================================
  Coverage   98.83%   98.83%           
=======================================
  Files          39       39           
  Lines        3002     3002           
=======================================
  Hits         2967     2967           
  Misses         35       35

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a1d6e18...0a4b1ce. Read the comment docs.

@martinholmer
Copy link
Collaborator

@codykallen asked:

@martinholmer, can you tell me if I am using the param_code statement correctly?

First question to be answered is does the reform execute without error?
What happens when you execute the following command?

python inctax.py puf.csv 2018 --aging --reform taxcalc/reforms/RyanBrady.json

@codykallen
Copy link
Contributor Author

@martinholmer asked:

First question to be answered is does the reform execute without error?

Yes, it executes without error.

@martinholmer
Copy link
Collaborator

@codykallen said:

Yes, it [that is, the RyanBrady.json reform file] executes without error.

Then all seems well, although the readability of the reform file could be
improved by writing the following entry

"param_code":
            {"ALD_InvInc_ec_base_code": ||returned_value = e00300 + e00650 + max(-3000. / _sep, p22250 + p23250) - max(-3000. / _sep, p22250)||},

with a format like this

"param_code":
            {"ALD_InvInc_ec_base_code":
||
returned_value = (e00300 + e00650 +
                  max(-3000. / _sep, p22250 + p23250) -
                  max(-3000. / _sep, p22250))
||
},

Then I would strongly recommend that you add a comment (using the // notation) to explain this reform provision. It is not at all clear why the 3000 dollar loss limit is being applied twice. Is that really what the RyanBrady reform calls for?

@codykallen
Copy link
Contributor Author

@martinholmer asked:

It is not at all clear why the 3000 dollar loss limit is being applied twice. Is that really what the RyanBrady reform calls for?

The reform provision should exclude half of interest, qualified dividends, and long-term gains. Since it is just a blueprint, the reform does not clearly specify that. However, I believe that it is important to include the effect of the loss limitation, as the reform does not eliminate that.

Ideally, I would prefer to apply the exclusion to p23250 before the loss limitation, but this is as close as I can reasonably get to that application using ALD_InvInc_base_code. With the implementation in the JSON, the exclusion is applied to the difference between stcg+ltcg after the loss limitation and just stcg after loss limitation.

An alternative implementation, using
returned_value = e00300 + e00650 + max(-3000. / _sep, p23250)
would be ignore the interaction between the loss limitation, stcg and ltcg for those in a loss position for either stcg or ltcg.

@MattHJensen
Copy link
Contributor

It seems to me that the "param_code" functionality is very useful for allowing users to experiment with reform provisions. Once a prominent, published, reform includes a provision that requires "param_code", though, shouldn't we parameterize the provision so that our most novice tax-calculator and taxbrain users can both use it readily?

That said, if @codykallen isn't interested in parameterizing this provision, I think we should merge this PR (once the loss limitation is sorted out), and I could follow up with a PR to parameterize the provision and update the json reform file. If he is interested in doing the paramterization, that's great.

@martinholmer
Copy link
Collaborator

@MattHJensen said:

It seems to me that the "param_code" functionality is very useful for allowing users to experiment with reform provisions. Once a prominent, published, reform includes a provision that requires "param_code", though, shouldn't we parameterize the provision so that our most novice Tax-Calculator and TaxBrain users can both use it readily?

I don't understand the phrase "shouldn't we parameterize the provision so that our most novice Tax-Calculator and TaxBrain users can both use it readily?" I thought the whole point of the pre-prepared JSON reform files was to make it easy to simulate these reforms either with Tax-Calculator on a local computer or with TaxBrain in the cloud. All any user needs is the reform file; how can it get any easier? So, unless I'm missing something here, I don't see how parameterizing would simplify things at all; it would just mean that the JSON reform file would need to be edited.

And there is a second important issue with respect to this particular reform: the proposal is not specific enough to parameterize. This reform proposal, according to @codykallen, simply does not specify all the relevant details. Doing the work to parameterize this reform provision could end up being a waste of time if we guess wrong on what the missing details are in this proposal. If we want to parameterize, it seems as if the authors of the reform need to be asked about the missing details.

@codykallen
Copy link
Contributor Author

@MattHJensen said:

Once a prominent, published, reform includes a provision that requires "param_code", though, shouldn't we parameterize the provision so that our most novice tax-calculator and taxbrain users can both use it readily?

I've just pushed a new commit that parameterizes this and modifies the JSON reform file to use this parameterization.

@martinholmer noted:

Doing the work to parameterize this reform provision could end up being a waste of time if we guess wrong on what the missing details are in this proposal.

If they change the reform provision, then we would change the parameterization as well.

If you would prefer to do that parameterization instead of here, I can just open a new PR for it.

@martinholmer
Copy link
Collaborator

martinholmer commented Feb 22, 2017

@codykallen, Perhaps I've missed something but the only discussion of the investment income "deduction" in the Better Way document I can find is this passage on page 18:

This Blueprint provides for reduced tax on investment income.
Families and individuals will be able to deduct 50 percent of
their net capital gains, dividends, and interest income, leading
to basic rates of 6 percent, 12.5 percent, and 16.5 percent on
such investment income depending on the individual’s tax bracket. 

If this is all there is, then you are correct in saying there is an ambiguity.

  • Do they mean 50 percent of the sum of "net capital gains, dividends,
    and interest income"?
  • Or do they mean the "deduction" is 50 percent
    of net capital gains plus 50 percent of [qualified?] dividends plus 50
    percent of interest income?

Which interpretation are you making in the new CG_ec_RyanBrady
calculation you have added? Perhaps it is clear to everybody else,
but I need some help bridging the gap between what I read in the
reform proposal and the new code you've added to the CapGains
function. Perhaps a simple example of a filing unit with both interest
and capital losses would help me understand your proposed code.

@codykallen
Copy link
Contributor Author

@martinholmer, The Blueprint discusses the current law structure:

This rate structure applies to adjusted net capital gain and qualified dividends, with a top statutory tax
rate of 20 percent.

It then immediately discusses the new structure:

Families and individuals will be able to deduct 50 percent of their net capital gains, dividends, and interest income, leading to basic rates of 6 percent, 12.5 percent, and 16.5 percent on such investment income depending on the individual’s tax bracket.

It then proceeds to appFrom this context, we inferred that by "net capital gains" they are referring specifically to net long-term capital gain, which is p23250 in the PUF. Both Tax Foundation and TPC made this assumption as well.

In the implementation I used, I assumed that this deduction is 50 percent of net long-term capital gains, 50 percent of qualified dividends, and 50 percent of interest income. Since qualified dividends and interest cannot be negative, it is not difficult to apply the deduction to e00300 and e00650. Because of the possible losses on capital gains, and that the loss limitation applies to combined short- and long-term capital gains, the deduction is more complicated for long-term gains.

@martinholmer requested:

Perhaps a simple example of a filing unit with both interest and capital losses would help me understand your proposed code.

As I see it, this capital gain deduction can be implemented in 3 different ways:
CG_ec_RyanBrady = ALD_InvInc_ec_rt * max(-3000 / _sep, p23250) (1)
CG_ec_RyanBrady = ALD_InvInc_ec_rt * (c01000 - max(-3000 / _sep, p22250)) (2)
CG_ec_RyanBrady = c01000 - max(-3000 / _sep, p22250 + ALD_InvInc_ec_rt * p23250) (3)

Method 1 applies the deduction only to ltcg after loss limitation, Method 2 applies it to the difference between total capital gain after loss limitation and short-term capital gain after loss limitation, and Method 3 applies it to net long-term gains before applying the loss limitation. For convenience, let's assume that the filer is not separate, so _sep = 1. I will now walk through a few hypothetical combinations of ltcg (p23250) and stcg (p22250), and provide the amount of the capital gain deduction for each of the three methods, as well as the after-deduction taxable gain for each of the three methods and for current law.

Example 1: ltcg = 10000, stcg = 10000
Ec(1) = 5000
Ec(2) = 5000
Ec(3) = 5000
TG(1) = 15000
TG(2) = 15000
TG(3) = 15000

Example 2: ltcg = 10000, stcg = -10000
Ec(1) = 5000
Ec(2) = 1500
Ec(3) = 3000
TG(1) = -5000
TG(2) = -1500
TG(3) = -3000

Example 3: ltcg = -10000, stcg = 10000
Ec(1) = -1500
Ec(2) = -5000
Ec(3) = -5000
TG(1) = 1500
TG(2) = 5000
TG(3) = 5000

Example 4: ltcg = -10000, stcg = -10000
Ec(1) = -1500
Ec(2) = 0
Ec(3) = 0
TG(1) = -1500
TG(2) = -3000
TG(3) = -3000

Example 5: ltcg = 10000, stcg = -5000
Ec(1) = 5000
Ec(2) = 4000
Ec(3) = 5000
TG(1) = 0
TG(2) = 1000
TG(3) = 0

Method 1 results in an incorrect application of the loss limitation for those with net negative stcg (examples 2 and 4). Methods 2 and 3 are similar, but I prefer Method 3 because it is more in line with the idea of deducting half of long-term capital gains. The current version of this PR uses Method 3.

@martinholmer, does that answer your questions?

@feenberg
Copy link
Contributor

feenberg commented Feb 22, 2017 via email

@martinholmer
Copy link
Collaborator

@feenberg said about my comment:

If this is all there is, then you [@codykallen] are correct in saying there is an ambiguity.

  • Do they mean 50 percent of the sum of "net capital gains, dividends, and interest income"?
  • Or do they mean the "deduction" is 50 percent of net capital gains, 50 percent of [qualified?] dividends, plus 50 percent of interest income?

The latter is the likely option. Consider the person with 1 million of capital loss, and no other income. There AGI would be (-3000+500000) under the first interpretation.

Dan, Thanks for your observations on the Blueprint reform. I'm still confused about the reform and about your observations.

First, about the reform itself. On page 18 of the Blueprint document there is a Simple, Fair "Postcard" Tax Filing that could be used if the reform were to become law. The first two lines on the postcard say this:

1  Wage and compensation income
2  Add 1/2 of investment income

This seems to me a pretty clear indication that the Blueprint is defining "investment income" as the sum of interest, dividends and capital gains, and that the exclusion is 50 percent of that total investment income.

Second, I don't understand your example. A filing unit with a million dollar capital loss and no other income would have under the first interpretation an AGI of -3000. The 50 percent of investment income is an exclusion and that exclusion has always been constrained in the source code to be non-negative.

Combining these two points leads me to interpret the Blueprint as follows:

 # compute exclusion of investment income for Ryan-Brady plan
 if ALD_InvInc_ec_base_RyanBrady:
     invinc_agi_ec = ALD_InvInc_ec_rt * max(0, e00300 + e00650 + p23250)

@martinholmer
Copy link
Collaborator

@codykallen, Thanks for all the examples. But I'm still left wondering what you see in the Blueprint that leads you to believe the $3000 loss limit should be used to calculate the investment income exclusion. What in the Blueprint leads you to think the code shouldn't be as follows?

 # compute exclusion of investment income for Ryan-Brady plan
 if ALD_InvInc_ec_base_RyanBrady:
     invinc_agi_ec = ALD_InvInc_ec_rt * max(0, e00300 + e00650 + p23250)

@codykallen
Copy link
Contributor Author

@martinholmer, The "Postcard" is a gross simplification, and should not be taken seriously. For example, the Blueprint calls for a top rate of 25% on pass-through income, but it has no place to enter pass-through income. This reform does not simplify nearly enough to fit on a postcard.

@martinholmer, as you mentioned, this requires choosing between excluding 50 percent of the sum of net capital gains, dividends, and interest income, or excluding 50 percent of net capital gains, 50 percent of dividends, and 50 percent of interest income. As we've noted, the Blueprint is less than clear on this. However, I agree with @feenberg that it seems more plausible that the exclusion would apply to each of these categories separately (the latter option). @martinholmer suggests the former application:
invinc_agi_ec = ALD_InvInc_ec_rt * max(0, e00300 + e00650 + p23250)

I believe this is too simplistic. Moreover, I see no reason to think apply a strict minimum of zero to the exclusion. Suppose we use your suggested method, and apply this to some of the above examples, assuming that the individual has no interest or qualified dividends.

Example 2: ltcg = 10000, stcg = -10000
Ec(4) = 5000
TG(4) = -5000

Example 3: ltcg = -10000, stcg = 10000
Ec(4) = 0
TG(4) = 0

The reason for including the interaction between stcg and ltcg is that the exclusion should apply in both directions. If you only have to apply half of ltcg toward taxable income when positive, you also only get to apply half of it when negative.

We can undermine this with another example. Suppose an individual has no interest or qualified dividends, $10,000 in long-term capital gains and $50,000 in short-term capital losses. Under current law, this filer's taxable gain would be -$3000. From my post earlier, Methods 2 and 3 would also give this filer a -$3000 taxable gain. Under your formulation, this person would have a -$8000 taxable gain (from the -$3000 loss limitation on c01000 and the additional deduction of $5000). This definitely seems like an incorrect implementation to me.

@feenberg
Copy link
Contributor

feenberg commented Feb 22, 2017 via email

@martinholmer
Copy link
Collaborator

martinholmer commented Feb 22, 2017

@codykallen, Thanks for providing such an extensive explanation of how you interpret the Blueprint.

It seems as if about the only thing we agree on is that the Blueprint is vague about its proposed investment income exclusion. You seem to think the Blueprint has no concept of "investment income", but rather has three different type of income that are each eligible for the 50 percent AGI exclusion. While I read the Blueprint as saying that there is a concept of "investment income" (defined as the sum of taxable interest, qualified dividends and long-term capital gains) and an "investment income" AGI exclusion which is 50 percent of "investment income" subject to the standard IRS rule that AGI exclusions can be no less than zero.

All of the examples you've provided seem to want to treat short-term capital gains as having some kind of bearing on the calculation of the Blueprint's investment income AGI exclusion. I think the Blueprint is very clear: short-term capital gains have no bearing on the investment income AGI exclusion.

I don't see why you have a difficult time believing that long-term capital losses cannot sensibly be used to offset positive interest and qualified dividend income when computing the proposed investment income AGI exclusion. In your interpretation, there is no possibility of offset. Consider somebody with only $1,000,000 in qualified dividends and $1,000,000 in long-term capital losses. In my interpretation of the Blueprint reform, this person would have an investment income AGI exclusion of zero and an AGI of $997,000 (the dividends less the limited loss). But the formula in this pull request would produce an investment income exclusion of $500,000 that reduces AGI to $497,000. That's a big investment income exclusion to get when total investment income is zero. Is this really what the Blueprint is proposing?

@codykallen
Copy link
Contributor Author

To provide some context, the relevant purpose here is to tax only half of investment income at ordinary rates, and not tax the other half. With interest and qualified dividends, subtracting half after adding all of it to AGI is equivalent to just adding half, but this is not true for capital gains.

@martinholmer, your interpretation in this example is still problematic and violates the intent of the Blueprint.

Consider somebody with only $1,000,000 in qualified dividends and $1,000,000 in long-term capital losses. In my interpretation of the Blueprint reform, this person would have an investment income AGI exclusion of zero and an AGI of $997,000 (the dividends less the limited loss).

In your interpretation, this person has an exclusion of zero, so 99.7% of his qualified dividends are taxed at ordinary rates, effectively giving this filer an top rate of 32.9%, whereas that intended rate should be 16.5%, according to the Blueprint. This is definitely a violation of the intent of the reform, and $997,000 is a huge AGI (and the corresponding tax) to get when total investment income is zero.

@martinholmer also said:

All of the examples you've provided seem to want to treat short-term capital gains as having some kind of bearing on the calculation of the Blueprint's investment income AGI exclusion. I think the Blueprint is very clear: short-term capital gains have no bearing on the investment income AGI exclusion.

I have to disagree with you here. The Blueprint makes no mention of short-term capital gains. You interpret this as implying that they should not be included in the reform. However, there is an interaction between short-term and long-term capital gains under existing tax law.

The important piece here isn't the investment income exclusion; it's the investment income tax base. The interaction between ltcg and stcg is in the process of adding them to AGI. Therefore, it seems a bit absurd to retain the interaction when adding them to AGI but ignore it when subtracting off half of ltcg.

@martinholmer
Copy link
Collaborator

@codykallen, Thanks for your analysis of my simple example.
We are in agreement that the only guidance on the details of the investment income AGI exclusion provision in the Blueprint reform is this passage on page 18:

This Blueprint provides for reduced tax on investment income.
Families and individuals will be able to deduct 50 percent of
their net capital gains, dividends, and interest income, leading
to basic rates of 6 percent, 12.5 percent, and 16.5 percent on
such investment income depending on the individual’s tax bracket.

So, in your last set of comments you stress the importance of the final phrase in that passage:

leading to basic rates of 6 percent, 12.5 percent, and 16.5 percent on
such investment income depending on the individual’s tax bracket.

That phrase is the strongest evidence for your interpretation that the 50 percent exclusion is to be calculated separately for taxable interest, for qualified dividends and for long-term capital gains.
I had not grasped the importance of that phrase in your interpretation of the Blueprint.

Thanks for the helpful conversation on this matter. I'm sorry if I was a little slow on the uptake.

I'll merge this pull request now.

@martinholmer martinholmer merged commit 37dafb9 into PSLmodels:master Feb 22, 2017
@codykallen
Copy link
Contributor Author

@martinholmer, thanks for checking this. And you're not slow on the uptake; I've spent too many hours dealing with this annoyance (and Tax Foundation actually still has it wrong). And it's always good to check these.

@feenberg
Copy link
Contributor

feenberg commented Feb 22, 2017 via email

@martinholmer
Copy link
Collaborator

@feenberg said:

There is a long tradition in US tax law of not allowing a substantial benefit to long term losses. Consider the short term loss of revenue as everyone liquidated their short term losses as quickly as they could use the deduction.

Dan, Thanks for your comment, but I'm not sure what the implication of your observation is. Are you saying that "long tradition in US tax law of not allowing a substantial benefit to long term losses" is based on a fear of people reducing taxes on other income by realizing long-term capital losses. If that is a correct understanding of what you're saying, then it would seem the Ryan-Brady Blueprint reform (as currently implemented in Tax-Calculator) is at variance with that "long tradition".

Or maybe I've completely misunderstood the implications of your comment. I'd be interested in more of your thoughts on this matter.

@feenberg
Copy link
Contributor

feenberg commented Feb 22, 2017 via email

@codykallen
Copy link
Contributor Author

@feenberg asked:

Is this something we could take up with the person(s) requesting this simulation?

If the Speaker's staff or the Ways and Means staff could clarify it, that would be great. Unfortunately, I don't have the clout to get those answers. If anyone can get a clarification, I would be happy to work with whatever the Hill staff says.

@MattHJensen MattHJensen mentioned this pull request Feb 28, 2017
@codykallen codykallen deleted the RyanBrady2016 branch November 10, 2017 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants