PolicyEngine / PolicyEngine/microcosm

Migrate primary residence value imputation to Populace

Open
#140 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

Context

policyengine-us-data PR PolicyEngine/policyengine-us-data#1085 added ACS-based primary_residence_value imputation from ACS VALP, fixing PolicyEngine/policyengine-us-data#1079.

That old PR is still open/draft in the superseded data repo, but the underlying question still matters for Populace: do we publish the PE-US-facing primary_residence_value input, and if so should it come from ACS VALP, SCF scf_primary_residence_value, or an explicitly documented bridge between the two?

This is related to the broader wealth/property backlog in #49, but narrower: make sure the primary-residence-value surface does not get lost inside the general asset-imputation audit.

Current Populace state

Local inspection finds scf_primary_residence_value declared in the US SCF wealth stage, but no obvious primary_residence_value output or ACS VALP source path.

Migration direction

Do not port the old policyengine-us-data staged-pipeline code directly. Translate the useful behavior into Populace source specs, export contracts, and diagnostics.

Questions to resolve:

  • Whether primary_residence_value is a required PE-US input in the published populace-us artifact.
  • Whether ACS VALP should provide the primary source for owner-occupied housing value, with SCF used for broader wealth decomposition, diagnostics, or fallback.
  • Whether scf_primary_residence_value should remain separate, be bridged into primary_residence_value, or be formula/diagnostic-only.

Acceptance criteria

  • Inventory/classify primary_residence_value and scf_primary_residence_value as populated, upstream-populated, formula-computed, diagnostic-only, or reviewed-excluded.
  • If primary_residence_value should be published, add the source-stage spec and export mapping needed to populate it.
  • Preserve the key behavioral guard from #1085: renters and non-owner/non-head records should not receive positive owner-occupied primary residence value.
  • Add fixture/unit coverage for owner vs renter handling and household-head carry behavior.
  • Add a release diagnostic or benchmark comparison against the chosen source/target, such as ACS owner-occupied home value totals/distribution or SCF housing wealth diagnostics.

Part of #49 and the broader migration audit in #46.

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 by reviewing the US SCF wealth stage declaration for scf_primary_residence_value and the prior policyengine-us-data PR #1085. Resolve the source and export contract, then add the relevant source-stage and fixture/unit coverage for owner, renter, and household-head cases. Done means the published artifact, diagnostics, and acceptance criteria consistently reflect the chosen mapping.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.