From 976c22a6430e5fd6ed3c7dac1ca26853510c51f4 Mon Sep 17 00:00:00 2001 From: Nikhil Woodruff Date: Mon, 7 Oct 2024 13:07:15 +0100 Subject: [PATCH 1/5] Update US data --- changelog_entry.yaml | 3 +++ setup.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb2d..388a6c40a7a 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,3 @@ +- bump: minor + changes: + - Updated to PolicyEngine US Data v1.9. diff --git a/setup.py b/setup.py index 31bb3e6f0f9..be52822939a 100644 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ ], install_requires=[ "policyengine-core>=3.8.1", - "policyengine-us-data==1.8.0", + "policyengine-us-data==1.9.0", "microdf-python", "tqdm", ], From a08bc2170284ad42ba56b742b05d86ea9ea6ee57 Mon Sep 17 00:00:00 2001 From: Nikhil Woodruff Date: Tue, 8 Oct 2024 17:08:33 +0100 Subject: [PATCH 2/5] Bump to PE-US-Data 1.10 --- changelog_entry.yaml | 2 +- .../gov/irs/credits/earned_income/takes_up_eitc.py | 9 +-------- .../variables/gov/usda/snap/takes_up_snap_if_eligible.py | 4 +--- setup.py | 2 +- 4 files changed, 4 insertions(+), 13 deletions(-) diff --git a/changelog_entry.yaml b/changelog_entry.yaml index 388a6c40a7a..5476d5cb70a 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -1,3 +1,3 @@ - bump: minor changes: - - Updated to PolicyEngine US Data v1.9. + - Updated to PolicyEngine US Data v1.10. diff --git a/policyengine_us/variables/gov/irs/credits/earned_income/takes_up_eitc.py b/policyengine_us/variables/gov/irs/credits/earned_income/takes_up_eitc.py index f40d95dbe4f..ef6097263e0 100644 --- a/policyengine_us/variables/gov/irs/credits/earned_income/takes_up_eitc.py +++ b/policyengine_us/variables/gov/irs/credits/earned_income/takes_up_eitc.py @@ -6,11 +6,4 @@ class takes_up_eitc(Variable): entity = TaxUnit label = "takes up the EITC" definition_period = YEAR - - def formula(tax_unit, period, parameters): - if not hasattr(tax_unit.simulation, "dataset"): - return True - takeup_rates = parameters(period).gov.irs.credits.eitc.takeup - count_children = tax_unit("eitc_child_count", period) - takeup_rate = takeup_rates.calc(count_children) - return random(tax_unit) < takeup_rate + default_value = True diff --git a/policyengine_us/variables/gov/usda/snap/takes_up_snap_if_eligible.py b/policyengine_us/variables/gov/usda/snap/takes_up_snap_if_eligible.py index 136a18acedd..2d3f1b12549 100644 --- a/policyengine_us/variables/gov/usda/snap/takes_up_snap_if_eligible.py +++ b/policyengine_us/variables/gov/usda/snap/takes_up_snap_if_eligible.py @@ -6,6 +6,4 @@ class takes_up_snap_if_eligible(Variable): entity = SPMUnit label = "Whether a random eligible SPM unit does not claim SNAP" definition_period = YEAR - - def formula(spm_unit, period, parameters): - return random(spm_unit) < parameters(period).gov.usda.snap.takeup_rate + default_value = True diff --git a/setup.py b/setup.py index 1a963ec26dd..68183d92c82 100644 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ ], install_requires=[ "policyengine-core>=3.8.1", - "policyengine-us-data==1.9.0", + "policyengine-us-data==1.10.0", "microdf-python", "tqdm", ], From af2a6acdbdff98e3396cae8ed3a798a2cf2a6413 Mon Sep 17 00:00:00 2001 From: Nikhil Woodruff Date: Tue, 8 Oct 2024 17:57:09 +0100 Subject: [PATCH 3/5] Adjust test? --- .../tests/policy/baseline/household/marginal_tax_rate.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policyengine_us/tests/policy/baseline/household/marginal_tax_rate.yaml b/policyengine_us/tests/policy/baseline/household/marginal_tax_rate.yaml index 83e099dd98a..c6fc58a09cb 100644 --- a/policyengine_us/tests/policy/baseline/household/marginal_tax_rate.yaml +++ b/policyengine_us/tests/policy/baseline/household/marginal_tax_rate.yaml @@ -87,4 +87,4 @@ members: [person1, person2] state_fips: 48 # TX output: - marginal_tax_rate: [0.3165, 0.0765] + marginal_tax_rate: [0.3165, -0.0765] From dfc7973ecf2bc5e4ab471641ae4beee5d2a8da69 Mon Sep 17 00:00:00 2001 From: Nikhil Woodruff Date: Wed, 9 Oct 2024 15:45:32 +0100 Subject: [PATCH 4/5] Bump to 1.11 data --- changelog_entry.yaml | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/changelog_entry.yaml b/changelog_entry.yaml index 5476d5cb70a..a672f6abf3a 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -1,3 +1,3 @@ - bump: minor changes: - - Updated to PolicyEngine US Data v1.10. + - Updated to PolicyEngine US Data v1.11. diff --git a/setup.py b/setup.py index ab9713ee9e7..1110941a5ca 100644 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ ], install_requires=[ "policyengine-core>=3.8.1", - "policyengine-us-data==1.10.0", + "policyengine-us-data==1.11.0", "microdf-python", "tqdm", ], From acddec29ba857b63b0f79458c2e19d2cb45fe00b Mon Sep 17 00:00:00 2001 From: Nikhil Woodruff Date: Fri, 11 Oct 2024 15:34:08 +0100 Subject: [PATCH 5/5] Add extra cg bracket --- changelog_entry.yaml | 3 ++- .../parameters/gov/irs/capital_gains/brackets.yaml | 13 +++++++++++++ .../states/nj/tax/income/credits/eitc/nj_eitc.py | 14 +++++++++++++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/changelog_entry.yaml b/changelog_entry.yaml index a672f6abf3a..92599cb48b4 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -1,3 +1,4 @@ - bump: minor changes: - - Updated to PolicyEngine US Data v1.11. + fixed: + - NJ EITC correctly calculates federal EITC entitlement. diff --git a/policyengine_us/parameters/gov/irs/capital_gains/brackets.yaml b/policyengine_us/parameters/gov/irs/capital_gains/brackets.yaml index fcae6e56f02..71f895ba1d9 100644 --- a/policyengine_us/parameters/gov/irs/capital_gains/brackets.yaml +++ b/policyengine_us/parameters/gov/irs/capital_gains/brackets.yaml @@ -7,6 +7,8 @@ rates: 2013-01-01: 0.15 3: 2013-01-01: 0.2 + 4: + 2013-01-01: 0.2 metadata: unit: /1 thresholds: @@ -173,3 +175,14 @@ thresholds: 2022-01-01: 517_200 2023-01-01: 553_850 2024-01-01: 583_750 + 3: + SINGLE: + 2013-01-01: 1_000_000_000 + JOINT: + 2013-01-01: 1_000_000_000 + SEPARATE: + 2013-01-01: 1_000_000_000 + HEAD_OF_HOUSEHOLD: + 2013-01-01: 1_000_000_000 + SURVIVING_SPOUSE: + 2013-01-01: 1_000_000_000 diff --git a/policyengine_us/variables/gov/states/nj/tax/income/credits/eitc/nj_eitc.py b/policyengine_us/variables/gov/states/nj/tax/income/credits/eitc/nj_eitc.py index 227ffb78b4e..f49aa4b7756 100644 --- a/policyengine_us/variables/gov/states/nj/tax/income/credits/eitc/nj_eitc.py +++ b/policyengine_us/variables/gov/states/nj/tax/income/credits/eitc/nj_eitc.py @@ -23,9 +23,21 @@ def formula(tax_unit, period, parameters): # Otherwise, return 0. # Worksheet reference: https://www.state.nj.us/treasury/taxation/pdf/current/1040i.pdf#page=43 + federal_eitc_eligible_assuming_income_ok = tax_unit( + "eitc_eligible", period + ) + federal_eitc_meets_income_test = tax_unit( + "eitc_phased_in", period + ) > tax_unit("eitc_reduction", period) + federal_eitc_takes_up = tax_unit("takes_up_eitc", period) + federal_eitc_eligible = ( + federal_eitc_eligible_assuming_income_ok + & federal_eitc_meets_income_test + & federal_eitc_takes_up + ) federal_eitc = select( [ - tax_unit("eitc_eligible", period), + federal_eitc_eligible, tax_unit("nj_childless_eitc_age_eligible", period), ], [