Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Resolve US state and congressional-district regions to the ACS local-area dataset

已关闭
#551 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

@anth-volk 已经在做这个了。

开始于 2026年10月5日。

  • #552 来自 @anth-volk —— 未关闭

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
python

调研方向

Start with src/policyengine/countries/us/regions.py lines 46–90 and src/policyengine/data/bundle/manifest.json, then inspect the existing populace_us_2024_acs_local overlay registration from #471. Done means state and congressional-district regions resolve through the pinned ACS local-area dataset with their dataset_path values, while the loading contract is agreed with the simulation API issue #717.

由索引模型根据 Issue 内容生成。

描述

Problem

US state and congressional-district regions filter the sparse national default file; no region resolves to the ACS local-area dataset.

On main (bundle us-6.2.1):

  • src/policyengine/countries/us/regions.py builds state regions (lines 46–60) and congressional-district regions (lines 63–90) with a RowFilterStrategy and no dataset_path, so they inherit the national region's populace_us_2024.h5.
  • src/policyengine/data/bundle/manifest.json → data_releases.us.region_datasets contains only national.
  • The local-area build is registered as the named non-default overlay populace_us_2024_acs_local (#471), pinned to populace-us-2024-buildo-acs-local-77e2061-20260724T110908Z, but nothing selects it for a region.

#437 previously resolved state regions to per-state policyengine-us-data files; since those retired, state reports in the app run on the national file. The API's deployed bundle (policyengine[models]==5.2.0) stamps state reports with populace-us-2024-buildp-sparse-rmloss100-cae8640-20260728T011454Z.

Evidence: Pennsylvania

Kish effective sample size, ESS = (Σw)² / Σw², 2026 baseline.

PA slice Sparse national, app pair (buildp-sparse-rmloss100-cae8640, policyengine-us 1.764.6) ACS local-area (buildo-acs-local-767312d60, policyengine-us 2.19.0)
Household records 1,999 64,981
Records holding 90% of weight 288 13,346
ESS, all households 314 558
ESS, households with children 120 234
ESS, poor SPM units with children 15.4 28.8
ESS, poor SPM units with children under 6 5.2 10.5
Median congressional-district ESS, all households 18 34

What this does to results: Children First PA (via the PA CTC analysis) asked why a Pennsylvania refundable credit for children under 6 showed almost no poverty or child poverty impact at any amount. On the app's data pair, poor SPM units with children under 6 whose poverty gap is at most $1,000 per child under 6 carry 0 weighted units. At $2,200 per child they carry 2. So no credit up to $2,200 can lift a family over the line in that data. On the local-area file the same groups carry 7,582 and 10,755 weighted units (ESS 1.6 and 3.1).

Proposed change

  1. Add region_datasets entries for state and congressional_district that resolve to populace_us_2024_acs_local.h5 through the overlay's own repo, revision and sha256. Set dataset_path on state and district regions and keep the existing RowFilterStrategy.
  2. Bump the overlay pin from the Jul 24 Build O (77e2061) to the Sep 23 build populace-us-2024-buildo-acs-local-767312d60-20260923T074941Z (or Build P 592ae5d6). In 77e2061's calibration_diagnostics.json, Pennsylvania taxable-interest targets miss by +178% (all returns) to +523% (AGI $200k–$500k). 767312d60 fits 94 of 96 Pennsylvania targets within 10%. Its misses are net capital gains returns (−34%) and taxable interest under $1 of AGI (−19%).
  3. Agree the loading contract with the simulation API (sibling issue): the national local-area file is 9.8 GB.

The local-area file improves the effective sample but still concentrates weight (the top 1% of PA records hold 69% of it). That calibration question is tracked in PolicyEngine/microcosm#403.

Related

🤖 Generated with Claude Code

主要语言
Python
星标
8
派生
10
平均合并
23 小时 16 分钟
30 天内合并 PR
49

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

PolicyEngine/policyengine.py 的其他 Issue

查看 PolicyEngine/policyengine.py 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。