Public Use Microdata Areas (PUMAs)

2010 Edition - Spring, 2014

Note: This document (mostly written circa 2014) primarily describes the PUMA geography as it was defined for use in the 2010 decennial census PUMS products, and more recent (vintage 2012 and later) ACS data products. We created a document similar to this one that focused on the old 2000 vintage PUMAs that were defined for use with 2000 Census and earlier American Community Survey data products. Users wanting information regarding these earlier PUMAs should be reading the pumas2k document in this same allabout directory.

These geographic entities (PUMAs) are familiar to researchers who use the Census Bureau's Public Use MicroSample (PUMS) files. They are the only sub-state geographic identifiers on the PUMS records. But now that these areas are being used to publish summary tables based on the American Community Survey data, they have become much more widely used. Because they are required to have a minimum population of 100,000 all PUMA areas exceed the 65,000 population threshold, thus insuring that there will be single-year ACS data for them published each year. Our purpose here is to describe these entities and refer you to resources that will help you to understand and use them.

2010 PUMAs

PUMAs are redefined every ten years in conjunction with the decennial census. This document describes the PUMAs as they were defined for use with the 2010 census, replacing the old 2000 PUMAs for current data reporting. There have been some very noteable changes. The differences are not just in the specific geographic boundaries, but in the guidelines used to create them as well. Two of the more important changes are:

  1. Incorporated city boundaries may no longer be used to define PUMAs -- only continguous counties and/or census tracts may be used.

  2. The local agencies that define the PUMAs were asked to assign mnemonic names to the PUMAs. Having such locally assigned descriptive names makes these entities much more valuable as summary units in reports for users who have not memorized the PUMA codes.
We first saw the new 2010 PUMA's (also referred to sometimes by us as "2012 PUMAs", especially in connection with the American Community Survey where data for these entities was first reported for vintage year 2012) in the spring-summer of 2012. They were to be used in the 2010 census Public Use MicroSample (PUMS) files (had they ever geen created - the products was cancelled) and are now being used in the ACS PUMS files (starting with vintage 2012). As mentioned, they were first used in ACS summary data products starting with vintage 2012 (released in calendar year 2013).

Nerd note: Starting with vintage 2012 ACS PUMS products for multi-year periods, there are two PUMA fields used, with a pseudo-value of 00009 indicating "not available". In the 2010-2012 data files if a record is based on a survey conducted in 2010 or 2011 then the variable puma00 is defined, and puma10 has a value of 00009; otherwise (survey taken in 2012) you get a value of 00009 for puma00 and a useful value for puma10. This makes using these files to do PUMA-level data analysis problematic.

The Census Bureau has created a very comprehensive set of documents on its (2010) Public Use Microdata Areas (PUMAs) web page. This collection of pages summarize the criteria that was used in defining these entities and contains links to pages with more detail. A Reference Information section provides general links to various related documents and sites, including one to a 28-page PUMA tutorial module containing more information than many users may need to know (lots of history of the PUMA, for example). One might argue that these paged from the Census Bureau makes the one you are now reading unnecessary. But we still see things that are not covered there that we want to call attention to. We also point out special products created by the Missouri Census Data Center that are not refrerenced by the Bureau.

Some Basic Facts About PUMAs

  • PUMAs are (re)defined every ten years for use in the decennial census. There is a cooperative program between the Census Bureau and the states that allows local input to suggest boundaries for them. (They are similar to census tracts in this regard.) Like census tracts, many PUMAs retain their definitions across decades.

  • Prior to 2010 there were actually two kinds of PUMAs:
    • 1% or "Super" PUMAs were defined for each state and had to have a population of at least 400,000. These are NOT what we are describing here, although they are related.

    • 5% PUMAs (or, simply PUMAs) were smaller than and nested within the Super-PUMAs of a state. They were required (by the Census Bureau) to have a population of at least 100,000. The term PUMA, as used in this document, refers to these "5% PUMAs".

    • Super PUMAs are being done away with starting with the 2010 definitions.

  • PUMAs may not cross state boundaries. Where population constraints permit, they should not cross metropolitan area boundaries. States are entirely comprised of PUMAs (i.e. there is no territory that is not assigned to a PUMA).

  • PUMAs are assigned 5-digit codes that are unique within state. Typically, larger (measured in land area) and more rural PUMAs have codes that end with "00". PUMAs that represent portions of a large county will have the same first 3 digits with the last 2 digits being assigned as "01", "02", etc.

  • Prior to 2010 PUMAs were not assigned formal names. Starting with 2010 the local agencies that participated in the PUMA boundary suggestion program were asked to provide suggested names for these areas. So PUMAs now have names . (If you'd prefer a plain text version of this table in the form of a SAS format code see our module.)

    In Missouri (only) we created an informal table that assigned a short descriptive name to each of the 2000 Missouri PUMAs. These labels have been quite useful for reports that display data at the PUMA level. (See table).

  • Prior to 2010 PUMAs could be defined in terms of counties, census tracts and/or places. Starting with 2010 they can only be comprised of congiguous counties or census tracts. Large urban counties are typically subdivided into multiple PUMAs with boundaries based on census tracts. In less populated rural areas PUMAs are typically comprised of smaller (population-wise) contiguous counties.

  • The 3-digit geographic summary level code for a PUMA is 795. Why would you care or ever need to know this? If you were using Dexter to access one of our mixed-geography data sets such as the one at acs2012.usmcdcprofiles and only wanted to keep those observations/rows that summarized PUMAs you would need to know this code in order to specify the filter:
    SumLev Equals 795 .
    (You could also look up the code using the Detailed Metadata link but you can save time and impress your friends if you already know the code.)

  • The Census Bureau makes available cartographic boundary files for PUMAs by state which can be accessed from their web page at . These can be used with GIS systems to display maps of data at the PUMA level.

PUMA Maps and Geographic Equivalencies

The Census Bureau publishes PUMA reference material at Included on this page is a link to a set of individual PUMA maps organized by state. These can be useful when you one to zero in on a single PUMA or set of PUMAs. But normally we prefer a map product that can show us an entire state's worth of PUMA's or a metro region overview. For that type of map see our reference below to the Proximity One PUMA maps products.

PUMA codes (both the old - 2000 vintage - and the new (2010 vintage, aka "2012" PUMAs - our alias) are included in the Missouri Census Data Center's MABLE database, which means they can be used within the MABLE/Geocorr14 web application. See more detailed discussion, below.

Using MABLE/Geocorr we generated a 2000-PUMA to 2012-PUMA equivalency file in both csv (comma-separated) and SAS data set formats. The csv file is puma2k_puma2010.csv in our corrlst ("correlation lists") data directory. We used the 2010 pop as the weight variable so this file tries to measure the overlaps as of 4-1-10. The variable afact indicates the portion of the 2000 PUMA;s 2010 pop living in the 2010 PUMA; the variable afact2 goes the other way, showing what portion of the 2010 PUMA's pop also resides (resided) in the 2000 PUMA. The SAS data set version is accessible using our Dexter utility (access corrlst.puma2k_puma2010 which lets you easily create state-based subsets). To help you see what these data look like we generated a nicely formatted listing of the Missouri subset of this data set.

The folks at IPUMS have created an interactive map showing the 2000 and 2010 boundaries overlaid.

Using Maps to See Which PUMAs Are Where

By far the best resource we have found for letting you actually see where the PUMAs are located within a state is at this ProximityOne puma2010 web page. In addition to some excellent general background info and access to the latest 1-year (2012 currently) ACS data profiles at the 2010 PUMA level, you can find a box on the right labeled PUMA Map Views by State. Scroll down (if necessary) and find your state and click on it. You'll get an excellent overview map of the state, clearly displaying the PUMA boundaries on a based map that shows county boundaries and major towns. Urban areas get their own separate inset maps. It's a .com site but access to these maps is free. (Each click on this site opens a new window or tab so you might want to start in a new browser window).

PUMA Master Dataset and Web Application

We have created a special puma_master dataset in our public data archive. Each observation (record/row) in the dataset describes a single 2010 PUMA. It provides information regarding the PUMA's location by indicating intersections with other more familiar geographies. For example, what county/counties, place(s), metro area, Congressional District(s), etc. it intersects with. It is like somebody ran a bunch of MABLE/Geocorr runs (see below for a description of the geocorr application) and merged them altogether in this single resource. The dataset also contains a set of key indicator variables from a recent set of ACS summary data.

Using MABLE/Geocorr to Relate PUMAs to Other Geographic Codes

If you not familiar with this geographic utility application we suggest you start by looking at the explanation and example from the MCDC Quick Tour page . There is also a powerpoint tutorial that should help you get started. (It describes the "2k" edition of the application, which is not the one you'll need for the 2010 PUMAs, but the application works the same, just different geographic choices.)
What the geocorr apps do is create reports (and/or comma-delimited files) showing how different geographic layers correspond to one another. A good example relevant to the current topic involves using the application to generate a report showing how PUMAs relate to counties in the state of Colorado. To do this, invoke the application (at ) and fill out the form as follows:

  1. Choose Colorado as the state to process.

  2. From the "Select 1 or more "SOURCE" Geocode(s)" select list choose PUMA ("2012") .

  3. From the "Select 1 or more "TARGET" Geocode(s)" select list choose County .

  4. Skip down a short ways to the Output Options section, and check the box labeled "Generate 2nd allocation factor (AFACT2): portion of target geocodes in source geocodes". This means that our report will not only show us what portion of the PUMA population resided in the county in 2000, but also what portion of the county population resided within the PUMA.

  5. Accept defaults (ignore) the rest of the options. Find the first "Run Request" button you can and click it to invoke the geocorr program.

It should take less than 2 seconds to process this request. In your browser a page will be generated summarizing the results and providing hyperlinks to the 2 Output Files. If you click on the Listing (report format) link you should see a report, the first few lines of which should look like this: (We removed the 2 state FIPS/state abbreviation columns at left to make it easier to read here).

                                                   2010 PUMA to County Equivalency File for Colorado

                                                                                                                  Total Pop,     puma12 to       county to
                                                                                                                     2010       county alloc    puma12 alloc
  puma12    PUMA12 Name                                                               county    cntyname            census         factor          factor

  00100     Northeast Colorado--Eastern Plains Region                                 08011     Bent CO               6499          0.059           1.000   
                                                                                      08017     Cheyenne CO           1836          0.017           1.000   
                                                                                      08025     Crowley CO            5823          0.053           1.000   
                                                                                      08039     Elbert CO             3717          0.034           0.161   
                                                                                      08061     Kiowa CO              1398          0.013           1.000   
                                                                                      08063     Kit Carson CO         8270          0.075           1.000   
                                                                                      08073     Lincoln CO            5467          0.050           1.000   
                                                                                      08075     Logan CO             22709          0.206           1.000   
                                                                                      08087     Morgan CO            28159          0.255           1.000   
                                                                                      08095     Phillips CO           4442          0.040           1.000   
                                                                                      08115     Sedgwick CO           2379          0.022           1.000   
                                                                                      08121     Washington CO         4814          0.044           1.000   
                                                                                      08123     Weld CO               4843          0.044           0.019   
                                                                                      08125     Yuma CO              10043          0.091           1.000   

  00102     Larimer County (South)--Loveland City                                     08069     Larimer CO          115164          1.000           0.384   

  00103     Larimer County (North)--Fort Collins City                                 08069     Larimer CO          184466          1.000           0.616   

  00200     Northwest Colorado--Garfield, Routt, Moffat & Rio Blanco Counties         08045     Garfield CO          56389          0.562           1.000   
                                                                                      08081     Moffat CO            13795          0.137           1.000   
                                                                                      08103     Rio Blanco CO         6666          0.066           1.000   
                                                                                      08107     Routt CO             23509          0.234           1.000   

  00300     Weld County (South Central)--Greeley, Windsor & Evans Cities              08123     Weld CO             172967          1.000           0.684   

  00400     Eagle, Summit, Grand & Jackson Counties                                   08037     Eagle CO             52197          0.460           1.000   
                                                                                      08049     Grand CO             14843          0.131           1.000   
                                                                                      08057     Jackson CO            1394          0.012           1.000   
                                                                                      08097     Pitkin CO            17148          0.151           1.000   
                                                                                      08117     Summit CO            27994          0.246           1.000   

These are just the lines of the report dealing with the first five values of the "source" geocode, which is called puma12 in the MABLE database being used by geocorr. Each line of the report represents the intersection of the PUMA area with a "target" geocode -- a county. The first line of the report tells us that the intersection of PUMA 00100 (Northeast Colorado...) with Bent county had 6499 persons living in it according to the 2010 census. The first "alloc factor" column has a value of 0.059, which is telling is what portion of the PUMA's total population is represented by this intersection. So just under 6% of this PUMA's population is in Bent county. The last column, titled "county to puma12 alloc factor" is the allocation factor going the other way, the one we only get because we checked that special option ("Generate 2nd allocation factor (AFACT2)") on the input form. The value of 1.000 tells us that the entire county of Bent is (was) contained in this PUMA. In fact, as you scan the 7 lines of the report you see there are a dozen counties listed that have a value of 1.000 in this column, indicating that they fall entirely within the PUMA. Two other counties (Elbert and Weld) are just partially contained in the PUMA.

This example shows us how to relate the PUMA areas to counties. We can just as easily (by changing our selection in the Target Geocodes select list) get comparable reports for other geographic levels such as places (cities), congressional districts, CBSA's (metropolitan and micropolitan statistical areas), Urbanized Areas/Urban Clusters, etc. You can also select "PUMA (2000)" as the target to get the relationship between the new 2010/2012 PUMAs to the old 2000 PUMAs. Note that there are no names associated with the 2000 PUMAs, except in Missouri.

Summary Data at the PUMA Level

The Census Bureau did not publish any summary data for these units based on the 2010 census. You will not be able to find a PUMA summary level on sf1 or using the American FactFinder web site. However, it would be possible to aggregate data at the census tract level to create such summaries. You could use geocorr to generate the required tract-to-PUMA equivalency file.

Data from the American Community Survey are available at the PUMA level. Data published for vintage years 2011 and earlier use the old 2000 PUMAs as the units. Starting with vintage 2012 they will be by the new 2010/2012 PUMAs. Such data can be accessed via American FactFinder or from the MCDC web site. Both our ACS Profiles and ACS Profile extract app (accessible via our Quick Links box) can be used to access PUMA-level data. PUMA data can also be extracted using Uexplore/Dexter from our various acs2006 thru acs2012 data directories. The usmcdcprofiles and usmcdcprofiles3yr data sets contain summaries at the PUMA level; just filter using the SumLev = 795 filter spec. Detailed tables in our basetbls and btabs5yr subdirectories of the more recent acs subdirectories also contain data at the PUMA level.