Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +107 tax returns · +238 people · $-4,957,000 AGI
| County | Returns | AGI |
|---|---|---|
| Monroe County, WI | 254 | $12,379,000 |
| Houston County, MN | 160 | $9,161,000 |
| Vernon County, WI | 154 | $7,449,000 |
| Trempealeau County, WI | 134 | $6,596,000 |
| Dane County, WI | 114 | $6,359,000 |
| Winona County, MN | 101 | $4,743,000 |
| Eau Claire County, WI | 70 | $3,225,000 |
| Olmsted County, MN | 70 | $5,467,000 |
| Milwaukee County, WI | 59 | $2,603,000 |
| Crawford County, WI | 50 | $1,552,000 |
| County | Returns | AGI |
|---|---|---|
| Monroe County, WI | 205 | $10,182,000 |
| Dane County, WI | 180 | $8,216,000 |
| Houston County, MN | 169 | $10,018,000 |
| Trempealeau County, WI | 147 | $7,728,000 |
| Vernon County, WI | 132 | $7,960,000 |
| Hennepin County, MN | 115 | $6,378,000 |
| Winona County, MN | 84 | $4,123,000 |
| Milwaukee County, WI | 81 | $3,479,000 |
| Eau Claire County, WI | 67 | $4,226,000 |
| Olmsted County, MN | 61 | $5,416,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.