Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -1,903 tax returns · -4,743 people · $-371,642,000 AGI
| County | Returns | AGI |
|---|---|---|
| Butler County, OH | 2,852 | $141,033,000 |
| Clermont County, OH | 1,649 | $112,054,000 |
| Warren County, OH | 1,292 | $88,063,000 |
| Kenton County, KY | 895 | $51,375,000 |
| Campbell County, KY | 566 | $40,848,000 |
| Franklin County, OH | 553 | $31,942,000 |
| Montgomery County, OH | 546 | $26,904,000 |
| Boone County, KY | 360 | $17,303,000 |
| Cook County, IL | 286 | $35,797,000 |
| Dearborn County, IN | 280 | $13,744,000 |
| County | Returns | AGI |
|---|---|---|
| Butler County, OH | 3,171 | $183,998,000 |
| Clermont County, OH | 2,249 | $152,354,000 |
| Warren County, OH | 1,451 | $134,938,000 |
| Kenton County, KY | 1,039 | $82,591,000 |
| Franklin County, OH | 669 | $37,138,000 |
| Campbell County, KY | 653 | $42,391,000 |
| Boone County, KY | 476 | $28,087,000 |
| Montgomery County, OH | 468 | $23,533,000 |
| Cook County, IL | 425 | $33,179,000 |
| Dearborn County, IN | 359 | $27,345,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.