Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +47 tax returns · +167 people · +$76,682,000 AGI
| County | Returns | AGI |
|---|---|---|
| Roanoke city, VA | 1,080 | $117,898,000 |
| Salem city, VA | 285 | $17,806,000 |
| Botetourt County, VA | 222 | $16,452,000 |
| Bedford County, VA | 150 | $6,768,000 |
| Franklin County, VA | 142 | $10,758,000 |
| Montgomery County, VA | 120 | $6,879,000 |
| Fairfax County, VA | 34 | $3,707,000 |
| Lynchburg city, VA | 24 | $1,099,000 |
| Radford city, VA | 21 | $985,000 |
| Virginia Beach city, VA | 20 | $1,310,000 |
| County | Returns | AGI |
|---|---|---|
| Roanoke city, VA | 1,003 | $46,920,000 |
| Botetourt County, VA | 252 | $18,535,000 |
| Salem city, VA | 246 | $13,940,000 |
| Bedford County, VA | 174 | $10,505,000 |
| Franklin County, VA | 132 | $9,154,000 |
| Montgomery County, VA | 119 | $7,972,000 |
| Mecklenburg County, NC | 47 | $4,044,000 |
| Fairfax County, VA | 38 | $2,810,000 |
| Horry County, SC | 30 | $2,141,000 |
| Lynchburg city, VA | 27 | $1,064,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.