Federal Data HubIRS Migration Flows · JSON

Otter Tail County, MN

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

Net migration: -168 tax returns · -2 people · +$6,254,000 AGI

Inflow
1,310 returns · 2,322 people · $91,470,000 AGI
Outflow
1,478 returns · 2,324 people · $85,216,000 AGI

Top origins (where new residents came from)

CountyReturnsAGI
Cass County, ND133$12,345,000
Becker County, MN120$7,046,000
Wadena County, MN89$5,382,000
Clay County, MN72$5,235,000
Hennepin County, MN65$5,858,000
Douglas County, MN56$3,276,000
Grant County, MN38$1,664,000
Todd County, MN33$1,965,000
Stearns County, MN27$1,296,000
Wilkin County, MN24$1,757,000

Top destinations (where leavers went)

CountyReturnsAGI
Cass County, ND191$9,070,000
Clay County, MN111$5,018,000
Becker County, MN110$5,455,000
Hennepin County, MN86$4,986,000
Douglas County, MN71$3,418,000
Wadena County, MN64$2,949,000
Wilkin County, MN35$1,209,000
Todd County, MN35$1,519,000
Grant County, MN34$1,406,000
Stearns County, MN23$805,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.