Missing Metropolitan Statistical Area in ACS 5 year extracts


I’ve downloaded and cleaned 10 years’ worth of the ACS 5-year at the Census Block Group level using STATA. That said, I noticed that the variables having to do with metropolitan statistical area (CBAA for example) are empty. Differentiating urban and rural communities is pretty important for my project. Is there something I’m doing wrong? I can’t seem to find how to get these on the NHGIS website. Sorry if this is a silly question.



Hi Chris,

It’s not a silly question! Unfortunately, the geographic codes in the source ACS summary files from the Census Bureau are generally limited to the key identifying codes for a given level. Even though they certainly could identify the CBSA in which each block group is located, the CBSA field is left blank for block groups, and for all other levels that don’t include CBSAs in their hierarchy.

E.g., the “metropolitan division” level includes CBSAs as a parent level, so metropolitan division data will include CBSA codes. In county data, there are state codes because states are in the county hierarchy, but there are no CBSA codes, nor region or division codes, even though counties nest within those areas, too.

FWIW, the geographic info in decennial census summary files is more complete, providing codes for all containing units.

To get CBSA codes for ACS block group data, I think the most straightforward approach is to use the Census Bureau’s CBSA delineation files, joining them to the block group data based on the state and county identifiers.

Hi Jonathan,

Thank you so much for the response! I’m glad to know I wasn’t the problem (because I usually am). I’ve had a look at those delineations and I am curious if you konw if there is any crosswalking I need to do to convert the place codes from the Census Bureau into the codes used for the ACS 5-year. I believe the ACS 5 year I’m using are all in 2010 Tiger Lines. Thanks again!



To join CBSA delineation files with block group data, the key codes you need are the state and county FIPS codes. These codes are available in the delineation files and in pretty much any source of block group data, as a complete block group ID includes them. Standard block group IDs are formed as a concatenation of [state FIPS] & [county FIPS] & [census tract code] & [block group code].

A couple things to watch for:

  1. NHGIS “GISJOIN” codes include the state and county FIPS codes, but the GISJOIN version appends an extra digit, usually 0, after each FIPS code. (The extra digit is used to distinguish historical areas.)
  2. FIPS codes crucially include leading zeros. A proper state FIPS is exactly 2 digits (e.g., “04”) and a proper county FIPS is exactly 3 digits. Many software packages will automatically convert the codes from text strings to numbers, which drops the leading zeros. Just watch out for that, and make sure when you join two tables that they have matching code formats.

Hi all - I’m adding to this thread with a similar question. I’m working on a project that involves block-group level change over time from 2010 to 2017 in one state (North Carolina) and I need to be able to rank block groups within metropolitan statistical area (MSAs). I downloaded 2010 decennial census block group level data from NHGHIS, and the dataset contains the code for msas (variable name = ‘cbsaa’). However, the cbsaa variable includes both metropolitan and micropolitan areas, with no variable to indicate which is which. Thus, I downloaded the Census Bureau’s CBSA delineation file for 2013 (the earliest year I could find), restricted the file to only include North Carolina MSA’s, and then merged to the block-group-level data using county. There were 503 block groups that were not matched; 471 of which had no value for ‘cbsaa’ (and are thus assumed to be rural, i.e., located outside of metropolitan or micropolitan areas); however, 32 (19 from Anson County; 13 from Greene County) were listed in the NHGIS as being within an MSA, but not included in the CB delineation files. Do you know why? Glad for any suggestions! Thanks very much.

At the bottom of the main delineation files page, there’s a link to “historical delineation files”. There you’ll find the 2009 delineation files, which correspond to the CBSAs used in 2010 census data. I suspect using the 2009 files will eliminate the discrepancies you found between NHGIS codes and the 2013 CBSA codes.

Another way you could distinguish metro and micro areas is to join the block group data to a CBSA data file from NHGIS. The CBSA data file includes the CBSA names, which include the terms “Metropolitan” or “Micropolitan”. You could use that info to determine the metro/micro status. (We also have plans to add a separate metro/micro indicator into NHGIS CBSA files, with hopes to implement that in the next month or two, but I’m not sure on the timing yet!)

1 Like

Thanks so much! Literally right after I sent that I saw the link on the bottom of the page - my bad! This is really helpful. Very much appreciate the detailed response, as always.