Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -985 tax returns · -1,748 people · $-114,852,000 AGI
| County | Returns | AGI |
|---|---|---|
| Wood County, OH | 1,367 | $77,750,000 |
| Monroe County, MI | 662 | $35,639,000 |
| Wayne County, MI | 328 | $14,280,000 |
| Fulton County, OH | 326 | $17,857,000 |
| Franklin County, OH | 214 | $9,722,000 |
| Cuyahoga County, OH | 155 | $10,174,000 |
| Ottawa County, OH | 150 | $7,055,000 |
| Lenawee County, MI | 132 | $7,302,000 |
| Sandusky County, OH | 119 | $4,792,000 |
| Hancock County, OH | 115 | $4,864,000 |
| County | Returns | AGI |
|---|---|---|
| Wood County, OH | 1,553 | $93,515,000 |
| Monroe County, MI | 618 | $36,055,000 |
| Franklin County, OH | 381 | $17,555,000 |
| Fulton County, OH | 331 | $35,547,000 |
| Wayne County, MI | 264 | $12,563,000 |
| Ottawa County, OH | 199 | $13,436,000 |
| Cuyahoga County, OH | 193 | $10,097,000 |
| Oakland County, MI | 109 | $8,052,000 |
| Cook County, IL | 109 | $9,515,000 |
| Sandusky County, OH | 103 | $4,623,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.