ACS and ASEC Migrate1 do not match

Hi, I’m trying to understand why there is a large disparity in household moves between ACS and ASEC. I don’t expect them to match exactly due to the respective nature of each survey, but they seem too far apart. Recognizing that the ASEC doesn’t include most military households, I set my ACS accordingly to try to match:

ACS: year = 2019, exclude ‘Same house’ in Migrate1, set Pernum =1 (which handles filtering out age 0), exclude all group quarters, exclude active duty military in Vetstatd
→ 15,146,202 households

ASEC: year = 2019, exclude ‘Same house’ in Migrate1, set Pernum =1, exclude all group quarters
->12,593,041 households

Can you spot anything I’m missing, or offer any other thoughts on the difference?

This 2007 Census report notes differences in geographic mobility estimates between the ACS and CPS ASEC going as far back as 2004 when the ACS estimated 5.3 million more movers than the ASEC. The paper attributes this gap to several factors aside from differences in sampling of group quarters. These include residence rules (current vs usual), reference periods (ACS is longer) and collection methods (ACS uses mail-in questionnaires), updates in the sample frame, and allocation rules. Researchers should read about the methods used for each survey to determine which aligns best with their analysis.

One additional note is that MIGRATE1 is a person-level variable. Restricting the sample to PERNUM = 1 will only tell you whether the household head moved and will not provide any information on other members of the household. This information can be informative, but since it is a person-level variable you should use the person-level weights PERWT/ASECWT/SDAWT to generate person-level estimates.