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

Questions about CTC values in policy_current_law.json #2197

Closed
Peter-Metz opened this issue Jan 17, 2019 · 7 comments
Closed

Questions about CTC values in policy_current_law.json #2197

Peter-Metz opened this issue Jan 17, 2019 · 7 comments
Assignees
Labels

Comments

@Peter-Metz
Copy link
Contributor

I was hoping to receive some clarification on variables relating to the Child Tax Credit in policy_current_law.json, namely "_CTC_c" and "_DependentCredit_Child_c".

"_CTC_c" is "the maximum amount of credit allowed for each child" and is classified as a "Nonrefundable Credit". In policy_current_law.json, the pre-TCJA "_CTC_c" values are $1,000 and the 2018, post-TCJA value is $1,400.

The description of "_DependentCredit_Child_c" is the "Nonrefundable credit for child dependents on top of the child tax credit". The 2017, pre-TCJA value is $0 and the 2018, post-TCJA value is $600.

Pre-TCJA, the maximum CTC was $1,000, all of which was non-refundable. Post-TCJA, the maximum CTC is $2,000, of which up to $1,400 is refundable and $600 is non-refundable (details here).

It seems to me that the "_CTC_c" values from 2013-2017 are non-refundable while the values from 2018-2025 are refundable. If the goal is to keep refundable and non-refundable credits separate, I think we should consider re-defining "_CTC_c" and/or "_DependentCredit_Child_c" and changing the values accordingly.

cc @martinholmer @MattHJensen @andersonfrailey

@martinholmer
Copy link
Collaborator

martinholmer commented Jan 17, 2019

@Peter-Metz, Thanks for your perceptive observation in Tax-Calculator issue #2197. You may well have found something that is wrong or confusing and that needs changing. My first question to you is have you looked at the refundable "additional child tax credit" (ACTC in the parameter naming scheme)? If not, look at those parameters and how the non-refundable CTC (c07220) and the refundable ACTC (c11070) are calculated in the calcfunction.py code. After doing that, do you think the "full child tax credit" (non-refundable plus refundable) amounts are wrong in either 2017 or 2018? Or, is just the composition of the full CTC (that is, the split between refundable and non-refundable CTC amounts) wrong? In this debugging, you might find it useful to compare tax results for one simple, hand-constructed filing unit at a time (in both 2017 and 2018), in which the comparison is between what Tax-Calculator produces and what Internet TAXSIM 27 produces. You can see how to do that sort of comparison using the tools located in the subdirectory that contains this description. Instead of comparing with TAXSIM results you could just fill out Form 8812 by hand for both 2017 and 2018 for each case. In either case, what you're looking for is a simple filing unit for which Tax-Calculator gives the wrong answer.

When you determine exactly what's wrong and what the fix is, you need to do this in a pull request that is separate from the parameter updating PR you're preparing.

@martinholmer
Copy link
Collaborator

@Peter-Metz,
Have you found any evidence that Tax-Calculator is generating incorrect 2018 child tax credit amounts?

@Peter-Metz
Copy link
Contributor Author

@martinholmer Apologies for the delay - I've been tied up with other projects. I'll look into how calcfunction.py calculates the various child tax credits and investigate how the calculation impacts 2018 CTC amounts in the coming days.

@Peter-Metz
Copy link
Contributor Author

@martinholmer, I had the chance to look into how the CTC is computed in calcfunction.py and I believe that it may be miscalculating for some tax units, tax years 2018 and beyond.

For example, consider a household with $60,000 in income and 3 children eligible for CTC. According to TAXSIM 27, under TCJA, this family should receive the full $6,000 in CTC ($3,939 deducted from liabilities and $2,061 refunded). However, with Tax-Calculator, this family would only receive $4,200. See the calculation below:

  1. Calculate dep_credit: $600 x 3 = $1,800
  2. Subtract dep_credit from avail: $3,939 - $1,800 = $2,139
  3. Calculate c07220 by taking the minimum of prectc ($4,200) and result from Line 2: $2,139
  4. Calculate ACTC (c11070): $261
  5. Total CTC is Line 1 + Line 3 + Line 4= $4,200

I believe the issue can be resolved by doing the following:

  1. _CTC_c, should not be defined as "nonrefundable" or "refundable" and should instead be the maximum total amount allowed, or $2,000 in 2018
  2. There should be a new variable that takes the place of _DependentCredit_Child_c that shows the maximum amount of the CTC that is refundable; in 2018, this amount is $1,400. dep_credit would now reflect the amount received from the credit for non-child dependents, which is, in fact, non-refundable
  3. This new variable created in line 2 should be added to the logic of the calculation of c11070, since the ACTC is calculated differently under TCJA (2005 Form 8812 vs. 2018 Form 8812)

@martinholmer, I'd greatly appreciate your review of the above. If you agree with part or all of my assessment, I would be happy to open a PR to rectify the issue.

@martinholmer
Copy link
Collaborator

martinholmer commented Jan 25, 2019

@Peter-Metz, Thanks for this helpful comment. You are definitely correct that the CTC+ODTC and the ACTC computations for 2018+ are seriously messed up in the current version of Tax-Calculator. Over the past few days I've been preparing some still-incomplete logic changes (excluding the needed policy parameter name changes you mention). Please take a look at that development branch and let me know where you think it can be improved (since your own thinking is pretty far along). I've been going slowly on these changes because whatever changes we make have to leave pre-2018 results unchanged. That is true for the code on the tip of the development branch, but that code produces many 2018 differences when compared to TAXSIM-27.

Note that when you look at that development branch on my fork of Tax-Calculator, it will say it is one commit ahead of the master branch. Click the Compare button on the right-hand side of that line to see the changes in diff format.

@martinholmer martinholmer added bug and removed question labels Jan 25, 2019
@martinholmer martinholmer changed the title Clarification on CTC values in policy_current_law.json Questions about CTC values in policy_current_law.json Jan 25, 2019
@martinholmer
Copy link
Collaborator

@Peter-Metz, Following up on my most recent comment, I've analyzed the case you are considering and find that on the tip of this development branch Tax-Calculator and TAXSIM-27 produce exactly the same CTC and ACTC results. Here is what I did in the taxcalc/validation/taxsim directory:

iMac:taxsim mrh$ cat p18.in
1 2018 0 2 40 40 3 0 3 3 30000 30000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

iMac:taxsim mrh$ ./taxcalc.sh p18.in save

iMac:taxsim mrh$ ls p18*
p18.in			p18.in.out-taxcalc	p18.in.out.csv
p18.in.csv		p18.in.out-taxsim	p18.taxdiffs-actual

iMac:taxsim mrh$ ../../../csv_show.sh p18.in.out.csv 1
2 EIC 3
3 FLPDYR 2018
4 MARS 2
6 RECID 1
7 XTOT 5
9 aftertax_income 57471.00
10 age_head 40
11 age_spouse 40
17 c00100 60000.00
24 c04800 36000.00
25 c05200 3939.00
27 c05800 3939.00
28 c07100 3939.00
31 c07220 3939.00     <----- the nonrefundable CTC+ODTC amount
42 c11070 2061.00     <----- the refundable ACTC amount
53 c62100 60000.00
58 combined 7119.00
66 e00200 60000.00
67 e00200p 30000.00
68 e00200s 30000.00
131 earned 60000.00
132 earned_p 30000.00
133 earned_s 30000.00
137 expanded_income 64590.00
147 iitax -2061.00
155 mtr_inctax 12.00
156 mtr_paytax 15.30
159 n24 3
165 num 2
171 payrolltax 9180.00
177 prectc 6000.00
179 ptax_oasdi 7440.00
180 ptax_was 9180.00
181 refund 2061.00
183 sep 1
188 standard 24000.00
192 taxbc 3939.00
196 ymod 60000.00
197 ymod1 60000.00

@martinholmer
Copy link
Collaborator

Merging pull request #2223 was the final step in resolving the problems identified by @Peter-Metz in issue #2197. Thank you, @Peter-Metz, for raising this issue, which I'm going to close now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants