diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index c1c4ac08e..decf8bd48 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -30,11 +30,13 @@ jobs: pip install -e . --user pip install pytest-cov --user pip install pytest-pycodestyle --user + - name: Test shell: bash -l {0} working-directory: ./ run: | pytest -m 'not requires_pufcsv and not pre_release and not local' --cov=./ --cov-report=xml + - name: Upload coverage to Codecov if: matrix.os == 'ubuntu-latest' && contains(github.repository, 'PSLmodels/Tax-Calculator') uses: codecov/codecov-action@v4 @@ -43,5 +45,6 @@ jobs: file: ./coverage.xml flags: unittests name: codecov-umbrella - fail_ci_if_error: true + #fail_ci_if_error: true + fail_ci_if_error: false verbose: true diff --git a/taxcalc/policy.py b/taxcalc/policy.py index 4f1fa29a9..bda068914 100644 --- a/taxcalc/policy.py +++ b/taxcalc/policy.py @@ -38,7 +38,7 @@ class instance: Policy DEFAULTS_FILE_NAME = 'policy_current_law.json' DEFAULTS_FILE_PATH = os.path.abspath(os.path.dirname(__file__)) JSON_START_YEAR = 2013 # remains the same unless earlier data added - LAST_KNOWN_YEAR = 2024 # last year for which indexed param vals are known + LAST_KNOWN_YEAR = 2025 # last year for which indexed param vals are known # should increase LAST_KNOWN_YEAR by one every calendar year LAST_BUDGET_YEAR = 2034 # last extrapolation year # should increase LAST_BUDGET_YEAR by one every calendar year diff --git a/taxcalc/policy_current_law.json b/taxcalc/policy_current_law.json index 1cc335d93..882aa0fbe 100644 --- a/taxcalc/policy_current_law.json +++ b/taxcalc/policy_current_law.json @@ -226,6 +226,10 @@ { "year": 2024, "value": 168600.0 + }, + { + "year": 2025, + "value": 176100.0 } ], "validators": { @@ -1145,6 +1149,10 @@ { "year": 2024, "value": 0.0 + }, + { + "year": 2025, + "value": 0.0 } ], "validators": { @@ -1215,6 +1223,10 @@ { "year": 2024, "value": 0.0 + }, + { + "year": 2025, + "value": 0.0 } ], "validators": { @@ -1609,6 +1621,31 @@ "year": 2029, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 313000.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 626000.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 313000.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 313000.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 626000.0 } ], "validators": { @@ -1680,6 +1717,10 @@ "year": 2024, "value": 0.0 }, + { + "year": 2025, + "value": 0.0 + }, { "year": 2026, "value": 5300.0 @@ -2006,6 +2047,31 @@ "MARS": "widow", "value": 9e+99 }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 + }, { "year": 2026, "MARS": "single", @@ -2405,6 +2471,31 @@ "MARS": "widow", "value": 29200.0 }, + { + "year": 2025, + "MARS": "single", + "value": 15000.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 30000.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 15000.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 22500.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 30000.0 + }, { "year": 2026, "MARS": "single", @@ -2499,6 +2590,10 @@ { "year": 2024, "value": 1300.0 + }, + { + "year": 2025, + "value": 1350.0 } ], "validators": { @@ -2821,6 +2916,31 @@ "year": 2024, "MARS": "widow", "value": 1950.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 2000.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 1600.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 1600.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 2000.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 1600.0 } ], "validators": { @@ -3302,6 +3422,31 @@ "year": 2024, "MARS": "widow", "value": 0.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 0.0 } ], "validators": { @@ -3624,6 +3769,31 @@ "year": 2024, "MARS": "widow", "value": 0.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 0.0 } ], "validators": { @@ -3972,6 +4142,31 @@ "year": 2024, "MARS": "widow", "value": 0.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 0.0 } ], "validators": { @@ -4294,6 +4489,31 @@ "year": 2024, "MARS": "widow", "value": 0.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 0.0 } ], "validators": { @@ -5183,6 +5403,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -5557,26 +5802,51 @@ "year": 2024, "MARS": "widow", "value": 9e+99 - } - ], - "validators": { - "range": { - "min": 0, - "max": 9e+99 - } - }, - "compatible_data": { - "puf": true, - "cps": true - } - }, - "ID_RealEstate_hc": { - "title": "State, local, and foreign real estate taxes deduction haircut.", - "description": "This decimal fraction reduces real estate taxes paid eligible to deduct in itemized deduction.", - "notes": "", - "section_1": "Itemized Deductions", - "section_2": "State, Local, And Foreign Real Estate Taxes", - "indexable": false, + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 + } + ], + "validators": { + "range": { + "min": 0, + "max": 9e+99 + } + }, + "compatible_data": { + "puf": true, + "cps": true + } + }, + "ID_RealEstate_hc": { + "title": "State, local, and foreign real estate taxes deduction haircut.", + "description": "This decimal fraction reduces real estate taxes paid eligible to deduct in itemized deduction.", + "notes": "", + "section_1": "Itemized Deductions", + "section_2": "State, Local, And Foreign Real Estate Taxes", + "indexable": false, "indexed": false, "type": "float", "value": [ @@ -5931,6 +6201,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -6602,6 +6897,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -7046,6 +7366,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -7495,6 +7840,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -7898,6 +8268,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -8221,6 +8616,31 @@ "MARS": "widow", "value": 9e+99 }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 + }, { "year": 2026, "MARS": "single", @@ -8739,6 +9159,31 @@ "year": 2024, "MARS": "widow", "value": 0.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 0.0 } ], "validators": { @@ -9201,6 +9646,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -9679,6 +10149,31 @@ "year": 2024, "MARS": "widow", "value": 94050.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 48350.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 96700.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 48350.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 64750.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 96700.0 } ], "validators": { @@ -10027,6 +10522,31 @@ "year": 2024, "MARS": "widow", "value": 583750.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 533400.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 600050.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 300000.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 566700.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 600050.0 } ], "validators": { @@ -10375,6 +10895,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -10749,6 +11294,31 @@ "year": 2024, "MARS": "widow", "value": 94050.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 48350.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 96700.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 48350.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 64750.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 96700.0 } ], "validators": { @@ -11097,6 +11667,31 @@ "year": 2024, "MARS": "widow", "value": 583750.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 533400.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 600050.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 300000.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 566700.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 600050.0 } ], "validators": { @@ -11445,6 +12040,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -11567,6 +12187,10 @@ { "year": 2024, "value": 0.0 + }, + { + "year": 2025, + "value": 0.0 } ], "validators": { @@ -11982,6 +12606,31 @@ "MARS": "widow", "value": 23200.0 }, + { + "year": 2025, + "MARS": "single", + "value": 11925.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 23850.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 11925.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 17000.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 23850.0 + }, { "year": 2026, "MARS": "single", @@ -12395,6 +13044,31 @@ "MARS": "widow", "value": 94300.0 }, + { + "year": 2025, + "MARS": "single", + "value": 48475.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 96950.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 48475.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 64850.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 96950.0 + }, { "year": 2026, "MARS": "single", @@ -12804,9 +13478,34 @@ "value": 100500.0 }, { - "year": 2024, + "year": 2024, + "MARS": "widow", + "value": 201050.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 103350.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 206700.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 103350.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 103350.0 + }, + { + "year": 2025, "MARS": "widow", - "value": 201050.0 + "value": 206700.0 }, { "year": 2026, @@ -13221,6 +13920,31 @@ "MARS": "widow", "value": 383900.0 }, + { + "year": 2025, + "MARS": "single", + "value": 197300.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 394600.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 197300.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 197300.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 394600.0 + }, { "year": 2026, "MARS": "single", @@ -13634,6 +14358,31 @@ "MARS": "widow", "value": 487450.0 }, + { + "year": 2025, + "MARS": "single", + "value": 250525.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 501050.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 250525.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 250500.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 501050.0 + }, { "year": 2026, "MARS": "single", @@ -14047,6 +14796,31 @@ "MARS": "widow", "value": 731200.0 }, + { + "year": 2025, + "MARS": "single", + "value": 626350.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 751600.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 375800.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 626350.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 751600.0 + }, { "year": 2026, "MARS": "single", @@ -14460,6 +15234,31 @@ "MARS": "widow", "value": 9e+99 }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 + }, { "year": 2026, "MARS": "single", @@ -14899,6 +15698,31 @@ "MARS": "widow", "value": 23200.0 }, + { + "year": 2025, + "MARS": "single", + "value": 11925.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 23850.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 11925.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 17000.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 23850.0 + }, { "year": 2026, "MARS": "single", @@ -15312,6 +16136,31 @@ "MARS": "widow", "value": 94300.0 }, + { + "year": 2025, + "MARS": "single", + "value": 48475.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 96950.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 48475.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 64850.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 96950.0 + }, { "year": 2026, "MARS": "single", @@ -15725,6 +16574,31 @@ "MARS": "widow", "value": 201050.0 }, + { + "year": 2025, + "MARS": "single", + "value": 103350.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 206700.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 103350.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 103350.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 206700.0 + }, { "year": 2026, "MARS": "single", @@ -16138,6 +17012,31 @@ "MARS": "widow", "value": 383900.0 }, + { + "year": 2025, + "MARS": "single", + "value": 197300.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 394600.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 197300.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 197300.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 394600.0 + }, { "year": 2026, "MARS": "single", @@ -16551,6 +17450,31 @@ "MARS": "widow", "value": 487450.0 }, + { + "year": 2025, + "MARS": "single", + "value": 250525.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 501050.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 250525.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 250500.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 501050.0 + }, { "year": 2026, "MARS": "single", @@ -16964,6 +17888,31 @@ "MARS": "widow", "value": 731200.0 }, + { + "year": 2025, + "MARS": "single", + "value": 626350.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 751600.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 375800.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 626350.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 751600.0 + }, { "year": 2026, "MARS": "single", @@ -17377,6 +18326,31 @@ "MARS": "widow", "value": 9e+99 }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 + }, { "year": 2026, "MARS": "single", @@ -17891,22 +18865,47 @@ { "year": 2024, "MARS": "mjoint", - "value": 383900.0 + "value": 383900.0 + }, + { + "year": 2024, + "MARS": "mseparate", + "value": 191950.0 + }, + { + "year": 2024, + "MARS": "headhh", + "value": 191950.0 + }, + { + "year": 2024, + "MARS": "widow", + "value": 191950.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 197300.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 394600.0 }, { - "year": 2024, + "year": 2025, "MARS": "mseparate", - "value": 191950.0 + "value": 197300.0 }, { - "year": 2024, + "year": 2025, "MARS": "headhh", - "value": 191950.0 + "value": 197300.0 }, { - "year": 2024, + "year": 2025, "MARS": "widow", - "value": 191950.0 + "value": 197300.0 }, { "year": 2026, @@ -18688,6 +19687,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -19192,6 +20216,31 @@ "MARS": "widow", "value": 133300.0 }, + { + "year": 2025, + "MARS": "single", + "value": 88100.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 137000.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 68500.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 88100.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 137000.0 + }, { "year": 2026, "MARS": "single", @@ -19565,6 +20614,31 @@ "MARS": "widow", "value": 1218700.0 }, + { + "year": 2025, + "MARS": "single", + "value": 626350.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 1252700.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 626350.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 626350.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 1252700.0 + }, { "year": 2026, "MARS": "single", @@ -19659,6 +20733,10 @@ { "year": 2024, "value": 9250.0 + }, + { + "year": 2025, + "value": 9550.0 } ], "validators": { @@ -19781,6 +20859,10 @@ { "year": 2024, "value": 232600.0 + }, + { + "year": 2025, + "value": 239100.0 } ], "validators": { @@ -19878,6 +20960,10 @@ "year": 2024, "value": 875950.0 }, + { + "year": 2025, + "value": 900350.0 + }, { "year": 2026, "value": 326410.0 @@ -20715,11 +21801,11 @@ }, { "year": 2024, - "value": 1600.0 + "value": 1700.0 }, { "year": 2025, - "value": 1600.0 + "value": 1700.0 }, { "year": 2026, @@ -21139,6 +22225,26 @@ "year": 2024, "EIC": "3+kids", "value": 7830.0 + }, + { + "year": 2025, + "EIC": "0kids", + "value": 649.0 + }, + { + "year": 2025, + "EIC": "1kid", + "value": 4328.0 + }, + { + "year": 2025, + "EIC": "2kids", + "value": 7152.0 + }, + { + "year": 2025, + "EIC": "3+kids", + "value": 8046.0 } ], "validators": { @@ -21647,6 +22753,26 @@ "year": 2024, "EIC": "3+kids", "value": 22720.0 + }, + { + "year": 2025, + "EIC": "0kids", + "value": 10620.0 + }, + { + "year": 2025, + "EIC": "1kid", + "value": 23350.0 + }, + { + "year": 2025, + "EIC": "2kids", + "value": 23350.0 + }, + { + "year": 2025, + "EIC": "3+kids", + "value": 23350.0 } ], "validators": { @@ -21909,6 +23035,26 @@ "year": 2024, "EIC": "3+kids", "value": 6920.0 + }, + { + "year": 2025, + "EIC": "0kids", + "value": 7110.0 + }, + { + "year": 2025, + "EIC": "1kid", + "value": 7120.0 + }, + { + "year": 2025, + "EIC": "2kids", + "value": 7120.0 + }, + { + "year": 2025, + "EIC": "3+kids", + "value": 7120.0 } ], "validators": { @@ -22051,6 +23197,10 @@ { "year": 2024, "value": 11600.0 + }, + { + "year": 2025, + "value": 11950.0 } ], "validators": { @@ -22203,6 +23353,10 @@ { "year": 2024, "value": 0.0 + }, + { + "year": 2025, + "value": 0.0 } ], "validators": { @@ -22973,6 +24127,31 @@ "year": 2024, "MARS": "widow", "value": 0.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 0.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 0.0 } ], "validators": { @@ -23433,6 +24612,31 @@ "year": 2024, "MARS": "widow", "value": 1000000.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 1000000.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 1000000.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 500000.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 1000000.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 1000000.0 } ], "validators": { @@ -23755,6 +24959,31 @@ "year": 2024, "MARS": "widow", "value": 2000000.0 + }, + { + "year": 2025, + "MARS": "single", + "value": 2000000.0 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 2000000.0 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 1000000.0 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 2000000.0 + }, + { + "year": 2025, + "MARS": "widow", + "value": 2000000.0 } ], "validators": { @@ -24103,6 +25332,31 @@ "year": 2024, "MARS": "widow", "value": 9e+99 + }, + { + "year": 2025, + "MARS": "single", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mjoint", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "mseparate", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "headhh", + "value": 9e+99 + }, + { + "year": 2025, + "MARS": "widow", + "value": 9e+99 } ], "validators": { @@ -24199,6 +25453,10 @@ { "year": 2024, "value": 0.0 + }, + { + "year": 2025, + "value": 0.0 } ], "validators": { @@ -24269,6 +25527,10 @@ { "year": 2024, "value": 0.0 + }, + { + "year": 2025, + "value": 0.0 } ], "validators": { @@ -24339,6 +25601,10 @@ { "year": 2024, "value": 0.0 + }, + { + "year": 2025, + "value": 0.0 } ], "validators": { diff --git a/taxcalc/reforms/ext.json b/taxcalc/reforms/ext.json index 32418b982..ab913595b 100644 --- a/taxcalc/reforms/ext.json +++ b/taxcalc/reforms/ext.json @@ -32,7 +32,7 @@ "PT_rt7": {"2026": 0.37}, "PT_brk7": {"2026": [9e+99, 9e+99, 9e+99, 9e+99, 9e+99]}, "CTC_c": {"2026": 2000.00}, - "ACTC_c": {"2026": 1600.00}, + "ACTC_c": {"2026": 1700.00}, "ODC_c": {"2026": 500.00}, "CTC_ps": {"2026": [200000.0, 400000.0, 200000.0, 200000.0, 400000.0]}, "ACTC_Income_thd": {"2026": 2500.00}, diff --git a/taxcalc/tests/cpscsv_agg_expect.csv b/taxcalc/tests/cpscsv_agg_expect.csv index 62c315997..a4187a91a 100644 --- a/taxcalc/tests/cpscsv_agg_expect.csv +++ b/taxcalc/tests/cpscsv_agg_expect.csv @@ -1,26 +1,26 @@ ,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026 Returns (#m),187.1,199.2,201.9,204.5,207.1,209.7,212.3,214.9,217.5,220.1 AGI ($b),9087.6,10714.8,11167.0,11573.2,13174.9,13543.8,14390.3,15077.5,15785.2,16487.0 -Itemizers (#m),62.8,23.9,25.0,27.5,31.2,31.2,30.0,29.6,30.6,81.1 -Itemized Deduction ($b),1218.6,612.0,655.1,745.4,862.7,881.9,891.8,917.9,968.3,2181.6 -Standard Deduction Filers (#m),124.3,175.3,176.9,176.9,175.8,178.5,182.3,185.3,186.9,139.0 -Standard Deduction ($b),1092.1,2951.3,3026.1,3080.8,3091.9,3231.4,3534.5,3791.7,3921.6,1610.3 +Itemizers (#m),62.8,23.9,25.0,27.5,31.2,31.2,30.0,29.6,30.4,81.1 +Itemized Deduction ($b),1218.6,612.0,655.1,745.4,862.7,881.9,891.8,917.9,964.3,2181.4 +Standard Deduction Filers (#m),124.3,175.3,176.9,176.9,175.8,178.5,182.3,185.3,187.1,139.0 +Standard Deduction ($b),1092.1,2951.3,3026.1,3080.8,3091.9,3231.4,3534.5,3791.7,3933.0,1610.8 Personal Exemption ($b),1383.6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2081.5 -Taxable Income ($b),6230.6,7959.2,8322.8,8615.4,10049.9,10332.2,10954.0,11432.4,11996.4,11810.2 -Regular Tax ($b),1108.0,1380.0,1449.0,1497.4,1762.8,1837.4,1939.0,2018.1,2125.0,2347.7 -AMT Income ($b),8319.8,10212.6,10630.3,10965.7,12473.9,12821.8,13655.8,14315.8,14980.8,15102.6 +Taxable Income ($b),6230.6,7959.2,8322.8,8615.4,10049.9,10332.2,10954.0,11432.4,11991.8,11810.0 +Regular Tax ($b),1108.0,1380.0,1449.0,1497.4,1762.8,1837.4,1939.0,2018.1,2122.8,2347.6 +AMT Income ($b),8319.8,10212.6,10630.3,10965.7,12473.9,12821.8,13655.8,14315.8,14983.7,15102.7 AMT Liability ($b),8.1,0.4,0.4,0.5,1.4,0.7,0.7,0.6,0.6,17.1 AMT Filers (#m),2.6,0.1,0.1,0.1,0.2,0.1,0.1,0.1,0.1,4.1 -Tax before Credits ($b),1116.0,1380.4,1449.4,1497.9,1764.3,1838.0,1939.7,2018.7,2125.6,2364.9 -Refundable Credits ($b),70.8,102.5,102.7,655.0,827.1,98.5,106.2,111.4,111.9,97.5 -Nonrefundable Credits ($b),32.7,97.2,99.2,99.2,0.0,107.7,108.4,109.4,111.3,30.0 +Tax before Credits ($b),1116.0,1380.4,1449.4,1497.9,1764.3,1838.0,1939.7,2018.7,2123.4,2364.7 +Refundable Credits ($b),70.8,102.5,102.7,655.0,827.1,98.5,106.2,111.9,112.8,97.8 +Nonrefundable Credits ($b),32.7,97.2,99.2,99.2,0.0,107.7,108.4,109.4,111.2,30.0 Reform Surtaxes ($b),0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 Other Taxes ($b),5.5,10.7,11.3,12.6,13.9,14.4,16.5,17.6,18.8,19.9 -Ind Income Tax ($b),1018.1,1191.4,1258.9,756.3,951.0,1646.2,1741.7,1815.6,1921.2,2257.4 -Payroll Taxes ($b),1040.8,1141.6,1194.9,1217.9,1318.7,1421.6,1509.2,1585.1,1659.9,1734.1 -Combined Liability ($b),2059.0,2333.0,2453.8,1974.2,2269.7,3067.8,3250.9,3400.7,3581.1,3991.5 -With Income Tax <= 0 (#m),88.1,96.2,97.0,135.4,127.8,96.1,97.8,99.1,99.5,97.3 -With Combined Tax <= 0 (#m),62.8,65.4,66.4,98.2,97.7,67.9,69.3,70.4,71.3,70.6 +Ind Income Tax ($b),1018.1,1191.4,1258.9,756.3,951.0,1646.2,1741.7,1815.1,1918.2,2256.9 +Payroll Taxes ($b),1040.8,1141.6,1194.9,1217.9,1318.7,1421.6,1509.2,1585.1,1660.8,1735.0 +Combined Liability ($b),2059.0,2333.0,2453.8,1974.2,2269.7,3067.8,3250.9,3400.2,3578.9,3991.9 +With Income Tax <= 0 (#m),88.1,96.2,97.0,135.4,127.8,96.1,97.8,99.1,99.6,97.3 +With Combined Tax <= 0 (#m),62.8,65.4,66.4,98.2,97.7,67.9,69.3,70.4,71.3,70.7 UBI Benefits ($b),0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 "Total Benefits, Consumption Value ($b)",2790.7,3225.5,3429.9,3617.0,3993.0,4069.6,4390.5,4696.3,4983.2,5266.5 Total Benefits Cost ($b),2790.7,3225.5,3429.9,3617.0,3993.0,4069.6,4390.5,4696.3,4983.2,5266.5 diff --git a/taxcalc/tests/puf_var_wght_means_by_year.csv b/taxcalc/tests/puf_var_wght_means_by_year.csv index 4f4d61834..49b011bd1 100644 --- a/taxcalc/tests/puf_var_wght_means_by_year.csv +++ b/taxcalc/tests/puf_var_wght_means_by_year.csv @@ -1,10 +1,10 @@ ,description,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034 -c00100,Federal AGI, 50840, 54457, 54942, 55071, 58024, 60318, 61591, 63130, 73017, 72224, 75916, 77963, 80250, 82362, 84514, 86849, 89344, 91950, 94677, 98306, 99812, 102616 +c00100,Federal AGI, 50840, 54457, 54942, 55071, 58024, 60318, 61591, 63130, 73017, 72224, 75916, 77963, 80250, 82362, 84514, 86849, 89344, 91949, 94677, 98305, 99811, 102616 c02500,OASDI benefits in AGI, 1295, 1394, 1416, 1479, 1501, 1587, 1690, 1832, 2005, 2129, 2428, 2659, 2844, 3028, 3214, 3413, 3619, 3833, 4055, 4308, 4459, 4698 c04470,Post-phase-out itemized deduction, 5908, 6037, 6150, 6383, 6563, 6803, 7011, 7493, 7881, 8018, 8324, 8672, 8950, 9288, 9614, 9940, 10266, 10611, 10970, 11450, 11641, 12004 c04600,Post-phase-out personal exemption, 7105, 7131, 7163, 7217, 7149, 7247, 7380, 7471, 7481, 7806, 8373, 8834, 9054, 9248, 9434, 9612, 9797, 9988, 10186, 10398, 10579, 10791 -c04800,Federal regular taxable income, 35753, 39297, 39663, 39591, 42568, 44523, 45416, 46476, 55959, 54603, 57321, 58385, 60072, 61575, 63147, 64911, 66831, 68828, 70916, 73686, 74835, 76970 -c05200,Regular tax on taxable income, 7671, 8731, 8725, 8584, 9499, 10001, 10138, 10475, 13361, 12576, 13165, 13230, 13561, 13847, 14165, 14544, 14965, 15398, 15840, 16404, 16816, 17278 +c04800,Federal regular taxable income, 35753, 39297, 39663, 39591, 42568, 44523, 45416, 46476, 55959, 54603, 57321, 58385, 60072, 61575, 63147, 64911, 66831, 68828, 70916, 73685, 74835, 76970 +c05200,Regular tax on taxable income, 7671, 8731, 8725, 8584, 9499, 10001, 10138, 10475, 13361, 12576, 13165, 13230, 13561, 13847, 14164, 14544, 14965, 15398, 15840, 16404, 16816, 17278 c07180,Child care credit, 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16 c07220,Child tax credit (adjusted), 158, 155, 147, 143, 139, 134, 129, 124, 359, 116, 107, 101, 97, 94, 91, 88, 85, 82, 80, 77, 74, 72 c09600,Federal AMT liability, 212, 227, 240, 251, 268, 280, 288, 317, 351, 339, 347, 357, 371, 387, 400, 415, 430, 446, 458, 487, 496, 513 @@ -75,6 +75,6 @@ nu13,Number of dependents under 13 years old, 0, 0, 0, 0 p08000,Other tax credits (but not including Sch R credit), 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 p22250,Sch D: Net short-term capital gains/losses, -120, -173, -172, -151, -195, -212, -202, -267, -481, -308, -330, -304, -299, -292, -288, -288, -290, -293, -284, -286, -326, -335 p23250,Sch D: Net long-term capital gains/losses, 2284, 3191, 3138, 2776, 3680, 3912, 3596, 4616, 8212, 5153, 5389, 4987, 4839, 4662, 4598, 4612, 4669, 4756, 4864, 5023, 5090, 5224 -payrolltax,Payroll taxes (ee+er) for OASDI+HI, 5193, 5382, 5440, 5516, 5676, 5834, 6009, 6042, 6437, 6824, 7161, 7425, 7674, 7914, 8144, 8377, 8619, 8873, 9142, 9503, 9599, 9866 +payrolltax,Payroll taxes (ee+er) for OASDI+HI, 5193, 5382, 5440, 5516, 5676, 5834, 6009, 6042, 6437, 6824, 7161, 7425, 7679, 7919, 8150, 8383, 8625, 8879, 9148, 9509, 9606, 9872 pencon_p,Contributions to defined-contribution pension plans for taxpayer, 856, 897, 916, 941, 963, 996, 1029, 1030, 1107, 1185, 1239, 1282, 1326, 1368, 1408, 1448, 1491, 1532, 1578, 1638, 1655, 1698 pencon_s,Contributions to defined-contribution pension plans for spouse, 393, 410, 421, 424, 440, 452, 466, 466, 500, 535, 558, 577, 595, 612, 629, 645, 661, 678, 695, 720, 738, 756 diff --git a/taxcalc/tests/pufcsv_agg_expect.csv b/taxcalc/tests/pufcsv_agg_expect.csv index 8b7b27a3e..81e192ec0 100644 --- a/taxcalc/tests/pufcsv_agg_expect.csv +++ b/taxcalc/tests/pufcsv_agg_expect.csv @@ -1,26 +1,26 @@ ,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026 Returns (#m),190.9,194.3,197.3,200.1,202.9,205.6,208.4,211.2,214.0,216.8 -AGI ($b),11078.7,11816.6,12247.2,12722.3,14930.0,14973.9,15955.0,16597.4,17310.1,18001.3 -Itemizers (#m),45.7,19.4,20.0,21.0,22.6,22.8,21.7,21.2,21.3,52.0 -Itemized Deduction ($b),1274.3,602.7,633.9,692.3,761.9,782.7,788.7,808.1,835.2,2047.5 -Standard Deduction Filers (#m),145.2,174.8,177.2,178.5,179.6,182.8,186.7,190.0,192.6,164.8 -Standard Deduction ($b),1239.3,2865.3,2954.5,3025.8,3081.1,3234.0,3537.5,3798.4,3952.6,1853.9 +AGI ($b),11078.7,11816.6,12247.2,12722.3,14930.0,14973.9,15955.0,16597.4,17310.1,18001.2 +Itemizers (#m),45.7,19.4,20.0,21.0,22.6,22.8,21.7,21.2,21.2,51.9 +Itemized Deduction ($b),1274.3,602.7,633.9,692.3,761.9,782.7,788.7,808.1,833.2,2047.4 +Standard Deduction Filers (#m),145.2,174.8,177.2,178.5,179.6,182.8,186.7,190.0,192.7,164.8 +Standard Deduction ($b),1239.3,2865.3,2954.5,3025.8,3081.1,3234.0,3537.5,3798.4,3962.0,1854.3 Personal Exemption ($b),1365.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1959.0 -Taxable Income ($b),8112.2,9179.2,9520.5,9907.3,12003.2,11927.7,12697.8,13130.7,13703.8,13460.3 -Regular Tax ($b),1656.8,1712.3,1778.2,1838.3,2281.5,2282.7,2423.4,2489.9,2601.1,2816.2 -AMT Income ($b),10512.4,11343.5,11749.7,12180.1,14330.8,14356.1,15323.1,15943.0,16630.5,17082.5 -AMT Liability ($b),51.3,22.1,23.0,25.1,27.8,27.4,28.8,30.3,31.8,87.9 +Taxable Income ($b),8112.2,9179.2,9520.5,9907.3,12003.2,11927.7,12697.8,13130.7,13699.2,13460.1 +Regular Tax ($b),1656.8,1712.3,1778.2,1838.3,2281.5,2282.7,2423.4,2489.9,2598.6,2816.0 +AMT Income ($b),10512.4,11343.5,11749.7,12180.1,14330.8,14356.1,15323.1,15943.0,16631.7,17082.5 +AMT Liability ($b),51.3,22.1,23.0,25.1,27.8,27.4,28.8,30.3,31.8,87.8 AMT Filers (#m),5.7,0.2,0.2,0.3,0.4,0.3,0.3,0.3,0.3,7.4 -Tax before Credits ($b),1708.1,1734.4,1801.1,1863.4,2309.4,2310.1,2452.2,2520.2,2632.9,2904.0 -Refundable Credits ($b),102.9,117.5,118.5,642.0,802.6,119.2,126.9,132.8,135.0,121.7 +Tax before Credits ($b),1708.1,1734.4,1801.1,1863.4,2309.4,2310.1,2452.2,2520.2,2630.5,2903.8 +Refundable Credits ($b),102.9,117.5,118.5,642.0,802.6,119.2,126.9,133.5,136.0,122.0 Nonrefundable Credits ($b),67.0,127.3,129.2,128.5,47.6,141.0,143.3,144.0,145.7,77.7 Reform Surtaxes ($b),0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 Other Taxes ($b),40.0,44.8,43.6,52.9,84.9,61.5,66.5,65.2,66.0,66.3 -Ind Income Tax ($b),1578.2,1534.3,1597.0,1145.8,1544.0,2111.5,2248.5,2308.6,2418.2,2770.9 -Payroll Taxes ($b),1083.8,1133.3,1185.4,1209.0,1306.0,1403.4,1492.6,1568.0,1642.1,1715.4 -Combined Liability ($b),2662.0,2667.7,2782.4,2354.8,2850.0,3514.9,3741.1,3876.6,4060.3,4486.3 -With Income Tax <= 0 (#m),92.8,98.6,99.7,131.7,125.0,100.3,101.8,103.4,104.3,100.9 -With Combined Tax <= 0 (#m),63.4,65.6,66.8,102.1,94.5,68.9,70.2,71.6,72.6,72.3 +Ind Income Tax ($b),1578.2,1534.3,1597.0,1145.8,1544.0,2111.5,2248.5,2308.0,2414.8,2770.5 +Payroll Taxes ($b),1083.8,1133.3,1185.4,1209.0,1306.0,1403.4,1492.6,1568.0,1643.2,1716.5 +Combined Liability ($b),2662.0,2667.7,2782.4,2354.8,2850.0,3514.9,3741.1,3876.0,4058.0,4487.0 +With Income Tax <= 0 (#m),92.8,98.6,99.7,131.7,125.0,100.3,101.8,103.4,104.3,101.0 +With Combined Tax <= 0 (#m),63.4,65.6,66.8,102.1,94.5,68.9,70.2,71.6,72.7,72.4 UBI Benefits ($b),0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 "Total Benefits, Consumption Value ($b)",1052.3,1104.9,1175.3,1243.9,1476.4,1411.5,1569.5,1707.8,1818.1,1924.4 Total Benefits Cost ($b),1052.3,1104.9,1175.3,1243.9,1476.4,1411.5,1569.5,1707.8,1818.1,1924.4 diff --git a/taxcalc/tests/test_reforms.py b/taxcalc/tests/test_reforms.py index d34c7ace6..894ce108e 100644 --- a/taxcalc/tests/test_reforms.py +++ b/taxcalc/tests/test_reforms.py @@ -383,4 +383,4 @@ def test_ext_reform(tests_path): iitax_ext = calc_ext.array('iitax') rdiff = iitax_ext - iitax_end weighted_sum_rdiff = (rdiff * calc_end.array('s006')).sum() * 1.0e-9 - assert np.allclose([weighted_sum_rdiff], [-230.805], rtol=0.0, atol=0.01) + assert np.allclose([weighted_sum_rdiff], [-231.304], rtol=0.0, atol=0.01) diff --git a/update_pcl.py b/update_pcl.py index da533fdc9..0b5bce83b 100644 --- a/update_pcl.py +++ b/update_pcl.py @@ -7,7 +7,8 @@ IF DIFFS OK: % mv pcl.json taxcalc/policy_current_law.json WHEN TO USE: use this script to update taxcalc/policy_current_law.json -whenever post-2016 inflation rates in the growfactors.csv files are changed. +whenever post-2016 inflation rates in the growfactors.csv files are changed, +or whenever new known policy parameter values are published. """ import os @@ -27,6 +28,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 0.0}, {'year': 2024, 'MARS': 'headhh', 'value': 0.0}, {'year': 2024, 'MARS': 'widow', 'value': 0.0}, + + {'year': 2025, 'MARS': 'single', 'value': 0.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 0.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 0.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 0.0}, + {'year': 2025, 'MARS': 'widow', 'value': 0.0}, ] LIST_MARS_INF = [ {'year': 2023, 'MARS': 'single', 'value': 9e99}, @@ -40,11 +47,19 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 9e99}, {'year': 2024, 'MARS': 'headhh', 'value': 9e99}, {'year': 2024, 'MARS': 'widow', 'value': 9e99}, + + {'year': 2025, 'MARS': 'single', 'value': 9e99}, + {'year': 2025, 'MARS': 'mjoint', 'value': 9e99}, + {'year': 2025, 'MARS': 'mseparate', 'value': 9e99}, + {'year': 2025, 'MARS': 'headhh', 'value': 9e99}, + {'year': 2025, 'MARS': 'widow', 'value': 9e99}, ] LIST_SCALAR_ZERO = [ {'year': 2023, 'value': 0.0}, {'year': 2024, 'value': 0.0}, + + {'year': 2025, 'value': 0.0}, ] NEW_KNOWN_ITEMS = { # PAYROLL TAX PARAMETER SOURCES: @@ -54,12 +69,16 @@ {'year': 2023, 'value': 160200.0}, {'year': 2024, 'value': 168600.0}, + + {'year': 2025, 'value': 176100.0}, ], # INCOME TAX PARAMETER SOURCES: # - IRS Rev. Proc. 2022-38 containing 2023 policy parameter values is at: # https://www.irs.gov/pub/irs-drop/rp-22-38.pdf # - IRS Rev. Proc. 2023-34 containing 2024 policy parameter values is at: # https://www.irs.gov/pub/irs-drop/rp-23-34.pdf + # - IRS Rev. Proc. 2024-40 containing 2025 policy parameter values is at: + # https://www.irs.gov/pub/irs-drop/rp-24-40.pdf 'II_brk1': [ {'year': 2023, 'MARS': 'single', 'value': 11000.0}, {'year': 2023, 'MARS': 'mjoint', 'value': 22000.0}, @@ -72,6 +91,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 11600.0}, {'year': 2024, 'MARS': 'headhh', 'value': 16550.0}, {'year': 2024, 'MARS': 'widow', 'value': 23200.0}, + + {'year': 2025, 'MARS': 'single', 'value': 11925.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 23850.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 11925.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 17000.0}, + {'year': 2025, 'MARS': 'widow', 'value': 23850.0}, ], 'II_brk2': [ {'year': 2023, 'MARS': 'single', 'value': 44725.}, @@ -85,6 +110,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 47150.0}, {'year': 2024, 'MARS': 'headhh', 'value': 63100.0}, {'year': 2024, 'MARS': 'widow', 'value': 94300.0}, + + {'year': 2025, 'MARS': 'single', 'value': 48475.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 96950.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 48475.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 64850.0}, + {'year': 2025, 'MARS': 'widow', 'value': 96950.0}, ], 'II_brk3': [ {'year': 2023, 'MARS': 'single', 'value': 95375.0}, @@ -98,6 +129,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 100525.0}, {'year': 2024, 'MARS': 'headhh', 'value': 100500.0}, {'year': 2024, 'MARS': 'widow', 'value': 201050.0}, + + {'year': 2025, 'MARS': 'single', 'value': 103350.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 206700.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 103350.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 103350.0}, + {'year': 2025, 'MARS': 'widow', 'value': 206700.0}, ], 'II_brk4': [ {'year': 2023, 'MARS': 'single', 'value': 182100.0}, @@ -111,6 +148,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 191950.0}, {'year': 2024, 'MARS': 'headhh', 'value': 191950.0}, {'year': 2024, 'MARS': 'widow', 'value': 383900.0}, + + {'year': 2025, 'MARS': 'single', 'value': 197300.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 394600.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 197300.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 197300.0}, + {'year': 2025, 'MARS': 'widow', 'value': 394600.0}, ], 'II_brk5': [ {'year': 2023, 'MARS': 'single', 'value': 231250.0}, @@ -124,6 +167,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 243725.0}, {'year': 2024, 'MARS': 'headhh', 'value': 243700.0}, {'year': 2024, 'MARS': 'widow', 'value': 487450.0}, + + {'year': 2025, 'MARS': 'single', 'value': 250525.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 501050.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 250525.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 250500.0}, + {'year': 2025, 'MARS': 'widow', 'value': 501050.0}, ], 'II_brk6': [ {'year': 2023, 'MARS': 'single', 'value': 578125.0}, @@ -137,6 +186,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 365600.0}, {'year': 2024, 'MARS': 'headhh', 'value': 609350.0}, {'year': 2024, 'MARS': 'widow', 'value': 731200.0}, + + {'year': 2025, 'MARS': 'single', 'value': 626350.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 751600.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 375800.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 626350.0}, + {'year': 2025, 'MARS': 'widow', 'value': 751600.0}, ], 'II_brk7': [ {'year': 2023, 'MARS': 'single', 'value': 9e99}, @@ -150,6 +205,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 9e99}, {'year': 2024, 'MARS': 'headhh', 'value': 9e99}, {'year': 2024, 'MARS': 'widow', 'value': 9e99}, + + {'year': 2025, 'MARS': 'single', 'value': 9e99}, + {'year': 2025, 'MARS': 'mjoint', 'value': 9e99}, + {'year': 2025, 'MARS': 'mseparate', 'value': 9e99}, + {'year': 2025, 'MARS': 'headhh', 'value': 9e99}, + {'year': 2025, 'MARS': 'widow', 'value': 9e99}, ], 'CG_brk1': [ {'year': 2023, 'MARS': 'single', 'value': 44625.0}, @@ -163,6 +224,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 47025.0}, {'year': 2024, 'MARS': 'headhh', 'value': 63000.0}, {'year': 2024, 'MARS': 'widow', 'value': 94050.0}, + + {'year': 2025, 'MARS': 'single', 'value': 48350.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 96700.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 48350.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 64750.0}, + {'year': 2025, 'MARS': 'widow', 'value': 96700.0}, ], 'CG_brk2': [ {'year': 2023, 'MARS': 'single', 'value': 492300.0}, @@ -176,6 +243,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 291850.0}, {'year': 2024, 'MARS': 'headhh', 'value': 551350.0}, {'year': 2024, 'MARS': 'widow', 'value': 583750.0}, + + {'year': 2025, 'MARS': 'single', 'value': 533400.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 600050.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 300000.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 566700.0}, + {'year': 2025, 'MARS': 'widow', 'value': 600050.0}, ], 'CG_brk3': [ {'year': 2023, 'MARS': 'single', 'value': 9e99}, @@ -189,6 +262,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 9e99}, {'year': 2024, 'MARS': 'headhh', 'value': 9e99}, {'year': 2024, 'MARS': 'widow', 'value': 9e99}, + + {'year': 2025, 'MARS': 'single', 'value': 9e99}, + {'year': 2025, 'MARS': 'mjoint', 'value': 9e99}, + {'year': 2025, 'MARS': 'mseparate', 'value': 9e99}, + {'year': 2025, 'MARS': 'headhh', 'value': 9e99}, + {'year': 2025, 'MARS': 'widow', 'value': 9e99}, ], 'EITC_c': [ {'year': 2023, 'EIC': '0kids', 'value': 600.0}, @@ -200,6 +279,11 @@ {'year': 2024, 'EIC': '1kid', 'value': 4213.0}, {'year': 2024, 'EIC': '2kids', 'value': 6960.0}, {'year': 2024, 'EIC': '3+kids', 'value': 7830.0}, + + {'year': 2025, 'EIC': '0kids', 'value': 649.0}, + {'year': 2025, 'EIC': '1kid', 'value': 4328.0}, + {'year': 2025, 'EIC': '2kids', 'value': 7152.0}, + {'year': 2025, 'EIC': '3+kids', 'value': 8046.0}, ], 'EITC_ps': [ {'year': 2023, 'EIC': '0kids', 'value': 9800.0}, @@ -211,6 +295,11 @@ {'year': 2024, 'EIC': '1kid', 'value': 22720.0}, {'year': 2024, 'EIC': '2kids', 'value': 22720.0}, {'year': 2024, 'EIC': '3+kids', 'value': 22720.0}, + + {'year': 2025, 'EIC': '0kids', 'value': 10620.0}, + {'year': 2025, 'EIC': '1kid', 'value': 23350.0}, + {'year': 2025, 'EIC': '2kids', 'value': 23350.0}, + {'year': 2025, 'EIC': '3+kids', 'value': 23350.0}, ], 'EITC_ps_MarriedJ': [ {'year': 2023, 'EIC': '0kids', 'value': 6570.0}, @@ -222,16 +311,25 @@ {'year': 2024, 'EIC': '1kid', 'value': 6920.0}, {'year': 2024, 'EIC': '2kids', 'value': 6920.0}, {'year': 2024, 'EIC': '3+kids', 'value': 6920.0}, + + {'year': 2025, 'EIC': '0kids', 'value': 7110.0}, + {'year': 2025, 'EIC': '1kid', 'value': 7120.0}, + {'year': 2025, 'EIC': '2kids', 'value': 7120.0}, + {'year': 2025, 'EIC': '3+kids', 'value': 7120.0}, ], 'EITC_InvestIncome_c': [ {'year': 2023, 'value': 11000.0}, {'year': 2024, 'value': 11600.0}, + + {'year': 2025, 'value': 11950.0}, ], 'AMT_brk1': [ {'year': 2023, 'value': 220700.0}, {'year': 2024, 'value': 232600.0}, + + {'year': 2025, 'value': 239100.0}, ], 'AMT_em': [ {'year': 2023, 'MARS': 'single', 'value': 81300.0}, @@ -245,6 +343,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 66650.0}, {'year': 2024, 'MARS': 'headhh', 'value': 85700.0}, {'year': 2024, 'MARS': 'widow', 'value': 133300.0}, + + {'year': 2025, 'MARS': 'single', 'value': 88100.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 137000.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 68500.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 88100.0}, + {'year': 2025, 'MARS': 'widow', 'value': 137000.0}, ], 'AMT_em_ps': [ {'year': 2023, 'MARS': 'single', 'value': 578150.0}, @@ -258,16 +362,26 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 609350.0}, {'year': 2024, 'MARS': 'headhh', 'value': 609350.0}, {'year': 2024, 'MARS': 'widow', 'value': 1218700.0}, + + {'year': 2025, 'MARS': 'single', 'value': 626350.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 1252700.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 626350.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 626350.0}, + {'year': 2025, 'MARS': 'widow', 'value': 1252700.0}, ], 'AMT_em_pe': [ {"year": 2023, "value": 831150.0}, {"year": 2024, "value": 875950.0}, + + {"year": 2025, "value": 900350.0}, ], 'AMT_child_em': [ {'year': 2023, 'value': 8800.0}, {'year': 2024, 'value': 9250.0}, + + {'year': 2025, 'value': 9550.0}, ], 'STD': [ {'year': 2023, 'MARS': 'single', 'value': 13850.0}, @@ -281,24 +395,38 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 14600.0}, {'year': 2024, 'MARS': 'headhh', 'value': 21900.0}, {'year': 2024, 'MARS': 'widow', 'value': 29200.0}, + + {'year': 2025, 'MARS': 'single', 'value': 15000.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 30000.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 15000.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 22500.0}, + {'year': 2025, 'MARS': 'widow', 'value': 30000.0}, ], 'STD_Dep': [ {'year': 2023, 'value': 1250.0}, {'year': 2024, 'value': 1300.0}, + + {'year': 2025, 'value': 1350.0}, ], 'STD_Aged': [ {'year': 2023, 'MARS': 'single', 'value': 1800.0}, {'year': 2023, 'MARS': 'mjoint', 'value': 1500.0}, {'year': 2023, 'MARS': 'mseparate', 'value': 1500.0}, {'year': 2023, 'MARS': 'headhh', 'value': 1800.0}, - {'year': 2023, 'MARS': 'widow', 'value': 1800.0}, + {'year': 2023, 'MARS': 'widow', 'value': 1500.0}, {'year': 2024, 'MARS': 'single', 'value': 1950.0}, {'year': 2024, 'MARS': 'mjoint', 'value': 1550.0}, {'year': 2024, 'MARS': 'mseparate', 'value': 1550.0}, {'year': 2024, 'MARS': 'headhh', 'value': 1950.0}, - {'year': 2024, 'MARS': 'widow', 'value': 1950.0}, + {'year': 2024, 'MARS': 'widow', 'value': 1550.0}, + + {'year': 2025, 'MARS': 'single', 'value': 2000.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 1600.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 1600.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 2000.0}, + {'year': 2025, 'MARS': 'widow', 'value': 1600.0}, ], 'PT_qbid_taxinc_thd': [ {'year': 2023, 'MARS': 'single', 'value': 182100.0}, @@ -312,6 +440,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 191950.0}, {'year': 2024, 'MARS': 'headhh', 'value': 191950.0}, {'year': 2024, 'MARS': 'widow', 'value': 191950.0}, + + {'year': 2025, 'MARS': 'single', 'value': 197300.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 394600.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 197300.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 197300.0}, + {'year': 2025, 'MARS': 'widow', 'value': 197300.0}, ], 'ALD_BusinessLosses_c': [ {'year': 2023, 'MARS': 'single', 'value': 289000.0}, @@ -325,6 +459,12 @@ {'year': 2024, 'MARS': 'mseparate', 'value': 305000.0}, {'year': 2024, 'MARS': 'headhh', 'value': 305000.0}, {'year': 2024, 'MARS': 'widow', 'value': 610000.0}, + + {'year': 2025, 'MARS': 'single', 'value': 313000.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 626000.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 313000.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 313000.0}, + {'year': 2025, 'MARS': 'widow', 'value': 626000.0}, ], 'FST_AGI_thd_lo': [ # not part of current-law policy, but needs to be here {'year': 2023, 'MARS': 'single', 'value': 1000000.0}, @@ -339,6 +479,12 @@ {'year': 2024, 'MARS': 'headhh', 'value': 1000000.0}, {'year': 2024, 'MARS': 'widow', 'value': 1000000.0}, + {'year': 2025, 'MARS': 'single', 'value': 1000000.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 1000000.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 500000.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 1000000.0}, + {'year': 2025, 'MARS': 'widow', 'value': 1000000.0}, + # each year's values are the same as for the prior year ], 'FST_AGI_thd_hi': [ # not part of current-law policy, but needs to be here @@ -354,6 +500,12 @@ {'year': 2024, 'MARS': 'headhh', 'value': 2000000.0}, {'year': 2024, 'MARS': 'widow', 'value': 2000000.0}, + {'year': 2025, 'MARS': 'single', 'value': 2000000.0}, + {'year': 2025, 'MARS': 'mjoint', 'value': 2000000.0}, + {'year': 2025, 'MARS': 'mseparate', 'value': 1000000.0}, + {'year': 2025, 'MARS': 'headhh', 'value': 2000000.0}, + {'year': 2025, 'MARS': 'widow', 'value': 2000000.0}, + # each year's values are the same as for the prior year ], # ITEMS NOT PART OF CURRENT-LAW POLICY IN 2022-2025 PERIOD: