PolicyEngine / PolicyEngine/microcosm

Pooled prior-year ASEC wages are not aged to the target year

Open
#944 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
4
Avg merge
1d 3h
Merged PRs (30d)
94

Description

Observed while joining raw ASEC records to the certified national file (populace-us-2024-spm-20260915; see the wage-band target issue for context).

For every one of the 166,321 persons, the 2024-period payroll_tax_gross_wages equals the raw ASEC WSAL_VAL for that person's own income year (ratio 1.000 at the 10th, 50th and 90th percentiles). Records from income years 2022 (31% of weight) and 2023 (31%) therefore carry 2022 and 2023 nominal wages in the 2024 period. us_runtime/asec_pool.py scales each year's weights to a population share and does not adjust dollar amounts; I found no other stage that ages them for employment_income.

Consequences measured on FUTA: Microcosm's Σ min(wage, $43,000) is 8.5% below the raw ASEC 2025 file at Census weights ($31.78B vs $34.74B at 0.6%), while Σ min(wage, $7,000) matches within 1.2%. Total payroll-tax wages are $10.74T vs $12.07T. Calibration to SOI/BEA/CBO aggregates compensates in total but not by wage band.

Question for the build owners: is the no-aging behaviour intended (weights absorb the vintage difference) or should pooled prior-year dollar inputs be uprated to the target year before calibration? If intended, a wage-band target would be the guard; if not, this is a fix in the pooling or source stage.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in us_runtime/asec_pool.py and trace the raw ASEC WSAL_VAL values through pooling and the source stage into employment_income. Compare the 2022 and 2023 income-year records with the 2024 certified file and the reported FUTA aggregates. Done requires an agreed decision on whether prior-year dollar inputs should be aged, plus an implementation or wage-band guard matching that decision.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.