Skip to content

US calibration does not pin federal income tax or AGI; base undershoots income tax ~18% — add SOI fiscal targets + a macro-realism gate #40

Description

@MaxGhenis

Summary

The US calibration profile does not pin federal income tax or AGI as hard targets, and the certified base undershoots actual income tax by ~18%. Every downstream score that nets against federal income tax inherits a low base.

Evidence

Running the certified populace_us_2024.h5 straight through PolicyEngine-US (standard path, no consumer-side value scaling), 2024:

quantity populace actual (approx) gap
federal income tax $1,991B ~$2.4T (Treasury FY2024 individual) ~18% low
AGI $14,901B ~$16T (extrapolated SOI) ~7% low
Social Security $1,523B ~$1.45T ~+5%

The build (packages/populace-build/src/populace/build/us/__init__.py) compiles a versioned target registry plus an inline SCF net-worth target; no federal income-tax or AGI aggregate appears in the target surface. This is consistent with #30 ("the US target profile needs full-population and program-admin controls… SOI is essential for filer/tax-form controls") and #29 (no gate that the target profile covers the needed source families).

Why the composition matters (not just a level fix)

The income-tax undershoot (~18%) is more than double the AGI undershoot (~7%). Income tax is convex in income, so a base that is light on top-of-distribution and capital income misses tax far more than it misses AGI. A single "AGI total" target would not close this — the fix needs AGI by source and/or bracket (or the income-tax aggregate directly) so the income composition is right and tax falls out correctly. This is the same lesson the CRFB taxation-of-benefits long-run build relied on: scale economic values to source-level admin aggregates (earnings to SSA taxable payroll cap-aware, etc.) with demographics carried in the weights, rather than letting reweighting alone hit dollar totals.

Note populace does not have the opposite (over-calibration) pathology that eCPS showed over the long run — it is modestly low, not inflated. So this is about adding the fiscal target, not undoing a distortion.

Proposed fix

  1. Add SOI fiscal hard targets to the US profile: AGI by source (wages, business/partnership/S-corp, capital gains, dividends, interest, pensions, Social Security) and, where used as a control, total federal income tax — sourced from the SOI/admin coverage contract (adjacent to the Use Arch US poverty/nonfiler coverage contract in Populace target gates #29/Add NIPA and program-admin nonfiler controls to the US target profile #30 admin-target work).
  2. Add a macro-realism release gate: assert income-tax/GDP, AGI/GDP, and the poverty rate land in believable bands on every build (generalizes the income-tax-%-of-GDP sanity check; complements the SPM diagnostic gate in Add a Populace US poverty/SPM diagnostic gate for resource distribution and negative-income tails #33). This would have caught the ~18% undershoot before publication.

Relationship to existing issues

Adjacent to #29 (target-profile source-coverage gate) and #30 (NIPA/admin nonfiler controls) — those center on poverty/nonfiler resources; this is specifically the income-tax / AGI fiscal controls and the macro-realism gate. Complements #33 (SPM diagnostic gate) on the validation side.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions