Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +552 tax returns · +1,818 people · +$69,096,000 AGI
| County | Returns | AGI |
|---|---|---|
| St. Louis County, MO | 3,854 | $287,386,000 |
| St. Louis city, MO | 602 | $39,850,000 |
| Lincoln County, MO | 541 | $34,846,000 |
| Warren County, MO | 330 | $19,563,000 |
| Jefferson County, MO | 253 | $15,515,000 |
| Madison County, IL | 205 | $15,647,000 |
| Franklin County, MO | 136 | $8,404,000 |
| Boone County, MO | 127 | $6,414,000 |
| St. Clair County, IL | 121 | $8,421,000 |
| Jackson County, MO | 98 | $6,823,000 |
| County | Returns | AGI |
|---|---|---|
| St. Louis County, MO | 2,599 | $166,314,000 |
| Lincoln County, MO | 897 | $60,497,000 |
| St. Louis city, MO | 559 | $30,412,000 |
| Warren County, MO | 545 | $35,771,000 |
| Jefferson County, MO | 283 | $17,382,000 |
| Madison County, IL | 182 | $10,847,000 |
| Franklin County, MO | 156 | $13,122,000 |
| Boone County, MO | 139 | $7,708,000 |
| Jackson County, MO | 126 | $8,099,000 |
| St. Clair County, IL | 102 | $6,251,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.