IPUMS USA and IPUMS CPS Mismatch

Hi,

I computed shares of Black residents in poverty by state in 2015 in IPUMS USA: 1850-2023 and IPUMS CPS: ASEC 1962-present and am getting vastly different figures. I ran a query to compute the general US population and still am getting different figures. Was wondering why?

Noting down what I did below.

IPUMS USA:
Row = statefip
Column = spmpov
Weight = perwt
Filter = year(2015),race(2),gq(0-2)

Here’s what I got - 75.4% not in poverty and 24.6% in poverty.

IPUMS CPS:
Row = statefip
Column = spmpov
Weight = sdawt
Filter = year(2015),race(200) - did not include GQ since ASEC only surveys non-institutionalized residents anyway

Here’s what I got - 76.5% not in poverty and 23.5% in poverty. [Note: The Census uses ASEC data and puts it at 24.1% - closer to what I’m getting in my IPUMS USA query]

The state-level figures are also pretty different. Since ASEC asks questions about the previous year, I also tried filtering for year(2016) and still got figures that are very different from the 2015 IPUMS USA numbers.

I also ran a general query on 2015 population on IPUMS CPS and got ~316.2 million. Using the same variables on IPUMS USA, I got ~321.4 million and after including a GQ(0-2) filter, got ~313.3 million.

I know the two surveys are completely different and common variables don’t necessarily mean the same thing in either dataset but shouldn’t the final figures (especially that of population) come close? Why are the numbers so different? Am I doing something wrong?

While measuring something like poverty or any percentile income threshold (like median), what dataset is better?

Thanks!

There are a number of differences between the CPS and ACS that result in expected discrepancies in estimates for poverty rates between the two surveys. These include differences in misreporting of income by respondents across surveys (see this working paper by Rothbaum), differences in reference periods for income (ACS asks about income in the past 12 month, while the ASEC asks about the previous calendar year), and the lack of questions regarding taxes in the ACS (see Fox, Glassman, and Pacas) for SPM calculations, among others. Additional differences are summarized in this fact sheet comparing ACS and the CPS ASEC. Considering these significant differences between the surveys, the discrepancy that you are noting is relatively small. For comparison, the reported margin of error for poverty estimates in the 2023 ASEC is 0.3 percentage points, which is without considering the differences in methods that the ACS introduces.

To replicate official poverty statistics, the Poverty in the United States report “recommends that people use the CPS ASEC for timely and thorough estimates of national poverty”, but that the ACS “can be used for subnational poverty estimates” due to its larger sample size. The Census Bureau presents annual estimates of poverty by state and other smaller geographic units based on data collected in the ACS. Single-year estimates from the ACS are available for geographic units with populations of 65,000 or more. Estimates of income and poverty for all geographic units, including census tracts and block groups, are available by pooling 5 years of ACS data. We provide ACS summary tables of poverty for states and other smaller geographic areas on IPUMS NHGIS.

In order to use the microdata on IPUMS CPS to replicate national estimates, you should run the following specification in SDA:

IPUMS CPS:
Row = offpov
Weight = sdawt
Filter = year(2016), race(200), offpov(1-2)

While SPMPOV, which you used in the screenshots you shared, reports poverty status using the supplemental poverty measure, OFFPOV provides the official poverty status that is used in the report. Additionally, the report uses the 2016 ASEC to estimate poverty for 2015 since income questions in the survey reference the preceding calendar year. When I do this, I am able to exactly replicate the report’s estimate of 24.1%.

If you plan to use IPUMS USA ACS data to match published state-level poverty estimates within the margin of error, you should run the following specification in SDA:

IPUMS USA:
Row = statefip
Column = cbpoverty(r:1-99; 100-501)
Weight = perwt
Filter = year(2016), race(2), gq(0-2,5), cbpoverty(1-501)

CBPOVERTY uses the Census Bureau’s family definitions to report each person’s total family income expressed as a percentage of the poverty threshold for their specific family situation. It is provided so that users can replicate published Census Bureau poverty estimates. You should also include respondents in GQ = 5 in your analysis.