-
Notifications
You must be signed in to change notification settings - Fork 205
Description
I'm not sure that the AMT logic in PoliyEngine-US is correct. There is a question because in the following simple test case PolicyEngine-US generates an AMT amount of $8,312.50, while TAXSIM-35 generates a zero AMT for the same case. This AMT difference leaves the federal income tax amount in PolicyEngine-US $8,312.50 higher than in TAXSIM-35.
Here is the PolicyEngine-US test:
- name: Single Texan with no children, $150K wages, $50K QDIV, $50K LTCG
absolute_error_margin: 0.01
period: 2018
input:
people:
person1:
age: 50
employment_income: 150_000
qualified_dividend_income: 50_000
long_term_capital_gains: 50_000
spm_units:
spm_unit:
members: [person1]
tax_units:
tax_unit:
members: [person1]
households:
household:
members: [person1]
state_code: TX
output:
# expected output from online TAXSIM-35
# which is at: https://taxsim.nber.org/taxsim35/
#
adjusted_gross_income: 250_000
taxable_income: 238_000
income_tax: 44_309.50
##############################################################################
# ABOVE TEST IS IN A FILE NAMED case1.yaml
# TEST ENVIRONMENT:
# % pip list | grep policyengine
# policyengine-core 2.21.8
# policyengine-us 1.25.2
# RESULTS FROM RUNNING THIS TEST ARE AS FOLLOWS:
#
#================================ FAILURES ===================================
#______________________________ test session _________________________________
# Test 'Single Texan with no children, $150K wages, $50K QDIV, $50K LTCG':
# income_tax@2018: [52622.] differs from 44309.5
# with an absolute margin [8312.5] > 0.01
#======================== short test summary info ============================
#FAILED case1.yaml::
#=========================== 1 failed in 3.90s ===============================
Here is the output from online TAXSIM-35
NBER TAXSIM Model v35 (03/22/24) With TCJA
State law coded through 2021
Later state laws extrapolated from that year.
Marginal tax rate wrt taxpayer earnings.
Input Data:
1. Record ID: 1.
2. Tax Year: 2018.00
3. State Code: 44. Texas
4. Marital Status: 1.00 Single
5-6. Age (Txpyr/Spouse): 50.00 0.00
7. Dependent Exemptions: 0.00
8-10. #deps for CCC/CTC/EIC: 0.00 0.00 0.00
11-12. Wages (Txpyr/Spouse): 150000.00 0.00
11a12a Self-employment income: 0.00 0.00
13. Dividend Income: 50000.00
14. Interest Received: 0.00
15. Short Term Gains: 0.00
16. Long Term Gains: 50000.00
17. Other Property: 0.00
18. Other Non-Property: 0.00
19. Taxable Pensions: 0.00
20. Gross Social Security: 0.00
21. Tot/Txpy/Spouse UI : 0.00 0.00 0.00
22. Non-taxable Transfers: 0.00
23. Rent Paid: 0.00
24. Property Taxes Paid: 0.00
25. Other Itemized Deds: 0.00
26. Child Care Expenses: 0.00
27. Mortgage Interest: 0.00
28. S-Corp profits: 0.00
29 31. Txpy/Spouse QBI w/o PO: 0.00 0.00
30 32. Txpy/Spouse SSTB w PO: 0.00 0.00
Basic Output:
1. Record ID: 1.
2. Year: 2018
3. State (SOI code): 44 Texas
4. Federal IIT Liability: 44309.50
5. State IIT Liability: 0.00
6. SS Payroll Tax Liability: 20271.60
Marginal Rates wrt Earner
7. Federal Marginal Rate: 27.80
8. State Marginal Rate: 0.00
9. Taxpayer SS Rate: 2.90
Federal Tax Calculation: Base +$1
10. Federal AGI 250000.00 250001.00
11. UI in AGI 1979+ 0.00 0.00
12. Social Security in AGI 84 0.00 0.00
13. Zero Bracket Amount 12000.00 12000.00
14. Personal Exemptions 0.00 0.00
15. Exemption Phaseout 1991+ 0.00 0.00
16. Deduction Phaseout 1991+ 0.00 0.00
17. Deductions allowed 0.00 0.00
QBI deduction 0.00 0.00
18. Federal Taxable Income 238000.00 238001.00
19. Federal Regular Tax 58989.50 58989.85
20. Exemption Surtax 1988-96 0.00 0.00
21. General Tax Credit 1975-8 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 1076+ 0.00 0.00
25. Earned Income Credit 1975 0.00 0.00
26. Alternative Min Income: 250000.00 250001.00
27. AMT 0.00 0.00
28. Income Tax Before Credits 42409.50 42409.74
Total Credits 0.00 0.00
29. FICA 20271.60 20271.63
Taxpayer share of FICA 10135.80 10135.81
State Tax Calculation:
30. Household Income 250000.00 250001.00
31. Imputed Rent 0.00 0.00
32. AGI 0.00 0.00
33. Exemptions 0.00 0.00
34. Standard Deduction 0.00 0.00
35. Itemized Deductions 0.00 0.00
36. Taxable Income 0.00 0.00
Tax before credits 0.00 0.00
37. Property Tax Credit 0.00 0.00
38. Child Care Credit 0.00 0.00
39. EIC 0.00 0.00
Energy|Fuel Credit 0.00 0.00
Child Tax Credit 0.00 0.00
40. Total Credits 0.00 0.00
41. Bracket Rate 0.00 0.00
State Tax after Credits 0.00 0.00
42. QBI Deduction 0.00 0.00
Additional Medicare Taxes 2013+
43. Net Investment Income Tax 1900.00 1900.04
44. Medicare Tax on Earnings 0.00 0.00
Here is the AMT-calculation logic that implies a zero AMT for this case:
AMT gross income is: 250_000
AMT exemption is 70_300, which implies AMT taxable income is: 179_700
The QDIV+LTCG portion of the 179_700 is AMT taxed at 15% ====> 15_000
The remaining portion of the 179_700 is AMT taxed at 26% ====> 20_722
So, the gross AMT amount is equal to the sum of the two above: 35_722
This gross AMT amount is less than regular tax before credits, so
the net AMT amount is zero.
Is the above AMT-calculation logic correct?
If so, then why does PolicyEngine-US produce a positive AMT amount for this case?
If not, what is the correct AMT-calculation logic for this case? The PolicyEngine-US trace output does not make the logic clear because of the long length of the alternative_minimum_tax formula.