PolicyEngine / PolicyEngine/microcosm
State top-tail income mass is uncalibrated: CO M+ AGI at 24% of SOI in buildp-acs-local (fails progressive-bracket scoring)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 4
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 94
Description
Summary
Scoring Colorado Initiative 195 (Amendment 87 — graduated income tax with 7.4/7.9/8.4% brackets at $500k/$750k/$1M) on populace-us-2024-buildp-acs-local produced a revenue estimate of $1.116B for TY2027, versus ~$1.9B implied by IRS SOI actuals and ~$1.98B from the Colorado Legislative Council Staff fiscal impact statement. Diagnosis: the CO top tail matches SOI on filer counts but truncates income per filer, and the affected region carries no calibration targets.
Evidence (model vs IRS SOI Historic Table 2, CO TY2023)
| AGI band | Returns (model/SOI) | Income (model/SOI) |
|---|---|---|
| $200k–$500k | 131% | 128% |
| $500k–$1M | 139% | 154% |
| $1M+ | 184% | 77% |
- Mean $1M+ filer AGI: $1.27M model vs $3.03M SOI — the $3M–$100M+ filers are absent.
- Income mass above the $1M threshold (the base of an 8.4% bracket): $7.8B model vs $31.7B SOI (24% coverage).
- Meanwhile CO aggregates calibrate tightly in this release: return count −0.02%, AGI +0.12%, taxable income −0.10%, cap gains −0.48%.
- The only per-band CO targets are taxable-interest returns/amounts (all within ~1%), with a top band of
500k_plusand no 500k/750k/1M splits. The federalincome_tax_before_credits_amounttarget for CO runs −3.10% against +0.12% AGI — an independent signal of a thin tail.
Scaling the reform's upper-bracket revenue by the SOI coverage ratio (0.68 on the like-for-like bracket base) moves the estimate to ≈$1.9B, within 5% of the LCS annualized figure — i.e., essentially the entire individual-side gap is tail-income truncation.
Proposal
Add state × AGI-band income-amount targets (at minimum AGI amount and return counts from SOI Historic Table 2, which publishes both by state) for bands up to and including $1M+, to the acs-local target set. Count-only or proxy-only (taxable interest) calibration leaves income mass in the top band unconstrained, which fails exactly the progressive-bracket reforms state ballot measures keep proposing. A 1m_plus amount target alone would have caught this: the model would have needed ~4× the income mass in that band.
If per-band amount targets are too aggressive for the sparse solver, an alternative is a single state-level "AGI above $1M" mass target, which directly pins the quantity top-bracket reforms tax.
Reproduction
- Dataset:
populace_us_2024_acs_local.h5@populace-us-2024-buildp-acs-local-592ae5d6-20260819T020303Z, CO subset (state_fips 8; 30,079 households), policyengine-us 1.825.0, period 2027. - Reform:
gov.contrib.states.co.progressive_income_tax.in_effect(PR PolicyEngine/policyengine-us#9431). - Dashboard using this estimate: https://github.com/PolicyEngine/co-initiative-195 (validation tab documents the gap).
- SOI reference: Historic Table 2, CO TY2023 (23in06co.xlsx).
🤖 Generated with Claude Code
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 by locating the acs-local target set and its calibration configuration, then compare the Colorado subset against IRS SOI Historic Table 2, especially the 1m_plus band. Add state-by-AGI-band income-amount and return-count targets, or the stated above-$1M mass alternative, and rerun the CO reproduction to confirm the top-tail income mass is constrained.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100