Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -219 tax returns · -733 people · $-77,736,000 AGI
| County | Returns | AGI |
|---|---|---|
| Hennepin County, MN | 283 | $21,810,000 |
| Dodge County, MN | 207 | $10,372,000 |
| Winona County, MN | 171 | $9,112,000 |
| Mower County, MN | 153 | $6,731,000 |
| Goodhue County, MN | 139 | $7,797,000 |
| Ramsey County, MN | 133 | $5,684,000 |
| Wabasha County, MN | 129 | $6,373,000 |
| Dakota County, MN | 125 | $10,890,000 |
| Fillmore County, MN | 111 | $5,421,000 |
| Maricopa County, AZ | 84 | $6,253,000 |
| County | Returns | AGI |
|---|---|---|
| Hennepin County, MN | 437 | $29,853,000 |
| Dodge County, MN | 246 | $15,062,000 |
| Dakota County, MN | 197 | $14,687,000 |
| Goodhue County, MN | 182 | $12,305,000 |
| Ramsey County, MN | 176 | $9,656,000 |
| Winona County, MN | 157 | $8,331,000 |
| Wabasha County, MN | 155 | $10,127,000 |
| Mower County, MN | 147 | $9,083,000 |
| Fillmore County, MN | 142 | $8,328,000 |
| Maricopa County, AZ | 106 | $16,081,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.