Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -3,403 tax returns · -7,121 people · $-570,962,000 AGI
| County | Returns | AGI |
|---|---|---|
| Lorain County, OH | 2,213 | $135,180,000 |
| Summit County, OH | 1,895 | $121,666,000 |
| Lake County, OH | 1,610 | $87,019,000 |
| Medina County, OH | 1,193 | $71,316,000 |
| Franklin County, OH | 834 | $50,880,000 |
| Portage County, OH | 647 | $37,461,000 |
| Geauga County, OH | 490 | $63,939,000 |
| Cook County, IL | 362 | $38,664,000 |
| Stark County, OH | 318 | $14,978,000 |
| Allegheny County, PA | 234 | $14,887,000 |
| County | Returns | AGI |
|---|---|---|
| Lorain County, OH | 2,947 | $223,222,000 |
| Summit County, OH | 2,262 | $174,091,000 |
| Lake County, OH | 2,063 | $120,402,000 |
| Medina County, OH | 1,614 | $124,895,000 |
| Franklin County, OH | 1,018 | $58,396,000 |
| Portage County, OH | 722 | $42,140,000 |
| Geauga County, OH | 572 | $70,933,000 |
| Cook County, IL | 503 | $36,722,000 |
| Maricopa County, AZ | 282 | $26,464,000 |
| Stark County, OH | 268 | $14,299,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.