Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +21 tax returns · +125 people · +$9,974,000 AGI
| County | Returns | AGI |
|---|---|---|
| Cass County, ND | 127 | $9,401,000 |
| Otter Tail County, MN | 110 | $5,455,000 |
| Clay County, MN | 95 | $10,497,000 |
| Hubbard County, MN | 38 | $2,313,000 |
| Hennepin County, MN | 35 | $3,318,000 |
| Mahnomen County, MN | 32 | $1,400,000 |
| Wadena County, MN | 28 | $1,287,000 |
| County | Returns | AGI |
|---|---|---|
| Cass County, ND | 140 | $11,136,000 |
| Otter Tail County, MN | 120 | $7,046,000 |
| Clay County, MN | 98 | $5,610,000 |
| Hubbard County, MN | 45 | $2,305,000 |
| Hennepin County, MN | 37 | $1,995,000 |
| Wadena County, MN | 22 | $887,000 |
| Mahnomen County, MN | 22 | $1,586,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.