Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -2,450 tax returns · -3,566 people · $-383,501,000 AGI
| County | Returns | AGI |
|---|---|---|
| St. Louis city, MO | 6,585 | $413,392,000 |
| St. Charles County, MO | 2,599 | $166,314,000 |
| Jefferson County, MO | 1,779 | $102,751,000 |
| St. Clair County, IL | 626 | $34,627,000 |
| Madison County, IL | 563 | $34,971,000 |
| Franklin County, MO | 344 | $25,167,000 |
| Cook County, IL | 316 | $44,696,000 |
| Boone County, MO | 286 | $16,517,000 |
| Jackson County, MO | 185 | $12,414,000 |
| Greene County, MO | 179 | $12,644,000 |
| County | Returns | AGI |
|---|---|---|
| St. Louis city, MO | 5,157 | $239,505,000 |
| St. Charles County, MO | 3,854 | $287,386,000 |
| Jefferson County, MO | 2,205 | $143,283,000 |
| St. Clair County, IL | 560 | $28,313,000 |
| Madison County, IL | 555 | $30,927,000 |
| Franklin County, MO | 533 | $58,028,000 |
| Cook County, IL | 512 | $43,649,000 |
| Dallas County, TX | 257 | $19,387,000 |
| Boone County, MO | 246 | $11,533,000 |
| Harris County, TX | 242 | $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.