Using CPS Weights Correctly

When I use WTFINL or HWTFINL, I get really large estimates that I know are incorrect. I’ve limited the data to one record per household, and I used the IPUMS CPS Stata read-in code that adjusts the weight variables by dividing by 10,000. Is a further adjustment necessary? I am using monthly CPS data from 2023 to 2025. Here is a simple version of my code, which leads to estimates of billions of people in 2023 and 2024, and 546 million in 2025. Do I need to do this monthly, and then average?

local filedt 20250608
use “./output/cps_extract_00003_`filedt’.dta”, clear
gen counter=1
bysort year month hseq hrhhid hrhhid2 (pernum): keep if _n == 1
bysort year: tab counter [iw=hwtfinl]

Based on your code snippet, using HWTFINL and restricting to one-person per household is appropriate. When pooling data, you will need to divide your sample weights by the number of samples that you are analyzing. If you are analyzing CPS BMS samples from 2023-2025, you would need to divide your weights by 29 (12 samples in 2023, 12 samples in 2024, and 5 samples in 2025). There is some additional information on this forum post regarding weighting CPS pooled data.

1 Like

Thank you very much!

1 Like