Why can I match the BLS # for civilian noninstitutional population, but not the figure for civilian labor force?


I am using IPUMS-CPS basic monthly variable labforce.

When I run Stata code…

tab labforce if popstat==1 & age>=16 [iw=wtfinl]

…I match BLS’s “civilian noninstitutional population” number exactly (as it is posted in table A-1, monthly employment situation, not seasonally adjusted).

However, the categories of labforce (civilian labor force and NILF) do not match what BLS publishes in the same table under the same name.

My ultimate goal is to match the unemployment rate published by BLS so that I can then calculate my own unemployment rates for specific age groups.

I know we can’t always expect to match published numbers *exactly*, but in this case I am matching “civilian noninstitutional population” exactly. So my sense is the more specific categories should be expected to match as well.

In addition, I know I’ve matched the unemployment rate before by using NBER’s extracts. However, I’m trying to get in the habit of using IPUMS since it provides a great historical range.

Any guidance would be much appreciated!


I’ve run a couple of the recent basic monthly samples and performed your code. I do see that the number for civilian non-institutional population is correct (up to the closest thousand) while the number for being in the civilian labor force is off a little bit. As you note, however, we don’t necessarily expect to exactly replicate official statistics with public use data, and the estimates I calculate are close. This may be due to that sampling weights are calculated specifical to match the non-institutional popualtion, which is why we are seeing the closest matches with this number.



Thank you for answering my question. I wanted to post an update. In my question above, I mentioned that I have been able to match the BLS tables exactly in the past when I use the NBER CPS microdata. I subsequently realized that this works with NBER data because they provide an additional weight not present in IPUMS. It is called “pwcmpwgt” and described as “Composited final weight. Used to create BLS’s published labor force statistics.” It facilitates an exact match on all of the data in BLS’s monthly table.

Unfortunately, I can’t seem to find this weight variable in IPUMS CPS. Your “wtfinl” matches NBER’s “pwsswgt”, and both of those yield the problem I describe in my first question above.

In light of this, my question now is - does IPUMS have a version of the weight “pwcmpwgt” that I am missing? My goal is to generate monthly unemployment rates back into the 1960s. The NBER data allows me to match BLS data exactly, but is very cumbersome for multi-year analysis. The IPUMS data is great for multi-year analysis, but doesn’t seem have the BLS-matching variable.

Any insight you have would be greatly appreciated!


You are correct that IPUMS-CPS does not currently offer a verson of the PWCMPWGT weight. One option is to attach the PWCMPWGT weight to the Non-March IPUMS basic monthly CPS samples, using a sequential merge in STATA. This is possible because NBER and IPUMS-CPS data share a common sort order and a sequential merge uses this ordering to match records together. Note, that this is impossible if you’ve used the “Select Cases” tool in the IPUMS data extract system.

I hope this helps.