Federal Data HubIRS Migration Flows · JSON

St. Louis County, MO

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

Net migration: -2,450 tax returns · -3,566 people · $-383,501,000 AGI

Inflow
23,075 returns · 38,403 people · $1,651,642,000 AGI
Outflow
25,525 returns · 41,969 people · $2,035,143,000 AGI

Top origins (where new residents came from)

CountyReturnsAGI
St. Louis city, MO6,585$413,392,000
St. Charles County, MO2,599$166,314,000
Jefferson County, MO1,779$102,751,000
St. Clair County, IL626$34,627,000
Madison County, IL563$34,971,000
Franklin County, MO344$25,167,000
Cook County, IL316$44,696,000
Boone County, MO286$16,517,000
Jackson County, MO185$12,414,000
Greene County, MO179$12,644,000

Top destinations (where leavers went)

CountyReturnsAGI
St. Louis city, MO5,157$239,505,000
St. Charles County, MO3,854$287,386,000
Jefferson County, MO2,205$143,283,000
St. Clair County, IL560$28,313,000
Madison County, IL555$30,927,000
Franklin County, MO533$58,028,000
Cook County, IL512$43,649,000
Dallas County, TX257$19,387,000
Boone County, MO246$11,533,000
Harris County, TX242$15,519,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.