Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +1,178 tax returns · +2,558 people · +$82,903,000 AGI
| County | Returns | AGI |
|---|---|---|
| Madison County, AL | 1,569 | $119,774,000 |
| Morgan County, AL | 264 | $16,335,000 |
| Lauderdale County, AL | 129 | $7,481,000 |
| Giles County, TN | 72 | $3,345,000 |
| Jefferson County, AL | 72 | $5,760,000 |
| Lincoln County, TN | 36 | $1,689,000 |
| Cullman County, AL | 34 | $1,994,000 |
| Colbert County, AL | 33 | $1,518,000 |
| Lawrence County, AL | 32 | $1,934,000 |
| Shelby County, AL | 31 | $2,269,000 |
| County | Returns | AGI |
|---|---|---|
| Madison County, AL | 1,040 | $77,871,000 |
| Morgan County, AL | 206 | $15,164,000 |
| Lauderdale County, AL | 153 | $8,622,000 |
| Jefferson County, AL | 67 | $5,411,000 |
| Giles County, TN | 59 | $3,738,000 |
| Cullman County, AL | 35 | $3,481,000 |
| Lincoln County, TN | 30 | $2,167,000 |
| Lawrence County, AL | 30 | $2,137,000 |
| Davidson County, TN | 29 | $1,724,000 |
| Shelby County, AL | 28 | $1,827,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.