Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -62 tax returns · -101 people · $-8,149,000 AGI
| County | Returns | AGI |
|---|---|---|
| Olmsted County, MN | 157 | $8,331,000 |
| La Crosse County, WI | 84 | $4,123,000 |
| Hennepin County, MN | 50 | $2,962,000 |
| Buffalo County, WI | 46 | $2,178,000 |
| Fillmore County, MN | 45 | $2,417,000 |
| Houston County, MN | 39 | $2,744,000 |
| Trempealeau County, WI | 37 | $1,470,000 |
| Wabasha County, MN | 33 | $1,577,000 |
| Dakota County, MN | 24 | $1,124,000 |
| Ramsey County, MN | 20 | $1,456,000 |
| County | Returns | AGI |
|---|---|---|
| Olmsted County, MN | 171 | $9,112,000 |
| La Crosse County, WI | 101 | $4,743,000 |
| Hennepin County, MN | 87 | $4,903,000 |
| Houston County, MN | 46 | $3,135,000 |
| Fillmore County, MN | 42 | $2,450,000 |
| Ramsey County, MN | 39 | $1,941,000 |
| Dakota County, MN | 38 | $1,751,000 |
| Buffalo County, WI | 32 | $1,450,000 |
| Trempealeau County, WI | 31 | $1,475,000 |
| Wabasha County, MN | 29 | $1,618,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.