From aada9740fa650012abd73cf3dd274e0d886c7afc Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 11 Oct 2026 17:31:13 -0400 Subject: [PATCH] Extend IRS SOI uprating series to tax year 2023 Add Publication 1304 Table 1.4 and 1.4A values for tax years 2021-2023 to every SOI national-total uprating series that ended before 2023, using the column each series already documents. From tax year 2022 the wage series takes Table 1.4's "total wages, total" (Form 1040 line 1z). Add a guard that every SOI series ends at the latest published tax year. Co-Authored-By: Claude Opus 5.5 --- changelog.d/soi-uprating-ty2023.changed.md | 1 + .../gov/irs/soi/alimony_income.yaml | 6 ++++ .../gov/irs/soi/employment_income.yaml | 19 ++++++++++-- .../calibration/gov/irs/soi/farm_income.yaml | 6 ++++ .../gov/irs/soi/farm_rent_income.yaml | 6 ++++ .../soi/non_qualified_dividend_income.yaml | 9 ++++++ .../irs/soi/partnership_s_corp_income.yaml | 3 ++ .../irs/soi/qualified_dividend_income.yaml | 9 ++++++ .../gov/irs/soi/rental_income.yaml | 6 ++++ .../gov/irs/soi/self_employment_income.yaml | 9 ++++++ .../gov/irs/soi/short_term_capital_gains.yaml | 3 ++ .../gov/irs/soi/social_security.yaml | 6 ++++ .../irs/soi/tax_exempt_interest_income.yaml | 9 ++++++ .../irs/soi/tax_exempt_pension_income.yaml | 9 ++++++ .../gov/irs/soi/taxable_interest_income.yaml | 9 ++++++ .../gov/irs/soi/taxable_pension_income.yaml | 9 ++++++ .../irs/soi/unemployment_compensation.yaml | 7 +++-- policyengine_us/tests/test_parameter_files.py | 29 +++++++++++++++++++ 18 files changed, 150 insertions(+), 5 deletions(-) create mode 100644 changelog.d/soi-uprating-ty2023.changed.md diff --git a/changelog.d/soi-uprating-ty2023.changed.md b/changelog.d/soi-uprating-ty2023.changed.md new file mode 100644 index 00000000000..8c7eeefe4f2 --- /dev/null +++ b/changelog.d/soi-uprating-ty2023.changed.md @@ -0,0 +1 @@ +Extend the IRS SOI income uprating series to tax year 2023 with Publication 1304 Tables 1.4 and 1.4A. diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/alimony_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/alimony_income.yaml index 28d3a3fe0a8..a1256024901 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/alimony_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/alimony_income.yaml @@ -10,6 +10,8 @@ values: 2019-01-01: 10_810_673_000 2020-01-01: 9_659_488_000 2021-01-01: 8_507_104_000 + 2022-01-01: 7_432_678_000 + 2023-01-01: 6_686_429_000 metadata: unit: currency-USD label: SOI alimony income @@ -29,3 +31,7 @@ metadata: href: https://www.irs.gov/pub/irs-soi/20in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, alimony received href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, alimony received + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, alimony received + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/employment_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/employment_income.yaml index 5a6466b8a59..6c31d31f63d 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/employment_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/employment_income.yaml @@ -1,8 +1,13 @@ description: Total employment income. values: - # IRS SOI Publication 1304 Table 1.4, all returns: salaries and wages. - # Amounts are published in thousands of dollars. Each value is for the tax - # year of its date. + # IRS SOI Publication 1304 Table 1.4, all returns: salaries and wages, Form + # 1040 line 1. From tax year 2022 the form splits line 1 into lines 1a to + # 1z and the table labels the line 1z total "total wages, total". Line 1z + # leaves out three amounts that line 1 included and that moved to Schedule 1 + # that year: scholarships not reported on Form W-2, pensions from + # nonqualified deferred compensation and section 457 plans, and wages earned + # while incarcerated. Amounts are published in thousands of dollars. Each + # value is for the tax year of its date. 2015-01-01: 7_112_222_959_000 2016-01-01: 7_217_425_529_000 2017-01-01: 7_577_563_943_000 @@ -10,6 +15,8 @@ values: 2019-01-01: 8_273_071_046_000 2020-01-01: 8_416_495_535_000 2021-01-01: 9_022_352_941_000 + 2022-01-01: 9_738_950_972_000 + 2023-01-01: 10_204_095_705_000 metadata: unit: currency-USD label: SOI employment income @@ -29,3 +36,9 @@ metadata: href: https://www.irs.gov/pub/irs-soi/20in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, salaries and wages href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, total wages, total + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, total wages, total + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls + - title: 2022 Instructions for Form 1040, What's New (line 1 split into lines 1a to 1z) + href: https://www.irs.gov/pub/irs-prior/i1040gi--2022.pdf#page=6 diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/farm_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/farm_income.yaml index adb41fc5add..ba201ff8480 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/farm_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/farm_income.yaml @@ -10,6 +10,8 @@ values: 2019-01-01: -23_797_084_000 2020-01-01: -21_864_139_000 2021-01-01: -26_141_944_000 + 2022-01-01: -25_342_708_000 + 2023-01-01: -27_788_190_000 metadata: unit: currency-USD label: SOI farm income @@ -29,3 +31,7 @@ metadata: href: https://www.irs.gov/pub/irs-soi/20in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, farm net income and net loss href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, farm net income and net loss + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, farm net income and net loss + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/farm_rent_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/farm_rent_income.yaml index d6a24e95037..e99aafe2200 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/farm_rent_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/farm_rent_income.yaml @@ -10,6 +10,8 @@ values: 2019-01-01: 4_494_333_000 2020-01-01: 4_893_181_000 2021-01-01: 5_555_955_000 + 2022-01-01: 6_073_960_000 + 2023-01-01: 6_281_620_000 metadata: unit: currency-USD label: SOI farm rental income @@ -29,3 +31,7 @@ metadata: href: https://www.irs.gov/pub/irs-soi/20in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, farm rental net income and net loss href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, farm rental net income and net loss + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, farm rental net income and net loss + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/non_qualified_dividend_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/non_qualified_dividend_income.yaml index ce636d6db44..aad7e2b9bc6 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/non_qualified_dividend_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/non_qualified_dividend_income.yaml @@ -9,6 +9,9 @@ values: 2018-01-01: 77_324_260_000 2019-01-01: 83_600_037_000 2020-01-01: 67_632_347_000 + 2021-01-01: 91_055_267_000 + 2022-01-01: 99_090_005_000 + 2023-01-01: 168_154_685_000 metadata: unit: currency-USD label: SOI non-qualified dividend income @@ -26,3 +29,9 @@ metadata: href: https://www.irs.gov/pub/irs-soi/19in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2020, ordinary dividends and qualified dividends href: https://www.irs.gov/pub/irs-soi/20in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, ordinary dividends and qualified dividends + href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, ordinary dividends and qualified dividends + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, ordinary dividends and qualified dividends + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/partnership_s_corp_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/partnership_s_corp_income.yaml index 5625465ec63..738934b5558 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/partnership_s_corp_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/partnership_s_corp_income.yaml @@ -12,6 +12,7 @@ values: 2020-01-01: 707_431_779_000 2021-01-01: 975_656_401_000 2022-01-01: 1_031_207_920_000 + 2023-01-01: 991_100_084_000 metadata: unit: currency-USD label: SOI partnership and S-corp income @@ -33,3 +34,5 @@ metadata: href: https://www.irs.gov/pub/irs-soi/21in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, partnership and S corporation net income and net loss href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, partnership and S corporation net income and net loss + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/qualified_dividend_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/qualified_dividend_income.yaml index 07f9a78f3c5..01ee1aeb0b9 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/qualified_dividend_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/qualified_dividend_income.yaml @@ -9,6 +9,9 @@ values: 2018-01-01: 243_746_121_000 2019-01-01: 248_190_601_000 2020-01-01: 260_244_440_000 + 2021-01-01: 295_906_194_000 + 2022-01-01: 313_230_845_000 + 2023-01-01: 336_070_296_000 metadata: unit: currency-USD label: SOI qualified dividend income @@ -26,3 +29,9 @@ metadata: href: https://www.irs.gov/pub/irs-soi/19in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2020, qualified dividends href: https://www.irs.gov/pub/irs-soi/20in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, qualified dividends + href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, qualified dividends + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, qualified dividends + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/rental_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/rental_income.yaml index d5373e8dfc1..c45eb844144 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/rental_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/rental_income.yaml @@ -11,6 +11,8 @@ values: 2019-01-01: 47_874_852_000 2020-01-01: 40_035_052_000 2021-01-01: 46_581_312_000 + 2022-01-01: 51_428_727_000 + 2023-01-01: 56_372_332_000 metadata: unit: currency-USD label: SOI rental income @@ -30,3 +32,7 @@ metadata: href: https://www.irs.gov/pub/irs-soi/20in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, rent and royalty net income and net loss href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, rent and royalty net income and net loss + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, rent and royalty net income and net loss + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/self_employment_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/self_employment_income.yaml index e7de887733e..9afc2c4987b 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/self_employment_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/self_employment_income.yaml @@ -9,6 +9,9 @@ values: 2018-01-01: 430_062_977_000 2019-01-01: 442_854_286_000 2020-01-01: 436_378_623_000 + 2021-01-01: 517_081_772_000 + 2022-01-01: 543_564_980_000 + 2023-01-01: 530_380_019_000 metadata: unit: currency-USD label: SOI self-employment income @@ -26,3 +29,9 @@ metadata: href: https://www.irs.gov/pub/irs-soi/19in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2020, business or profession net income href: https://www.irs.gov/pub/irs-soi/20in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, business or profession net income + href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, business or profession net income + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, business or profession net income + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/short_term_capital_gains.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/short_term_capital_gains.yaml index 2aeb445e47c..e200837e397 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/short_term_capital_gains.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/short_term_capital_gains.yaml @@ -12,6 +12,7 @@ values: 2020-01-01: 150_302_155_000 2021-01-01: 208_522_006_000 2022-01-01: 77_731_595_000 + 2023-01-01: 70_482_448_000 metadata: unit: currency-USD label: SOI short-term capital gains @@ -33,3 +34,5 @@ metadata: href: https://www.irs.gov/pub/irs-soi/21in14acg.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4A, tax year 2022, net short-term capital gain href: https://www.irs.gov/pub/irs-soi/22in14acg.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4A, tax year 2023, net short-term capital gain + href: https://www.irs.gov/pub/irs-soi/23in14acg.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/social_security.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/social_security.yaml index 2d43e8fdbb2..27007dfdb6d 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/social_security.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/social_security.yaml @@ -10,6 +10,8 @@ values: 2019-01-01: 718_890_477_000 2020-01-01: 774_017_713_000 2021-01-01: 791_161_174_000 + 2022-01-01: 871_307_268_000 + 2023-01-01: 973_642_779_000 metadata: unit: currency-USD label: SOI social security @@ -29,3 +31,7 @@ metadata: href: https://www.irs.gov/pub/irs-soi/20in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, social security benefits, total href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, social security benefits, total + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, social security benefits, total + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/tax_exempt_interest_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/tax_exempt_interest_income.yaml index 1bb7e46283d..17d54eae104 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/tax_exempt_interest_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/tax_exempt_interest_income.yaml @@ -9,6 +9,9 @@ values: 2018-01-01: 60_224_030_000 2019-01-01: 61_575_197_000 2020-01-01: 59_449_107_000 + 2021-01-01: 55_518_422_000 + 2022-01-01: 55_567_941_000 + 2023-01-01: 66_091_992_000 metadata: unit: currency-USD label: SOI tax-exempt interest income @@ -26,3 +29,9 @@ metadata: href: https://www.irs.gov/pub/irs-soi/19in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2020, tax-exempt interest href: https://www.irs.gov/pub/irs-soi/20in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, tax-exempt interest + href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, tax-exempt interest + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, tax-exempt interest + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/tax_exempt_pension_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/tax_exempt_pension_income.yaml index 32eab8f7ccf..b6bf65c9514 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/tax_exempt_pension_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/tax_exempt_pension_income.yaml @@ -12,6 +12,9 @@ values: 2018-01-01: 473_418_497_000 2019-01-01: 506_377_761_000 2020-01-01: 580_350_454_000 + 2021-01-01: 648_909_722_000 + 2022-01-01: 616_711_706_000 + 2023-01-01: 662_770_341_000 metadata: unit: currency-USD label: SOI tax-exempt pension income @@ -27,3 +30,9 @@ metadata: href: https://www.irs.gov/pub/irs-soi/19in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2020, pensions and annuities, total and taxable href: https://www.irs.gov/pub/irs-soi/20in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, pensions and annuities, total and taxable + href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, pensions and annuities, total and taxable + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, pensions and annuities, total and taxable + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/taxable_interest_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/taxable_interest_income.yaml index 60db1b52a15..bea5f07f643 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/taxable_interest_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/taxable_interest_income.yaml @@ -9,6 +9,9 @@ values: 2018-01-01: 128_582_739_000 2019-01-01: 153_253_476_000 2020-01-01: 127_375_994_000 + 2021-01-01: 103_535_203_000 + 2022-01-01: 133_596_569_000 + 2023-01-01: 313_812_674_000 metadata: unit: currency-USD label: SOI taxable interest income @@ -26,3 +29,9 @@ metadata: href: https://www.irs.gov/pub/irs-soi/19in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2020, taxable interest href: https://www.irs.gov/pub/irs-soi/20in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, taxable interest + href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, taxable interest + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, taxable interest + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/taxable_pension_income.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/taxable_pension_income.yaml index d8c699cb6dd..fd278559728 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/taxable_pension_income.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/taxable_pension_income.yaml @@ -13,6 +13,9 @@ values: 2018-01-01: 774_661_125_000 2019-01-01: 784_497_673_000 2020-01-01: 827_597_726_000 + 2021-01-01: 858_038_339_000 + 2022-01-01: 911_698_884_000 + 2023-01-01: 932_130_236_000 metadata: unit: currency-USD label: SOI taxable pension income @@ -30,3 +33,9 @@ metadata: href: https://www.irs.gov/pub/irs-soi/19in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2020, pensions and annuities, taxable href: https://www.irs.gov/pub/irs-soi/20in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2021, pensions and annuities, taxable + href: https://www.irs.gov/pub/irs-soi/21in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, pensions and annuities, taxable + href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, pensions and annuities, taxable + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/parameters/calibration/gov/irs/soi/unemployment_compensation.yaml b/policyengine_us/parameters/calibration/gov/irs/soi/unemployment_compensation.yaml index fbc6b9b76aa..aab32fcf2cc 100644 --- a/policyengine_us/parameters/calibration/gov/irs/soi/unemployment_compensation.yaml +++ b/policyengine_us/parameters/calibration/gov/irs/soi/unemployment_compensation.yaml @@ -11,11 +11,12 @@ values: 2020-01-01: 405_283_667_000 2021-01-01: 208_872_354_000 2022-01-01: 30_247_572_000 + 2023-01-01: 30_939_046_000 metadata: unit: currency-USD label: SOI unemployment compensation - # CBO's unemployment compensation outlays begin in 2022, the year of the - # last SOI total, so later years grow with them. + # Years after the last SOI total grow with CBO's unemployment compensation + # outlays, which begin in 2022. uprating: calibration.gov.cbo.unemployment_compensation reference: - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2015, unemployment compensation @@ -34,3 +35,5 @@ metadata: href: https://www.irs.gov/pub/irs-soi/21in14ar.xls - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2022, unemployment compensation href: https://www.irs.gov/pub/irs-soi/22in14ar.xls + - title: IRS SOI Tax Stats - Publication 1304 Table 1.4, tax year 2023, unemployment compensation + href: https://www.irs.gov/pub/irs-soi/23in14ar.xls diff --git a/policyengine_us/tests/test_parameter_files.py b/policyengine_us/tests/test_parameter_files.py index 2b648c6df0f..30a6cbf2055 100644 --- a/policyengine_us/tests/test_parameter_files.py +++ b/policyengine_us/tests/test_parameter_files.py @@ -64,6 +64,17 @@ # number of returns with a loss (72_972). "farm_rent_income.yaml": {date(2021, 1, 1): 5_555_955_000}, } +# The latest tax year with Publication 1304 Tables 1.4 and 1.4A. Raise it +# when the next year is added to every series. +SOI_LATEST_TAX_YEAR = 2023 +# From tax year 2022 Table 1.4 labels the wage total "total wages, total" +# (Form 1040 line 1z) and shows its parts in the columns after it. The series +# takes the total, not the Form W-2 column beside it (22in14ar: 9_360_356_986; +# 23in14ar: 10_046_008_299). +SOI_LINE_1Z_WAGES = { + date(2022, 1, 1): 9_738_950_972_000, + date(2023, 1, 1): 10_204_095_705_000, +} PARAMETER_SCHEMA_KEYS = { "brackets", "description", @@ -226,6 +237,24 @@ def test_soi_corrected_values_hold_their_table_1_4_totals(): assert values[period] == value, (filename, period) +def test_soi_series_run_to_the_latest_published_tax_year(): + """Parameter uprating grows a series from its last value, so a series that + stops early projects every later year from an older tax year, and adding + the missing years later moves all of them. Every SOI income series ends at + the same, latest published tax year.""" + for path in sorted(SOI_DIR.glob("*.yaml")): + parameter = yaml.safe_load(path.read_text()) + if "values" not in parameter: + continue + assert max(parameter["values"]).year == SOI_LATEST_TAX_YEAR, path.name + + +def test_soi_wages_use_the_line_1z_total(): + values = yaml.safe_load((SOI_DIR / "employment_income.yaml").read_text())["values"] + for period, value in SOI_LINE_1Z_WAGES.items(): + assert values[period] == value, period + + def test_soi_agi_bands_are_keyed_to_their_table_1_1_tax_year(): for filename, (period, href, lowest, highest) in SOI_AGI_BAND_TABLES.items(): parameter = yaml.safe_load((SOI_AGI_DIR / filename).read_text())