Project

General

Profile

Support #1476

Calculating Equivalised Income Deciles AHC

Added by Henry Parkes over 3 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Income
Start date:
01/06/2021
% Done:

100%


Description

Dear USOC User Team,
I've written some code which seeks to work out people's equivalised household income decile after housing costs, and am then looking at the tenure amongst the deciles.

In my analysis - around 60% of the top decile seem to own their property own outright - compared to just 38% in HBAI (using Stat Xplore) - I know they won't perfectly align but this feels like quite a big difference. This has made me doubt my approach to assigning deciles

Please see the code below in STATA, doing the calculations to work out the HH decile (adapting from the code in the USOC moodle tutorial), which I then match on to indresp using the household identifier.

use "E:\ippr\datasets\UKHLS\stata13_se\ukhls_w10/j_hhresp.dta", clear

//Create equivalisation factors for after housing costs: 0.58 for first adult and 0.42 for subsequent adults. 0.4 for children 14+ and 0.2 for children <14
gen j_adults = j_npensioner + j_nwage_dv
gen j_14pluschildren = j_nkids_dv - j_nchoecd_dv

//j_adults: number of adults. j_14pluschildren: number of children 14+. j_nchoecd_dv: number of children 0-13

gen j_ahc_equivalisation = 0.58 + ((j_adults - 1)*0.42) + (0.4 * j_14pluschildren) + (0.2 * j_nchoecd_dv)
replace j_ahc_equivalisation = . if j_adults == 0 //Get rid of cases where household contains no adults...

//Generate equivalised household income variables
gen j_ehhnetinc1_ahc = (j_fihhmnnet1_dv - j_houscost1_dv)/j_ahc_equivalisation
lab var j_ehhnetinc1_ahc "equivalised net HH income after housing costs"

rename j_nchoecd_dv j_under14
rename j_14pluschildren j_over14

//Create equivalised income decile variables:
_pctile j_ehhnetinc1_ahc [aw = j_hhdenub_xw], nquantiles(100)
return list

global j_p10 = r(r10)
global j_p20 = r(r20)
global j_p30 = r(r30)
global j_p40 = r(r40)
global j_p50 = r(r50)
global j_p60 = r(r60)
global j_p70 = r(r70)
global j_p80 = r(r80)
global j_p90 = r(r90)

gen j_decile = .
replace j_decile = 1 if j_ehhnetinc1_ahc < j_p10 & j_ehhnetinc1_ahc<.
replace j_decile = 2 if j_ehhnetinc1_ahc >= j_p10 & j_ehhnetinc1_ahc < j_p20 & j_ehhnetinc1_ahc<.
replace j_decile = 3 if j_ehhnetinc1_ahc >= j_p20 & j_ehhnetinc1_ahc < j_p30 & j_ehhnetinc1_ahc<.
replace j_decile = 4 if j_ehhnetinc1_ahc >= j_p30 & j_ehhnetinc1_ahc < j_p40 & j_ehhnetinc1_ahc<.
replace j_decile = 5 if j_ehhnetinc1_ahc >= j_p40 & j_ehhnetinc1_ahc < j_p50 & j_ehhnetinc1_ahc<.
replace j_decile = 6 if j_ehhnetinc1_ahc >= j_p50 & j_ehhnetinc1_ahc < j_p60 & j_ehhnetinc1_ahc<.
replace j_decile = 7 if j_ehhnetinc1_ahc >= j_p60 & j_ehhnetinc1_ahc < j_p70 & j_ehhnetinc1_ahc<.
replace j_decile = 8 if j_ehhnetinc1_ahc >= j_p70 & j_ehhnetinc1_ahc < j_p80 & j_ehhnetinc1_ahc<.
replace j_decile = 9 if j_ehhnetinc1_ahc >= j_p80 & j_ehhnetinc1_ahc < j_p90 & j_ehhnetinc1_ahc<.
replace j_decile = 10 if j_ehhnetinc1_ahc >= j_p90 & j_ehhnetinc1_ahc<.

lab var j_decile "equivalised income decile (AHC)"

keep j_pov_ahc j_hhdenub_xw j_hidp j_fihhmnnet1_dv j_houscost1_dv j_decile j_tenure_dv
save j_pov_ahc, replace
}

Thanks for any help/advice you can offer!
Henry

Also available in: Atom PDF