Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +611 tax returns · +1,252 people · +$55,396,000 AGI
| County | Returns | AGI |
|---|---|---|
| St. Louis County, MO | 2,205 | $143,283,000 |
| St. Louis city, MO | 508 | $28,820,000 |
| St. Charles County, MO | 283 | $17,382,000 |
| St. Francois County, MO | 227 | $10,342,000 |
| Franklin County, MO | 219 | $10,280,000 |
| St. Clair County, IL | 126 | $7,500,000 |
| Washington County, MO | 95 | $4,046,000 |
| Ste. Genevieve County, MO | 80 | $4,403,000 |
| Madison County, IL | 73 | $4,253,000 |
| Cape Girardeau County, MO | 45 | $2,767,000 |
| County | Returns | AGI |
|---|---|---|
| St. Louis County, MO | 1,779 | $102,751,000 |
| St. Louis city, MO | 351 | $17,201,000 |
| Franklin County, MO | 283 | $14,524,000 |
| St. Francois County, MO | 266 | $12,591,000 |
| St. Charles County, MO | 253 | $15,515,000 |
| Madison County, IL | 94 | $4,574,000 |
| Washington County, MO | 93 | $4,265,000 |
| St. Clair County, IL | 83 | $5,016,000 |
| Ste. Genevieve County, MO | 79 | $4,837,000 |
| Cape Girardeau County, MO | 44 | $2,038,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.