Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +65 tax returns · +223 people · $-4,549,000 AGI
| County | Returns | AGI |
|---|---|---|
| Dane County, WI | 776 | $49,725,000 |
| Winnebago County, IL | 424 | $21,243,000 |
| Walworth County, WI | 243 | $12,835,000 |
| Jefferson County, WI | 194 | $10,642,000 |
| Green County, WI | 126 | $5,950,000 |
| Milwaukee County, WI | 99 | $5,148,000 |
| Cook County, IL | 93 | $7,226,000 |
| Waukesha County, WI | 55 | $3,387,000 |
| Boone County, IL | 46 | $2,666,000 |
| Racine County, WI | 37 | $2,293,000 |
| County | Returns | AGI |
|---|---|---|
| Dane County, WI | 620 | $33,641,000 |
| Winnebago County, IL | 400 | $19,416,000 |
| Walworth County, WI | 215 | $9,972,000 |
| Jefferson County, WI | 133 | $8,102,000 |
| Milwaukee County, WI | 132 | $5,821,000 |
| Green County, WI | 120 | $6,606,000 |
| Waukesha County, WI | 94 | $6,020,000 |
| Cook County, IL | 75 | $3,702,000 |
| Maricopa County, AZ | 37 | $1,726,000 |
| Winnebago County, WI | 32 | $1,303,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.