PolicyEngine / PolicyEngine/policyengine-us

Declare SPM measurement scope for mixed country datasets

Open
#9,461 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
162
Forks
212
Avg merge
3d 3h
Merged PRs (30d)
97

Description

Country simulations need an explicit source-defined SPM measurement universe when a population includes records outside that universe. Missing composition or geography must not be used to infer exclusion, and excluded records must not become observed nonpoor people.

Add annual INCLUDED/OUTSIDE/UNRESOLVED status, keep outside SPM outcomes missing, and evaluate the canonical threshold provider only for included units. Preserve ordinary program calculations and included units' existing housing valuation. Outside units with positive housing assistance need an explicit annual ordinary valuation with retained source/allocation provenance.

Poverty indicators need nullable stock semantics and consumers must exclude missing statuses from eligible denominators. Automatic dataset extension must not manufacture annual scope or housing declarations. The implementation needs mixed-population, monthly/annual, source-preservation and contributed-reform regression coverage.

This is a source contract for a future compatible dataset. It does not certify existing population membership, outside housing valuations, a managed runtime bundle, or native fiscal results. Related housing/allocation and release work in #9448 needs reconciliation before release.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the canonical threshold provider, annual and monthly poverty-indicator consumers, and automatic dataset extension behavior. Use the mixed-population, source-preservation, housing-valuation, and contributed-reform regression coverage as the acceptance map; done means unresolved scope remains missing and excluded units are omitted from eligible denominators without changing ordinary calculations. Reconcile the result with related housing/allocation and release work in #9448.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.