PolicyEngine / PolicyEngine/microcosm

Mortgage-interest dollars run ~25-30% hot (ht2 +29.5%, JCT expenditure +23.3% on certified O-1) — first-order for deduction-replacement analyses

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

On buildo-sparse-rmloss100-22bd902-20260722T232627Z (and consistent with N):

row rel err
ht2 us.all home_mortgage_interest_returns +2.45%
ht2 us.all home_mortgage_interest_amount +29.5%
jct deductible_mortgage_interest revenue_loss +23.3%

Returns fine, dollars ~25-30% hot ⇒ interest per mortgage-holder too high — the tips/medical signature inverted (level, not carriers). Not a #492 cap casualty: under the rational-tail experiment arm the JCT mortgage row got WORSE (+50.6%), i.e. uniform re-spreading trades ht2-family fixes against the reform-materialized JCT rows (finding-5 dynamics; the JCT expenditure family is not in the critical register at all — an adoption-gate gap for #492's step 3, flagging there).

Why it matters now: a client project replacing standard+itemized deductions with a refundable credit binds directly through itemized composition — total itemized is tight (−1.8% to −4.7% across four SOI tables) but the composition is skewed (mortgage +30%, medical +21%), which distorts winners/losers by decile even with the aggregate right (mortgage skews upper-middle; medical skews elderly).

Suspects, in order: the mortgage-interest imputation levels (tax_unit first/second_home_mortgage_balance/interest/origination_year columns — QRF/PUF-donor lineage, the #487 mean-reversion class), or a target-side concept gap (ht2 A19300-class mortgage interest vs what the model column measures). The #496 diagnose_us_target_support tool is built for exactly this — same forensics family as the six-state medical and tips-carrier work (#481/#487).

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 with the #496 diagnose_us_target_support tool and inspect the tax_unit first/second_home_mortgage_balance, interest, and origination_year columns, following the QRF/PUF-donor lineage. Determine whether the discrepancy is caused by imputation levels or a target-side concept gap, then validate the mortgage-interest returns and revenue-loss rows against the cited ht2 and JCT results.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.