policyengine-us icon indicating copy to clipboard operation
policyengine-us copied to clipboard

Apply base-year uprating to IRS parameters once implemented in core

Open MaxGhenis opened this issue 5 months ago • 0 comments

Summary

Once PolicyEngine/policyengine-core#403 is implemented, update IRS tax parameters to use base-year uprating instead of incremental uprating.

Background

IRC statutes specify base-year calculations for inflation adjustments, but policyengine-core currently only supports incremental uprating. While mathematically equivalent, explicit base-year support better matches statutory language.

Parameters to Update

The following parameters should specify base years once core supports it:

IRC §24 - Child Tax Credit

# parameters/gov/irs/credits/ctc/amount/base.yaml
uprating:
  parameter: gov.irs.uprating
  base_year: 2024  # Per IRC §24(i)(2)
  base_value: 2200
  rounding:
    type: downwards
    interval: 100

# parameters/gov/irs/credits/ctc/refundable/individual_max.yaml  
uprating:
  parameter: gov.irs.uprating
  base_year: 2017  # Per IRC §24(i)(1)
  base_value: 1400
  rounding:
    type: downwards
    interval: 100

IRC §63 - Standard Deduction

# parameters/gov/irs/deductions/standard/amount.yaml
uprating:
  parameter: gov.irs.uprating
  base_year: 2024  # Per IRC §63(c)(7)(B)(ii)(II)
  rounding:
    type: downwards
    interval: 50

Other Parameters

Review all IRS parameters with uprating to check if statutes specify base years:

  • Tax bracket thresholds (IRC §1(j))
  • AMT exemption/phase-out (IRC §55(d))
  • Capital gains thresholds (IRC §1(j)(5))
  • QBI phase-out (IRC §199A(e)(2))
  • Student loan interest (IRC §221)
  • EITC (IRC §32)
  • Etc.

Implementation Notes

  1. Manual values override: Official IRS announcements (Revenue Procedures, Notices) take precedence over calculated values
  2. Apply only beyond latest manual value: Base-year formula applies only to years after the last manually-specified value
  3. Verification: Optionally verify that specified base_value matches the parameter value at base_year

Current Workaround

PR #6672 implemented incremental uprating with comments documenting the statutory base-year requirements. This produces correct results but doesn't explicitly capture the statutory calculation method.

Related

  • PolicyEngine/policyengine-core#403 - Add base year support for parameter uprating
  • PR #6672 - Add 2026 IRS tax parameters

References

MaxGhenis avatar Oct 16 '25 22:10 MaxGhenis