Skip to content

Read US scenario inputs at the benchmark year (TAX_YEAR)#60

Open
MaxGhenis wants to merge 1 commit into
mainfrom
policybench-scenario-year-2026
Open

Read US scenario inputs at the benchmark year (TAX_YEAR)#60
MaxGhenis wants to merge 1 commit into
mainfrom
policybench-scenario-year-2026

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

What

load_enhanced_cps_person_frame read promptable US inputs at the Enhanced CPS dataset's native period (sim.default_input_period, e.g. 2024), while scenarios are built and scored at TAX_YEAR (2026). PolicyEngine uprates monetary inputs across periods, so benchmark incomes sat ~9% below their 2026 level — and out of step with the population weights, which are computed at TAX_YEAR. This reads US inputs at TAX_YEAR, matching the UK loader (which already does).

The dataset's native period is still returned as dataset_year for provenance (the enhanced_cps_<year> artifact label); only the calculation period changes.

Impact

This shifts benchmark household incomes to their 2026-representative level. Reference outputs (and the published snapshot) must be regenerated for it to take effect in a run — so this rides with the in-progress microdata refresh.

Verification

  • New unit test asserts every promptable input is read at TAX_YEAR while dataset_year still reports the dataset period.
  • Full suite green in the lockfile env (uv sync --locked): 280 passed.

Note (separate issue, flagged not fixed here): a fresh pip install -e ".[dev]" now resolves policyengine-core 3.27.0 (released 2026-06-04), which can't load the pinned policyengine-us (self_employment_income mixes adds + uprating). CI is unaffected because it uses uv sync --locked (core 3.26.1). The README quick-start's bare pip install path is the one that breaks.

🤖 Generated with Claude Code

load_enhanced_cps_person_frame read promptable inputs at the Enhanced CPS
dataset's native period (sim.default_input_period, e.g. 2024) while scenarios
are built and scored at TAX_YEAR (2026). PolicyEngine uprates monetary inputs
across periods, so benchmark incomes sat several percent below their 2026 level
and out of step with the population weights, which are computed at TAX_YEAR. The
UK loader already reads at TAX_YEAR; this makes the US path consistent.

The dataset's native period is still returned as dataset_year for provenance
(the enhanced_cps_<year> artifact label). Reference outputs must be regenerated
for this to take effect in a published run.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
policybench-site Ready Ready Preview, Comment Jun 8, 2026 5:08am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant