From c0117b79b39cbe2c8e396c470439aec7251f8ed7 Mon Sep 17 00:00:00 2001 From: "martin.holmer@gmail.com" Date: Sat, 28 Sep 2024 16:36:32 -0400 Subject: [PATCH 1/3] Add comment on use of extend_tcja.py script --- extend_tcja.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/extend_tcja.py b/extend_tcja.py index af3e3391d..803047123 100644 --- a/extend_tcja.py +++ b/extend_tcja.py @@ -5,6 +5,12 @@ USAGE: (taxcalc-dev) ~% python extend_tcja.py +WHEN TO USE: use this script to update reforms/ext.json in these situations: +(a) whenever inflation rates in the growfactors.csv files are changed +OR +(b) whenever inflation-indexed parameters are updated (usually as part + of changes that increase the value of Policy.LAST_KNOWN_YEAR). + IMPORTANT NOTE: be sure to remove the trailing comma after the last item in the reform JSON object generated by this script. """ @@ -76,7 +82,6 @@ "PT_qbid_alt_property_rt": {"indexed": False, "category": 7}, # category 8 ... "ALD_BusinessLosses_c": {"indexed": True, "category": 8}, - "ALD_DomesticProduction_hc": {"indexed": False, "category": 8}, } From 4f99b63f1bb08db440a91d90a6d204f8794e039e Mon Sep 17 00:00:00 2001 From: "martin.holmer@gmail.com" Date: Sat, 28 Sep 2024 16:37:32 -0400 Subject: [PATCH 2/3] Update reforms/ext.json using output from extend_tcja.py script --- taxcalc/reforms/ext.json | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/taxcalc/reforms/ext.json b/taxcalc/reforms/ext.json index b6f9e9fc4..f0f2a90e6 100644 --- a/taxcalc/reforms/ext.json +++ b/taxcalc/reforms/ext.json @@ -1,31 +1,31 @@ // REFORM TO EXTEND TEMPORARY TCJA PROVISIONS BEYOND 2025 -// USING TAX-CALCULATOR 3.5.3 +// USING TAX-CALCULATOR 4.2.2b // WITH 2025-to-2026 INDEXING FACTOR = 1.022000 { "II_rt1": {"2026": 0.10}, - "II_brk1": {"2026": [12170.98, 24341.94, 12170.98, 17353.27, 24341.94]}, + "II_brk1": {"2026": [12157.51, 24315.02, 12157.51, 17345.41, 24315.02]}, "PT_rt1": {"2026": 0.10}, - "PT_brk1": {"2026": [12170.98, 24341.94, 12170.98, 17353.27, 24341.94]}, + "PT_brk1": {"2026": [12157.51, 24315.02, 12157.51, 17345.41, 24315.02]}, "II_rt2": {"2026": 0.12}, - "II_brk2": {"2026": [49483.44, 98966.89, 49483.44, 66214.83, 98966.89]}, + "II_brk2": {"2026": [49416.07, 98832.15, 49416.07, 66132.65, 98832.15]}, "PT_rt2": {"2026": 0.12}, - "PT_brk2": {"2026": [49483.44, 98966.89, 49483.44, 66214.83, 98966.89]}, + "PT_brk2": {"2026": [49416.07, 98832.15, 49416.07, 66132.65, 98832.15]}, "II_rt3": {"2026": 0.22}, - "II_brk3": {"2026": [105511.38, 211022.75, 105511.38, 105481.77, 211022.75]}, + "II_brk3": {"2026": [105356.33, 210712.67, 105356.33, 105330.13, 210712.67]}, "PT_rt3": {"2026": 0.22}, - "PT_brk3": {"2026": [105511.38, 211022.75, 105511.38, 105481.77, 211022.75]}, + "PT_brk3": {"2026": [105356.33, 210712.67, 105356.33, 105330.13, 210712.67]}, "II_rt4": {"2026": 0.24}, - "II_brk4": {"2026": [201428.14, 402856.25, 201428.14, 201428.14, 402856.25]}, + "II_brk4": {"2026": [201175.3, 402350.62, 201175.3, 201175.3, 402350.62]}, "PT_rt4": {"2026": 0.24}, - "PT_brk4": {"2026": [201428.14, 402856.25, 201428.14, 201428.14, 402856.25]}, + "PT_brk4": {"2026": [201175.3, 402350.62, 201175.3, 201175.3, 402350.62]}, "II_rt5": {"2026": 0.32}, - "II_brk5": {"2026": [255797.72, 511595.46, 255797.72, 255797.72, 511595.46]}, + "II_brk5": {"2026": [255438.67, 510877.34, 255438.67, 255412.47, 510877.34]}, "PT_rt5": {"2026": 0.32}, - "PT_brk5": {"2026": [255797.72, 511595.46, 255797.72, 255797.72, 511595.46]}, + "PT_brk5": {"2026": [255438.67, 510877.34, 255438.67, 255412.47, 510877.34]}, "II_rt6": {"2026": 0.35}, - "II_brk6": {"2026": [639523.94, 767393.2, 383696.6, 639523.94, 767393.2]}, + "II_brk6": {"2026": [638635.98, 766342.2, 383171.1, 638635.98, 766342.2]}, "PT_rt6": {"2026": 0.35}, - "PT_brk6": {"2026": [639523.94, 767393.2, 383696.6, 639523.94, 767393.2]}, + "PT_brk6": {"2026": [638635.98, 766342.2, 383171.1, 638635.98, 766342.2]}, "II_rt7": {"2026": 0.37}, "II_brk7": {"2026": [9e+99, 9e+99, 9e+99, 9e+99, 9e+99]}, "PT_rt7": {"2026": 0.37}, @@ -35,10 +35,10 @@ "ODC_c": {"2026": 500.00}, "CTC_ps": {"2026": [200000.0, 400000.0, 200000.0, 200000.0, 400000.0]}, "ACTC_Income_thd": {"2026": 2500.00}, - "AMT_em": {"2026": [89905.29, 139892.17, 69946.08, 89905.29, 139892.17]}, - "AMT_em_ps": {"2026": [639523.94, 1279047.88, 639523.94, 639523.94, 1279047.88]}, - "AMT_em_pe": {"2026": 939533.04}, - "STD": {"2026": [15339.57, 30679.14, 15339.57, 22979.74, 30679.14]}, + "AMT_em": {"2026": [89818.83, 139706.53, 69853.27, 89818.83, 139706.53]}, + "AMT_em_ps": {"2026": [638635.98, 1277271.94, 638635.98, 638635.98, 1277271.94]}, + "AMT_em_pe": {"2026": 938246.12}, + "STD": {"2026": [15301.69, 30603.38, 15301.69, 22952.54, 30603.38]}, "ID_AllTaxes_c": {"2026": [10000.0, 10000.0, 5000.0, 10000.0, 10000.0]}, "ID_Charity_crt_cash": {"2026": 0.60}, "ID_Casualty_hc": {"2026": 1.00}, @@ -49,10 +49,10 @@ "II_em": {"2026": 0.00}, "II_em_ps": {"2026": [9e+99, 9e+99, 9e+99, 9e+99, 9e+99]}, "PT_qbid_rt": {"2026": 0.20}, - "PT_qbid_taxinc_thd": {"2026": [201428.14, 402856.25, 201428.14, 201428.14, 402856.25]}, + "PT_qbid_taxinc_thd": {"2026": [201175.3, 402350.62, 201175.3, 201175.3, 201175.3]}, "PT_qbid_taxinc_gap": {"2026": [50000.0, 100000.0, 50000.0, 50000.0, 100000.0]}, "PT_qbid_w2_wages_rt": {"2026": 0.50}, "PT_qbid_alt_w2_wages_rt": {"2026": 0.25}, "PT_qbid_alt_property_rt": {"2026": 0.03}, - "ALD_BusinessLosses_c": {"2026": [319821.19, 639642.39, 319821.19, 319821.19, 639642.39]} + "ALD_BusinessLosses_c": {"2026": [319658.6, 639317.21, 319658.6, 319658.6, 639317.21]} } From 38685ca0fed94be50b8dceee52e8b459a723a7c9 Mon Sep 17 00:00:00 2001 From: "martin.holmer@gmail.com" Date: Sat, 28 Sep 2024 16:38:29 -0400 Subject: [PATCH 3/3] Update expected results generated by the ext.json reform --- taxcalc/tests/test_reforms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/taxcalc/tests/test_reforms.py b/taxcalc/tests/test_reforms.py index e6aefed8b..d34c7ace6 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], [-232.43], rtol=0.0, atol=0.01) + assert np.allclose([weighted_sum_rdiff], [-230.805], rtol=0.0, atol=0.01)