PolicyEngine / PolicyEngine/policyengine-us
Make Medicaid cost allocation compatible with Populace reweighting
- Dominant language
- Python
- Stars
- 162
- Forks
- 212
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 97
Description
## Type
Mixed rules and data.
## Context
Populace currently treats Medicaid spending as validation-only because PolicyEngine-US allocates Medicaid spending from state totals through denominators that depend on `person_weight`, `medicaid_slcsp_cost_index_filled`, and `medicaid_enrolled`. When Populace reweights the dataset, the per-person Medicaid costs are recomputed, so Medicaid spending is not a linear calibration row.
Relevant current model path:
- `medicaid_cost` is defined for `medicaid_enrolled` and adds `medicaid_cost_if_enrolled`.
- `medicaid_slcsp_state_denominator` sums `person_weight * medicaid_slcsp_cost_index_filled * medicaid_enrolled` over each state when running over a dataset.
This is reasonable for a normal simulation, but it makes budget calibration harder because changing weights changes both support and per-person cost values.
## Why this matters
For budget analyses, Populace should eventually be able to calibrate Medicaid enrollment and spending together. Right now enrollment can be a count target, but Medicaid spending cannot be a hard fiscal target without non-linear feedback from the PE-US denominator.
## Suggested direction
Add a calibration-compatible Medicaid cost path, for example:
- expose a frozen state denominator or person-level cost scale that can be stored on the dataset;
- compute a linear `medicaid_cost_if_enrolled` support value for Populace calibration;
- preserve the current baseline-denominator behavior for policy reforms where that is the desired counterfactual semantics;
- document which Medicaid cost variable should be used for budget calibration versus reform analysis.
## Acceptance criteria
- A reweighting/calibration workflow can treat Medicaid spending support as fixed per record for a given baseline year.
- Existing Medicaid reform behavior is preserved or intentionally migrated with tests.
- Tests cover that changing weights does not silently recompute calibration support values.
- Populace can promote Medicaid spending from validation-only once the model-side contract exists.
Contributor guide
Assessment
This issue has not been assessed yet.