Federal Data HubIRS Migration Flows · JSON

St. Louis city, MO

County-to-county migration · IRS SOI · filing years 2022-2023

Net migration: -1,395 tax returns · -4,504 people · $-275,648,000 AGI

Inflow
12,331 returns · 17,630 people · $651,644,000 AGI
Outflow
13,726 returns · 22,134 people · $927,292,000 AGI

Top origins (where new residents came from)

CountyReturnsAGI
St. Louis County, MO5,157$239,505,000
St. Charles County, MO559$30,412,000
St. Clair County, IL387$17,341,000
Jefferson County, MO351$17,201,000
Madison County, IL295$14,103,000
Cook County, IL269$20,318,000
Boone County, MO128$6,595,000
Los Angeles County, CA90$7,816,000
Jackson County, MO89$4,971,000
Franklin County, MO84$4,068,000

Top destinations (where leavers went)

CountyReturnsAGI
St. Louis County, MO6,585$413,392,000
St. Charles County, MO602$39,850,000
Jefferson County, MO508$28,820,000
St. Clair County, IL411$24,152,000
Cook County, IL313$26,988,000
Madison County, IL273$15,231,000
Harris County, TX119$7,235,000
Los Angeles County, CA113$8,345,000
Jackson County, MO103$6,201,000
King County, WA102$9,083,000

IRS migration data tracks where tax filers lived in consecutive years. A "return" is roughly a household; "AGI" is the adjusted gross income that moved with them. Net migration = inflow − outflow. Small county-pair flows are suppressed by the IRS for privacy and shown blank.

Source: IRS SOI Migration Data. License: CC0 1.0.