PolicyEngine / PolicyEngine/microcosm
Surface work-experience industry and worked-last-year person inputs (LWI MVP schema)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 4
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 94
Description
The Living Wage Institute county-microdata engagement (confirmed 2026-08-14) commits the MVP person schema to carry, on every person record: (1) a working indicator, (2) industry, (3) occupation.
Occupation already ships: detailed_occupation_recode (ASEC POCCU2, occupation of longest job by detailed groups) flows through the org_wages stage. Industry and an explicit working indicator do not exist anywhere in the build: the frozen census_cps person inputs carry no industry column and no work-experience status recode (only WKSWORK/A_HRS1/HRSWK intensity fields), and no stage outputs them.
Verified against the official ASEC public-use data dictionary (asec2024_ddl_pub_full.pdf) and persfmt.txt:
WEIND— "IND. OF LONGEST JOB BY DETAILED GROUPS" (0:23; 22 = Military, 23 = Never worked; 0 = NIU), universe all persons 15+. The reference-period-coherent detailed sibling ofPOCCU2. NoteA_DTIND/A_MJINDare the survey-week current-job recodes (universeA_CLSWKR=1-7) and would misalign with the longest-job occupation and the income reference year.WEMIND— "IND. OF LONGEST JOB BY MAJOR IND. GROUPS" (0:15).WORKYN— "Did ... work at a job or business at any time during 20..?" (0 = NIU, 1 = yes, 2 = no), universe all persons 15+.
Plan:
- New post-clone source stage
work_experience_inputsrestoringWEIND/WEMIND/WORKYNfor every pooled income year from the same three SHA-pinned official ASEC archives the education-assistance and public-assistance-type sidecars pin (exactPERIDNUMjoins; never predicts a value), then deriving person outputsdetailed_industry_recode,major_industry_recode,worked_last_year. - Prerequisite PolicyEngine-US PR adds the three input variables mirroring
detailed_occupation_recode; the release input-coverage gate requires them in the locked engine, so the microcosm PR bumps the pe-us lock once released. - No change to frozen census_cps artifacts, HF destinations, or release publication.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the planned post-clone work_experience_inputs stage and review the existing education-assistance and public-assistance-type sidecars for their SHA-pinned ASEC archive and exact PERIDNUM-join patterns. Confirm the three PolicyEngine-US input variables and locked-engine coverage gate; done means the three person outputs are produced for every pooled income year without changing frozen census_cps artifacts, HF destinations, or release publication.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, data-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100