For a research project, we want to study how rents and heating costs in Germany have developed over time. For this, we want to track households over time that have not moved.
Our current approach:
We use hid to track households across waves.
To control for moves, we use hgmoveyr and keep only households that moved before our observation period began.
With this approach, we observe very large, implausible-looking changes in rent (hgrent) — for example, between 2021 and 2023 some rents appear to more than double. hgrooms and hgsize also vary substantially across years for the same household.
Question: Is our approach — using hid together with hgmoveyr to identify non-moving households over time — methodologically correct? If so, how can these large differences in rent and dwelling size be explained?
When looking at cases with extreme values in hgrent comparing survey years 2021 and 2023 if i get only 4 households where the lagged variables is larger than 3000 Euros and for those the development over time (2021-2023) is inconspicuous.
Even when I calculate the difference between `hgrent` and the lagged variable (lag2) , there are only three households with exceptionally high values. For those 3 households, it seems that one has an extra zero entered by mistake; the other two households are likely genuine outliers that I would exclude from the analysis. Overall, however, this is unremarkable given the 13,000 to 20,000 households involved.
Kind regards
Markus
tsset hid syear
generate lag2 = L2.hgrent
sum lag2, d
list hid syear hgrent lag2 if lag2>3000 & lag2<., noobs nol
list hid syear hgrent lag2 hgmoveyr if inlist(hid,3135380,808342,2585424,3061751), noobs nol
gen diff=hgrent-lag2 if syear==2023
sum diff if syear==2023, d
list hid syear hgrent lag2 hgmoveyr diff if diff>3000 & diff<. ,noobs nol
list hid syear hgrent lag2 hgmoveyr diff if inlist(hid,252450,3244520,5488356 ),noobs nol
Thank you very much for your quick reply and help!
You are right that the change in levels is not necessarily large. However, the change in percentage terms differs significantly, also for non-movers.
Building on your code, I compute the percentage difference: gen diff_percent = diff/lag2*100. I then look at the change in rents from 2021 to 2023 only for households that moved into their unit before 2021: su diff_percent if syear==2023 & hgmoveyr<2021, d. This yields percentage changes in rent ranging from -80100% to 1610.938% (this is also too much for 5th and 95th percentile).
Since these values seem unreasonably large, I am wondering whether I am doing something wrong with the data or with tracking non-movers.