Gap
Python has comprehensive disability-benefit modelling:
policyengine_uk/variables/gov/dwp/pip/ — 16 files: daily-living component, mobility component, eligibility, take-up, transitional rules
policyengine_uk/variables/gov/dwp/dla/ — 7 files: care + mobility components for under-16s
- Attendance Allowance variables under
gov/dwp/
- Carer's Allowance, Carer Element, carer premium
- Disability premiums in income-related benefits (IS, JSA, ESA, HB, CTB)
- DHSC variables for health-related elements
The Rust port has only premium-rate parameters in src/parameters/mod.rs::BenefitParams; no PIP/DLA/AA/CA computation exists.
Why it matters
- The user already has notebooks driven by PIP modelling:
nics_pip_analysis*.ipynb, pip_person_level_analysis.csv
- Disability benefits interact with means-tested benefits via premiums and passporting (PIP eligibility unlocks UC LCWRA element, carer element triggered by middle-rate care, etc.) — without them, UC/HB/CTR scoring is wrong for ~6 million claimants
- Reform analyses of PIP eligibility tightening (a frequently-discussed lever) cannot be done
What to port
- PIP daily-living + mobility components (eligibility from FRS disability flags, take-up)
- DLA equivalents for under-16s
- Attendance Allowance for over-state-pension-age
- Carer's Allowance (incl. earnings test) and carer premium / carer element
- Disability premiums and how they passport into UC/legacy benefits
Effort
Medium. Mostly look-up logic against FRS variables once eligibility flags are clean. Most computation is rate × eligibility × take-up.
References
- Python:
policyengine_uk/variables/gov/dwp/pip/, policyengine_uk/variables/gov/dwp/dla/
- Python params:
policyengine_uk/parameters/gov/dwp/pip/, parameters/gov/dwp/dla/
- Rust:
src/parameters/mod.rs::BenefitParams (premiums only)
Gap
Python has comprehensive disability-benefit modelling:
policyengine_uk/variables/gov/dwp/pip/— 16 files: daily-living component, mobility component, eligibility, take-up, transitional rulespolicyengine_uk/variables/gov/dwp/dla/— 7 files: care + mobility components for under-16sgov/dwp/The Rust port has only premium-rate parameters in
src/parameters/mod.rs::BenefitParams; no PIP/DLA/AA/CA computation exists.Why it matters
nics_pip_analysis*.ipynb,pip_person_level_analysis.csvWhat to port
Effort
Medium. Mostly look-up logic against FRS variables once eligibility flags are clean. Most computation is rate × eligibility × take-up.
References
policyengine_uk/variables/gov/dwp/pip/,policyengine_uk/variables/gov/dwp/dla/policyengine_uk/parameters/gov/dwp/pip/,parameters/gov/dwp/dla/src/parameters/mod.rs::BenefitParams(premiums only)