workers in their POWPUMA



I am trying to extract workers at their place of work from the 1-year ACS microdata but I am having a hard time figuring out the right variables.  I have an Access database with the 1-year data so I am looking for the correct query.  If I pull all records where Employment status recode is 1 (Civilian employed, at work), 2 (Civilian employed, with a job but not at work), 4 (Armed forces, at work), and 5 (Armed forces, with a job but not at work) along with the POWPUMA number and the person weight, will that get me the correct number?

I tried getting it from iPUMS but for some reason even with selecting out only employed ESR codes I kept getting a number that looked closer to the residential population than the number of workers for each POWPUMA/county.  I used to rely on DataFerret but it no longer works on my computer at all, even using their very specific technical requirements.




  • Hi Mara,

    If your database has more than 1 state in it you need to specify 'state'. For example, many states (all states?) Have a powpuma 100. If you don't specify 'state', it will add them all together. HTH.
  • Also if you are looking at employed persons that will most likely be where they live, not where they work. I believe there are a limited number of tables in the ACS that have workers as the universe and geography is by place of work. I am not as familiar with the data from ACS PUMS, but an example from the standard ACS estimates is table B08006. Hopefully someone more familiar with the PUMS data can chime in on that aspect.
  • In reply to JamiRae:

    PUMA is where they live, POWPUMA (place of work PUMA) is where they work.
  • Hi Mara,

    If you want to know how many people work in a specific PUMA (county/boro) then you need to use the US Population Records File PUMS (the whole US or at least include neighboring states). The reason for this is that there are people who live in state X but work in state Z. Hence, it is good to include both the PUMA and the STATE variables in your dataset if you want to know where they are coming in from.

    Also, John Grumbine is right. In order for you to count the total number of workers working in a specific POWPUMA (county/boro) of interest, you need to use both the POWPUMA (county/boro of work) and POWSP (State of work) variables.

    For example, if you want to see how many people are working in Manhattan (in the state of New York) you have to count all observations in the data with a POWPUMA = 3800 (Manhattan) AND POWSP = 36 (New York).

    I hope this helps!

  • In reply to John Grumbine:

    ah! duh.. that makes sense. thanks!
  • Thanks for the tip about the other states, that is relevant to my region and I should have thought of that. In general, does the query I mentioned get me the number of workers in each PUMA (assuming I add the POWSP too)? Do I need to add additional variables or change the query?
  • In reply to Mara Kaminowitz:

    Hi Mara,

    You should be getting the correct numbers of workers by workplace POWPUMA if you combine IPUMS USA variables PWPUMA00 and PWSTATE2. A PWPUMA00 code of 00000 identifies anyone not in the universe (persons age 16+ who worked last week), so you needn't use employment status or any other variable to get the correct counts.

    I just tried this with 2017 1-Year ACS PUMS, and the numbers I get are consistent with the expected universe--not the total residential population. I wonder if the numbers you originally got were a consequence of not including the PWSTATE2 variable?

    Also note: If you ever have trouble with IPUMS data, please feel free to ask a question (or look for answers) in the IPUMS User Forum at