Federal Data HubIRS Migration Flows · JSON

Berrien County, MI

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

Net migration: -321 tax returns · -437 people · +$25,000 AGI

Inflow
3,299 returns · 5,739 people · $250,981,000 AGI
Outflow
3,620 returns · 6,176 people · $250,956,000 AGI

Top origins (where new residents came from)

CountyReturnsAGI
St. Joseph County, IN368$22,833,000
Cass County, MI288$14,623,000
Cook County, IL233$52,674,000
Van Buren County, MI221$9,696,000
Kalamazoo County, MI135$5,889,000
Kent County, MI99$5,376,000
LaPorte County, IN90$3,935,000
Elkhart County, IN79$4,572,000
Ottawa County, MI43$2,650,000
DuPage County, IL40$9,424,000

Top destinations (where leavers went)

CountyReturnsAGI
St. Joseph County, IN370$19,103,000
Cass County, MI339$26,907,000
Van Buren County, MI205$9,460,000
Kalamazoo County, MI194$10,828,000
Cook County, IL166$19,544,000
Kent County, MI152$7,105,000
LaPorte County, IN96$6,342,000
Elkhart County, IN66$2,415,000
Ottawa County, MI57$3,573,000
Oakland County, MI48$4,677,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.