Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -38 tax returns · -12 people · $-270,000 AGI
| County | Returns | AGI |
|---|---|---|
| Mower County, MN | 93 | $4,522,000 |
| Steele County, MN | 46 | $2,818,000 |
| Hennepin County, MN | 37 | $2,147,000 |
| Olmsted County, MN | 26 | $1,244,000 |
| Faribault County, MN | 24 | $1,482,000 |
| Ramsey County, MN | 23 | $891,000 |
| Dakota County, MN | 23 | $1,304,000 |
| Waseca County, MN | 20 | $1,126,000 |
| County | Returns | AGI |
|---|---|---|
| Mower County, MN | 56 | $2,191,000 |
| Steele County, MN | 44 | $2,025,000 |
| Hennepin County, MN | 38 | $1,332,000 |
| Olmsted County, MN | 34 | $2,190,000 |
| Ramsey County, MN | 25 | $1,045,000 |
| Waseca County, MN | 22 | $1,305,000 |
| Blue Earth County, MN | 22 | $941,000 |
| Dakota County, MN | 20 | $975,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.