Map otherprop input to miscellaneous_income#931
Merged
Conversation
PE-taxsim's variable_mappings.yaml previously left `otherprop` (TAXSIM-35 input "15. Other Property") unmapped, so any value in that column was silently dropped before the PE-US Microsim ran. TAXSIM-35 includes otherprop in AGI, producing a systematic PE-vs-TAXSIM federal mismatch on records with non-zero otherprop (92% of such records mismatched in the 3K eCPS sample). Routing it through `miscellaneous_income` adds it to federal AGI via `irs_gross_income` without auto-qualifying for QBID (which would happen if we used `rental_income` directly — the natural target for the eCPS-to-TAXSIM round-trip, but inflates QBID inappropriately for non-rental misc property income). Smoke test: otherprop=$100K, single age 40 → PE matches TAXSIM-35 exactly ($13,449 fiitax, $100K AGI, $84,250 TI). 3K eCPS sample (|AGI|<$500K, no S-Corp realistic subset): - Federal exact match: 86.5% → 89.8% - Federal within $100: 88% → 93.1% - Federal within $1K: 96% → 97.9% - State within $100: 91% → 93.3% - State within $1K: 95% → 98.3% Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Jun 1, 2026
PavelMakarchuk
added a commit
that referenced
this pull request
Jun 4, 2026
TAXSIM input field 15 (otherprop) represents Schedule E passive property income — rents, royalties, trusts. Per IRC § 1411(c)(1)(A)(i) this belongs in the NIIT base. The prior mapping to miscellaneous_income (PR #931) flowed correctly into AGI but missed NIIT entirely, driving roughly $3.5M of federal mismatch concentrated in the >$1M income bucket. Switch the mapping to rental_income (the PE-US Schedule E concept, which explicitly includes royalties and is already in gov.irs.investment.income.sources). Avoid the QBID over-application that motivated #931 by setting rental_income_would_be_qualified to False whenever otherprop is present in the chunk; § 199A(c)(3)(A) requires the activity to rise to a § 162 trade or business, which TAXSIM input never signals. eCPS n=2000 2025 (non-S-corp): Federal $$ off: $4,218,673 → $432,768 (−89.7%) Federal $15 match: 92.0% → 93.6% Federal 1%-AGI match: 98.6% → 99.9% >$1M bucket $$ off: $3,809,042 → $329,279 Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
otherprop(TAXSIM-35 input Validate results against taxsim #15, "Other Property") to PE-USmiscellaneous_incomeinvariable_mappings.yamlWhy this matters
On the 3K eCPS 2025 sample, 92% of records with
otherprop ≠ 0mismatched federally. The eCPS converter packsrental_incomeintootherpropfor TAXSIM-format output; without an inbound mapping, that income vanishes when the comparator runs the round-trip through PE-taxsim.Why
miscellaneous_income(notrental_income)The natural symmetric mapping is
rental_income, but PE-US auto-applies QBID torental_income(20% deduction = $16,850 on a $100K case), where TAXSIM-35 only triggers QBID via the explicitpbusincinput.miscellaneous_incomeadds to AGI throughirs_gross_incomewithout auto-qualifying for QBI.Smoke test
otherprop=$100K, single age 40 → PE matches TAXSIM-35 exactly ($13,449 fiitax, $100K v10, $84,250 v18).
3K eCPS 2025 realistic subset (|AGI|<$500K, no S-Corp)
Test plan