Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -83 tax returns · -94 people · $-10,885,000 AGI
| County | Returns | AGI |
|---|---|---|
| Dane County, WI | 97 | $5,180,000 |
| Lafayette County, WI | 88 | $4,667,000 |
| Iowa County, WI | 85 | $4,413,000 |
| Dubuque County, IA | 78 | $4,928,000 |
| Crawford County, WI | 60 | $3,010,000 |
| Richland County, WI | 56 | $2,427,000 |
| Jo Daviess County, IL | 39 | $2,025,000 |
| Sauk County, WI | 21 | $649,000 |
| County | Returns | AGI |
|---|---|---|
| Dane County, WI | 141 | $7,405,000 |
| Lafayette County, WI | 108 | $5,856,000 |
| Dubuque County, IA | 108 | $6,292,000 |
| Iowa County, WI | 86 | $3,822,000 |
| Richland County, WI | 51 | $3,451,000 |
| Crawford County, WI | 50 | $2,120,000 |
| Jo Daviess County, IL | 31 | $1,681,000 |
| La Crosse County, WI | 28 | $1,496,000 |
| Milwaukee County, WI | 26 | $1,088,000 |
| Waukesha County, WI | 24 | $937,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.