diff --git a/us/ctc/ctc_options_against_cp.ipynb b/us/ctc/ctc_options_against_cp.ipynb new file mode 100644 index 0000000..a0c3b07 --- /dev/null +++ b/us/ctc/ctc_options_against_cp.ipynb @@ -0,0 +1,2031 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "from policyengine_us import Microsimulation\n", + "from policyengine_core.reforms import Reform\n", + "import numpy as np\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "baseline = Reform.from_dict(\n", + " {\n", + " \"gov.irs.income.bracket.rates.2\": {\"2026-01-01.2100-12-31\": 0.12},\n", + " \"gov.irs.income.bracket.rates.3\": {\"2026-01-01.2100-12-31\": 0.22},\n", + " \"gov.irs.income.bracket.rates.4\": {\"2026-01-01.2100-12-31\": 0.24},\n", + " \"gov.irs.income.bracket.rates.5\": {\"2026-01-01.2100-12-31\": 0.32},\n", + " \"gov.irs.income.bracket.rates.7\": {\"2026-01-01.2100-12-31\": 0.37},\n", + " \"gov.irs.deductions.qbi.max.rate\": {\"2026-01-01.2100-12-31\": 0.2},\n", + " \"gov.irs.income.exemption.amount\": {\"2026-01-01.2100-12-31\": 0},\n", + " \"gov.irs.deductions.qbi.max.w2_wages.rate\": {\"2026-01-01.2100-12-31\": 0.5},\n", + " \"gov.irs.deductions.standard.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 30600,\n", + " \"2027-01-01.2027-12-31\": 31225,\n", + " \"2028-01-01.2028-12-31\": 31825,\n", + " \"2029-01-01.2029-12-31\": 32425,\n", + " \"2030-01-01.2030-12-31\": 33050,\n", + " \"2031-01-01.2031-12-31\": 33725,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35075,\n", + " \"2034-01-01.2034-12-31\": 35775,\n", + " \"2035-01-01.2035-12-31\": 36500,\n", + " },\n", + " \"gov.irs.credits.ctc.amount.base[0].amount\": {\"2026-01-01.2100-12-31\": 2000},\n", + " \"gov.irs.deductions.standard.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 15300,\n", + " \"2027-01-01.2027-12-31\": 15600,\n", + " \"2028-01-01.2028-12-31\": 15900,\n", + " \"2029-01-01.2029-12-31\": 16225,\n", + " \"2030-01-01.2030-12-31\": 16525,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2035-12-31\": 18250,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 139850,\n", + " \"2027-01-01.2027-12-31\": 142675,\n", + " \"2028-01-01.2028-12-31\": 145425,\n", + " \"2029-01-01.2029-12-31\": 148200,\n", + " \"2030-01-01.2030-12-31\": 151100,\n", + " \"2031-01-01.2031-12-31\": 154100,\n", + " \"2032-01-01.2032-12-31\": 157150,\n", + " \"2033-01-01.2033-12-31\": 160300,\n", + " \"2034-01-01.2034-12-31\": 163525,\n", + " \"2035-01-01.2035-12-31\": 166850,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 210950,\n", + " \"2027-01-01.2027-12-31\": 215225,\n", + " \"2028-01-01.2028-12-31\": 219375,\n", + " \"2029-01-01.2029-12-31\": 223525,\n", + " \"2030-01-01.2030-12-31\": 227925,\n", + " \"2031-01-01.2031-12-31\": 232425,\n", + " \"2032-01-01.2032-12-31\": 237075,\n", + " \"2033-01-01.2033-12-31\": 241825,\n", + " \"2034-01-01.2034-12-31\": 246675,\n", + " \"2035-01-01.2035-12-31\": 251675,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 402725,\n", + " \"2027-01-01.2027-12-31\": 410875,\n", + " \"2028-01-01.2028-12-31\": 418800,\n", + " \"2029-01-01.2029-12-31\": 426725,\n", + " \"2030-01-01.2030-12-31\": 435125,\n", + " \"2031-01-01.2031-12-31\": 443725,\n", + " \"2032-01-01.2032-12-31\": 452575,\n", + " \"2033-01-01.2033-12-31\": 461650,\n", + " \"2034-01-01.2034-12-31\": 470925,\n", + " \"2035-01-01.2035-12-31\": 480450,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 511400,\n", + " \"2027-01-01.2027-12-31\": 521775,\n", + " \"2028-01-01.2028-12-31\": 531850,\n", + " \"2029-01-01.2029-12-31\": 541925,\n", + " \"2030-01-01.2030-12-31\": 552575,\n", + " \"2031-01-01.2031-12-31\": 563500,\n", + " \"2032-01-01.2032-12-31\": 574725,\n", + " \"2033-01-01.2033-12-31\": 586250,\n", + " \"2034-01-01.2034-12-31\": 598050,\n", + " \"2035-01-01.2035-12-31\": 610125,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 767125,\n", + " \"2027-01-01.2027-12-31\": 782650,\n", + " \"2028-01-01.2028-12-31\": 797775,\n", + " \"2029-01-01.2029-12-31\": 812875,\n", + " \"2030-01-01.2030-12-31\": 828850,\n", + " \"2031-01-01.2031-12-31\": 845250,\n", + " \"2032-01-01.2032-12-31\": 862100,\n", + " \"2033-01-01.2033-12-31\": 879350,\n", + " \"2034-01-01.2034-12-31\": 897050,\n", + " \"2035-01-01.2035-12-31\": 915200,\n", + " },\n", + " \"gov.irs.credits.ctc.amount.adult_dependent\": {\"2026-01-01.2100-12-31\": 500},\n", + " \"gov.irs.income.amt.exemption.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 89925,\n", + " \"2027-01-01.2027-12-31\": 91750,\n", + " \"2028-01-01.2028-12-31\": 93525,\n", + " \"2029-01-01.2029-12-31\": 95300,\n", + " \"2030-01-01.2030-12-31\": 97150,\n", + " \"2031-01-01.2031-12-31\": 99075,\n", + " \"2032-01-01.2032-12-31\": 101050,\n", + " \"2033-01-01.2033-12-31\": 103075,\n", + " \"2034-01-01.2034-12-31\": 105150,\n", + " \"2035-01-01.2035-12-31\": 107275,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 105475,\n", + " \"2027-01-01.2027-12-31\": 107600,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111775,\n", + " \"2030-01-01.2030-12-31\": 113950,\n", + " \"2031-01-01.2031-12-31\": 116225,\n", + " \"2032-01-01.2032-12-31\": 118525,\n", + " \"2033-01-01.2033-12-31\": 120900,\n", + " \"2034-01-01.2034-12-31\": 123350,\n", + " \"2035-01-01.2035-12-31\": 125825,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 201350,\n", + " \"2027-01-01.2027-12-31\": 205425,\n", + " \"2028-01-01.2028-12-31\": 209400,\n", + " \"2029-01-01.2029-12-31\": 213375,\n", + " \"2030-01-01.2030-12-31\": 217550,\n", + " \"2031-01-01.2031-12-31\": 221875,\n", + " \"2032-01-01.2032-12-31\": 226275,\n", + " \"2033-01-01.2033-12-31\": 230825,\n", + " \"2034-01-01.2034-12-31\": 235475,\n", + " \"2035-01-01.2035-12-31\": 240225,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 255700,\n", + " \"2027-01-01.2027-12-31\": 260875,\n", + " \"2028-01-01.2028-12-31\": 265925,\n", + " \"2029-01-01.2029-12-31\": 270950,\n", + " \"2030-01-01.2030-12-31\": 276275,\n", + " \"2031-01-01.2031-12-31\": 281750,\n", + " \"2032-01-01.2032-12-31\": 287375,\n", + " \"2033-01-01.2033-12-31\": 293125,\n", + " \"2034-01-01.2034-12-31\": 299025,\n", + " \"2035-01-01.2035-12-31\": 305075,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.itemized.casualty.active\": {\"2026-01-01.2100-12-31\": False},\n", + " \"gov.irs.deductions.standard.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 15300,\n", + " \"2027-01-01.2027-12-31\": 15600,\n", + " \"2028-01-01.2028-12-31\": 15900,\n", + " \"2029-01-01.2029-12-31\": 16225,\n", + " \"2030-01-01.2030-12-31\": 16525,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2035-12-31\": 18250,\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.alt_rate\": {\"2026-01-01.2100-12-31\": 0.25},\n", + " \"gov.irs.deductions.qbi.phase_out.start.JOINT\": {\n", + " \"2024-01-01.2024-12-31\": 396450,\n", + " \"2025-01-01.2025-12-31\": 400575,\n", + " \"2026-01-01.2026-12-31\": 409800,\n", + " \"2027-01-01.2027-12-31\": 418100,\n", + " \"2028-01-01.2028-12-31\": 426175,\n", + " \"2029-01-01.2029-12-31\": 434225,\n", + " \"2030-01-01.2030-12-31\": 442775,\n", + " \"2031-01-01.2031-12-31\": 451525,\n", + " \"2032-01-01.2032-12-31\": 460525,\n", + " \"2033-01-01.2033-12-31\": 469750,\n", + " \"2034-01-01.2034-12-31\": 479200,\n", + " \"2035-01-01.2035-12-31\": 488900,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 69925,\n", + " \"2027-01-01.2027-12-31\": 71350,\n", + " \"2028-01-01.2028-12-31\": 72725,\n", + " \"2029-01-01.2029-12-31\": 74100,\n", + " \"2030-01-01.2030-12-31\": 75550,\n", + " \"2031-01-01.2031-12-31\": 77050,\n", + " \"2032-01-01.2032-12-31\": 78575,\n", + " \"2033-01-01.2033-12-31\": 80150,\n", + " \"2034-01-01.2034-12-31\": 81775,\n", + " \"2035-01-01.2035-12-31\": 83425,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 105475,\n", + " \"2027-01-01.2027-12-31\": 107600,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111775,\n", + " \"2030-01-01.2030-12-31\": 113950,\n", + " \"2031-01-01.2031-12-31\": 116225,\n", + " \"2032-01-01.2032-12-31\": 118525,\n", + " \"2033-01-01.2033-12-31\": 120900,\n", + " \"2034-01-01.2034-12-31\": 123350,\n", + " \"2035-01-01.2035-12-31\": 125825,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 201350,\n", + " \"2027-01-01.2027-12-31\": 205425,\n", + " \"2028-01-01.2028-12-31\": 209400,\n", + " \"2029-01-01.2029-12-31\": 213375,\n", + " \"2030-01-01.2030-12-31\": 217550,\n", + " \"2031-01-01.2031-12-31\": 221875,\n", + " \"2032-01-01.2032-12-31\": 226275,\n", + " \"2033-01-01.2033-12-31\": 230825,\n", + " \"2034-01-01.2034-12-31\": 235475,\n", + " \"2035-01-01.2035-12-31\": 240225,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 255700,\n", + " \"2027-01-01.2027-12-31\": 260875,\n", + " \"2028-01-01.2028-12-31\": 265925,\n", + " \"2029-01-01.2029-12-31\": 270950,\n", + " \"2030-01-01.2030-12-31\": 276275,\n", + " \"2031-01-01.2031-12-31\": 281750,\n", + " \"2032-01-01.2032-12-31\": 287375,\n", + " \"2033-01-01.2033-12-31\": 293125,\n", + " \"2034-01-01.2034-12-31\": 299025,\n", + " \"2035-01-01.2035-12-31\": 305075,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 383550,\n", + " \"2027-01-01.2027-12-31\": 391325,\n", + " \"2028-01-01.2028-12-31\": 398875,\n", + " \"2029-01-01.2029-12-31\": 406450,\n", + " \"2030-01-01.2030-12-31\": 414425,\n", + " \"2031-01-01.2031-12-31\": 422625,\n", + " \"2032-01-01.2032-12-31\": 431050,\n", + " \"2033-01-01.2033-12-31\": 439675,\n", + " \"2034-01-01.2034-12-31\": 448525,\n", + " \"2035-01-01.2035-12-31\": 457600,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.individual_max\": {\n", + " \"2026-01-01.2026-12-31\": 1800,\n", + " \"2027-01-01.2027-12-31\": 1800,\n", + " \"2028-01-01.2028-12-31\": 1800,\n", + " \"2029-01-01.2029-12-31\": 1900,\n", + " \"2030-01-01.2030-12-31\": 1900,\n", + " \"2031-01-01.2031-12-31\": 1900,\n", + " \"2032-01-01.2032-12-31\": 2000,\n", + " \"2033-01-01.2033-12-31\": 2000,\n", + " \"2034-01-01.2034-12-31\": 2000,\n", + " \"2035-01-01.2035-12-31\": 2000,\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 100000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SINGLE\": {\n", + " \"2024-01-01.2024-12-31\": 198225,\n", + " \"2025-01-01.2025-12-31\": 200275,\n", + " \"2026-01-01.2026-12-31\": 204900,\n", + " \"2027-01-01.2027-12-31\": 209050,\n", + " \"2028-01-01.2028-12-31\": 213075,\n", + " \"2029-01-01.2029-12-31\": 217125,\n", + " \"2030-01-01.2030-12-31\": 221375,\n", + " \"2031-01-01.2031-12-31\": 225775,\n", + " \"2032-01-01.2032-12-31\": 230275,\n", + " \"2033-01-01.2033-12-31\": 234875,\n", + " \"2034-01-01.2034-12-31\": 239600,\n", + " \"2035-01-01.2035-12-31\": 244450,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 50000\n", + " },\n", + " \"gov.irs.deductions.itemized.charity.ceiling.all\": {\n", + " \"2026-01-01.2100-12-31\": 0.6\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.agi_rate\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SEPARATE\": {\n", + " \"2024-01-01.2024-12-31\": 198225,\n", + " \"2025-01-01.2025-12-31\": 200275,\n", + " \"2026-01-01.2026-12-31\": 204900,\n", + " \"2027-01-01.2027-12-31\": 209050,\n", + " \"2028-01-01.2028-12-31\": 213075,\n", + " \"2029-01-01.2029-12-31\": 217125,\n", + " \"2030-01-01.2030-12-31\": 221375,\n", + " \"2031-01-01.2031-12-31\": 225775,\n", + " \"2032-01-01.2032-12-31\": 230275,\n", + " \"2033-01-01.2033-12-31\": 234875,\n", + " \"2034-01-01.2034-12-31\": 239600,\n", + " \"2035-01-01.2035-12-31\": 244450,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 50000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.phase_in.threshold\": {\n", + " \"2026-01-01.2100-12-31\": 2500\n", + " },\n", + " \"gov.irs.deductions.qbi.max.business_property.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.025\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 1278575,\n", + " \"2027-01-01.2027-12-31\": 1304475,\n", + " \"2028-01-01.2028-12-31\": 1329675,\n", + " \"2029-01-01.2029-12-31\": 1354850,\n", + " \"2030-01-01.2030-12-31\": 1381475,\n", + " \"2031-01-01.2031-12-31\": 1408825,\n", + " \"2032-01-01.2032-12-31\": 1436875,\n", + " \"2033-01-01.2033-12-31\": 1465650,\n", + " \"2034-01-01.2034-12-31\": 1495150,\n", + " \"2035-01-01.2035-12-31\": 1525375,\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 30600,\n", + " \"2027-01-01.2027-12-31\": 31225,\n", + " \"2028-01-01.2028-12-31\": 31825,\n", + " \"2029-01-01.2029-12-31\": 32425,\n", + " \"2030-01-01.2030-12-31\": 33050,\n", + " \"2031-01-01.2031-12-31\": 33725,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35075,\n", + " \"2034-01-01.2034-12-31\": 35775,\n", + " \"2035-01-01.2035-12-31\": 36500,\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.standard.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 22950,\n", + " \"2027-01-01.2027-12-31\": 23425,\n", + " \"2028-01-01.2028-12-31\": 23875,\n", + " \"2029-01-01.2029-12-31\": 24325,\n", + " \"2030-01-01.2030-12-31\": 24800,\n", + " \"2031-01-01.2031-12-31\": 25300,\n", + " \"2032-01-01.2032-12-31\": 25800,\n", + " \"2033-01-01.2033-12-31\": 26300,\n", + " \"2034-01-01.2034-12-31\": 26825,\n", + " \"2035-01-01.2035-12-31\": 27375,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 139850,\n", + " \"2027-01-01.2027-12-31\": 142675,\n", + " \"2028-01-01.2028-12-31\": 145425,\n", + " \"2029-01-01.2029-12-31\": 148200,\n", + " \"2030-01-01.2030-12-31\": 151100,\n", + " \"2031-01-01.2031-12-31\": 154100,\n", + " \"2032-01-01.2032-12-31\": 157150,\n", + " \"2033-01-01.2033-12-31\": 160300,\n", + " \"2034-01-01.2034-12-31\": 163525,\n", + " \"2035-01-01.2035-12-31\": 166850,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 210950,\n", + " \"2027-01-01.2027-12-31\": 215225,\n", + " \"2028-01-01.2028-12-31\": 219375,\n", + " \"2029-01-01.2029-12-31\": 223525,\n", + " \"2030-01-01.2030-12-31\": 227925,\n", + " \"2031-01-01.2031-12-31\": 232425,\n", + " \"2032-01-01.2032-12-31\": 237075,\n", + " \"2033-01-01.2033-12-31\": 241825,\n", + " \"2034-01-01.2034-12-31\": 246675,\n", + " \"2035-01-01.2035-12-31\": 251675,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 402725,\n", + " \"2027-01-01.2027-12-31\": 410875,\n", + " \"2028-01-01.2028-12-31\": 418800,\n", + " \"2029-01-01.2029-12-31\": 426725,\n", + " \"2030-01-01.2030-12-31\": 435125,\n", + " \"2031-01-01.2031-12-31\": 443725,\n", + " \"2032-01-01.2032-12-31\": 452575,\n", + " \"2033-01-01.2033-12-31\": 461650,\n", + " \"2034-01-01.2034-12-31\": 470925,\n", + " \"2035-01-01.2035-12-31\": 480450,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 511400,\n", + " \"2027-01-01.2027-12-31\": 521775,\n", + " \"2028-01-01.2028-12-31\": 531850,\n", + " \"2029-01-01.2029-12-31\": 541925,\n", + " \"2030-01-01.2030-12-31\": 552575,\n", + " \"2031-01-01.2031-12-31\": 563500,\n", + " \"2032-01-01.2032-12-31\": 574725,\n", + " \"2033-01-01.2033-12-31\": 586250,\n", + " \"2034-01-01.2034-12-31\": 598050,\n", + " \"2035-01-01.2035-12-31\": 610125,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 767125,\n", + " \"2027-01-01.2027-12-31\": 782650,\n", + " \"2028-01-01.2028-12-31\": 797775,\n", + " \"2029-01-01.2029-12-31\": 812875,\n", + " \"2030-01-01.2030-12-31\": 828850,\n", + " \"2031-01-01.2031-12-31\": 845250,\n", + " \"2032-01-01.2032-12-31\": 862100,\n", + " \"2033-01-01.2033-12-31\": 879350,\n", + " \"2034-01-01.2034-12-31\": 897050,\n", + " \"2035-01-01.2035-12-31\": 915200,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 89925,\n", + " \"2027-01-01.2027-12-31\": 91750,\n", + " \"2028-01-01.2028-12-31\": 93525,\n", + " \"2029-01-01.2029-12-31\": 95300,\n", + " \"2030-01-01.2030-12-31\": 97150,\n", + " \"2031-01-01.2031-12-31\": 99075,\n", + " \"2032-01-01.2032-12-31\": 101050,\n", + " \"2033-01-01.2033-12-31\": 103075,\n", + " \"2034-01-01.2034-12-31\": 105150,\n", + " \"2035-01-01.2035-12-31\": 107275,\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 105475,\n", + " \"2027-01-01.2027-12-31\": 107600,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111775,\n", + " \"2030-01-01.2030-12-31\": 113950,\n", + " \"2031-01-01.2031-12-31\": 116225,\n", + " \"2032-01-01.2032-12-31\": 118525,\n", + " \"2033-01-01.2033-12-31\": 120900,\n", + " \"2034-01-01.2034-12-31\": 123350,\n", + " \"2035-01-01.2035-12-31\": 125825,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 201350,\n", + " \"2027-01-01.2027-12-31\": 205425,\n", + " \"2028-01-01.2028-12-31\": 209400,\n", + " \"2029-01-01.2029-12-31\": 213375,\n", + " \"2030-01-01.2030-12-31\": 217550,\n", + " \"2031-01-01.2031-12-31\": 221875,\n", + " \"2032-01-01.2032-12-31\": 226275,\n", + " \"2033-01-01.2033-12-31\": 230825,\n", + " \"2034-01-01.2034-12-31\": 235475,\n", + " \"2035-01-01.2035-12-31\": 240225,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 255700,\n", + " \"2027-01-01.2027-12-31\": 260875,\n", + " \"2028-01-01.2028-12-31\": 265925,\n", + " \"2029-01-01.2029-12-31\": 270950,\n", + " \"2030-01-01.2030-12-31\": 276275,\n", + " \"2031-01-01.2031-12-31\": 281750,\n", + " \"2032-01-01.2032-12-31\": 287375,\n", + " \"2033-01-01.2033-12-31\": 293125,\n", + " \"2034-01-01.2034-12-31\": 299025,\n", + " \"2035-01-01.2035-12-31\": 305075,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2024-01-01.2024-12-31\": 396450,\n", + " \"2025-01-01.2025-12-31\": 400575,\n", + " \"2026-01-01.2026-12-31\": 409800,\n", + " \"2027-01-01.2027-12-31\": 418100,\n", + " \"2028-01-01.2028-12-31\": 426175,\n", + " \"2029-01-01.2029-12-31\": 434225,\n", + " \"2030-01-01.2030-12-31\": 442775,\n", + " \"2031-01-01.2031-12-31\": 451525,\n", + " \"2032-01-01.2032-12-31\": 460525,\n", + " \"2033-01-01.2033-12-31\": 469750,\n", + " \"2034-01-01.2034-12-31\": 479200,\n", + " \"2035-01-01.2035-12-31\": 488900,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 100000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2024-01-01.2024-12-31\": 198225,\n", + " \"2025-01-01.2025-12-31\": 200275,\n", + " \"2026-01-01.2026-12-31\": 204900,\n", + " \"2027-01-01.2027-12-31\": 209050,\n", + " \"2028-01-01.2028-12-31\": 213075,\n", + " \"2029-01-01.2029-12-31\": 217125,\n", + " \"2030-01-01.2030-12-31\": 221375,\n", + " \"2031-01-01.2031-12-31\": 225775,\n", + " \"2032-01-01.2032-12-31\": 230275,\n", + " \"2033-01-01.2033-12-31\": 234875,\n", + " \"2034-01-01.2034-12-31\": 239600,\n", + " \"2035-01-01.2035-12-31\": 244450,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 50000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 10000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 10000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 5000\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 1278575,\n", + " \"2027-01-01.2027-12-31\": 1304475,\n", + " \"2028-01-01.2028-12-31\": 1329675,\n", + " \"2029-01-01.2029-12-31\": 1354850,\n", + " \"2030-01-01.2030-12-31\": 1381475,\n", + " \"2031-01-01.2031-12-31\": 1408825,\n", + " \"2032-01-01.2032-12-31\": 1436875,\n", + " \"2033-01-01.2033-12-31\": 1465650,\n", + " \"2034-01-01.2034-12-31\": 1495150,\n", + " \"2035-01-01.2035-12-31\": 1525375,\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.itemized_deduction_rate\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 10_000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 10_000\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " },\n", + " country_id=\"us\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "reform = Reform.from_dict(\n", + " {\n", + " \"gov.irs.income.bracket.rates.2\": {\"2026-01-01.2100-12-31\": 0.12},\n", + " \"gov.irs.income.bracket.rates.3\": {\"2026-01-01.2100-12-31\": 0.22},\n", + " \"gov.irs.income.bracket.rates.4\": {\"2026-01-01.2100-12-31\": 0.24},\n", + " \"gov.irs.income.bracket.rates.5\": {\"2026-01-01.2100-12-31\": 0.32},\n", + " \"gov.irs.income.bracket.rates.7\": {\"2026-01-01.2100-12-31\": 0.37},\n", + " \"gov.irs.deductions.qbi.max.rate\": {\"2026-01-01.2100-12-31\": 0.2},\n", + " \"gov.irs.income.exemption.amount\": {\"2026-01-01.2100-12-31\": 0},\n", + " \"gov.irs.deductions.qbi.max.w2_wages.rate\": {\"2026-01-01.2100-12-31\": 0.5},\n", + " \"gov.irs.deductions.standard.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 30600,\n", + " \"2027-01-01.2027-12-31\": 31225,\n", + " \"2028-01-01.2028-12-31\": 31825,\n", + " \"2029-01-01.2029-12-31\": 32425,\n", + " \"2030-01-01.2030-12-31\": 33050,\n", + " \"2031-01-01.2031-12-31\": 33725,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35075,\n", + " \"2034-01-01.2034-12-31\": 35775,\n", + " \"2035-01-01.2035-12-31\": 36500,\n", + " },\n", + " \"gov.irs.credits.ctc.amount.base[0].amount\": {\"2026-01-01.2100-12-31\": 2000},\n", + " \"gov.irs.deductions.standard.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 15300,\n", + " \"2027-01-01.2027-12-31\": 15600,\n", + " \"2028-01-01.2028-12-31\": 15900,\n", + " \"2029-01-01.2029-12-31\": 16225,\n", + " \"2030-01-01.2030-12-31\": 16525,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2035-12-31\": 18250,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 139850,\n", + " \"2027-01-01.2027-12-31\": 142675,\n", + " \"2028-01-01.2028-12-31\": 145425,\n", + " \"2029-01-01.2029-12-31\": 148200,\n", + " \"2030-01-01.2030-12-31\": 151100,\n", + " \"2031-01-01.2031-12-31\": 154100,\n", + " \"2032-01-01.2032-12-31\": 157150,\n", + " \"2033-01-01.2033-12-31\": 160300,\n", + " \"2034-01-01.2034-12-31\": 163525,\n", + " \"2035-01-01.2035-12-31\": 166850,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 210950,\n", + " \"2027-01-01.2027-12-31\": 215225,\n", + " \"2028-01-01.2028-12-31\": 219375,\n", + " \"2029-01-01.2029-12-31\": 223525,\n", + " \"2030-01-01.2030-12-31\": 227925,\n", + " \"2031-01-01.2031-12-31\": 232425,\n", + " \"2032-01-01.2032-12-31\": 237075,\n", + " \"2033-01-01.2033-12-31\": 241825,\n", + " \"2034-01-01.2034-12-31\": 246675,\n", + " \"2035-01-01.2035-12-31\": 251675,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 402725,\n", + " \"2027-01-01.2027-12-31\": 410875,\n", + " \"2028-01-01.2028-12-31\": 418800,\n", + " \"2029-01-01.2029-12-31\": 426725,\n", + " \"2030-01-01.2030-12-31\": 435125,\n", + " \"2031-01-01.2031-12-31\": 443725,\n", + " \"2032-01-01.2032-12-31\": 452575,\n", + " \"2033-01-01.2033-12-31\": 461650,\n", + " \"2034-01-01.2034-12-31\": 470925,\n", + " \"2035-01-01.2035-12-31\": 480450,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 511400,\n", + " \"2027-01-01.2027-12-31\": 521775,\n", + " \"2028-01-01.2028-12-31\": 531850,\n", + " \"2029-01-01.2029-12-31\": 541925,\n", + " \"2030-01-01.2030-12-31\": 552575,\n", + " \"2031-01-01.2031-12-31\": 563500,\n", + " \"2032-01-01.2032-12-31\": 574725,\n", + " \"2033-01-01.2033-12-31\": 586250,\n", + " \"2034-01-01.2034-12-31\": 598050,\n", + " \"2035-01-01.2035-12-31\": 610125,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 767125,\n", + " \"2027-01-01.2027-12-31\": 782650,\n", + " \"2028-01-01.2028-12-31\": 797775,\n", + " \"2029-01-01.2029-12-31\": 812875,\n", + " \"2030-01-01.2030-12-31\": 828850,\n", + " \"2031-01-01.2031-12-31\": 845250,\n", + " \"2032-01-01.2032-12-31\": 862100,\n", + " \"2033-01-01.2033-12-31\": 879350,\n", + " \"2034-01-01.2034-12-31\": 897050,\n", + " \"2035-01-01.2035-12-31\": 915200,\n", + " },\n", + " \"gov.irs.credits.ctc.amount.adult_dependent\": {\"2026-01-01.2100-12-31\": 500},\n", + " \"gov.irs.income.amt.exemption.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 89925,\n", + " \"2027-01-01.2027-12-31\": 91750,\n", + " \"2028-01-01.2028-12-31\": 93525,\n", + " \"2029-01-01.2029-12-31\": 95300,\n", + " \"2030-01-01.2030-12-31\": 97150,\n", + " \"2031-01-01.2031-12-31\": 99075,\n", + " \"2032-01-01.2032-12-31\": 101050,\n", + " \"2033-01-01.2033-12-31\": 103075,\n", + " \"2034-01-01.2034-12-31\": 105150,\n", + " \"2035-01-01.2035-12-31\": 107275,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 105475,\n", + " \"2027-01-01.2027-12-31\": 107600,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111775,\n", + " \"2030-01-01.2030-12-31\": 113950,\n", + " \"2031-01-01.2031-12-31\": 116225,\n", + " \"2032-01-01.2032-12-31\": 118525,\n", + " \"2033-01-01.2033-12-31\": 120900,\n", + " \"2034-01-01.2034-12-31\": 123350,\n", + " \"2035-01-01.2035-12-31\": 125825,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 201350,\n", + " \"2027-01-01.2027-12-31\": 205425,\n", + " \"2028-01-01.2028-12-31\": 209400,\n", + " \"2029-01-01.2029-12-31\": 213375,\n", + " \"2030-01-01.2030-12-31\": 217550,\n", + " \"2031-01-01.2031-12-31\": 221875,\n", + " \"2032-01-01.2032-12-31\": 226275,\n", + " \"2033-01-01.2033-12-31\": 230825,\n", + " \"2034-01-01.2034-12-31\": 235475,\n", + " \"2035-01-01.2035-12-31\": 240225,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 255700,\n", + " \"2027-01-01.2027-12-31\": 260875,\n", + " \"2028-01-01.2028-12-31\": 265925,\n", + " \"2029-01-01.2029-12-31\": 270950,\n", + " \"2030-01-01.2030-12-31\": 276275,\n", + " \"2031-01-01.2031-12-31\": 281750,\n", + " \"2032-01-01.2032-12-31\": 287375,\n", + " \"2033-01-01.2033-12-31\": 293125,\n", + " \"2034-01-01.2034-12-31\": 299025,\n", + " \"2035-01-01.2035-12-31\": 305075,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.itemized.casualty.active\": {\"2026-01-01.2100-12-31\": False},\n", + " \"gov.irs.deductions.standard.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 15300,\n", + " \"2027-01-01.2027-12-31\": 15600,\n", + " \"2028-01-01.2028-12-31\": 15900,\n", + " \"2029-01-01.2029-12-31\": 16225,\n", + " \"2030-01-01.2030-12-31\": 16525,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2035-12-31\": 18250,\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.alt_rate\": {\"2026-01-01.2100-12-31\": 0.25},\n", + " \"gov.irs.deductions.qbi.phase_out.start.JOINT\": {\n", + " \"2024-01-01.2024-12-31\": 396450,\n", + " \"2025-01-01.2025-12-31\": 400575,\n", + " \"2026-01-01.2026-12-31\": 409800,\n", + " \"2027-01-01.2027-12-31\": 418100,\n", + " \"2028-01-01.2028-12-31\": 426175,\n", + " \"2029-01-01.2029-12-31\": 434225,\n", + " \"2030-01-01.2030-12-31\": 442775,\n", + " \"2031-01-01.2031-12-31\": 451525,\n", + " \"2032-01-01.2032-12-31\": 460525,\n", + " \"2033-01-01.2033-12-31\": 469750,\n", + " \"2034-01-01.2034-12-31\": 479200,\n", + " \"2035-01-01.2035-12-31\": 488900,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 69925,\n", + " \"2027-01-01.2027-12-31\": 71350,\n", + " \"2028-01-01.2028-12-31\": 72725,\n", + " \"2029-01-01.2029-12-31\": 74100,\n", + " \"2030-01-01.2030-12-31\": 75550,\n", + " \"2031-01-01.2031-12-31\": 77050,\n", + " \"2032-01-01.2032-12-31\": 78575,\n", + " \"2033-01-01.2033-12-31\": 80150,\n", + " \"2034-01-01.2034-12-31\": 81775,\n", + " \"2035-01-01.2035-12-31\": 83425,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 105475,\n", + " \"2027-01-01.2027-12-31\": 107600,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111775,\n", + " \"2030-01-01.2030-12-31\": 113950,\n", + " \"2031-01-01.2031-12-31\": 116225,\n", + " \"2032-01-01.2032-12-31\": 118525,\n", + " \"2033-01-01.2033-12-31\": 120900,\n", + " \"2034-01-01.2034-12-31\": 123350,\n", + " \"2035-01-01.2035-12-31\": 125825,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 201350,\n", + " \"2027-01-01.2027-12-31\": 205425,\n", + " \"2028-01-01.2028-12-31\": 209400,\n", + " \"2029-01-01.2029-12-31\": 213375,\n", + " \"2030-01-01.2030-12-31\": 217550,\n", + " \"2031-01-01.2031-12-31\": 221875,\n", + " \"2032-01-01.2032-12-31\": 226275,\n", + " \"2033-01-01.2033-12-31\": 230825,\n", + " \"2034-01-01.2034-12-31\": 235475,\n", + " \"2035-01-01.2035-12-31\": 240225,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 255700,\n", + " \"2027-01-01.2027-12-31\": 260875,\n", + " \"2028-01-01.2028-12-31\": 265925,\n", + " \"2029-01-01.2029-12-31\": 270950,\n", + " \"2030-01-01.2030-12-31\": 276275,\n", + " \"2031-01-01.2031-12-31\": 281750,\n", + " \"2032-01-01.2032-12-31\": 287375,\n", + " \"2033-01-01.2033-12-31\": 293125,\n", + " \"2034-01-01.2034-12-31\": 299025,\n", + " \"2035-01-01.2035-12-31\": 305075,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 383550,\n", + " \"2027-01-01.2027-12-31\": 391325,\n", + " \"2028-01-01.2028-12-31\": 398875,\n", + " \"2029-01-01.2029-12-31\": 406450,\n", + " \"2030-01-01.2030-12-31\": 414425,\n", + " \"2031-01-01.2031-12-31\": 422625,\n", + " \"2032-01-01.2032-12-31\": 431050,\n", + " \"2033-01-01.2033-12-31\": 439675,\n", + " \"2034-01-01.2034-12-31\": 448525,\n", + " \"2035-01-01.2035-12-31\": 457600,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.individual_max\": {\n", + " \"2026-01-01.2035-12-31\": 2000,\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 100000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SINGLE\": {\n", + " \"2024-01-01.2024-12-31\": 198225,\n", + " \"2025-01-01.2025-12-31\": 200275,\n", + " \"2026-01-01.2026-12-31\": 204900,\n", + " \"2027-01-01.2027-12-31\": 209050,\n", + " \"2028-01-01.2028-12-31\": 213075,\n", + " \"2029-01-01.2029-12-31\": 217125,\n", + " \"2030-01-01.2030-12-31\": 221375,\n", + " \"2031-01-01.2031-12-31\": 225775,\n", + " \"2032-01-01.2032-12-31\": 230275,\n", + " \"2033-01-01.2033-12-31\": 234875,\n", + " \"2034-01-01.2034-12-31\": 239600,\n", + " \"2035-01-01.2035-12-31\": 244450,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 50000\n", + " },\n", + " \"gov.irs.deductions.itemized.charity.ceiling.all\": {\n", + " \"2026-01-01.2100-12-31\": 0.6\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.agi_rate\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SEPARATE\": {\n", + " \"2024-01-01.2024-12-31\": 198225,\n", + " \"2025-01-01.2025-12-31\": 200275,\n", + " \"2026-01-01.2026-12-31\": 204900,\n", + " \"2027-01-01.2027-12-31\": 209050,\n", + " \"2028-01-01.2028-12-31\": 213075,\n", + " \"2029-01-01.2029-12-31\": 217125,\n", + " \"2030-01-01.2030-12-31\": 221375,\n", + " \"2031-01-01.2031-12-31\": 225775,\n", + " \"2032-01-01.2032-12-31\": 230275,\n", + " \"2033-01-01.2033-12-31\": 234875,\n", + " \"2034-01-01.2034-12-31\": 239600,\n", + " \"2035-01-01.2035-12-31\": 244450,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 50000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.phase_in.threshold\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.qbi.max.business_property.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.025\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 1278575,\n", + " \"2027-01-01.2027-12-31\": 1304475,\n", + " \"2028-01-01.2028-12-31\": 1329675,\n", + " \"2029-01-01.2029-12-31\": 1354850,\n", + " \"2030-01-01.2030-12-31\": 1381475,\n", + " \"2031-01-01.2031-12-31\": 1408825,\n", + " \"2032-01-01.2032-12-31\": 1436875,\n", + " \"2033-01-01.2033-12-31\": 1465650,\n", + " \"2034-01-01.2034-12-31\": 1495150,\n", + " \"2035-01-01.2035-12-31\": 1525375,\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 30600,\n", + " \"2027-01-01.2027-12-31\": 31225,\n", + " \"2028-01-01.2028-12-31\": 31825,\n", + " \"2029-01-01.2029-12-31\": 32425,\n", + " \"2030-01-01.2030-12-31\": 33050,\n", + " \"2031-01-01.2031-12-31\": 33725,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35075,\n", + " \"2034-01-01.2034-12-31\": 35775,\n", + " \"2035-01-01.2035-12-31\": 36500,\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.standard.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 22950,\n", + " \"2027-01-01.2027-12-31\": 23425,\n", + " \"2028-01-01.2028-12-31\": 23875,\n", + " \"2029-01-01.2029-12-31\": 24325,\n", + " \"2030-01-01.2030-12-31\": 24800,\n", + " \"2031-01-01.2031-12-31\": 25300,\n", + " \"2032-01-01.2032-12-31\": 25800,\n", + " \"2033-01-01.2033-12-31\": 26300,\n", + " \"2034-01-01.2034-12-31\": 26825,\n", + " \"2035-01-01.2035-12-31\": 27375,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 139850,\n", + " \"2027-01-01.2027-12-31\": 142675,\n", + " \"2028-01-01.2028-12-31\": 145425,\n", + " \"2029-01-01.2029-12-31\": 148200,\n", + " \"2030-01-01.2030-12-31\": 151100,\n", + " \"2031-01-01.2031-12-31\": 154100,\n", + " \"2032-01-01.2032-12-31\": 157150,\n", + " \"2033-01-01.2033-12-31\": 160300,\n", + " \"2034-01-01.2034-12-31\": 163525,\n", + " \"2035-01-01.2035-12-31\": 166850,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 210950,\n", + " \"2027-01-01.2027-12-31\": 215225,\n", + " \"2028-01-01.2028-12-31\": 219375,\n", + " \"2029-01-01.2029-12-31\": 223525,\n", + " \"2030-01-01.2030-12-31\": 227925,\n", + " \"2031-01-01.2031-12-31\": 232425,\n", + " \"2032-01-01.2032-12-31\": 237075,\n", + " \"2033-01-01.2033-12-31\": 241825,\n", + " \"2034-01-01.2034-12-31\": 246675,\n", + " \"2035-01-01.2035-12-31\": 251675,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 402725,\n", + " \"2027-01-01.2027-12-31\": 410875,\n", + " \"2028-01-01.2028-12-31\": 418800,\n", + " \"2029-01-01.2029-12-31\": 426725,\n", + " \"2030-01-01.2030-12-31\": 435125,\n", + " \"2031-01-01.2031-12-31\": 443725,\n", + " \"2032-01-01.2032-12-31\": 452575,\n", + " \"2033-01-01.2033-12-31\": 461650,\n", + " \"2034-01-01.2034-12-31\": 470925,\n", + " \"2035-01-01.2035-12-31\": 480450,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 511400,\n", + " \"2027-01-01.2027-12-31\": 521775,\n", + " \"2028-01-01.2028-12-31\": 531850,\n", + " \"2029-01-01.2029-12-31\": 541925,\n", + " \"2030-01-01.2030-12-31\": 552575,\n", + " \"2031-01-01.2031-12-31\": 563500,\n", + " \"2032-01-01.2032-12-31\": 574725,\n", + " \"2033-01-01.2033-12-31\": 586250,\n", + " \"2034-01-01.2034-12-31\": 598050,\n", + " \"2035-01-01.2035-12-31\": 610125,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 767125,\n", + " \"2027-01-01.2027-12-31\": 782650,\n", + " \"2028-01-01.2028-12-31\": 797775,\n", + " \"2029-01-01.2029-12-31\": 812875,\n", + " \"2030-01-01.2030-12-31\": 828850,\n", + " \"2031-01-01.2031-12-31\": 845250,\n", + " \"2032-01-01.2032-12-31\": 862100,\n", + " \"2033-01-01.2033-12-31\": 879350,\n", + " \"2034-01-01.2034-12-31\": 897050,\n", + " \"2035-01-01.2035-12-31\": 915200,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 89925,\n", + " \"2027-01-01.2027-12-31\": 91750,\n", + " \"2028-01-01.2028-12-31\": 93525,\n", + " \"2029-01-01.2029-12-31\": 95300,\n", + " \"2030-01-01.2030-12-31\": 97150,\n", + " \"2031-01-01.2031-12-31\": 99075,\n", + " \"2032-01-01.2032-12-31\": 101050,\n", + " \"2033-01-01.2033-12-31\": 103075,\n", + " \"2034-01-01.2034-12-31\": 105150,\n", + " \"2035-01-01.2035-12-31\": 107275,\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 105475,\n", + " \"2027-01-01.2027-12-31\": 107600,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111775,\n", + " \"2030-01-01.2030-12-31\": 113950,\n", + " \"2031-01-01.2031-12-31\": 116225,\n", + " \"2032-01-01.2032-12-31\": 118525,\n", + " \"2033-01-01.2033-12-31\": 120900,\n", + " \"2034-01-01.2034-12-31\": 123350,\n", + " \"2035-01-01.2035-12-31\": 125825,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 201350,\n", + " \"2027-01-01.2027-12-31\": 205425,\n", + " \"2028-01-01.2028-12-31\": 209400,\n", + " \"2029-01-01.2029-12-31\": 213375,\n", + " \"2030-01-01.2030-12-31\": 217550,\n", + " \"2031-01-01.2031-12-31\": 221875,\n", + " \"2032-01-01.2032-12-31\": 226275,\n", + " \"2033-01-01.2033-12-31\": 230825,\n", + " \"2034-01-01.2034-12-31\": 235475,\n", + " \"2035-01-01.2035-12-31\": 240225,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 255700,\n", + " \"2027-01-01.2027-12-31\": 260875,\n", + " \"2028-01-01.2028-12-31\": 265925,\n", + " \"2029-01-01.2029-12-31\": 270950,\n", + " \"2030-01-01.2030-12-31\": 276275,\n", + " \"2031-01-01.2031-12-31\": 281750,\n", + " \"2032-01-01.2032-12-31\": 287375,\n", + " \"2033-01-01.2033-12-31\": 293125,\n", + " \"2034-01-01.2034-12-31\": 299025,\n", + " \"2035-01-01.2035-12-31\": 305075,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2024-01-01.2024-12-31\": 396450,\n", + " \"2025-01-01.2025-12-31\": 400575,\n", + " \"2026-01-01.2026-12-31\": 409800,\n", + " \"2027-01-01.2027-12-31\": 418100,\n", + " \"2028-01-01.2028-12-31\": 426175,\n", + " \"2029-01-01.2029-12-31\": 434225,\n", + " \"2030-01-01.2030-12-31\": 442775,\n", + " \"2031-01-01.2031-12-31\": 451525,\n", + " \"2032-01-01.2032-12-31\": 460525,\n", + " \"2033-01-01.2033-12-31\": 469750,\n", + " \"2034-01-01.2034-12-31\": 479200,\n", + " \"2035-01-01.2035-12-31\": 488900,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 100000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2024-01-01.2024-12-31\": 198225,\n", + " \"2025-01-01.2025-12-31\": 200275,\n", + " \"2026-01-01.2026-12-31\": 204900,\n", + " \"2027-01-01.2027-12-31\": 209050,\n", + " \"2028-01-01.2028-12-31\": 213075,\n", + " \"2029-01-01.2029-12-31\": 217125,\n", + " \"2030-01-01.2030-12-31\": 221375,\n", + " \"2031-01-01.2031-12-31\": 225775,\n", + " \"2032-01-01.2032-12-31\": 230275,\n", + " \"2033-01-01.2033-12-31\": 234875,\n", + " \"2034-01-01.2034-12-31\": 239600,\n", + " \"2035-01-01.2035-12-31\": 244450,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 50000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 10000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 10000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 5000\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 1278575,\n", + " \"2027-01-01.2027-12-31\": 1304475,\n", + " \"2028-01-01.2028-12-31\": 1329675,\n", + " \"2029-01-01.2029-12-31\": 1354850,\n", + " \"2030-01-01.2030-12-31\": 1381475,\n", + " \"2031-01-01.2031-12-31\": 1408825,\n", + " \"2032-01-01.2032-12-31\": 1436875,\n", + " \"2033-01-01.2033-12-31\": 1465650,\n", + " \"2034-01-01.2034-12-31\": 1495150,\n", + " \"2035-01-01.2035-12-31\": 1525375,\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.itemized_deduction_rate\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 10_000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 10_000\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " },\n", + " country_id=\"us\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "reform_2 = Reform.from_dict(\n", + " {\n", + " \"gov.irs.income.bracket.rates.2\": {\"2026-01-01.2100-12-31\": 0.12},\n", + " \"gov.irs.income.bracket.rates.3\": {\"2026-01-01.2100-12-31\": 0.22},\n", + " \"gov.irs.income.bracket.rates.4\": {\"2026-01-01.2100-12-31\": 0.24},\n", + " \"gov.irs.income.bracket.rates.5\": {\"2026-01-01.2100-12-31\": 0.32},\n", + " \"gov.irs.income.bracket.rates.7\": {\"2026-01-01.2100-12-31\": 0.37},\n", + " \"gov.irs.deductions.qbi.max.rate\": {\"2026-01-01.2100-12-31\": 0.2},\n", + " \"gov.irs.income.exemption.amount\": {\"2026-01-01.2100-12-31\": 0},\n", + " \"gov.irs.deductions.qbi.max.w2_wages.rate\": {\"2026-01-01.2100-12-31\": 0.5},\n", + " \"gov.irs.deductions.standard.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 30600,\n", + " \"2027-01-01.2027-12-31\": 31225,\n", + " \"2028-01-01.2028-12-31\": 31825,\n", + " \"2029-01-01.2029-12-31\": 32425,\n", + " \"2030-01-01.2030-12-31\": 33050,\n", + " \"2031-01-01.2031-12-31\": 33725,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35075,\n", + " \"2034-01-01.2034-12-31\": 35775,\n", + " \"2035-01-01.2035-12-31\": 36500,\n", + " },\n", + " \"gov.irs.credits.ctc.amount.base[0].amount\": {\"2026-01-01.2100-12-31\": 2500},\n", + " \"gov.irs.deductions.standard.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 15300,\n", + " \"2027-01-01.2027-12-31\": 15600,\n", + " \"2028-01-01.2028-12-31\": 15900,\n", + " \"2029-01-01.2029-12-31\": 16225,\n", + " \"2030-01-01.2030-12-31\": 16525,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2035-12-31\": 18250,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 139850,\n", + " \"2027-01-01.2027-12-31\": 142675,\n", + " \"2028-01-01.2028-12-31\": 145425,\n", + " \"2029-01-01.2029-12-31\": 148200,\n", + " \"2030-01-01.2030-12-31\": 151100,\n", + " \"2031-01-01.2031-12-31\": 154100,\n", + " \"2032-01-01.2032-12-31\": 157150,\n", + " \"2033-01-01.2033-12-31\": 160300,\n", + " \"2034-01-01.2034-12-31\": 163525,\n", + " \"2035-01-01.2035-12-31\": 166850,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 210950,\n", + " \"2027-01-01.2027-12-31\": 215225,\n", + " \"2028-01-01.2028-12-31\": 219375,\n", + " \"2029-01-01.2029-12-31\": 223525,\n", + " \"2030-01-01.2030-12-31\": 227925,\n", + " \"2031-01-01.2031-12-31\": 232425,\n", + " \"2032-01-01.2032-12-31\": 237075,\n", + " \"2033-01-01.2033-12-31\": 241825,\n", + " \"2034-01-01.2034-12-31\": 246675,\n", + " \"2035-01-01.2035-12-31\": 251675,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 402725,\n", + " \"2027-01-01.2027-12-31\": 410875,\n", + " \"2028-01-01.2028-12-31\": 418800,\n", + " \"2029-01-01.2029-12-31\": 426725,\n", + " \"2030-01-01.2030-12-31\": 435125,\n", + " \"2031-01-01.2031-12-31\": 443725,\n", + " \"2032-01-01.2032-12-31\": 452575,\n", + " \"2033-01-01.2033-12-31\": 461650,\n", + " \"2034-01-01.2034-12-31\": 470925,\n", + " \"2035-01-01.2035-12-31\": 480450,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 511400,\n", + " \"2027-01-01.2027-12-31\": 521775,\n", + " \"2028-01-01.2028-12-31\": 531850,\n", + " \"2029-01-01.2029-12-31\": 541925,\n", + " \"2030-01-01.2030-12-31\": 552575,\n", + " \"2031-01-01.2031-12-31\": 563500,\n", + " \"2032-01-01.2032-12-31\": 574725,\n", + " \"2033-01-01.2033-12-31\": 586250,\n", + " \"2034-01-01.2034-12-31\": 598050,\n", + " \"2035-01-01.2035-12-31\": 610125,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 767125,\n", + " \"2027-01-01.2027-12-31\": 782650,\n", + " \"2028-01-01.2028-12-31\": 797775,\n", + " \"2029-01-01.2029-12-31\": 812875,\n", + " \"2030-01-01.2030-12-31\": 828850,\n", + " \"2031-01-01.2031-12-31\": 845250,\n", + " \"2032-01-01.2032-12-31\": 862100,\n", + " \"2033-01-01.2033-12-31\": 879350,\n", + " \"2034-01-01.2034-12-31\": 897050,\n", + " \"2035-01-01.2035-12-31\": 915200,\n", + " },\n", + " \"gov.irs.credits.ctc.amount.adult_dependent\": {\"2026-01-01.2100-12-31\": 500},\n", + " \"gov.irs.income.amt.exemption.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 89925,\n", + " \"2027-01-01.2027-12-31\": 91750,\n", + " \"2028-01-01.2028-12-31\": 93525,\n", + " \"2029-01-01.2029-12-31\": 95300,\n", + " \"2030-01-01.2030-12-31\": 97150,\n", + " \"2031-01-01.2031-12-31\": 99075,\n", + " \"2032-01-01.2032-12-31\": 101050,\n", + " \"2033-01-01.2033-12-31\": 103075,\n", + " \"2034-01-01.2034-12-31\": 105150,\n", + " \"2035-01-01.2035-12-31\": 107275,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 105475,\n", + " \"2027-01-01.2027-12-31\": 107600,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111775,\n", + " \"2030-01-01.2030-12-31\": 113950,\n", + " \"2031-01-01.2031-12-31\": 116225,\n", + " \"2032-01-01.2032-12-31\": 118525,\n", + " \"2033-01-01.2033-12-31\": 120900,\n", + " \"2034-01-01.2034-12-31\": 123350,\n", + " \"2035-01-01.2035-12-31\": 125825,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 201350,\n", + " \"2027-01-01.2027-12-31\": 205425,\n", + " \"2028-01-01.2028-12-31\": 209400,\n", + " \"2029-01-01.2029-12-31\": 213375,\n", + " \"2030-01-01.2030-12-31\": 217550,\n", + " \"2031-01-01.2031-12-31\": 221875,\n", + " \"2032-01-01.2032-12-31\": 226275,\n", + " \"2033-01-01.2033-12-31\": 230825,\n", + " \"2034-01-01.2034-12-31\": 235475,\n", + " \"2035-01-01.2035-12-31\": 240225,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 255700,\n", + " \"2027-01-01.2027-12-31\": 260875,\n", + " \"2028-01-01.2028-12-31\": 265925,\n", + " \"2029-01-01.2029-12-31\": 270950,\n", + " \"2030-01-01.2030-12-31\": 276275,\n", + " \"2031-01-01.2031-12-31\": 281750,\n", + " \"2032-01-01.2032-12-31\": 287375,\n", + " \"2033-01-01.2033-12-31\": 293125,\n", + " \"2034-01-01.2034-12-31\": 299025,\n", + " \"2035-01-01.2035-12-31\": 305075,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.itemized.casualty.active\": {\"2026-01-01.2100-12-31\": False},\n", + " \"gov.irs.deductions.standard.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 15300,\n", + " \"2027-01-01.2027-12-31\": 15600,\n", + " \"2028-01-01.2028-12-31\": 15900,\n", + " \"2029-01-01.2029-12-31\": 16225,\n", + " \"2030-01-01.2030-12-31\": 16525,\n", + " \"2031-01-01.2031-12-31\": 16850,\n", + " \"2032-01-01.2032-12-31\": 17200,\n", + " \"2033-01-01.2033-12-31\": 17550,\n", + " \"2034-01-01.2034-12-31\": 17900,\n", + " \"2035-01-01.2035-12-31\": 18250,\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.alt_rate\": {\"2026-01-01.2100-12-31\": 0.25},\n", + " \"gov.irs.deductions.qbi.phase_out.start.JOINT\": {\n", + " \"2024-01-01.2024-12-31\": 396450,\n", + " \"2025-01-01.2025-12-31\": 400575,\n", + " \"2026-01-01.2026-12-31\": 409800,\n", + " \"2027-01-01.2027-12-31\": 418100,\n", + " \"2028-01-01.2028-12-31\": 426175,\n", + " \"2029-01-01.2029-12-31\": 434225,\n", + " \"2030-01-01.2030-12-31\": 442775,\n", + " \"2031-01-01.2031-12-31\": 451525,\n", + " \"2032-01-01.2032-12-31\": 460525,\n", + " \"2033-01-01.2033-12-31\": 469750,\n", + " \"2034-01-01.2034-12-31\": 479200,\n", + " \"2035-01-01.2035-12-31\": 488900,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 69925,\n", + " \"2027-01-01.2027-12-31\": 71350,\n", + " \"2028-01-01.2028-12-31\": 72725,\n", + " \"2029-01-01.2029-12-31\": 74100,\n", + " \"2030-01-01.2030-12-31\": 75550,\n", + " \"2031-01-01.2031-12-31\": 77050,\n", + " \"2032-01-01.2032-12-31\": 78575,\n", + " \"2033-01-01.2033-12-31\": 80150,\n", + " \"2034-01-01.2034-12-31\": 81775,\n", + " \"2035-01-01.2035-12-31\": 83425,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 105475,\n", + " \"2027-01-01.2027-12-31\": 107600,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111775,\n", + " \"2030-01-01.2030-12-31\": 113950,\n", + " \"2031-01-01.2031-12-31\": 116225,\n", + " \"2032-01-01.2032-12-31\": 118525,\n", + " \"2033-01-01.2033-12-31\": 120900,\n", + " \"2034-01-01.2034-12-31\": 123350,\n", + " \"2035-01-01.2035-12-31\": 125825,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 201350,\n", + " \"2027-01-01.2027-12-31\": 205425,\n", + " \"2028-01-01.2028-12-31\": 209400,\n", + " \"2029-01-01.2029-12-31\": 213375,\n", + " \"2030-01-01.2030-12-31\": 217550,\n", + " \"2031-01-01.2031-12-31\": 221875,\n", + " \"2032-01-01.2032-12-31\": 226275,\n", + " \"2033-01-01.2033-12-31\": 230825,\n", + " \"2034-01-01.2034-12-31\": 235475,\n", + " \"2035-01-01.2035-12-31\": 240225,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 255700,\n", + " \"2027-01-01.2027-12-31\": 260875,\n", + " \"2028-01-01.2028-12-31\": 265925,\n", + " \"2029-01-01.2029-12-31\": 270950,\n", + " \"2030-01-01.2030-12-31\": 276275,\n", + " \"2031-01-01.2031-12-31\": 281750,\n", + " \"2032-01-01.2032-12-31\": 287375,\n", + " \"2033-01-01.2033-12-31\": 293125,\n", + " \"2034-01-01.2034-12-31\": 299025,\n", + " \"2035-01-01.2035-12-31\": 305075,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 383550,\n", + " \"2027-01-01.2027-12-31\": 391325,\n", + " \"2028-01-01.2028-12-31\": 398875,\n", + " \"2029-01-01.2029-12-31\": 406450,\n", + " \"2030-01-01.2030-12-31\": 414425,\n", + " \"2031-01-01.2031-12-31\": 422625,\n", + " \"2032-01-01.2032-12-31\": 431050,\n", + " \"2033-01-01.2033-12-31\": 439675,\n", + " \"2034-01-01.2034-12-31\": 448525,\n", + " \"2035-01-01.2035-12-31\": 457600,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.individual_max\": {\n", + " \"2026-01-01.2035-12-31\": 2200,\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 100000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SINGLE\": {\n", + " \"2024-01-01.2024-12-31\": 198225,\n", + " \"2025-01-01.2025-12-31\": 200275,\n", + " \"2026-01-01.2026-12-31\": 204900,\n", + " \"2027-01-01.2027-12-31\": 209050,\n", + " \"2028-01-01.2028-12-31\": 213075,\n", + " \"2029-01-01.2029-12-31\": 217125,\n", + " \"2030-01-01.2030-12-31\": 221375,\n", + " \"2031-01-01.2031-12-31\": 225775,\n", + " \"2032-01-01.2032-12-31\": 230275,\n", + " \"2033-01-01.2033-12-31\": 234875,\n", + " \"2034-01-01.2034-12-31\": 239600,\n", + " \"2035-01-01.2035-12-31\": 244450,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 50000\n", + " },\n", + " \"gov.irs.deductions.itemized.charity.ceiling.all\": {\n", + " \"2026-01-01.2100-12-31\": 0.6\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.agi_rate\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SEPARATE\": {\n", + " \"2024-01-01.2024-12-31\": 198225,\n", + " \"2025-01-01.2025-12-31\": 200275,\n", + " \"2026-01-01.2026-12-31\": 204900,\n", + " \"2027-01-01.2027-12-31\": 209050,\n", + " \"2028-01-01.2028-12-31\": 213075,\n", + " \"2029-01-01.2029-12-31\": 217125,\n", + " \"2030-01-01.2030-12-31\": 221375,\n", + " \"2031-01-01.2031-12-31\": 225775,\n", + " \"2032-01-01.2032-12-31\": 230275,\n", + " \"2033-01-01.2033-12-31\": 234875,\n", + " \"2034-01-01.2034-12-31\": 239600,\n", + " \"2035-01-01.2035-12-31\": 244450,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 50000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.phase_in.threshold\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.qbi.max.business_property.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.025\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 1278575,\n", + " \"2027-01-01.2027-12-31\": 1304475,\n", + " \"2028-01-01.2028-12-31\": 1329675,\n", + " \"2029-01-01.2029-12-31\": 1354850,\n", + " \"2030-01-01.2030-12-31\": 1381475,\n", + " \"2031-01-01.2031-12-31\": 1408825,\n", + " \"2032-01-01.2032-12-31\": 1436875,\n", + " \"2033-01-01.2033-12-31\": 1465650,\n", + " \"2034-01-01.2034-12-31\": 1495150,\n", + " \"2035-01-01.2035-12-31\": 1525375,\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 30600,\n", + " \"2027-01-01.2027-12-31\": 31225,\n", + " \"2028-01-01.2028-12-31\": 31825,\n", + " \"2029-01-01.2029-12-31\": 32425,\n", + " \"2030-01-01.2030-12-31\": 33050,\n", + " \"2031-01-01.2031-12-31\": 33725,\n", + " \"2032-01-01.2032-12-31\": 34400,\n", + " \"2033-01-01.2033-12-31\": 35075,\n", + " \"2034-01-01.2034-12-31\": 35775,\n", + " \"2035-01-01.2035-12-31\": 36500,\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.standard.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 22950,\n", + " \"2027-01-01.2027-12-31\": 23425,\n", + " \"2028-01-01.2028-12-31\": 23875,\n", + " \"2029-01-01.2029-12-31\": 24325,\n", + " \"2030-01-01.2030-12-31\": 24800,\n", + " \"2031-01-01.2031-12-31\": 25300,\n", + " \"2032-01-01.2032-12-31\": 25800,\n", + " \"2033-01-01.2033-12-31\": 26300,\n", + " \"2034-01-01.2034-12-31\": 26825,\n", + " \"2035-01-01.2035-12-31\": 27375,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 139850,\n", + " \"2027-01-01.2027-12-31\": 142675,\n", + " \"2028-01-01.2028-12-31\": 145425,\n", + " \"2029-01-01.2029-12-31\": 148200,\n", + " \"2030-01-01.2030-12-31\": 151100,\n", + " \"2031-01-01.2031-12-31\": 154100,\n", + " \"2032-01-01.2032-12-31\": 157150,\n", + " \"2033-01-01.2033-12-31\": 160300,\n", + " \"2034-01-01.2034-12-31\": 163525,\n", + " \"2035-01-01.2035-12-31\": 166850,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 210950,\n", + " \"2027-01-01.2027-12-31\": 215225,\n", + " \"2028-01-01.2028-12-31\": 219375,\n", + " \"2029-01-01.2029-12-31\": 223525,\n", + " \"2030-01-01.2030-12-31\": 227925,\n", + " \"2031-01-01.2031-12-31\": 232425,\n", + " \"2032-01-01.2032-12-31\": 237075,\n", + " \"2033-01-01.2033-12-31\": 241825,\n", + " \"2034-01-01.2034-12-31\": 246675,\n", + " \"2035-01-01.2035-12-31\": 251675,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 402725,\n", + " \"2027-01-01.2027-12-31\": 410875,\n", + " \"2028-01-01.2028-12-31\": 418800,\n", + " \"2029-01-01.2029-12-31\": 426725,\n", + " \"2030-01-01.2030-12-31\": 435125,\n", + " \"2031-01-01.2031-12-31\": 443725,\n", + " \"2032-01-01.2032-12-31\": 452575,\n", + " \"2033-01-01.2033-12-31\": 461650,\n", + " \"2034-01-01.2034-12-31\": 470925,\n", + " \"2035-01-01.2035-12-31\": 480450,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 511400,\n", + " \"2027-01-01.2027-12-31\": 521775,\n", + " \"2028-01-01.2028-12-31\": 531850,\n", + " \"2029-01-01.2029-12-31\": 541925,\n", + " \"2030-01-01.2030-12-31\": 552575,\n", + " \"2031-01-01.2031-12-31\": 563500,\n", + " \"2032-01-01.2032-12-31\": 574725,\n", + " \"2033-01-01.2033-12-31\": 586250,\n", + " \"2034-01-01.2034-12-31\": 598050,\n", + " \"2035-01-01.2035-12-31\": 610125,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 767125,\n", + " \"2027-01-01.2027-12-31\": 782650,\n", + " \"2028-01-01.2028-12-31\": 797775,\n", + " \"2029-01-01.2029-12-31\": 812875,\n", + " \"2030-01-01.2030-12-31\": 828850,\n", + " \"2031-01-01.2031-12-31\": 845250,\n", + " \"2032-01-01.2032-12-31\": 862100,\n", + " \"2033-01-01.2033-12-31\": 879350,\n", + " \"2034-01-01.2034-12-31\": 897050,\n", + " \"2035-01-01.2035-12-31\": 915200,\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 89925,\n", + " \"2027-01-01.2027-12-31\": 91750,\n", + " \"2028-01-01.2028-12-31\": 93525,\n", + " \"2029-01-01.2029-12-31\": 95300,\n", + " \"2030-01-01.2030-12-31\": 97150,\n", + " \"2031-01-01.2031-12-31\": 99075,\n", + " \"2032-01-01.2032-12-31\": 101050,\n", + " \"2033-01-01.2033-12-31\": 103075,\n", + " \"2034-01-01.2034-12-31\": 105150,\n", + " \"2035-01-01.2035-12-31\": 107275,\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 105475,\n", + " \"2027-01-01.2027-12-31\": 107600,\n", + " \"2028-01-01.2028-12-31\": 109700,\n", + " \"2029-01-01.2029-12-31\": 111775,\n", + " \"2030-01-01.2030-12-31\": 113950,\n", + " \"2031-01-01.2031-12-31\": 116225,\n", + " \"2032-01-01.2032-12-31\": 118525,\n", + " \"2033-01-01.2033-12-31\": 120900,\n", + " \"2034-01-01.2034-12-31\": 123350,\n", + " \"2035-01-01.2035-12-31\": 125825,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 201350,\n", + " \"2027-01-01.2027-12-31\": 205425,\n", + " \"2028-01-01.2028-12-31\": 209400,\n", + " \"2029-01-01.2029-12-31\": 213375,\n", + " \"2030-01-01.2030-12-31\": 217550,\n", + " \"2031-01-01.2031-12-31\": 221875,\n", + " \"2032-01-01.2032-12-31\": 226275,\n", + " \"2033-01-01.2033-12-31\": 230825,\n", + " \"2034-01-01.2034-12-31\": 235475,\n", + " \"2035-01-01.2035-12-31\": 240225,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 255700,\n", + " \"2027-01-01.2027-12-31\": 260875,\n", + " \"2028-01-01.2028-12-31\": 265925,\n", + " \"2029-01-01.2029-12-31\": 270950,\n", + " \"2030-01-01.2030-12-31\": 276275,\n", + " \"2031-01-01.2031-12-31\": 281750,\n", + " \"2032-01-01.2032-12-31\": 287375,\n", + " \"2033-01-01.2033-12-31\": 293125,\n", + " \"2034-01-01.2034-12-31\": 299025,\n", + " \"2035-01-01.2035-12-31\": 305075,\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2024-01-01.2024-12-31\": 396450,\n", + " \"2025-01-01.2025-12-31\": 400575,\n", + " \"2026-01-01.2026-12-31\": 409800,\n", + " \"2027-01-01.2027-12-31\": 418100,\n", + " \"2028-01-01.2028-12-31\": 426175,\n", + " \"2029-01-01.2029-12-31\": 434225,\n", + " \"2030-01-01.2030-12-31\": 442775,\n", + " \"2031-01-01.2031-12-31\": 451525,\n", + " \"2032-01-01.2032-12-31\": 460525,\n", + " \"2033-01-01.2033-12-31\": 469750,\n", + " \"2034-01-01.2034-12-31\": 479200,\n", + " \"2035-01-01.2035-12-31\": 488900,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 400000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 100000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2024-01-01.2024-12-31\": 198225,\n", + " \"2025-01-01.2025-12-31\": 200275,\n", + " \"2026-01-01.2026-12-31\": 204900,\n", + " \"2027-01-01.2027-12-31\": 209050,\n", + " \"2028-01-01.2028-12-31\": 213075,\n", + " \"2029-01-01.2029-12-31\": 217125,\n", + " \"2030-01-01.2030-12-31\": 221375,\n", + " \"2031-01-01.2031-12-31\": 225775,\n", + " \"2032-01-01.2032-12-31\": 230275,\n", + " \"2033-01-01.2033-12-31\": 234875,\n", + " \"2034-01-01.2034-12-31\": 239600,\n", + " \"2035-01-01.2035-12-31\": 244450,\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 200000\n", + " },\n", + " \"gov.irs.deductions.qbi.phase_out.length.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 50000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 10000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 10000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 5000\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 1278575,\n", + " \"2027-01-01.2027-12-31\": 1304475,\n", + " \"2028-01-01.2028-12-31\": 1329675,\n", + " \"2029-01-01.2029-12-31\": 1354850,\n", + " \"2030-01-01.2030-12-31\": 1381475,\n", + " \"2031-01-01.2031-12-31\": 1408825,\n", + " \"2032-01-01.2032-12-31\": 1436875,\n", + " \"2033-01-01.2033-12-31\": 1465650,\n", + " \"2034-01-01.2034-12-31\": 1495150,\n", + " \"2035-01-01.2035-12-31\": 1525375,\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.itemized_deduction_rate\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 639300,\n", + " \"2027-01-01.2027-12-31\": 652250,\n", + " \"2028-01-01.2028-12-31\": 664825,\n", + " \"2029-01-01.2029-12-31\": 677425,\n", + " \"2030-01-01.2030-12-31\": 690725,\n", + " \"2031-01-01.2031-12-31\": 704400,\n", + " \"2032-01-01.2032-12-31\": 718425,\n", + " \"2033-01-01.2033-12-31\": 732825,\n", + " \"2034-01-01.2034-12-31\": 747575,\n", + " \"2035-01-01.2035-12-31\": 762675,\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 10_000\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 10_000\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " \"gov.irs.deductions.itemized.limitation.applicable_amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": np.inf\n", + " },\n", + " },\n", + " country_id=\"us\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "def calculate_poverty_metrics(baseline_sim, reform_sim, period=2026):\n", + " \"\"\"Calculate poverty metrics for a given reform compared to baseline\"\"\"\n", + " baseline_poverty = baseline_sim.calculate(\"in_poverty\", map_to=\"person\", period=period)\n", + " reformed_poverty = reform_sim.calculate(\"in_poverty\", map_to=\"person\", period=period)\n", + " is_child = baseline_sim.calculate(\"is_child\", map_to=\"person\", period=period)\n", + " \n", + " # Baseline poverty rates\n", + " baseline_poverty_rate = baseline_poverty.mean()\n", + " baseline_child_poverty_rate = baseline_poverty[is_child].mean()\n", + " \n", + " # Reformed poverty rates\n", + " reformed_poverty_rate = reformed_poverty.mean()\n", + " reformed_child_poverty_rate = reformed_poverty[is_child].mean()\n", + " \n", + " # Overall poverty change\n", + " poverty_change = reformed_poverty_rate - baseline_poverty_rate\n", + " \n", + " # Child poverty change\n", + " child_poverty_change = reformed_child_poverty_rate - baseline_child_poverty_rate\n", + " \n", + " return {\n", + " 'baseline_poverty_rate': baseline_poverty_rate,\n", + " 'baseline_child_poverty_rate': baseline_child_poverty_rate,\n", + " 'poverty_change': poverty_change,\n", + " 'child_poverty_change': child_poverty_change,\n", + " 'final_poverty_rate': reformed_poverty_rate,\n", + " 'final_child_poverty_rate': reformed_child_poverty_rate\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "def run_simulations(baseline_reform, reforms_dict, dataset=None):\n", + " \"\"\"Run simulations for baseline and reforms, return poverty metrics\"\"\"\n", + " # Create simulations\n", + " if dataset:\n", + " baseline_sim = Microsimulation(reform=baseline_reform, dataset=dataset)\n", + " reform_sims = {name: Microsimulation(reform=reform, dataset=dataset) \n", + " for name, reform in reforms_dict.items()}\n", + " else:\n", + " baseline_sim = Microsimulation(reform=baseline_reform)\n", + " reform_sims = {name: Microsimulation(reform=reform) \n", + " for name, reform in reforms_dict.items()}\n", + " \n", + " # Calculate metrics for each reform\n", + " results = {}\n", + " baseline_rates = None\n", + " \n", + " for name, reform_sim in reform_sims.items():\n", + " metrics = calculate_poverty_metrics(baseline_sim, reform_sim)\n", + " \n", + " # Store baseline rates from first calculation\n", + " if baseline_rates is None:\n", + " baseline_rates = {\n", + " 'baseline_poverty_rate': metrics['baseline_poverty_rate'],\n", + " 'baseline_child_poverty_rate': metrics['baseline_child_poverty_rate']\n", + " }\n", + " \n", + " results[name] = metrics\n", + " \n", + " return results, baseline_rates" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# Define reforms dictionary\n", + "reforms = {\n", + " 'reform_1': reform,\n", + " 'reform_2': reform_2\n", + "}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Run CPS simulations\n", + "print(\"CPS Results:\")\n", + "cps_results, cps_baseline = run_simulations(baseline, reforms)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPS Results:\n", + "Metric Baseline Reform 1 Reform 2 \n", + "----------------------------------------------------------------------\n", + "Poverty Rate 10.92% 10.87% 10.77%\n", + "Poverty Change -- -0.05% -0.15%\n", + "Relative Poverty Change -- -0.48% -1.35%\n", + "Child Poverty Rate 10.63% 10.52% 10.28%\n", + "Child Poverty Change -- -0.11% -0.35%\n", + "Relative Child Poverty Change -- -1.04% -3.29%\n", + "\n", + "\n", + "Enhanced CPS Results:\n", + "Metric Baseline Reform 1 Reform 2 \n", + "----------------------------------------------------------------------\n", + "Poverty Rate 22.14% 22.10% 22.05%\n", + "Poverty Change -- -0.04% -0.10%\n", + "Relative Poverty Change -- -0.17% -0.44%\n", + "Child Poverty Rate 28.49% 28.39% 28.26%\n", + "Child Poverty Change -- -0.10% -0.22%\n", + "Relative Child Poverty Change -- -0.34% -0.78%\n" + ] + } + ], + "source": [ + "# Run CPS simulations\n", + "print(\"CPS Results:\")\n", + "cps_results, cps_baseline = run_simulations(baseline, reforms)\n", + "\n", + "# Print table header\n", + "print(f\"{'Metric':<30} {'Baseline':<12} {'Reform 1':<12} {'Reform 2':<12}\")\n", + "print(\"-\" * 70)\n", + "\n", + "# Overall poverty\n", + "print(f\"{'Poverty Rate':<30} {cps_baseline['baseline_poverty_rate']*100:>10.2f}% \"\n", + " f\"{cps_results['reform_1']['final_poverty_rate']*100:>10.2f}% \"\n", + " f\"{cps_results['reform_2']['final_poverty_rate']*100:>10.2f}%\")\n", + "\n", + "print(f\"{'Poverty Change':<30} {'--':>12} \"\n", + " f\"{cps_results['reform_1']['poverty_change']*100:>10.2f}% \"\n", + " f\"{cps_results['reform_2']['poverty_change']*100:>10.2f}%\")\n", + "\n", + "print(f\"{'Relative Poverty Change':<30} {'--':>12} \"\n", + " f\"{(cps_results['reform_1']['poverty_change']/cps_baseline['baseline_poverty_rate'])*100:>10.2f}% \"\n", + " f\"{(cps_results['reform_2']['poverty_change']/cps_baseline['baseline_poverty_rate'])*100:>10.2f}%\")\n", + "\n", + "# Child poverty\n", + "print(f\"{'Child Poverty Rate':<30} {cps_baseline['baseline_child_poverty_rate']*100:>10.2f}% \"\n", + " f\"{cps_results['reform_1']['final_child_poverty_rate']*100:>10.2f}% \"\n", + " f\"{cps_results['reform_2']['final_child_poverty_rate']*100:>10.2f}%\")\n", + "\n", + "print(f\"{'Child Poverty Change':<30} {'--':>12} \"\n", + " f\"{cps_results['reform_1']['child_poverty_change']*100:>10.2f}% \"\n", + " f\"{cps_results['reform_2']['child_poverty_change']*100:>10.2f}%\")\n", + "\n", + "print(f\"{'Relative Child Poverty Change':<30} {'--':>12} \"\n", + " f\"{(cps_results['reform_1']['child_poverty_change']/cps_baseline['baseline_child_poverty_rate'])*100:>10.2f}% \"\n", + " f\"{(cps_results['reform_2']['child_poverty_change']/cps_baseline['baseline_child_poverty_rate'])*100:>10.2f}%\")\n", + "\n", + "# Run Enhanced CPS simulations\n", + "print(\"\\n\\nEnhanced CPS Results:\")\n", + "enhanced_dataset = \"hf://policyengine/policyengine-us-data/enhanced_cps_2024.h5\"\n", + "enhanced_results, enhanced_baseline = run_simulations(baseline, reforms, dataset=enhanced_dataset)\n", + "\n", + "# Print table header\n", + "print(f\"{'Metric':<30} {'Baseline':<12} {'Reform 1':<12} {'Reform 2':<12}\")\n", + "print(\"-\" * 70)\n", + "\n", + "# Overall poverty\n", + "print(f\"{'Poverty Rate':<30} {enhanced_baseline['baseline_poverty_rate']*100:>10.2f}% \"\n", + " f\"{enhanced_results['reform_1']['final_poverty_rate']*100:>10.2f}% \"\n", + " f\"{enhanced_results['reform_2']['final_poverty_rate']*100:>10.2f}%\")\n", + "\n", + "print(f\"{'Poverty Change':<30} {'--':>12} \"\n", + " f\"{enhanced_results['reform_1']['poverty_change']*100:>10.2f}% \"\n", + " f\"{enhanced_results['reform_2']['poverty_change']*100:>10.2f}%\")\n", + "\n", + "print(f\"{'Relative Poverty Change':<30} {'--':>12} \"\n", + " f\"{(enhanced_results['reform_1']['poverty_change']/enhanced_baseline['baseline_poverty_rate'])*100:>10.2f}% \"\n", + " f\"{(enhanced_results['reform_2']['poverty_change']/enhanced_baseline['baseline_poverty_rate'])*100:>10.2f}%\")\n", + "\n", + "# Child poverty\n", + "print(f\"{'Child Poverty Rate':<30} {enhanced_baseline['baseline_child_poverty_rate']*100:>10.2f}% \"\n", + " f\"{enhanced_results['reform_1']['final_child_poverty_rate']*100:>10.2f}% \"\n", + " f\"{enhanced_results['reform_2']['final_child_poverty_rate']*100:>10.2f}%\")\n", + "\n", + "print(f\"{'Child Poverty Change':<30} {'--':>12} \"\n", + " f\"{enhanced_results['reform_1']['child_poverty_change']*100:>10.2f}% \"\n", + " f\"{enhanced_results['reform_2']['child_poverty_change']*100:>10.2f}%\")\n", + "\n", + "print(f\"{'Relative Child Poverty Change':<30} {'--':>12} \"\n", + " f\"{(enhanced_results['reform_1']['child_poverty_change']/enhanced_baseline['baseline_child_poverty_rate'])*100:>10.2f}% \"\n", + " f\"{(enhanced_results['reform_2']['child_poverty_change']/enhanced_baseline['baseline_child_poverty_rate'])*100:>10.2f}%\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pe", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}