Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +44 tax returns · +289 people · $-4,675,000 AGI
| County | Returns | AGI |
|---|---|---|
| Portage County, WI | 271 | $12,448,000 |
| Marathon County, WI | 253 | $13,900,000 |
| Clark County, WI | 119 | $5,681,000 |
| Adams County, WI | 81 | $3,669,000 |
| Dane County, WI | 61 | $3,382,000 |
| Waushara County, WI | 29 | $1,092,000 |
| Brown County, WI | 29 | $1,549,000 |
| Milwaukee County, WI | 28 | $1,394,000 |
| Waukesha County, WI | 27 | $1,695,000 |
| Taylor County, WI | 25 | $1,399,000 |
| County | Returns | AGI |
|---|---|---|
| Portage County, WI | 269 | $13,046,000 |
| Marathon County, WI | 249 | $14,929,000 |
| Clark County, WI | 80 | $3,072,000 |
| Adams County, WI | 79 | $5,315,000 |
| Dane County, WI | 77 | $4,018,000 |
| Eau Claire County, WI | 48 | $2,707,000 |
| La Crosse County, WI | 44 | $2,262,000 |
| Milwaukee County, WI | 36 | $1,513,000 |
| Winnebago County, WI | 35 | $1,269,000 |
| Outagamie County, WI | 29 | $1,838,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.