PolicyEngine / PolicyEngine/policyengine-taxsim
eCPS PE↔TAXSIM diff drivers (8k sample × TY2021/2023/2025) — prioritized roadmap
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 17
- Forks
- 10
- Avg merge
- 15h 55m
- Merged PRs (30d)
- 1
Description
Systematic PE-emulator vs TAXSIM-35-binary comparison over an 8,000-record eCPS sample, run for three tax years (--assume-w2-wages). Alignment improves in later years as year-specific 2021 issues age out:
| Year | Federal match | State match |
|---|---|---|
| 2021 | 80.4% | 67.1% |
| 2023 | 81.2% | 73.7% |
| 2025 | 84.5% | 82.1% |
Federal — one driver dominates
~92% of all federal mismatches (every year) are the SALT / itemized-deduction difference — PE deducts imputed state income-tax withholding (~19% above the liability) as federal SALT; the binary deducts the liability. PE itemizes higher in 100% of these. Aligning to the liability drops federal mismatches from ~20% → ~1.5%. Tracked + fix in flight: #1058 (the single highest-impact federal item).
Residual federal drivers (small): EITC (~60-170 recs/yr), NIIT on S-corp (#1053), QBID edge cases, CTC.
State — a long tail, no single dominant cause
Dollar totals are misleading: ~30% of state mismatches are extreme-income records (|AGI|>$500k, S-corp/high-income) that account for ~99% of the dollar total (the S-corp passive/tolerance class — #1053). By record count, the persistent state drivers across years are:
- Persistent (all years): NY, CO, MD, GA, MT, HI, VA, OH
- 2021-only spikes (year-specific, age out by 2025): CA (COVID rebate cluster), MN (2021-22 TAXSIM under-computation), DC (Calc J)
Each persistent state needs its own diagnosis (per the /diagnose-issue workflow: PE + TAXSIM + TaxAct + statute). This issue is the roadmap; individual state issues to be filed as diagnosed.
Priorities
- #1058 (federal SALT liability) — biggest single lever; fix in flight.
- #1053 (S-corp NIIT/passive) — drives the extreme-$ tail.
- Per-state diagnosis of the persistent set (NY/CO/MD/GA/MT/HI/VA/OH).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the documented PE-versus-TAXSIM comparison and the referenced issues #1058 and #1053. Follow the /diagnose-issue workflow for the persistent states NY, CO, MD, GA, MT, HI, VA, and OH, comparing PE, TAXSIM, TaxAct, and statute; this roadmap is complete when the individual state discrepancies have been diagnosed and tracked in separate issues.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100