Federal Data HubIRS Migration Flows · JSON

Grand Forks County, ND

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

Net migration: -157 tax returns · -403 people · $-24,649,000 AGI

Inflow
2,412 returns · 3,811 people · $125,246,000 AGI
Outflow
2,569 returns · 4,214 people · $149,895,000 AGI

Top origins (where new residents came from)

CountyReturnsAGI
Polk County, MN228$13,677,000
Cass County, ND202$11,680,000
Walsh County, ND64$3,627,000
Traill County, ND51$2,896,000
Burleigh County, ND46$1,812,000
Hennepin County, MN38$1,984,000
Ramsey County, ND37$1,995,000
Marshall County, MN33$1,799,000
Pembina County, ND32$1,987,000
Maricopa County, AZ30$1,215,000

Top destinations (where leavers went)

CountyReturnsAGI
Cass County, ND308$16,327,000
Polk County, MN154$8,554,000
Hennepin County, MN104$7,770,000
Burleigh County, ND48$2,103,000
Maricopa County, AZ44$3,625,000
Traill County, ND42$2,318,000
Dakota County, MN39$1,889,000
Clay County, MN37$2,877,000
Ramsey County, MN32$1,720,000
Ward County, ND29$1,294,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.