Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +162 tax returns · +502 people · +$16,723,000 AGI
| County | Returns | AGI |
|---|---|---|
| Lauderdale County, AL | 555 | $28,591,000 |
| Franklin County, AL | 142 | $8,152,000 |
| Madison County, AL | 64 | $4,793,000 |
| Lawrence County, AL | 40 | $1,887,000 |
| Morgan County, AL | 33 | $1,950,000 |
| Jefferson County, AL | 27 | $1,748,000 |
| Limestone County, AL | 26 | $1,900,000 |
| Marion County, AL | 20 | $1,270,000 |
| County | Returns | AGI |
|---|---|---|
| Lauderdale County, AL | 502 | $24,425,000 |
| Franklin County, AL | 104 | $4,189,000 |
| Madison County, AL | 73 | $3,302,000 |
| Lawrence County, AL | 70 | $2,598,000 |
| Morgan County, AL | 37 | $1,798,000 |
| Limestone County, AL | 33 | $1,518,000 |
| Jefferson County, AL | 30 | $1,592,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.