Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -174 tax returns · -228 people · $-9,970,000 AGI
| County | Returns | AGI |
|---|---|---|
| Olmsted County, MN | 147 | $9,083,000 |
| Freeborn County, MN | 56 | $2,191,000 |
| Hennepin County, MN | 32 | $2,181,000 |
| Dodge County, MN | 32 | $1,981,000 |
| Fillmore County, MN | 30 | $1,352,000 |
| Ramsey County, MN | 26 | $981,000 |
| Steele County, MN | 24 | $978,000 |
| County | Returns | AGI |
|---|---|---|
| Olmsted County, MN | 153 | $6,731,000 |
| Freeborn County, MN | 93 | $4,522,000 |
| Hennepin County, MN | 54 | $2,731,000 |
| Ramsey County, MN | 37 | $1,341,000 |
| Steele County, MN | 34 | $1,462,000 |
| Dodge County, MN | 29 | $1,444,000 |
| Dakota County, MN | 27 | $1,698,000 |
| Fillmore County, MN | 20 | $680,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.