Questions about Frequency Weight


I am analyzing ACS 1-year samples and Censuses these days and I want to have one question about Frequency Weight and the variable PERWT. PERWT indicates how many persons in the U.S. population are represented by a given person in an IPUMS sample.

I am just wondering if we can use PERWT with Frequency Weight to check the actual number of people in the dataset. For example, if I want to know the number of employees and unemployed people in each state each year, I can use the command “tab statefip year [fw=perwt] if empstat==1” to know the number of employees and unemployed people in each state every year.

Or can I use the command “tab statefip empstat [fw=perwt] if empstat<3&year==2001, row nofreq” to check the unemployment rate in each state in 2001?

Kind regards,


Hi Ting,

I’m not sure if your question is about finding the size of the sample of interviewed individuals or about estimating the size of a certain population in the US. The ACS is a 1% sample of the US population with around 3.3 million respondents in 2021. However, it can be used in conjunction with PERWT to estimate population level statistics, such as the number of employed individuals by state, for the entire US population. To find the number of individuals in the sample who are employed, all that you need to run is tab statefip year if empstat==1. However, if you want to produce an estimate of the number of employed people for the entire US population, the process requires you to first set your data as survey data with svyset [pw=perwt] and then run svy: tab statefip year if empstat==1, count format(%12.1gc).

Your second command will not produce an estimate of the unemployment rate. The general equation is employment_rate = unemployed/(employed + unemployed); you would need to modify the command I included above to generate the number of employed persons and then input your estimates into the equation for unemployment to calculate the rate. Note that the Census Bureau recommends the usage of replicate weights (REPWTP) in the calculation of standard errors. This page on CPS replicate weights provides information on how to use these weights in Stata.

Thanks a lot for your information.

I tried to use REPWTP following the guidance. However, STATA demonstrated that
“insufficient observations to compute BRR standard errors” though I have more than 30,000 obs.

Could you please help me out if I do not have enough obs to use the replicate weights?

kind regards,


I haven’t seen this error before. I’d be happy to take a look and provide some guidance on using replicate weights. To troubleshoot, it would be helpful to see your svyset code and the estimation command you are running as well as any information you can share about your analytical sample.

For example, my code is

svyset [pw=perwt], vce(brr) brrweight(repwtp1-repwtp80) fay(.5) mse
gen byte statefip11 = statefip<10&year==2000
svy, subpop(statefip11): tab statefip race

what I got is:

insufficient observations to compute BRR standard errors
no results will be saved

Though I have more than 60,000 obs there

Replicate weights are only available beginning with the 2005 ACS sample, so this code will not run on any 2000 sample. I ran your code on a subsample of the 2021 ACS and was able to generate estimates using replicate weights without encountering the error you mention. The only change that I made was excluding your year==2000 criteria. Please see the screenshot below. I hope this is helpful in figuring out the cause of the error.

Thank you very much. this is very helpful.