Federal Data HubIRS Migration Flows · JSON

Madison County, AL

County-to-county migration · IRS SOI · filing years 2022-2023

Net migration: +2,534 tax returns · +4,800 people · +$141,362,000 AGI

Inflow
12,083 returns · 21,436 people · $844,739,000 AGI
Outflow
9,549 returns · 16,636 people · $703,377,000 AGI

Top origins (where new residents came from)

CountyReturnsAGI
Limestone County, AL1,040$77,871,000
Morgan County, AL508$26,767,000
Jefferson County, AL455$31,674,000
Marshall County, AL301$17,649,000
Lincoln County, TN208$10,838,000
Lauderdale County, AL202$10,137,000
Davidson County, TN173$12,392,000
Jackson County, AL171$8,723,000
Tuscaloosa County, AL146$8,136,000
Shelby County, AL140$12,519,000

Top destinations (where leavers went)

CountyReturnsAGI
Limestone County, AL1,569$119,774,000
Morgan County, AL562$35,785,000
Jefferson County, AL350$18,622,000
Marshall County, AL329$31,792,000
Lincoln County, TN189$14,651,000
Jackson County, AL168$14,022,000
Davidson County, TN155$7,727,000
Lauderdale County, AL132$7,469,000
Cullman County, AL105$7,947,000
Shelby County, AL90$4,672,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.