Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -314 tax returns · -595 people · $-40,084,000 AGI
| County | Returns | AGI |
|---|---|---|
| Madison County, IL | 983 | $44,605,000 |
| St. Louis County, MO | 560 | $28,313,000 |
| St. Louis city, MO | 411 | $24,152,000 |
| Monroe County, IL | 168 | $9,747,000 |
| Clinton County, IL | 146 | $7,741,000 |
| St. Charles County, MO | 102 | $6,251,000 |
| Cook County, IL | 87 | $7,854,000 |
| Jefferson County, MO | 83 | $5,016,000 |
| Randolph County, IL | 80 | $3,716,000 |
| Washington County, IL | 56 | $3,227,000 |
| County | Returns | AGI |
|---|---|---|
| Madison County, IL | 1,146 | $59,184,000 |
| St. Louis County, MO | 626 | $34,627,000 |
| St. Louis city, MO | 387 | $17,341,000 |
| Monroe County, IL | 218 | $14,392,000 |
| Clinton County, IL | 145 | $8,249,000 |
| Jefferson County, MO | 126 | $7,500,000 |
| St. Charles County, MO | 121 | $8,421,000 |
| Randolph County, IL | 94 | $4,823,000 |
| Cook County, IL | 82 | $4,383,000 |
| Maricopa County, AZ | 52 | $2,472,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.