Federal Data HubIRS Migration Flows · JSON

Freeborn County, MN

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

Net migration: -38 tax returns · -12 people · $-270,000 AGI

Inflow
619 returns · 1,091 people · $32,009,000 AGI
Outflow
657 returns · 1,103 people · $32,279,000 AGI

Top origins (where new residents came from)

CountyReturnsAGI
Mower County, MN93$4,522,000
Steele County, MN46$2,818,000
Hennepin County, MN37$2,147,000
Olmsted County, MN26$1,244,000
Faribault County, MN24$1,482,000
Ramsey County, MN23$891,000
Dakota County, MN23$1,304,000
Waseca County, MN20$1,126,000

Top destinations (where leavers went)

CountyReturnsAGI
Mower County, MN56$2,191,000
Steele County, MN44$2,025,000
Hennepin County, MN38$1,332,000
Olmsted County, MN34$2,190,000
Ramsey County, MN25$1,045,000
Waseca County, MN22$1,305,000
Blue Earth County, MN22$941,000
Dakota County, MN20$975,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.