PolicyEngine / PolicyEngine/policyengine-us

Model New Jersey Senior Freeze benefit when source data are available

Open
#8,740 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

## Context
New Jersey Senior Freeze (Property Tax Reimbursement) is currently represented as an input variable (`nj_senior_freeze`). PR #8734 improves the Stay NJ interaction by capping the input Senior Freeze amount after ANCHOR, but it does not compute the Senior Freeze reimbursement itself.

## Why this is blocked
A baseline formula needs data that we do not currently model or reliably have in the tax-unit input set, including:
- base-year property taxes for the claimant's principal residence;
- current-year property taxes and the reimbursable increase over the base year;
- principal-residence ownership or site-fee/PILOT eligibility details;
- residency and ownership history across the required lookback period;
- age/disability qualification history, including spouse/civil-union-partner cases;
- Senior Freeze income eligibility thresholds and income definition alignment.

Without those inputs, encoding the formula would either default to zero for most records or require assumptions that could materially misstate baseline property tax relief.

## Proposed work
- Inventory the missing data inputs and decide which can be added as variables versus modeled from existing survey data.
- Add Senior Freeze eligibility and benefit formulas once the core inputs are available.
- Add YAML tests for ordinary homeowners, mobile-home/site-fee cases if supported, income/age boundaries, and the ANCHOR/Senior Freeze/Stay NJ interaction.
- Keep the existing capped Senior Freeze interaction from PR #8734 so total property tax relief does not exceed property taxes paid.

## Sources
- NJ Senior Freeze: https://www.nj.gov/treasury/taxation/ptr/index.shtml
- NJ Stay NJ calculation: https://www.nj.gov/treasury/taxation/staynj/calculation.shtml

Contributor guide

Open the contributing guide

Research direction

Start by inventorying the missing Senior Freeze inputs and reviewing PR #8734's capped interaction. Decide which inputs can be added as variables or modeled from existing survey data, then define the eligibility and benefit formulas. Done includes YAML tests for homeowners, supported mobile-home or site-fee cases, income and age boundaries, and the ANCHOR/Senior Freeze/Stay NJ interaction.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.