Federal Data HubIRS Migration Flows · JSON

Olmsted County, MN

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

Net migration: -219 tax returns · -733 people · $-77,736,000 AGI

Inflow
4,895 returns · 7,468 people · $321,089,000 AGI
Outflow
5,114 returns · 8,201 people · $398,825,000 AGI

Top origins (where new residents came from)

CountyReturnsAGI
Hennepin County, MN283$21,810,000
Dodge County, MN207$10,372,000
Winona County, MN171$9,112,000
Mower County, MN153$6,731,000
Goodhue County, MN139$7,797,000
Ramsey County, MN133$5,684,000
Wabasha County, MN129$6,373,000
Dakota County, MN125$10,890,000
Fillmore County, MN111$5,421,000
Maricopa County, AZ84$6,253,000

Top destinations (where leavers went)

CountyReturnsAGI
Hennepin County, MN437$29,853,000
Dodge County, MN246$15,062,000
Dakota County, MN197$14,687,000
Goodhue County, MN182$12,305,000
Ramsey County, MN176$9,656,000
Winona County, MN157$8,331,000
Wabasha County, MN155$10,127,000
Mower County, MN147$9,083,000
Fillmore County, MN142$8,328,000
Maricopa County, AZ106$16,081,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.