Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -320 tax returns · -513 people · $-24,480,000 AGI
| County | Returns | AGI |
|---|---|---|
| Nicollet County, MN | 405 | $19,609,000 |
| Hennepin County, MN | 118 | $5,291,000 |
| Le Sueur County, MN | 110 | $6,213,000 |
| Waseca County, MN | 88 | $3,795,000 |
| Brown County, MN | 67 | $2,619,000 |
| Dakota County, MN | 65 | $2,544,000 |
| Scott County, MN | 60 | $2,857,000 |
| Watonwan County, MN | 53 | $2,266,000 |
| Faribault County, MN | 50 | $1,948,000 |
| Ramsey County, MN | 48 | $2,394,000 |
| County | Returns | AGI |
|---|---|---|
| Nicollet County, MN | 473 | $28,905,000 |
| Hennepin County, MN | 307 | $12,865,000 |
| Dakota County, MN | 120 | $5,583,000 |
| Ramsey County, MN | 100 | $3,780,000 |
| Le Sueur County, MN | 83 | $8,812,000 |
| Waseca County, MN | 81 | $4,037,000 |
| Scott County, MN | 67 | $3,031,000 |
| Olmsted County, MN | 53 | $2,189,000 |
| Faribault County, MN | 53 | $2,378,000 |
| Brown County, MN | 42 | $2,010,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.