Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +78 tax returns · +97 people · $-11,615,000 AGI
| County | Returns | AGI |
|---|---|---|
| Cass County, ND | 890 | $45,220,000 |
| Otter Tail County, MN | 111 | $5,018,000 |
| Becker County, MN | 98 | $5,610,000 |
| Hennepin County, MN | 50 | $2,121,000 |
| Grand Forks County, ND | 37 | $2,877,000 |
| Polk County, MN | 34 | $1,309,000 |
| Norman County, MN | 23 | $1,226,000 |
| Stearns County, MN | 22 | $773,000 |
| Beltrami County, MN | 22 | $842,000 |
| Burleigh County, ND | 20 | $717,000 |
| County | Returns | AGI |
|---|---|---|
| Cass County, ND | 873 | $44,733,000 |
| Becker County, MN | 95 | $10,497,000 |
| Hennepin County, MN | 83 | $3,744,000 |
| Otter Tail County, MN | 72 | $5,235,000 |
| Ramsey County, MN | 35 | $1,143,000 |
| Norman County, MN | 28 | $1,239,000 |
| Maricopa County, AZ | 26 | $1,630,000 |
| Stearns County, MN | 23 | $1,054,000 |
| Grand Forks County, ND | 21 | $794,000 |
| St. Louis County, MN | 20 | $1,358,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.