Repository navigation
Correct uprating claims on the SPM poverty methodology page - #9525
Merged
Merged
Conversation
The Population section said rents are uprated by CPI-U. No rent variable carries a CPI-U uprating: pre_subsidy_rent takes the default dollar-input uprating (CBO total adjusted gross income) and rent is computed. Rewrite the paragraph from CountryTaxBenefitSystem().variables[...].uprating after system init, and from a 2024 to 2025 run on the default dataset. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This was referenced Sep 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Corrects the uprating paragraph in the Population section of
docs-quarto/methodology/spm-poverty.qmdso it states only what the code does. Docs only: no model code changes.What was wrong
The paragraph (added in #9438) made five uprating claims. Checked against
CountryTaxBenefitSystem().variables[<name>].upratingafter system init, whereadd_default_upratinghas already run:pre_subsidy_renttakes the default dollar-input uprating, CBO total adjusted gross income.rentis computed and has no uprating. No rent variable carries CPI-U.upratingmetadata naming a CBO parameter, so the 2024 to 2025 growth is CBO's.other_health_insurance_premiums(calibration.gov.hhs.cms.moop_per_capita, per-capita out-of-pocket payments).calibration.gov.census.populations.total, but its values and references are CBO's demographic outlook. Onlyhousehold_weight(andfamily_weight) are uprated;person_weightandspm_unit_weightreadhousehold_weight.CPI-U (
gov.bls.cpi.cpi_u) does uprate 23 variables, none of them rent: child support paid and received,spm_unit_energy_subsidy,real_estate_taxes, and the asset and debt inputs.Variables checked
upratingafter system init, and the 2024 to 2025 ratio observed by calculating each input for both years on the default dataset (populace_us_2024.h5atpopulace-us-2024-spm-20260909, time period 2024). Each ratio equals the uprating parameter's 2025 value over its 2024 value.upratingafter initpre_subsidy_rentcalibration.gov.cbo.income_by_source.adjusted_gross_income(default)rentspm_unit_pre_subsidy_childcare_expensescalibration.gov.cbo.income_by_source.adjusted_gross_income(default)employment_income_before_lsrcalibration.gov.irs.soi.employment_incomesocial_security_retirementcalibration.gov.irs.soi.social_securityunemployment_compensationcalibration.gov.irs.soi.unemployment_compensationtaxable_private_pension_incomecalibration.gov.irs.soi.taxable_pension_incomelong_term_capital_gains_before_responsecalibration.gov.irs.soi.long_term_capital_gainstaxable_pension_income,long_term_capital_gains,employment_income,self_employment_incomeother_medical_expensescalibration.gov.hhs.cms.moop_per_capitaover_the_counter_health_expensescalibration.gov.hhs.cms.moop_per_capitaother_health_insurance_premiumscalibration.gov.hhs.cms.moop_per_capitahealth_insurance_premiums_without_medicare_part_bcalibration.gov.hhs.cms.moop_per_capitahealth_insurance_premiumscalibration.gov.cbo.income_by_source.adjusted_gross_income(default)child_support_expensegov.bls.cpi.cpi_uchild_support_receivedgov.bls.cpi.cpi_uspm_unit_energy_subsidygov.bls.cpi.cpi_ureal_estate_taxesgov.bls.cpi.cpi_unet_worthgov.bls.cpi.cpi_uhousehold_weightcalibration.gov.census.populations.totalfamily_weightcalibration.gov.census.populations.totalperson_weight,spm_unit_weight,tax_unit_weight,marital_unit_weightage,takes_up_snap_if_eligible,county_fipsI also read
upratingfor all variables in the system. Across them, 278 carry the CBO total AGI parameter, 23 CPI-U, 17 the CMS parameter, 45 an IRS SOI series, 2 the population series and 1 (employer_sponsored_insurance_premiums) CBO employment income. No float dollar input is left without an uprating after init.Of the columns in the default dataset, 33 follow an IRS SOI series, 44 the CBO total AGI default, 11 CPI-U, 4 the CMS parameter and 1 the population series. The rest have no uprating and carry over unchanged.
How the mechanism was confirmed
Microsimulationextends the single-year dataset withextend_single_year_datasetinpolicyengine_us/data/economic_assumptions.py. For each column it chains year-over-year ratios of the variable's uprating parameter, or of the path inMICRODATA_UPRATING_OVERRIDESfor formula-owned columns. Columns without an uprating parameter carry forward unchanged. For the default dataset's columns the overrides name the same series as the variables. That table also mapsrentto CPI-U, but the default dataset carriespre_subsidy_rent, notrent, so that override does not apply.policyengine_core/simulations/simulation.pymultiplies the latest known period's array by the uprating parameter's value at the requested period over its value at the known period. Inputs without an uprating fall to the carry-over branch, whichpolicyengine_us/system.pyenables withauto_carry_over_input_variables = True.policyengine_us/tools/default_uprating.pyassignscalibration.gov.cbo.income_by_source.adjusted_gross_incometo any float dollar input whoseupratingis None.parameters/calibration/gov/irs/soi/has its last value in 2020 to 2023 andupratingmetadata pointing at a CBO parameter. After init, each SOI parameter's 2025/2024 ratio equals the ratio of the CBO parameter it names.pre_subsidy_rent,hud_gross_rent,hud_hap,housing_assistance,spm_unit_allocated_housing_subsidyandspm_unit_capped_housing_subsidy.Checked on
upstream/mainat a998473: policyengine-us 2.6.7, policyengine-core 3.30.2, spm-calculator 1.0.0, Python 3.14.4, environment built withuv sync.quarto render methodology/spm-poverty.qmdpasses locally.Noted, not changed
These are properties of the parameters as they stand. This PR documents them and does not alter them.
calibration.gov.irs.soi.unemployment_compensationis extended bycalibration.gov.cbo.income_by_source.taxable_social_security.alimony_incomefollows the SOI self-employment income series.health_insurance_premiumsfollows the CBO total AGI default, while the other reported premium inputs follow the CMS parameter. It does not enterspm_unit_health_insurance_premiums.calibration.gov.census.populations.totalsits under acensuspath but cites CBO's demographic outlook for its values.🤖 Generated with Claude Code