Tax Migration Data
From charlesreid1
SOI Tax Stats: migration data: https://www.irs.gov/statistics/soi-tax-stats-migration-data
Referenced by the folks at CensusReporter.org
Contents
What is it?
The data that's given is migration data for individuals moving between states. There are data provided going back to 2011.
There is a detailed guide to this data set here: https://www.irs.gov/pub/irs-soi/1516inpublicmigdoc.pdf
Data Files
State to State Outflow
The data sets provide a CSV file for state to state outflow. The headers in these CSV files look like this:
$ head -n10 stateoutflow1516.csv y1_statefips,y2_statefips,y2_state,y2_state_name,n1,n2,AGI 01,96,AL,AL Total Migration-US and Foreign,44461,89926,2507957 01,97,AL,AL Total Migration-US,43638,88139,2460974 01,98,AL,AL Total Migration-Foreign,823,1787,46982 01,97,AL,AL Total Migration-Same State,56323,115151,2486684 01,01,AL,AL Non-migrants,1586719,3527365,98693046 01,13,GA,Georgia,8103,16268,379251 01,12,FL,Florida,6493,12760,398129 01,47,TN,Tennessee,4043,7929,273599 01,48,TX,Texas,3602,7789,203940
The documentation section E1 covers this data set:
The state to state outflow migration files represent the migration flows from the origin state in year 1 to the destination state in year 2. There are 51 files for each state plus the D of C. Included inthe list of outflow states are the number of returns that migrated to a foreign location. Each file tabulates the number of returns, number of exemptions, and adjusted gross income (AGI).Each state outflow records file contains five header records that show (1) the total US and foreign out-migration for that state, (2) the total US out-migration, (3) the total foreign out-migration, and (4) the total same state migration for that state, and (5) the total non-migrants.
Naming convention: stateoutflow1516.csv covers years 2015 and 2016.
Columns are as follows:
- y1 state fips - state fips code of origin from year 1
- y2 state fips - state fips code of destination from year 2
- y2 state - state abbrev or postal code
- y2 state name - name of state
- n1 - number of returns
- n2 - number of exemptions
- agi - adjusted gross income
State to State Inflow
Similar to the outflow file - the inflow file shows data about inflow migration patterns into a given state.
Inflow record columns are as follows:
- y2 state fips - state fips code of destination from year 2
- y1 state fips - state fips code of origin from year 1
- y1 state - abbreviation or postal code of origin from year 1
- y1 state name - state name of origin from year 1
- n1 - number of returns
- n2 - number of exemptions
- agi - adjusted gross income
County to County Outflow
County to county outflow data provides additional columns:
$ head -n5 countyoutflow1516.csv y1_statefips,y1_countyfips,y2_statefips,y2_countyfips,y2_state,y2_countyname,n1,n2,agi 01,000,96,000,AL,Total Migration-US and Foreign,100784,205077,4994641 01,000,97,000,AL,Total Migration-US,99961,203290,4947658 01,000,97,001,AL,Total Migration-Same State,56323,115151,2486684 01,000,97,003,AL,Total Migration-Different State,43638,88139,2460974
The columns are:
- y1 state fips - state fips code of origin from year 1
- y1 county fips - county fips code of origin from year 1
- y2 statefips - state fips code of destination from year 2
- y2 county fips - county fips code of destination from year 2
- y2 state - state abbreviation or postal code of destination from year 2
- y2 county name - county name of destination from year 2
- n1 - number of returns
- n2 - number of exemptions
- agi - adjusted gross income
Note that some of the county names (county code 000) will contain SUMMARIES.
Additionally, each county actually contains a breakdown into seven "Other flows" categories.
Other flow categories:
- Total US and foreign out-migration for that state
- Total US out-migration for that state
- Total same state migration for that state
- Total different-state out-migration for that state
- Total foreign out-migraiton for that state
County to County Inflow Data
Example data for county to county inflow data:
y2_statefips,y2_countyfips,y1_statefips,y1_countyfips,y1_state,y1_countyname,n1,n2,agi 01,000,96,000,AL,Total Migration-US and Foreign,100390,207334,4835874 01,000,97,000,AL,Total Migration-US,99527,205203,4782089 01,000,97,001,AL,Total Migration-Same State,56323,115151,2486684 01,000,97,003,AL,Total Migration-Different State,43204,90052,2295405 ... 01,003,12,113,FL,Santa Rosa County,70,132,3499 01,003,01,089,AL,Madison County,57,106,4331 01,003,01,081,AL,Lee County,55,94,2735 01,003,48,201,TX,Harris County,49,100,10215 01,003,28,059,MS,Jackson County,43,89,3302 01,003,01,025,AL,Clarke County,40,82,2580 01,003,47,157,TN,Shelby County,39,75,2252 01,003,28,047,MS,Harrison County,38,86,1885 01,003,12,091,FL,Okaloosa County,36,63,2048 01,003,01,069,AL,Houston County,35,74,1761 01,003,01,099,AL,Monroe County,34,62,1331 01,003,01,015,AL,Calhoun County,32,71,2013 01,003,01,051,AL,Elmore County,32,60,2198
The county to county inflow columns are:
- y2 state fips - state fips code of destination from year 2
- y2 county fips - county fips code of destination from year 2
- y1 state fips - state fips code of origin from year 1
- y1 county fips - county fips code of origin from year 1
- y1 state - state abbrev or postal code of origin from year 1
- y1 county name - county name of origin from year 1
- for state total records - name is "Total Migration - (Topic)"
- for county total records - name is "[State County Name] Total Migration - US and Foreign"
- for foreign records - name is "Foreign - (Name of country)"
- n1 - number of returns
- n2 - number of exemptions
- agi - adjusted gross income
Like the county to county outflow data, this inflow data is also divided into categories:
- Total US and foreign out-migration for that state
- Total US out-migration for that state
- Total same state migration for that state
- Total different state out-migration for that state
- Total foreign out-migration for that state
Gross Migration File
The gross
The columns in the CSV files look like this: