Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -22 tax returns · +334 people · $-1,280,000 AGI
| County | Returns | AGI |
|---|---|---|
| Mahoning County, OH | 1,071 | $45,188,000 |
| Portage County, OH | 249 | $10,415,000 |
| Mercer County, PA | 237 | $9,747,000 |
| Cuyahoga County, OH | 156 | $7,318,000 |
| Ashtabula County, OH | 134 | $5,595,000 |
| Geauga County, OH | 122 | $5,804,000 |
| Summit County, OH | 116 | $4,776,000 |
| Columbiana County, OH | 83 | $3,420,000 |
| Franklin County, OH | 79 | $3,305,000 |
| Stark County, OH | 54 | $2,567,000 |
| County | Returns | AGI |
|---|---|---|
| Mahoning County, OH | 1,098 | $45,820,000 |
| Portage County, OH | 243 | $10,344,000 |
| Cuyahoga County, OH | 195 | $8,228,000 |
| Mercer County, PA | 179 | $10,838,000 |
| Summit County, OH | 159 | $7,397,000 |
| Ashtabula County, OH | 117 | $5,360,000 |
| Franklin County, OH | 116 | $4,928,000 |
| Geauga County, OH | 94 | $4,506,000 |
| Columbiana County, OH | 86 | $3,069,000 |
| Stark County, OH | 63 | $2,782,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.