codes for migpuma1 in the 2012-2016 ACS

I am trying to match PUMAs to migpuma1 to calculate migration across PUMAs in the 2012-2016. It seems like the codes for these two variables are different, even though both are supposed to be based on the 2010 PUMA definitions. For example, I see many cases where state of previous residence is Alabama (migplac1=1) and PUMA of previous residence is 190 or 290. But this combination of statefip and puma does not show up in the variables reflecting current residence (statefip and puma). Nor does it show up in the 2000 PUMA to 2010 PUMA crosswalk posted to the IPUMS website. Can you please explain how to interpret the codes for migpuma1? Thank you.

The result you are a seeing is due to the fact that in some cases, MIGPUMA1 codes represent combinations of PUMAs. The links on this page will help you identify the 2010 PUMAs that correspond to MIGPUMA1/MIGPLAC1 combinations. In particular, you may find this spreadsheet helpful; for example, you will see that in Alabama the MIGPUMA1 code of 290 corresponds to the combined area of PUMAs 200, 301, 302, and 500.