Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -321 tax returns · -437 people · +$25,000 AGI
| County | Returns | AGI |
|---|---|---|
| St. Joseph County, IN | 368 | $22,833,000 |
| Cass County, MI | 288 | $14,623,000 |
| Cook County, IL | 233 | $52,674,000 |
| Van Buren County, MI | 221 | $9,696,000 |
| Kalamazoo County, MI | 135 | $5,889,000 |
| Kent County, MI | 99 | $5,376,000 |
| LaPorte County, IN | 90 | $3,935,000 |
| Elkhart County, IN | 79 | $4,572,000 |
| Ottawa County, MI | 43 | $2,650,000 |
| DuPage County, IL | 40 | $9,424,000 |
| County | Returns | AGI |
|---|---|---|
| St. Joseph County, IN | 370 | $19,103,000 |
| Cass County, MI | 339 | $26,907,000 |
| Van Buren County, MI | 205 | $9,460,000 |
| Kalamazoo County, MI | 194 | $10,828,000 |
| Cook County, IL | 166 | $19,544,000 |
| Kent County, MI | 152 | $7,105,000 |
| LaPorte County, IN | 96 | $6,342,000 |
| Elkhart County, IN | 66 | $2,415,000 |
| Ottawa County, MI | 57 | $3,573,000 |
| Oakland County, MI | 48 | $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.