diff --git a/changelog.d/uprating-series-mappings.fixed.md b/changelog.d/uprating-series-mappings.fixed.md new file mode 100644 index 00000000000..a76e5b0d4cd --- /dev/null +++ b/changelog.d/uprating-series-mappings.fixed.md @@ -0,0 +1 @@ +Point dollar inputs at closer uprating series: unemployment compensation follows CBO unemployment outlays instead of taxable Social Security, alimony follows the SOI alimony series, capital gains components follow capital gains, pay-linked inputs follow employment income, general health insurance premiums follow CMS per-capita spending, veterans benefits follow the Social Security cost-of-living index, and rent, child care, tuition, utilities, mortgage interest and student loan interest follow CPI-U. diff --git a/docs-quarto/methodology/spm-poverty.qmd b/docs-quarto/methodology/spm-poverty.qmd index cde383b882c..77c965c7c06 100644 --- a/docs-quarto/methodology/spm-poverty.qmd +++ b/docs-quarto/methodology/spm-poverty.qmd @@ -50,7 +50,7 @@ The [MOOP decomposition page](moop-decomposition.qmd) records the design and the Population results use the Microcosm US dataset. The current default is Build P: 57,240 Current Population Survey Annual Social and Economic Supplement households with 166,321 people, whose weights are fitted to 5,659 administrative and demographic targets (IRS Statistics of Income by state and by income, Census population estimates by age, sex and state, CMS Medicaid and Marketplace enrollment, USDA SNAP participation and benefits, SSA SSI, TANF, state tax collections and BEA national accounts). Poverty rates are never a target. That is a rule of the calibration, not an accident: a model whose weights were fitted to survey-based poverty rates could not be checked against them. -2025 values are the 2024 survey values carried forward by the model's uprating parameters: each uprated input grows by the ratio of its uprating series between the two years. Household weights grow with total population, so an input that follows a national total grows by that total divided by population ([`per_capita_uprating.py`](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/tools/per_capita_uprating.py)); its weighted total then tracks the national total. The main income sources (employment, self-employment and partnership income, Social Security, pensions and retirement account distributions, capital gains, dividends, interest, rental and farm income, and unemployment compensation) follow [IRS Statistics of Income series](https://github.com/PolicyEngine/policyengine-us/tree/main/policyengine_us/parameters/calibration/gov/irs/soi). Each series holds IRS totals through its last recorded year and a CBO projection extends it from there, so the growth applied from 2024 to 2025 is CBO's, per capita. Non-premium medical spending and the survey-reported premiums that enter SPM resources follow [CMS's projection of per-capita out-of-pocket health spending](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/parameters/calibration/gov/hhs/cms/moop_per_capita.yaml), which is already a per-person series. Child support paid and received, the energy subsidy, real estate taxes and household assets follow [CPI-U](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/parameters/gov/bls/cpi/cpi_u.yaml). Every other dollar input, including rent and child care expenses, follows [CBO's projection of total adjusted gross income](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/parameters/calibration/gov/cbo/income_by_source.yaml), the default that [`default_uprating.py`](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/tools/default_uprating.py) assigns, per capita like every national total. Household weights follow the model's [total population series](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/parameters/calibration/gov/census/populations/total.yaml), which takes its values from CBO's demographic outlook; person and SPM unit weights read the household weight. Inputs without an uprating parameter (ages, take-up indicators, tenure, geography) carry over unchanged, so household composition is held at its 2024 state. The population is projected, not resampled. +2025 values are the 2024 survey values carried forward by the model's uprating parameters: each uprated input grows by the ratio of its uprating series between the two years. Household weights grow with total population, so an input that follows a national total grows by that total divided by population ([`per_capita_uprating.py`](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/tools/per_capita_uprating.py)); its weighted total then tracks the national total. The main income sources (employment, self-employment and partnership income, Social Security, pensions and retirement account distributions, capital gains, dividends, interest, rental and farm income, and unemployment compensation) follow [IRS Statistics of Income series](https://github.com/PolicyEngine/policyengine-us/tree/main/policyengine_us/parameters/calibration/gov/irs/soi). Each series holds IRS totals through its last recorded year and a CBO projection extends it from there, so the growth applied from 2024 to 2025 is CBO's, per capita. Non-premium medical spending and the survey-reported premiums that enter SPM resources follow [CMS's projection of per-capita out-of-pocket health spending](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/parameters/calibration/gov/hhs/cms/moop_per_capita.yaml), which is already a per-person series. Rent, child care expenses, child support paid and received, the energy subsidy, real estate taxes, and household assets and debts follow [CPI-U](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/parameters/gov/bls/cpi/cpi_u.yaml). Workers' compensation follows the employment income series. Every other dollar input follows [CBO's projection of total adjusted gross income](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/parameters/calibration/gov/cbo/income_by_source.yaml), the default that [`default_uprating.py`](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/tools/default_uprating.py) assigns, per capita like every national total. Household weights follow the model's [total population series](https://github.com/PolicyEngine/policyengine-us/blob/main/policyengine_us/parameters/calibration/gov/census/populations/total.yaml), which takes its values from CBO's demographic outlook; person and SPM unit weights read the household weight. Inputs without an uprating parameter (ages, take-up indicators, tenure, geography) carry over unchanged, so household composition is held at its 2024 state. The population is projected, not resampled. ## What the model does not do diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/alimony_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/alimony_income.yaml index 9ebaf5effee..c8b9947d526 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/alimony_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/alimony_income.yaml @@ -4,7 +4,7 @@ values: 2021-01-01: 8_507_104_000 metadata: unit: currency-USD - label: SOI short-term capital gains + label: SOI alimony income uprating: calibration.gov.cbo.income_by_source.adjusted_gross_income reference: - title: IRS SOI Tax Stats - Individual Statistical Tables by Size of Adjusted Gross Income diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/unemployment_compensation.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/unemployment_compensation.yaml index aa8488d9d8d..f797d093c9e 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/unemployment_compensation.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/unemployment_compensation.yaml @@ -6,7 +6,11 @@ values: metadata: unit: currency-USD label: SOI unemployment compensation - uprating: calibration.gov.cbo.income_by_source.taxable_social_security + # CBO's unemployment compensation outlays begin in 2022, a year after the + # last SOI total, so growth is applied from 2022. + uprating: + parameter: calibration.gov.cbo.unemployment_compensation + start_instant: 2022-01-01 reference: - title: IRS SOI Tax Stats - Individual Statistical Tables by Size of Adjusted Gross Income href: https://www.irs.gov/statistics/soi-tax-stats-individual-statistical-tables-by-size-of-adjusted-gross-income diff --git a/policyengine_us/parameters/uprating_extensions.py b/policyengine_us/parameters/uprating_extensions.py index c186d2d212a..c720ab79c4b 100644 --- a/policyengine_us/parameters/uprating_extensions.py +++ b/policyengine_us/parameters/uprating_extensions.py @@ -510,6 +510,16 @@ def set_all_uprating_parameters(parameters: ParameterNode) -> ParameterNode: period_day=1, ) + # Unemployment compensation inputs age with CBO's unemployment + # compensation outlays, which anchor the SOI series past its last total. + extend_parameter_values( + parameters.calibration.gov.cbo.unemployment_compensation, + last_projected_year=2036, + end_year=END_YEAR, + period_month=1, + period_day=1, + ) + # CBO income-by-source aggregates are used directly and as anchors for # SOI-based income upraters. Extending them in the baseline path keeps # long-run nominal data aging independent of scenario-specific reforms. diff --git a/policyengine_us/tests/core/test_per_capita_uprating.py b/policyengine_us/tests/core/test_per_capita_uprating.py index 7a501b5e4d2..89ed3c4ceb7 100644 --- a/policyengine_us/tests/core/test_per_capita_uprating.py +++ b/policyengine_us/tests/core/test_per_capita_uprating.py @@ -85,8 +85,8 @@ def test_no_variable_uprates_by_a_national_total(): "variable, expected", [ ("employment_income_before_lsr", per_capita_path(SOI_EMPLOYMENT)), - ("pre_subsidy_rent", per_capita_path(CBO_AGI)), - ("spm_unit_pre_subsidy_childcare_expenses", per_capita_path(CBO_AGI)), + ("charitable_cash_donations", per_capita_path(CBO_AGI)), + ("miscellaneous_income", per_capita_path(CBO_AGI)), ("other_medical_expenses", CMS_MOOP), ("child_support_expense", CPI_U), ("household_weight", POPULATION_PATH), @@ -131,7 +131,7 @@ def _tiny_dataset(): "person_id": [1, 2, 3, 4], "person_household_id": [1, 1, 2, 3], "employment_income_before_lsr": [50_000.0, 0.0, 120_000.0, 30_000.0], - "pre_subsidy_rent": [12_000.0, 0.0, 30_000.0, 9_000.0], + "charitable_cash_donations": [1_200.0, 0.0, 30_000.0, 900.0], "other_medical_expenses": [500.0, 250.0, 4_000.0, 0.0], "child_support_expense": [0.0, 0.0, 6_000.0, 0.0], "age": [40.0, 8.0, 55.0, 70.0], @@ -180,7 +180,9 @@ def growth(column): assert growth("employment_income_before_lsr") == pytest.approx( _growth(SOI_EMPLOYMENT, year), rel=1e-9 ) - assert growth("pre_subsidy_rent") == pytest.approx(_growth(CBO_AGI, year), rel=1e-9) + assert growth("charitable_cash_donations") == pytest.approx( + _growth(CBO_AGI, year), rel=1e-9 + ) # Per-person rates and price indices: amounts follow the series and the # weights add population growth. assert growth("other_medical_expenses") == pytest.approx( diff --git a/policyengine_us/tests/core/test_uprating_series.py b/policyengine_us/tests/core/test_uprating_series.py new file mode 100644 index 00000000000..06595785de9 --- /dev/null +++ b/policyengine_us/tests/core/test_uprating_series.py @@ -0,0 +1,140 @@ +"""Each dollar input follows the series closest to what it measures: its own +national series, the income source it is part of, prices for consumption +expenses and debts, CMS per-capita spending for health costs.""" + +import pytest +from policyengine_core.parameters.operations.get_parameter import get_parameter + +from policyengine_us.data.economic_assumptions import MICRODATA_UPRATING_OVERRIDES +from policyengine_us.system import system +from policyengine_us.tools.per_capita_uprating import per_capita_path + +EMPLOYMENT = per_capita_path("calibration.gov.irs.soi.employment_income") +SELF_EMPLOYMENT = per_capita_path("calibration.gov.irs.soi.self_employment_income") +CAPITAL_GAINS = per_capita_path("calibration.gov.irs.soi.long_term_capital_gains") +ALIMONY = per_capita_path("calibration.gov.irs.soi.alimony_income") +UNEMPLOYMENT = per_capita_path("calibration.gov.irs.soi.unemployment_compensation") +DEFAULT = per_capita_path("calibration.gov.cbo.income_by_source.adjusted_gross_income") +CMS = "calibration.gov.hhs.cms.moop_per_capita" +CPI_U = "gov.bls.cpi.cpi_u" +COLA = "gov.ssa.uprating" + +EXPECTED = { + # Pay, and amounts set as a share of pay. + "hourly_wage": EMPLOYMENT, + "tip_income": EMPLOYMENT, + "fsla_overtime_premium": EMPLOYMENT, + "w2_wages_from_qualified_business": EMPLOYMENT, + "sstb_w2_wages_from_qualified_business": EMPLOYMENT, + "traditional_401k_contributions_desired": EMPLOYMENT, + "roth_401k_contributions_desired": EMPLOYMENT, + "traditional_403b_contributions_desired": EMPLOYMENT, + "roth_403b_contributions_desired": EMPLOYMENT, + "traditional_ira_contributions_desired": EMPLOYMENT, + "roth_ira_contributions_desired": EMPLOYMENT, + "military_basic_pay": EMPLOYMENT, + "military_service_income": EMPLOYMENT, + "state_or_federal_salary": EMPLOYMENT, + # Wage-replacement benefits. + "workers_compensation": EMPLOYMENT, + "disability_benefits": EMPLOYMENT, + "self_employed_pension_contributions_desired": SELF_EMPLOYMENT, + # Components of capital gains. + "long_term_capital_gains_on_collectibles": CAPITAL_GAINS, + "unrecaptured_section_1250_gain": CAPITAL_GAINS, + "non_sch_d_capital_gains": CAPITAL_GAINS, + "schedule_d_capital_gain_distributions": CAPITAL_GAINS, + "long_term_capital_gains_on_small_business_stock": CAPITAL_GAINS, + "long_term_capital_gains_on_assets_eligible_for_vt_exclusion": CAPITAL_GAINS, + "property_sales_net_capital_gain": CAPITAL_GAINS, + "other_net_gain": CAPITAL_GAINS, + # Own national series. + "alimony_income": ALIMONY, + "alimony_expense": ALIMONY, + "unemployment_compensation": UNEMPLOYMENT, + # Health costs. + "health_insurance_premiums": CMS, + # Benefits adjusted by the Social Security cost-of-living index. + "veterans_benefits": COLA, + # Consumption expenses, and the interest on debts, follow prices. The + # structured first and second mortgage inputs stay on the default: two are + # deprecated (issue #9275) and the file's formulas are outside the + # selective coverage job. + "pre_subsidy_rent": CPI_U, + "pre_subsidy_care_expenses": CPI_U, + "spm_unit_pre_subsidy_childcare_expenses": CPI_U, + "after_school_expenses": CPI_U, + "care_and_support_costs": CPI_U, + "qualified_tuition_expenses": CPI_U, + "tuition_and_fees": CPI_U, + "k12_tuition_and_fees": CPI_U, + "pre_subsidy_electricity_expense": CPI_U, + "gas_expense": CPI_U, + "metered_gas_expense": CPI_U, + "bottled_gas_expense": CPI_U, + "fuel_oil_expense": CPI_U, + "coal_expense": CPI_U, + "wood_expense": CPI_U, + "other_heating_fuel_expense": CPI_U, + "cooking_fuel_expense": CPI_U, + "heating_cooling_expense": CPI_U, + "heating_expense_person": CPI_U, + "water_expense": CPI_U, + "sewage_expense": CPI_U, + "trash_expense": CPI_U, + "phone_cost": CPI_U, + "broadband_cost": CPI_U, + "homeowners_insurance": CPI_U, + "homeowners_association_fees": CPI_U, + "pre_subsidy_transportation_expense": CPI_U, + "home_mortgage_interest": CPI_U, + "student_loan_interest": CPI_U, + "investment_interest_expense": CPI_U, + # Still on the default. + "charitable_cash_donations": DEFAULT, + "miscellaneous_income": DEFAULT, +} + + +def _value(path, year): + return get_parameter(system.parameters, path)(f"{year}-01-01") + + +@pytest.mark.parametrize("variable, series", sorted(EXPECTED.items())) +def test_variable_follows_expected_series(variable, series): + assert system.variables[variable].uprating == series + + +@pytest.mark.parametrize("series", sorted(set(EXPECTED.values()))) +def test_series_is_defined_across_the_projection_window(series): + for year in (2024, 2025, 2030, 2035): + assert _value(series, year) not in (None, 0) + + +@pytest.mark.parametrize("year", (2025, 2030, 2035, 2036)) +def test_unemployment_compensation_grows_with_cbo_unemployment_outlays(year): + soi = "calibration.gov.irs.soi.unemployment_compensation" + cbo = "calibration.gov.cbo.unemployment_compensation" + assert _value(soi, year) / _value(soi, 2024) == pytest.approx( + _value(cbo, year) / _value(cbo, 2024), rel=1e-12 + ) + + +def test_unemployment_compensation_series_do_not_flatten_after_2036(): + for path in ( + "calibration.gov.cbo.unemployment_compensation", + "calibration.gov.irs.soi.unemployment_compensation", + ): + assert _value(path, 2100) > _value(path, 2037) > _value(path, 2036) + + +def test_alimony_series_is_labelled_as_alimony(): + parameter = get_parameter( + system.parameters, "calibration.gov.irs.soi.alimony_income" + ) + assert parameter.metadata["label"] == "SOI alimony income" + + +def test_rent_override_matches_the_rent_input(): + assert MICRODATA_UPRATING_OVERRIDES["rent"] == CPI_U + assert system.variables["pre_subsidy_rent"].uprating == CPI_U diff --git a/policyengine_us/variables/gov/states/workers_compensation.py b/policyengine_us/variables/gov/states/workers_compensation.py index 1fd6bc540be..bdee7b469b5 100644 --- a/policyengine_us/variables/gov/states/workers_compensation.py +++ b/policyengine_us/variables/gov/states/workers_compensation.py @@ -7,3 +7,4 @@ class workers_compensation(Variable): label = "worker's compensation" unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/demographic/person/care_and_support_costs.py b/policyengine_us/variables/household/demographic/person/care_and_support_costs.py index 6d7649da444..c8e6bd1a468 100644 --- a/policyengine_us/variables/household/demographic/person/care_and_support_costs.py +++ b/policyengine_us/variables/household/demographic/person/care_and_support_costs.py @@ -6,4 +6,5 @@ class care_and_support_costs(Variable): entity = Person unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" label = "Total costs for this person's care and support" diff --git a/policyengine_us/variables/household/expense/childcare/after_school_expenses.py b/policyengine_us/variables/household/expense/childcare/after_school_expenses.py index 02ec3c7d547..fe23356b28e 100644 --- a/policyengine_us/variables/household/expense/childcare/after_school_expenses.py +++ b/policyengine_us/variables/household/expense/childcare/after_school_expenses.py @@ -6,4 +6,5 @@ class after_school_expenses(Variable): entity = Person label = "After school childcare expenses" definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" unit = USD diff --git a/policyengine_us/variables/household/expense/childcare/pre_subsidy_care_expenses.py b/policyengine_us/variables/household/expense/childcare/pre_subsidy_care_expenses.py index 8b2fb21056b..8c579899d9e 100644 --- a/policyengine_us/variables/household/expense/childcare/pre_subsidy_care_expenses.py +++ b/policyengine_us/variables/household/expense/childcare/pre_subsidy_care_expenses.py @@ -6,6 +6,7 @@ class pre_subsidy_care_expenses(Variable): entity = Person label = "Pre-subsidy care expenses for a disabled adult dependent or spouse" definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" unit = USD reference = "https://www.law.cornell.edu/uscode/text/26/21#b_2" documentation = """ diff --git a/policyengine_us/variables/household/expense/childcare/spm_unit_pre_subsidy_childcare_expenses.py b/policyengine_us/variables/household/expense/childcare/spm_unit_pre_subsidy_childcare_expenses.py index f93db4d6b68..6d413264037 100644 --- a/policyengine_us/variables/household/expense/childcare/spm_unit_pre_subsidy_childcare_expenses.py +++ b/policyengine_us/variables/household/expense/childcare/spm_unit_pre_subsidy_childcare_expenses.py @@ -6,4 +6,5 @@ class spm_unit_pre_subsidy_childcare_expenses(Variable): entity = SPMUnit label = "SPM unit pre subsidy child care expenses" definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" unit = USD diff --git a/policyengine_us/variables/household/expense/health/health_insurance_premiums.py b/policyengine_us/variables/household/expense/health/health_insurance_premiums.py index 79341afc631..936031f7fc9 100644 --- a/policyengine_us/variables/household/expense/health/health_insurance_premiums.py +++ b/policyengine_us/variables/household/expense/health/health_insurance_premiums.py @@ -7,6 +7,7 @@ class health_insurance_premiums(Variable): label = "Health insurance premiums" unit = USD definition_period = YEAR + uprating = "calibration.gov.hhs.cms.moop_per_capita" documentation = ( "Person-level health insurance premiums supplied directly as an input. " "SPM MOOP and statutory medical expense definitions use decomposed " diff --git a/policyengine_us/variables/household/expense/housing/heating_expense_person.py b/policyengine_us/variables/household/expense/housing/heating_expense_person.py index f98dc9331b1..ed4420ced9a 100644 --- a/policyengine_us/variables/household/expense/housing/heating_expense_person.py +++ b/policyengine_us/variables/household/expense/housing/heating_expense_person.py @@ -7,6 +7,7 @@ class heating_expense_person(Variable): label = "Heating cost for each person" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" documentation = ( "Deprecated: set heating_type and the matching per-fuel expense " "(e.g. gas_expense) for the dwelling's heating bill. For Michigan " diff --git a/policyengine_us/variables/household/expense/housing/homeowners_association_fees.py b/policyengine_us/variables/household/expense/housing/homeowners_association_fees.py index 6e3951fe452..d000ba7ce55 100644 --- a/policyengine_us/variables/household/expense/housing/homeowners_association_fees.py +++ b/policyengine_us/variables/household/expense/housing/homeowners_association_fees.py @@ -7,3 +7,4 @@ class homeowners_association_fees(Variable): label = "Homeowners association fees" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/housing/homeowners_insurance.py b/policyengine_us/variables/household/expense/housing/homeowners_insurance.py index c6663cd5b0e..5cee4e63ada 100644 --- a/policyengine_us/variables/household/expense/housing/homeowners_insurance.py +++ b/policyengine_us/variables/household/expense/housing/homeowners_insurance.py @@ -7,3 +7,4 @@ class homeowners_insurance(Variable): label = "Homeowners insurance" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/housing/pre_subsidy_rent.py b/policyengine_us/variables/household/expense/housing/pre_subsidy_rent.py index 0535519e1a7..3c6b363d6ab 100644 --- a/policyengine_us/variables/household/expense/housing/pre_subsidy_rent.py +++ b/policyengine_us/variables/household/expense/housing/pre_subsidy_rent.py @@ -7,3 +7,4 @@ class pre_subsidy_rent(Variable): label = "Pre subsidy rent" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/person/alimony_expense.py b/policyengine_us/variables/household/expense/person/alimony_expense.py index 1ddb73628a9..f811f95178f 100644 --- a/policyengine_us/variables/household/expense/person/alimony_expense.py +++ b/policyengine_us/variables/household/expense/person/alimony_expense.py @@ -7,3 +7,4 @@ class alimony_expense(Variable): label = "Alimony expense" unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.alimony_income" diff --git a/policyengine_us/variables/household/expense/person/home_mortgage_interest.py b/policyengine_us/variables/household/expense/person/home_mortgage_interest.py index 69920d3d2b3..f25312cafea 100644 --- a/policyengine_us/variables/household/expense/person/home_mortgage_interest.py +++ b/policyengine_us/variables/household/expense/person/home_mortgage_interest.py @@ -7,4 +7,5 @@ class home_mortgage_interest(Variable): label = "Interest paid on a home mortgage" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" documentation = "Home mortgage interest, including both reported and not reported on federal Form 1098." diff --git a/policyengine_us/variables/household/expense/person/investment_interest_expense.py b/policyengine_us/variables/household/expense/person/investment_interest_expense.py index c0bbb75dbee..7c2e66c3c2b 100644 --- a/policyengine_us/variables/household/expense/person/investment_interest_expense.py +++ b/policyengine_us/variables/household/expense/person/investment_interest_expense.py @@ -7,3 +7,4 @@ class investment_interest_expense(Variable): label = "Investment interest expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/person/k12_tuition_and_fees.py b/policyengine_us/variables/household/expense/person/k12_tuition_and_fees.py index fc92bb47d82..207c317d689 100644 --- a/policyengine_us/variables/household/expense/person/k12_tuition_and_fees.py +++ b/policyengine_us/variables/household/expense/person/k12_tuition_and_fees.py @@ -7,3 +7,4 @@ class k12_tuition_and_fees(Variable): label = "K-12 Tuition and fees (from Form 8917)" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/person/pre_subsidy_transportation_expense.py b/policyengine_us/variables/household/expense/person/pre_subsidy_transportation_expense.py index 88247bcdbc0..cfdf2d1b24d 100644 --- a/policyengine_us/variables/household/expense/person/pre_subsidy_transportation_expense.py +++ b/policyengine_us/variables/household/expense/person/pre_subsidy_transportation_expense.py @@ -5,5 +5,6 @@ class pre_subsidy_transportation_expense(Variable): value_type = float entity = Person definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" label = "Pre-subsidy transportation expense" unit = USD diff --git a/policyengine_us/variables/household/expense/person/qualified_tuition_expenses.py b/policyengine_us/variables/household/expense/person/qualified_tuition_expenses.py index b43133e8232..73ef793fdd6 100644 --- a/policyengine_us/variables/household/expense/person/qualified_tuition_expenses.py +++ b/policyengine_us/variables/household/expense/person/qualified_tuition_expenses.py @@ -7,3 +7,4 @@ class qualified_tuition_expenses(Variable): label = "Qualified tuition expenses" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/person/student_loan_interest.py b/policyengine_us/variables/household/expense/person/student_loan_interest.py index cab07fa2428..15cae383dd4 100644 --- a/policyengine_us/variables/household/expense/person/student_loan_interest.py +++ b/policyengine_us/variables/household/expense/person/student_loan_interest.py @@ -7,3 +7,4 @@ class student_loan_interest(Variable): label = "Student loan interest expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/person/tuition_and_fees.py b/policyengine_us/variables/household/expense/person/tuition_and_fees.py index 68dcfe315cf..2c4d3f66b01 100644 --- a/policyengine_us/variables/household/expense/person/tuition_and_fees.py +++ b/policyengine_us/variables/household/expense/person/tuition_and_fees.py @@ -7,3 +7,4 @@ class tuition_and_fees(Variable): label = "Tuition and fees (from Form 8917)" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/retirement/roth_401k_contributions_desired.py b/policyengine_us/variables/household/expense/retirement/roth_401k_contributions_desired.py index 099f2546979..f37b5315166 100644 --- a/policyengine_us/variables/household/expense/retirement/roth_401k_contributions_desired.py +++ b/policyengine_us/variables/household/expense/retirement/roth_401k_contributions_desired.py @@ -8,3 +8,4 @@ class roth_401k_contributions_desired(Variable): unit = USD documentation = "Roth 401(k) contributions before statutory contribution limits." definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/expense/retirement/roth_403b_contributions_desired.py b/policyengine_us/variables/household/expense/retirement/roth_403b_contributions_desired.py index 94c60186d04..48ce0358a3c 100644 --- a/policyengine_us/variables/household/expense/retirement/roth_403b_contributions_desired.py +++ b/policyengine_us/variables/household/expense/retirement/roth_403b_contributions_desired.py @@ -8,3 +8,4 @@ class roth_403b_contributions_desired(Variable): unit = USD documentation = "Roth 403(b) contributions before statutory contribution limits." definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/expense/retirement/roth_ira_contributions_desired.py b/policyengine_us/variables/household/expense/retirement/roth_ira_contributions_desired.py index ce9ca9c1f5f..eac50610ed6 100644 --- a/policyengine_us/variables/household/expense/retirement/roth_ira_contributions_desired.py +++ b/policyengine_us/variables/household/expense/retirement/roth_ira_contributions_desired.py @@ -8,3 +8,4 @@ class roth_ira_contributions_desired(Variable): unit = USD documentation = "Roth IRA contributions before statutory contribution limits." definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/expense/retirement/self_employed_pension_contributions_desired.py b/policyengine_us/variables/household/expense/retirement/self_employed_pension_contributions_desired.py index aedddd29142..943025e6335 100644 --- a/policyengine_us/variables/household/expense/retirement/self_employed_pension_contributions_desired.py +++ b/policyengine_us/variables/household/expense/retirement/self_employed_pension_contributions_desired.py @@ -10,3 +10,4 @@ class self_employed_pension_contributions_desired(Variable): "Self-employed pension plan contributions before statutory contribution limits." ) definition_period = YEAR + uprating = "calibration.gov.irs.soi.self_employment_income" diff --git a/policyengine_us/variables/household/expense/retirement/traditional_401k_contributions_desired.py b/policyengine_us/variables/household/expense/retirement/traditional_401k_contributions_desired.py index 741c22a87e2..a89da122f2f 100644 --- a/policyengine_us/variables/household/expense/retirement/traditional_401k_contributions_desired.py +++ b/policyengine_us/variables/household/expense/retirement/traditional_401k_contributions_desired.py @@ -10,3 +10,4 @@ class traditional_401k_contributions_desired(Variable): "Traditional 401(k) contributions before statutory contribution limits." ) definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/expense/retirement/traditional_403b_contributions_desired.py b/policyengine_us/variables/household/expense/retirement/traditional_403b_contributions_desired.py index 9461d2645c0..524173b3e49 100644 --- a/policyengine_us/variables/household/expense/retirement/traditional_403b_contributions_desired.py +++ b/policyengine_us/variables/household/expense/retirement/traditional_403b_contributions_desired.py @@ -10,3 +10,4 @@ class traditional_403b_contributions_desired(Variable): "Traditional 403(b) contributions before statutory contribution limits." ) definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/expense/retirement/traditional_ira_contributions_desired.py b/policyengine_us/variables/household/expense/retirement/traditional_ira_contributions_desired.py index 1dcd1bc8606..8a206f6e3b7 100644 --- a/policyengine_us/variables/household/expense/retirement/traditional_ira_contributions_desired.py +++ b/policyengine_us/variables/household/expense/retirement/traditional_ira_contributions_desired.py @@ -10,3 +10,4 @@ class traditional_ira_contributions_desired(Variable): "Traditional IRA contributions before statutory contribution limits." ) definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/expense/utilities/bottled_gas_expense.py b/policyengine_us/variables/household/expense/utilities/bottled_gas_expense.py index 6fd5167c99c..fe649abeb2e 100644 --- a/policyengine_us/variables/household/expense/utilities/bottled_gas_expense.py +++ b/policyengine_us/variables/household/expense/utilities/bottled_gas_expense.py @@ -7,3 +7,4 @@ class bottled_gas_expense(Variable): label = "Bottled gas expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/broadband_cost.py b/policyengine_us/variables/household/expense/utilities/broadband_cost.py index f523d9838ac..ec4d1fa35b2 100644 --- a/policyengine_us/variables/household/expense/utilities/broadband_cost.py +++ b/policyengine_us/variables/household/expense/utilities/broadband_cost.py @@ -7,3 +7,4 @@ class broadband_cost(Variable): label = "Broadband cost" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/coal_expense.py b/policyengine_us/variables/household/expense/utilities/coal_expense.py index 8e8b853740e..e60f73c5ce3 100644 --- a/policyengine_us/variables/household/expense/utilities/coal_expense.py +++ b/policyengine_us/variables/household/expense/utilities/coal_expense.py @@ -7,3 +7,4 @@ class coal_expense(Variable): label = "Coal expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/cooking_fuel_expense.py b/policyengine_us/variables/household/expense/utilities/cooking_fuel_expense.py index 2847168e2cc..9788586ae0c 100644 --- a/policyengine_us/variables/household/expense/utilities/cooking_fuel_expense.py +++ b/policyengine_us/variables/household/expense/utilities/cooking_fuel_expense.py @@ -7,3 +7,4 @@ class cooking_fuel_expense(Variable): label = "Cooking fuel expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/fuel_oil_expense.py b/policyengine_us/variables/household/expense/utilities/fuel_oil_expense.py index 35489cf2f86..d6063b02f62 100644 --- a/policyengine_us/variables/household/expense/utilities/fuel_oil_expense.py +++ b/policyengine_us/variables/household/expense/utilities/fuel_oil_expense.py @@ -7,3 +7,4 @@ class fuel_oil_expense(Variable): label = "Fuel oil expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/gas_expense.py b/policyengine_us/variables/household/expense/utilities/gas_expense.py index c8bdcce7798..8003b44e6cc 100644 --- a/policyengine_us/variables/household/expense/utilities/gas_expense.py +++ b/policyengine_us/variables/household/expense/utilities/gas_expense.py @@ -7,3 +7,4 @@ class gas_expense(Variable): label = "Gas expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/heating_cooling_expense.py b/policyengine_us/variables/household/expense/utilities/heating_cooling_expense.py index 7ce86a34927..99b228be5eb 100644 --- a/policyengine_us/variables/household/expense/utilities/heating_cooling_expense.py +++ b/policyengine_us/variables/household/expense/utilities/heating_cooling_expense.py @@ -7,6 +7,7 @@ class heating_cooling_expense(Variable): label = "Heating and cooling expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" documentation = ( "Deprecated for heating amounts: set heating_type and the matching per-fuel " "expense instead; this input remains only as a fallback inside the IL and MA " diff --git a/policyengine_us/variables/household/expense/utilities/metered_gas_expense.py b/policyengine_us/variables/household/expense/utilities/metered_gas_expense.py index 333b8afddc8..dd2bc63a18a 100644 --- a/policyengine_us/variables/household/expense/utilities/metered_gas_expense.py +++ b/policyengine_us/variables/household/expense/utilities/metered_gas_expense.py @@ -7,6 +7,7 @@ class metered_gas_expense(Variable): label = "Metered gas expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" documentation = ( "Deprecated: a duplicate of gas_expense, which every program now reads (the " "Illinois AABD metered gas allowance included). Set gas_expense instead; this " diff --git a/policyengine_us/variables/household/expense/utilities/other_heating_fuel_expense.py b/policyengine_us/variables/household/expense/utilities/other_heating_fuel_expense.py index 58cac028100..3dad4adf81f 100644 --- a/policyengine_us/variables/household/expense/utilities/other_heating_fuel_expense.py +++ b/policyengine_us/variables/household/expense/utilities/other_heating_fuel_expense.py @@ -7,4 +7,5 @@ class other_heating_fuel_expense(Variable): label = "Other heating fuel expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" documentation = "Annual expense for a heating fuel with no dedicated expense input; pairs with the OTHER heating type." diff --git a/policyengine_us/variables/household/expense/utilities/phone_cost.py b/policyengine_us/variables/household/expense/utilities/phone_cost.py index c74448f4d10..3e028ecd668 100644 --- a/policyengine_us/variables/household/expense/utilities/phone_cost.py +++ b/policyengine_us/variables/household/expense/utilities/phone_cost.py @@ -7,3 +7,4 @@ class phone_cost(Variable): label = "Phone cost" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/pre_subsidy_electricity_expense.py b/policyengine_us/variables/household/expense/utilities/pre_subsidy_electricity_expense.py index f013f968623..3d66776de21 100644 --- a/policyengine_us/variables/household/expense/utilities/pre_subsidy_electricity_expense.py +++ b/policyengine_us/variables/household/expense/utilities/pre_subsidy_electricity_expense.py @@ -7,3 +7,4 @@ class pre_subsidy_electricity_expense(Variable): label = "Pre subsidy electricity expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/sewage_expense.py b/policyengine_us/variables/household/expense/utilities/sewage_expense.py index 709a0a8aea6..9386d9ce7ad 100644 --- a/policyengine_us/variables/household/expense/utilities/sewage_expense.py +++ b/policyengine_us/variables/household/expense/utilities/sewage_expense.py @@ -7,3 +7,4 @@ class sewage_expense(Variable): label = "Sewage expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/trash_expense.py b/policyengine_us/variables/household/expense/utilities/trash_expense.py index 16dc866581d..c9e31a80fb2 100644 --- a/policyengine_us/variables/household/expense/utilities/trash_expense.py +++ b/policyengine_us/variables/household/expense/utilities/trash_expense.py @@ -7,3 +7,4 @@ class trash_expense(Variable): label = "Trash expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/water_expense.py b/policyengine_us/variables/household/expense/utilities/water_expense.py index aa1574808bb..5d16d2b7565 100644 --- a/policyengine_us/variables/household/expense/utilities/water_expense.py +++ b/policyengine_us/variables/household/expense/utilities/water_expense.py @@ -7,3 +7,4 @@ class water_expense(Variable): label = "Water expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" diff --git a/policyengine_us/variables/household/expense/utilities/wood_expense.py b/policyengine_us/variables/household/expense/utilities/wood_expense.py index 8c8e62e292e..ad162fbf1d7 100644 --- a/policyengine_us/variables/household/expense/utilities/wood_expense.py +++ b/policyengine_us/variables/household/expense/utilities/wood_expense.py @@ -7,4 +7,5 @@ class wood_expense(Variable): label = "Wood expense" unit = USD definition_period = YEAR + uprating = "gov.bls.cpi.cpi_u" documentation = "Annual expense for wood or wood pellet heating fuel." diff --git a/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_assets_eligible_for_vt_exclusion.py b/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_assets_eligible_for_vt_exclusion.py index 4a39166b664..9b6ae285b7e 100644 --- a/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_assets_eligible_for_vt_exclusion.py +++ b/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_assets_eligible_for_vt_exclusion.py @@ -7,6 +7,7 @@ class long_term_capital_gains_on_assets_eligible_for_vt_exclusion(Variable): label = "Long-term capital gains on assets eligible for Vermont's 40% exclusion" unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.long_term_capital_gains" defined_for = StateCode.VT reference = ( "https://tax.vermont.gov/sites/tax/files/documents/IN-153-2024.pdf#page=2", diff --git a/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_collectibles.py b/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_collectibles.py index 7d4c463003d..6afd59a0fb0 100644 --- a/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_collectibles.py +++ b/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_collectibles.py @@ -10,6 +10,7 @@ class long_term_capital_gains_on_collectibles(Variable): "Portion of capital_gains_28_percent_rate_gain associated with collectibles." ) definition_period = YEAR + uprating = "calibration.gov.irs.soi.long_term_capital_gains" reference = dict( title="26 U.S. Code § 1(h)(4)", href="https://www.law.cornell.edu/uscode/text/26/1#h_4", diff --git a/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_small_business_stock.py b/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_small_business_stock.py index 236ba3fec9d..88712fcaa25 100644 --- a/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_small_business_stock.py +++ b/policyengine_us/variables/household/income/person/capital_gains/long_term_capital_gains_on_small_business_stock.py @@ -8,6 +8,7 @@ class long_term_capital_gains_on_small_business_stock(Variable): unit = USD documentation = "Portion of capital_gains_28_percent_rate_gain not associated with collectibles." definition_period = YEAR + uprating = "calibration.gov.irs.soi.long_term_capital_gains" reference = dict( title="26 U.S. Code § 1(h)(4)", href="https://www.law.cornell.edu/uscode/text/26/1#h_4", diff --git a/policyengine_us/variables/household/income/person/capital_gains/non_sch_d_capital_gains.py b/policyengine_us/variables/household/income/person/capital_gains/non_sch_d_capital_gains.py index b7a5d57c506..3d1649588fb 100644 --- a/policyengine_us/variables/household/income/person/capital_gains/non_sch_d_capital_gains.py +++ b/policyengine_us/variables/household/income/person/capital_gains/non_sch_d_capital_gains.py @@ -7,3 +7,4 @@ class non_sch_d_capital_gains(Variable): label = "Capital gains not reported on Schedule D" unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.long_term_capital_gains" diff --git a/policyengine_us/variables/household/income/person/capital_gains/other_net_gain.py b/policyengine_us/variables/household/income/person/capital_gains/other_net_gain.py index d0e0c6bfd42..31531f724b6 100644 --- a/policyengine_us/variables/household/income/person/capital_gains/other_net_gain.py +++ b/policyengine_us/variables/household/income/person/capital_gains/other_net_gain.py @@ -8,3 +8,4 @@ class other_net_gain(Variable): unit = USD documentation = "Other net gain/loss from Form 4797" definition_period = YEAR + uprating = "calibration.gov.irs.soi.long_term_capital_gains" diff --git a/policyengine_us/variables/household/income/person/capital_gains/schedule_d_capital_gain_distributions.py b/policyengine_us/variables/household/income/person/capital_gains/schedule_d_capital_gain_distributions.py index 0c56c649fdd..f020d39ad94 100644 --- a/policyengine_us/variables/household/income/person/capital_gains/schedule_d_capital_gain_distributions.py +++ b/policyengine_us/variables/household/income/person/capital_gains/schedule_d_capital_gain_distributions.py @@ -8,6 +8,7 @@ class schedule_d_capital_gain_distributions(Variable): unit = USD documentation = "Capital gain distributions from regulated investment companies and REITs reported on Schedule D line 13. Memo component of long_term_capital_gains — already included there, so it does not separately enter gross income." definition_period = YEAR + uprating = "calibration.gov.irs.soi.long_term_capital_gains" reference = dict( title="2024 Instructions for Schedule D (Form 1040), line 13", href="https://www.irs.gov/instructions/i1040sd", diff --git a/policyengine_us/variables/household/income/person/capital_gains/unrecaptured_section_1250_gain.py b/policyengine_us/variables/household/income/person/capital_gains/unrecaptured_section_1250_gain.py index 8050a219178..d6076fcce5b 100644 --- a/policyengine_us/variables/household/income/person/capital_gains/unrecaptured_section_1250_gain.py +++ b/policyengine_us/variables/household/income/person/capital_gains/unrecaptured_section_1250_gain.py @@ -7,6 +7,7 @@ class unrecaptured_section_1250_gain(Variable): label = "Un-recaptured section 1250 gain" unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.long_term_capital_gains" reference = dict( title="26 U.S. Code § 1250(a)", href="https://www.law.cornell.edu/uscode/text/26/1250#a", diff --git a/policyengine_us/variables/household/income/person/fsla_overtime_premium.py b/policyengine_us/variables/household/income/person/fsla_overtime_premium.py index 469f53f38c3..d3b3e21efdf 100644 --- a/policyengine_us/variables/household/income/person/fsla_overtime_premium.py +++ b/policyengine_us/variables/household/income/person/fsla_overtime_premium.py @@ -13,4 +13,5 @@ class fsla_overtime_premium(Variable): ) unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" reference = "https://www.law.cornell.edu/uscode/text/29/207" diff --git a/policyengine_us/variables/household/income/person/general/disability_benefits.py b/policyengine_us/variables/household/income/person/general/disability_benefits.py index 2ac5e551c4e..fe525c274bf 100644 --- a/policyengine_us/variables/household/income/person/general/disability_benefits.py +++ b/policyengine_us/variables/household/income/person/general/disability_benefits.py @@ -8,3 +8,4 @@ class disability_benefits(Variable): unit = USD documentation = "Disability benefits from employment (not Social Security), except for worker's compensation." definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/income/person/general/military_service_income.py b/policyengine_us/variables/household/income/person/general/military_service_income.py index e521a9531fe..ca8a603b1ec 100644 --- a/policyengine_us/variables/household/income/person/general/military_service_income.py +++ b/policyengine_us/variables/household/income/person/general/military_service_income.py @@ -8,3 +8,4 @@ class military_service_income(Variable): unit = USD documentation = "Military pay from active duty, National Guard, and/or the reserve component of the armed forces." definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/income/person/general/state_or_federal_salary.py b/policyengine_us/variables/household/income/person/general/state_or_federal_salary.py index 78ab0988d14..b664b90a042 100644 --- a/policyengine_us/variables/household/income/person/general/state_or_federal_salary.py +++ b/policyengine_us/variables/household/income/person/general/state_or_federal_salary.py @@ -7,3 +7,4 @@ class state_or_federal_salary(Variable): label = "state or federal salary" unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/income/person/general/veterans_benefits.py b/policyengine_us/variables/household/income/person/general/veterans_benefits.py index 91c365751ee..a198c30f3be 100644 --- a/policyengine_us/variables/household/income/person/general/veterans_benefits.py +++ b/policyengine_us/variables/household/income/person/general/veterans_benefits.py @@ -8,3 +8,4 @@ class veterans_benefits(Variable): unit = USD documentation = "Veterans benefits from past military service." definition_period = YEAR + uprating = "gov.ssa.uprating" diff --git a/policyengine_us/variables/household/income/person/hourly_wage.py b/policyengine_us/variables/household/income/person/hourly_wage.py index 0938540339c..293f558a169 100644 --- a/policyengine_us/variables/household/income/person/hourly_wage.py +++ b/policyengine_us/variables/household/income/person/hourly_wage.py @@ -8,3 +8,4 @@ class hourly_wage(Variable): documentation = "Reported hourly wage, imputed from CPS ORG donors." unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/income/person/misc/alimony_income.py b/policyengine_us/variables/household/income/person/misc/alimony_income.py index 17d15093dc2..b90535cc98e 100644 --- a/policyengine_us/variables/household/income/person/misc/alimony_income.py +++ b/policyengine_us/variables/household/income/person/misc/alimony_income.py @@ -7,4 +7,4 @@ class alimony_income(Variable): label = "Alimony income" unit = USD definition_period = YEAR - uprating = "calibration.gov.irs.soi.self_employment_income" + uprating = "calibration.gov.irs.soi.alimony_income" diff --git a/policyengine_us/variables/household/income/person/misc/military_basic_pay.py b/policyengine_us/variables/household/income/person/misc/military_basic_pay.py index c3e3f1c6671..9efd71a5d30 100644 --- a/policyengine_us/variables/household/income/person/misc/military_basic_pay.py +++ b/policyengine_us/variables/household/income/person/misc/military_basic_pay.py @@ -7,3 +7,4 @@ class military_basic_pay(Variable): label = "Military basic pay" unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" diff --git a/policyengine_us/variables/household/income/person/self_employment/sstb_w2_wages_from_qualified_business.py b/policyengine_us/variables/household/income/person/self_employment/sstb_w2_wages_from_qualified_business.py index 53509d7e8a5..3b4635d4d09 100644 --- a/policyengine_us/variables/household/income/person/self_employment/sstb_w2_wages_from_qualified_business.py +++ b/policyengine_us/variables/household/income/person/self_employment/sstb_w2_wages_from_qualified_business.py @@ -13,6 +13,7 @@ class sstb_w2_wages_from_qualified_business(Variable): "mixed-business cases." ) definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" reference = ( "https://www.law.cornell.edu/uscode/text/26/199A#b_2", "https://www.law.cornell.edu/uscode/text/26/199A#d_3", diff --git a/policyengine_us/variables/household/income/person/self_employment/w2_wages_from_qualified_business.py b/policyengine_us/variables/household/income/person/self_employment/w2_wages_from_qualified_business.py index d992125b058..44cbc2d91aa 100644 --- a/policyengine_us/variables/household/income/person/self_employment/w2_wages_from_qualified_business.py +++ b/policyengine_us/variables/household/income/person/self_employment/w2_wages_from_qualified_business.py @@ -8,4 +8,5 @@ class w2_wages_from_qualified_business(Variable): unit = USD documentation = "Share of wages paid by this person to employees as part of a pass-through qualified business or trade." definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" reference = "https://www.law.cornell.edu/uscode/text/26/199A#b_4" diff --git a/policyengine_us/variables/household/income/person/tip_income.py b/policyengine_us/variables/household/income/person/tip_income.py index dae2e5d15d1..19919a71f37 100644 --- a/policyengine_us/variables/household/income/person/tip_income.py +++ b/policyengine_us/variables/household/income/person/tip_income.py @@ -7,6 +7,7 @@ class tip_income(Variable): label = "Tip income" unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.employment_income" reference = "https://www.law.cornell.edu/cfr/text/26/31.3402(k)-1" # This variable only exists for the purpose of the tax_exempt_reform diff --git a/policyengine_us/variables/household/income/tax_unit/property_sales_net_capital_gain.py b/policyengine_us/variables/household/income/tax_unit/property_sales_net_capital_gain.py index 0719eb545e3..103d7f9a603 100644 --- a/policyengine_us/variables/household/income/tax_unit/property_sales_net_capital_gain.py +++ b/policyengine_us/variables/household/income/tax_unit/property_sales_net_capital_gain.py @@ -7,3 +7,4 @@ class property_sales_net_capital_gain(Variable): label = "Net capital gains from sale or exchange of property" unit = USD definition_period = YEAR + uprating = "calibration.gov.irs.soi.long_term_capital_gains"