How can I identify rent burden with SDA

I’m trying to figure out if I can determine the number of rent burdened households within a geography (e.g., a state) using the SDA online program. In the housing world the levels of rent burden are a household paying 31-50% of income for rent (“rent burdened”), and 51% or more for rent (“severe rent burdened”). In the approach I need to get monthly rent divided by monthly income.

Would it work like this?:
First I create a new variable (called “rentburden”) which is calculated as follows –
rentburden = rentgrs/(ftotinc/12)

Then to get the rent burden categories, my row variable would be:
rentburden(r: 0.3; .31-.5; .51-*)

Is this how it would be done?

Yes, your approach seems sensible to me. I’ll add that you could condition the entire calculation to include only households that are rented (OWNERSHP==2).

Thanks very much Jeffrey. I was worried that the rent was a household variable and family income a personal variable… but joining those two still seemed to be the one calculation that would get to rent burden.

When I run this same calculation, my numbers do not match the % in Census Table B25070. It looks like they are off because of the “not computed” cases in the Census Table. Does anyone know what those are and how I can account for the “not computed” cases when running crosstabs in SDA?

My calculation is the same as the one Chip used PercRent=rentgrs/(ftotinc/12) and then I am using a filter for ownership(2) in SDA.

I am not entirely sure the source of the mismatch. With that said, we generally do not expect to exactly replicate “official” statistics with public use microdata. This is because the public use microdata uses a slightly different sample than what is used to generate “official” statistics. You can read more about this detail on this page.

I don’t know if this helps with the census table alignment but I can share the process I went through to get the IPUMS data on cost burden to approximate that found in the Harvard Joint Center on Housing Studies 2020 report on rental housing – using for both the 2018 ACS.

This table shows where I ended, with very close alignment of the two sets of numbers, this is for the entire U.S. rental population.

IPUMS modified
total renters

My first step was to run IPUMS for moderate and severe rent burden, below is the output table. To me these numbers were pretty close to JCHS on moderate rent burden and the entire population, but the severe rent burden population appears much further afield. (I originally had used the moderate range as .30 to .50 percent of income for rent, but found using the .4999 upper bound brought me slightly closer to JCHS on severe burden. Also, I’m using household income not family income as that is what it appears that JCHS uses.)


In the note to their data table, JCHS states that if a household has no income, they assume that the household is severely cost-burdened (JCHS table repeated at bottom of this email). So I did an additional run to just identify #s of households with 0 or negative income (column 1) and who paid some rent (row 2).


You can see that these households with 0 or negative income were for the most part excluded from the earlier IPUMS run on rent burden (total renters in 1st run 42,636,437, and total renters with some income, Col.2, in 2nd run 42,637,003). Therefore in the table at the top of this email comparing JCHS with IPUMs data I added 955,619 (renters with no income, paying some rent) to the severe rent burdened population figure in the first run (10,009,442), and used the total rental population figure from run 2 (43,725,353). These changes got me very close to the JCHS numbers.

As noted earlier, here is part of the JCHS table on rent burden showing the footnotes (Wyoming is the last row in that table and therefore shown, the total USA numbers can be found in row 1 of this table.)


Thanks Chip!

I don’t know what’s going on with my calculation. I wanted to use IPUMS to understand the race, ethnicity, and age of those in cost-burdened households in Connecticut to build on what I could find from JCHS.

However, when I run IPUMS, I’m getting a population of renters that is almost 2x the size of that in the ACS Table. So something is wrong but I don’t know what.

From ACS Table B25070:

Total = 455,778
0-29.9% income = 196,305 (43.1%)
30-49.9% income = 104,974 (23%)
50% + income = 121,690 (26.7%)
Not computed = 32,809


Total = 982,042
0-29% income = 410,806 (41.8%)
30-49.9% income = 263,657 (26.8%)
50% + income = 307,579 (31.1%)

One explanation for this discrepancy could be that you are not limiting your tabulation to one observation per household. Since the ACS data are at the individual level, when performing household level analysis, you need to make an additional filter on the data. The easiest way to do this is to use PERNUM(1), which essentially just keeps the first observation within each household. This is discussed briefly on the HHWT description tab.

1 Like

Elizabeth, you have by now likely seen that adding the pernum(1) filter gets you close to the ACS total rental population. One additional thing I looked at is the difference in that ACS has a “not computed” # of 32,809… nearly all of this number can be seen in the difference between the ACS and IPUMS household numbers for those paying 0 to 30% of income in gross rent. If you also filter for those that pay at least $1 in gross rent you’ll see that the 0-30% number drops 231,000 to about 213,000, much closer to the ACS number of 196,000. It might be that ACS somehow screens out households that pay no or negative rent… something you could dig into further.

1 Like

Thank you!

Thanks Jeff! I had a feeling it was something like that. Appreciate the help.