Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -70 tax returns · +128 people · $-2,096,000 AGI
| County | Returns | AGI |
|---|---|---|
| Trumbull County, OH | 1,098 | $45,820,000 |
| Columbiana County, OH | 498 | $26,972,000 |
| Stark County, OH | 201 | $8,342,000 |
| Cuyahoga County, OH | 168 | $7,925,000 |
| Franklin County, OH | 133 | $6,108,000 |
| Lawrence County, PA | 116 | $5,176,000 |
| Summit County, OH | 114 | $5,393,000 |
| Portage County, OH | 110 | $5,693,000 |
| Allegheny County, PA | 90 | $6,045,000 |
| Mercer County, PA | 87 | $3,685,000 |
| County | Returns | AGI |
|---|---|---|
| Trumbull County, OH | 1,071 | $45,188,000 |
| Columbiana County, OH | 443 | $21,617,000 |
| Stark County, OH | 219 | $9,231,000 |
| Cuyahoga County, OH | 203 | $9,805,000 |
| Summit County, OH | 197 | $11,392,000 |
| Franklin County, OH | 194 | $7,453,000 |
| Portage County, OH | 152 | $7,295,000 |
| Allegheny County, PA | 100 | $4,367,000 |
| Lawrence County, PA | 79 | $3,582,000 |
| Mercer County, PA | 57 | $1,864,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.