set more 1 /* File: cepr_dws_wagehour.do Date: Oct 12, 2007 Desc: Creates consistent weekly earnings variables for CEPR extract from CPS Displaced Workers Survey Note: See copyright notice at end of program. */ /* Determine data year */ local year=year in 1 /* Earnings in DWS * Current job The DWS 1994-2002 does not ask respondents who are also in the Outgoing Rotation Group (ORG) about the earnings at their current job. (The DWS does ask the self-employed who are in the ORG about their earnings at their current job.) Instead, the DWS relies on responses to the corresponding ORG questions. Among other things, this program combines DWS and ORG responses to earnings-related questions. */ /* Hours in DWS * Lost job The DWS 1994-2002 does not ask non-hourly displaced workers about their usual weekly hours at the lost job. As a result, the DWS does not allow calculation of hourly wages on the lost job for non-hourly workers. The DWS, however, does ask displaced workers that report hourly wages about (1) their usual hours per week and (2) their usual weekly earnings from overtime, tips, and commission. These two pieces of information allow calculation of the usual weekly earnings for hourly workers in a way that is consistent with the BLS's weekly variable for non-hourly workers (see below). * Current job The DWS 1994-2002 does not ask displaced workes directly about their full-time or part-time status (including "hours varied" response) on their current job. This information is available through the Basic CPS for all workers (not just those in the ORG) (see below). */ /* Assign mean of weekly earnings above the topcode from John Schmitt, "Creating a consistent hourly wage series from the Current Population Survey's Outgoing Rotation Group, 1979-2002," CEPR Working Paper, Version 0.9, August 2003, Table 1. Imputation based on log-normal distribution. */ local atc1991=2417 local atc1992=2421 local atc1993=2422 local atc1994=2489 local atc1995=2497 local atc1996=2493 local atc1997=2511 local atc1998=3709 local atc1999=3713 local atc2000=3721 local atc2001=3727 local atc2002=3760 local atc2003=3758 local atc2004=3776 local atc2005=3784 local atc2006=3804 /* Lost job */ /* Hours */ /* Full-time at lost job */ gen byte ljft=. if `year'==1994 { replace ljft=1 if pes51==1 replace ljft=0 if pes51==2 } if 1996<=`year' & `year'<=2006 { replace ljft=1 if pesd19==1 replace ljft=0 if pesd19==2 } lab var ljft "LJ: Full-time" notes ljft: "Did you usually work 35 hours or more per week at that /* */ [lost] job?" /* Hours varied at lost job */ gen byte ljhv=. if `year'==1994 { replace ljhv=1 if pes51==3 replace ljhv=0 if pes51==1 | pes51==2 } if 1996<=`year' & `year'<=2006 { replace ljhv=1 if pesd19==-4 replace ljhv=0 if pesd19==1 | pesd19==2 } lab var ljhv "LJ: Hours varied" /* Earnings */ /* Pay period on lost job */ gen byte ljpayper=. if `year'==1994 { replace ljpayper=pes52o replace ljpayper=. if pes52o<0 } if 1996<=`year' & `year'<=2006 { replace ljpayper=pesle1o replace ljpayper=. if pesle1o<0 } lab var ljpayper "LJ: Pay period" #delimit ; lab def ljpp 1 "Hourly" 2 "Weekly" 3 "Bi-weekly" 4 "Twice monthly" 5 "Monthly" 6 "Annually" 7 "Other" ; #delimit cr lab val ljpayper ljpp /* Usually received overtime, tips, commissions on lost job */ gen byte ljot=. if `year'==1994 { replace ljot=1 if pes54==1 replace ljot=0 if pes54==2 } if 1996<=`year' & `year'<=2006 { replace ljot=1 if pesle2==1 replace ljot=0 if pesle2==2 } lab var ljot "LJ: Received overtime, tips, commissions" /* Hourly pay at lost job */ gen ljwage=. if 1994<=`year' & `year'<=2006 { replace ljwage=pesenh1o replace ljwage=. if pesenh1o<0 } lab var ljwage "LJ: Hourly pay, BLS" notes ljwage: Excludes overtime pay, tips, and commissions /* Hourly pay at lost job is topcoded */ gen byte ljwagetc=. if `year'==1994 { replace ljwagetc=1 if pthr2==1 replace ljwagetc=0 if pthr2==0 } if 1996<=`year' & `year'<=2006 { replace ljwagetc=1 if ptsenh1o==1 replace ljwagetc=0 if ptsenh1o==0 } lab var ljwagetc "LJ: Hourly pay, topcoded" /* Usual hours per week at rate reported in ljwage */ gen ljhours=. if `year'==1994 { replace ljhours=pes59 replace ljhours=. if pes59<0 } if 1996<=`year' & `year'<=2006 { replace ljhours=pesle4o replace ljhours=. if pesle4o<0 } lab var ljhours "LJ: Usual hours per week" notes ljhours: Usual hours per week at rate reported in ljwage notes ljhours: Valid range 1-99 /* Calculated weekly amount of overtime on lost job */ gen ljwkot=. if 1994<=`year' & `year'<=2006 { replace ljwkot=pusern replace ljwkot=. if pusern<0 replace ljwkot=pusern2 if 0<=pusern2 & pusern2~=. /* corrected pusern */ } lab var ljwkot "LJ: Usual overtime per week" notes ljwkot: Usual amount of overtime per week on lost job notes ljwkot: Topcoded 1994-2002: $1923.00; 2004: $2884.61 notes ljwkot: Assigns missing rather than zero to those who don't report /* */ receiving overtime /* Calculated weekly overtime on lost job topcoded; typically means that sum of straight pay and overtime exceed topcode */ gen byte ljottc=0 if ljwkot~=. if `year'==1994 { replace ljottc=1 if ptot2==1 } if 1996<=`year' & `year'<=2006 { replace ljottc=1 if ptsern==1 replace ljottc=1 if ptsern2==1 } lab var ljottc "LJ: Weekly overtime topcoded" /* Usual weekly hours at overtime rate on lost job */ gen ljothrs=. if `year'==1994 { replace ljothrs=pus67 replace ljothrs=. if pus67<0 replace ljothrs=pus68 if 0<=pus67 & pus67~=. /* corrected pus67 */ } if 1996<=`year' & `year'<=2006 { replace ljothrs=pusle6 replace ljothrs=. if pusle6<0 replace ljothrs=pusle6d if 0<=pusle6d & pusle6d~=. /* corrected pusle6 */ } lab var ljothrs "LJ: Usual weekly overtime hours" notes ljothrs: Usual hours per week at overtime rate on lost job notes ljothrs: Assigns missing rather than zero those who don't report /* */ receiving overtime /* Weekly earnings on lost job topcoded */ gen byte ljwktc=. if `year'==1994 { replace ljwktc=ptwk2 replace ljwktc=. if ptwk2<0 } if 1996<=`year' & `year'<=2006 { replace ljwktc=ptslwkly replace ljwktc=. if ptslwkly<0 } lab var ljwktc "LJ: Weekly earnings topcoded" /* Weekly earnings on lost job : preferred earnings variable */ gen ljwkpay=. if 1994<=`year' & `year'<=2006 { * * non-hourly reporters * replace ljwkpay=prslwkly /* assign estimated mean above topcode from full annual CEPR ORG */ replace ljwkpay=`atc1991' if ljwktc==1 & dw_when==1991 replace ljwkpay=`atc1992' if ljwktc==1 & dw_when==1992 replace ljwkpay=`atc1993' if ljwktc==1 & dw_when==1993 replace ljwkpay=`atc1994' if ljwktc==1 & dw_when==1994 replace ljwkpay=`atc1995' if ljwktc==1 & dw_when==1995 replace ljwkpay=`atc1996' if ljwktc==1 & dw_when==1996 replace ljwkpay=`atc1997' if ljwktc==1 & dw_when==1997 replace ljwkpay=`atc1998' if ljwktc==1 & dw_when==1998 replace ljwkpay=`atc1999' if ljwktc==1 & dw_when==1999 replace ljwkpay=`atc2000' if ljwktc==1 & dw_when==2000 replace ljwkpay=`atc2001' if ljwktc==1 & dw_when==2001 replace ljwkpay=`atc2002' if ljwktc==1 & dw_when==2002 replace ljwkpay=`atc2003' if ljwktc==1 & dw_when==2003 replace ljwkpay=`atc2004' if ljwktc==1 & dw_when==2004 replace ljwkpay=`atc2005' if ljwktc==1 & dw_when==2005 replace ljwkpay=`atc2006' if ljwktc==1 & dw_when==2006 replace ljwkpay=. if prslwkly<0 * * hourly reporters * tempvar ljpay1 ljpay2 gen `ljpay1'=ljwage*ljhours /* straight time: wage times hours per week */ /* if either ljwage or ljhours is missing, ljpay should be missing */ gen `ljpay2'=ljwkot /* overtime, tips, commissions per week */ replace `ljpay2'=0 if ljwkot==. /* to allow addition below */ /* update hourly only and only if BLS has not already assigned weekly pay: */ replace ljwkpay=(`ljpay1'+`ljpay2') if (ljpayper==1 & prslwkly==.) } lab var ljwkpay "LJ: Weekly earnings" notes ljwkpay: Weekly earnings including overtime, tips, commissions notes ljwkpay: Includes calculated weekly earnings of hourly workers notes ljwkpay: Intended to be comparable with cjwkpay notes ljwkpay: Topcoded weekly earnings for non-hourly reporters assigned /* */ mean above top-code from log-normal imputation /* Weeks worked per year on lost job */ gen int ljweeks=. if `year'==1994 { replace ljweeks=pus136 replace ljweeks=. if pus136<0 } if 1996<=`year' & `year'<=2006 { replace ljweeks=pesle22 replace ljweeks=. if pesle22<0 } lab var ljweeks "LJ: Weeks worked per year" notes ljweeks: Only if report earnings an annual basis, with some exceptions /* Current job */ /* Hours */ /* Full-time at current job */ gen byte cjftcps=. if 1994<=`year' & `year'<=2006 { replace cjftcps=1 if 35<=pehrusl1 & pehrusl1<=99 replace cjftcps=0 if 1<=pehrusl1 & pehrusl1<35 } lab var cjftcps "CJ: Full-time" notes cjftcps: "How many hours per week do you usually work at your main job?" notes cjftcps: From Basic CPS, question not in DWS /* Hours vary at current job */ gen byte cjhvcps=. if 1994<=`year' & `year'<=2006 { replace cjhvcps=1 if pehrusl1==-4 replace cjhvcps=0 if cjft==1 | cjft==2 } lab var cjhvcps "CJ: Hours vary" notes cjhvcps: From Basic CPS, question not in DWS /* Earnings */ /* Pay period on current job, DWS */ gen byte cjppdws=. if `year'==1994 { replace cjppdws=pes99o replace cjppdws=. if pes99o<0 } if 1996<=`year' & `year'<=2006 { replace cjppdws=pesce2o replace cjppdws=. if pesce2o<0 } lab var cjppdws "CJ: Pay period, DWS" #delimit ; lab def cjpp 1 "Hourly" 2 "Weekly" 3 "Bi-weekly" 4 "Twice monthly" 5 "Monthly" 6 "Annually" 7 "Other" ; #delimit cr lab val cjppdws cjpp notes cjppdws: For workers in DWS but not in the ORG /* Pay period on current job, ORG */ gen byte cjpporg=. if 1994<=`year' & `year'<=2006 { replace cjpporg=peernper replace cjpporg=. if peernper<=0 } lab var cjpporg "CJ: Pay period, ORG" lab val cjpporg cjpp notes cjpporg: For workers in DWS and in the ORG /* Pay period on current job (DWS, ORG) */ gen byte cjpayper=. if 1994<=`year' & `year'<=2006 { replace cjpayper=cjpporg if hrmis==4 | hrmis==8 replace cjpayper=cjppdws if (1<=hrmis & hrmis<=3) | (5<=hrmis & hrmis<=7) } lab var cjpayper "CJ: Pay period" notes cjpayper: Based on DWS and ORG responses /* Hourly worker on current job, DWS */ gen byte cjhr_dws=. if `year'==1994 { * replace cjhrly=. /* not in DWS in 1994 */ } if 1996<=`year' & `year'<=2006 { replace cjhr_dws=1 if peshry==1 replace cjhr_dws=0 if peshry==2 } lab var cjhr_dws "CJ: Hourly worker, DWS" notes cjhr_dws: For workers in DWS but not in the ORG notes cjhr_dws: Missing in 1994 /* Hourly worker on current job, ORG */ gen byte cjhr_org=. if 1994<=`year' & `year'<=2006 { replace cjhr_org=1 if peernhry==1 replace cjhr_org=0 if peernhry==2 } lab var cjhr_org "CJ: Hourly worker, ORG" notes cjhr_org: For workers in DWS and in the ORG /* Hourly worker on current job (DWS, ORG) */ gen byte cjhrly=. if `year'==1994 { * replace cjhrly=. /* cjhr_dws not available in DWS in 1994 */ } if 1998<=`year' & `year'<=2006 { replace cjhrly=cjhr_org if (hrmis==4 | hrmis==8) replace cjhrly=cjhr_dws if ( (1<=hrmis & hrmis<=3) | /* */ (5<=hrmis & hrmis<=7) ) replace cjhrly=. if year==1994 /* since cjhr_dws is missing in 1994 */ } lab var cjhrly "CJ: Hourly worker" notes cjhrly: Based on DWS and ORG responses notes cjhrly: Missing in DWS in 1994 (available in ORG) /* Usually received overtime, tips, commissions on current job, DWS */ gen byte cjot_dws=. if `year'==1994 { replace cjot_dws=1 if pes101==1 replace cjot_dws=0 if pes101==2 } if 1996<=`year' & `year'<=2006 { replace cjot_dws=1 if pesce3==1 replace cjot_dws=0 if pesce3==2 } lab var cjot_dws "CJ: Received ottc, DWS" notes cjot_dws: For workers in DWS but not in the ORG /* Usually received overtime, tips, commissions on current job, ORG */ gen byte cjot_org=. if 1994<=`year' & `year'<=2006 { replace cjot_org=1 if peernuot==1 replace cjot_org=0 if peernuot==2 } lab var cjot_org "CJ: Received ottc, ORG" notes cjot_org: For workers in DWS and in the ORG /* Usually received overtime, tips, commissions on current job (DWS, ORG) */ gen byte cjot=. if 1994<=`year' & `year'<=2006 { replace cjot=cjot_org if (hrmis==4 | hrmis==8) replace cjot=cjot_dws if ( (1<=hrmis & hrmis<=3) | /* */ (5<=hrmis & hrmis<=7) ) } lab var cjot "CJ: Received overtime, tips, commissions" notes cjot: Based on DWS and ORG responses /* Hourly pay at current job, DWS */ gen cjw_dws=. if 1994<=`year' & `year'<=2006 { replace cjw_dws=peseh1oa replace cjw_dws=. if peseh1oa<0 } lab var cjw_dws "CJ: Hourly pay, DWS" notes cjw_dws: For workers in DWS but not in the ORG notes cjw_dws: Excludes overtime pay, tips, and commissions /* Hourly pay at current job, ORG */ gen cjw_org=. if 1994<=`year' & `year'<=2006 { replace cjw_org=prernhly replace cjw_org=. if prernhly<0 } lab var cjw_org "CJ: Hourly pay, ORG" notes cjw_org: For workers in DWS and in the ORG notes cjw_org: Excludes overtime pay, tips, and commissions /* Hourly pay (combined DWS, ORG) */ gen cjwage=. if 1994<=`year' & `year'<=2006 { replace cjwage=cjw_org if (hrmis==4 | hrmis==8) replace cjwage=cjw_dws if ( (1<=hrmis & hrmis<=3) | /* */ (5<=hrmis & hrmis<=7) ) } lab var cjwage "CJ: Hourly pay" notes cjwage: Based on DWS and ORG responses notes cjw_org: Excludes overtime pay, tips, and commissions /* Hourly pay at current job in cjw_dws is topcoded, DWS */ gen byte cjwdwstc=. if `year'==1994 { replace cjwdwstc=1 if pthr3==1 replace cjwdwstc=0 if pthr3==0 } if 1996<=`year' & `year'<=2006 { replace cjwdwstc=1 if ptseh1oa==1 replace cjwdwstc=0 if ptseh1oa==0 } lab var cjwdwstc "CJ: cjw_dws topcoded" notes cjwdwstc: For workers in DWS but not in the ORG /* Hourly pay at current job in cjw_org is topcoded, ORG */ gen byte cjworgtc=. if 1994<=`year' & `year'<=2006 { replace cjworgtc=1 if pthr==1 replace cjworgtc=0 if pthr==0 } lab var cjworgtc "CJ: cjw_org topcoded" notes cjworgtc: For workers in DWS and in the ORG /* Hourly pay at current job is topcoded, (DWS, ORG) */ gen byte cjw_tc=. if 1994<=`year' & `year'<=2006 { replace cjw_tc=cjworgtc if (hrmis==4 | hrmis==8) replace cjw_tc=cjwdwstc if ( (1<=hrmis & hrmis<=3) | /* */ (5<=hrmis & hrmis<=7) ) } lab var cjw_tc "CJ: cjw_dws or cjw_org topcoded" notes cjw_tc: Based on DWS and ORG responses /* Usual hours per week at rate reported in cj_dws, DWS */ gen cjh_dws=. if `year'==1994 { replace cjh_dws=pes106o /* use "out variable" version of pus106 */ replace cjh_dws=. if pes106o<0 } if 1996<=`year' & `year'<=2006 { replace cjh_dws=pesce5o /* use "out variable" version of pusce5 */ replace cjh_dws=. if pesce5o<0 } lab var cjh_dws "CJ: Usual hours per week, cjw_dws" notes cjh_dws: Usual hours per week at rate reported in cjw_dws notes cjh_dws: Valid range 1-99 notes cjh_dws: For workers in DWS but not in the ORG /* Usual hours per week at rate reported in cj_org, ORG */ gen cjh_org=. if 1994<=`year' & `year'<=2006 { replace cjh_org=peernhro /* use "out variable" version of pusce5 */ replace cjh_org=. if peernhro<0 } lab var cjh_org "CJ: Usual hours per week, cjw_org" notes cjh_org: Usual hours per week at rate reported in cjw_org notes cjh_org: Valid range 1-99 notes cjh_org: For workers in DWS and in the ORG /* Usual hours per week at rate reported in cj_dws or cj_org (DWS, ORG) */ gen cjhours=. if 1994<=`year' & `year'<=2006 { replace cjhours=cjh_org if (hrmis==4 | hrmis==8) replace cjhours=cjh_dws if ( (1<=hrmis & hrmis<=3) | /* */ (5<=hrmis & hrmis<=7) ) } lab var cjhours "CJ: Usual hours per week, cj_dws" notes cjhours: Usual hours per week at rate reported in cjw_dws notes cjhours: Valid range 1-99 notes cjhours: Based on DWS and ORG responses /* Calculated weekly amount of overtime, tips, commissions on current job, (DWS) */ gen cjotadws=. if 1994<=`year' & `year'<=2006 { replace cjotadws=pusern1 replace cjotadws=. if pusern1<0 replace cjotadws=pusern2a if 0<=pusern2a & pusern2a~=. /* corrected pusern1 */ } lab var cjotadws "CJ: Usual overtime per week, DWS" notes cjotadws: Usual amount of overtime per week on current job notes cjotadws: Assigns missing rather than zero to those who don't report /* */ receiving overtime notes cjotadws: For workers in DWS but not in the ORG /* Calculated weekly amount of overtime, tips, commissions on current job, (ORG) */ gen cjotaorg=. if 1994<=`year' & `year'<=2006 { replace cjotaorg=peern replace cjotaorg=. if peern<0 replace cjotaorg=puern2 if 0<=puern2 & puern2~=. /* corrected peern */ } lab var cjotaorg "CJ: Usual overtime per week, ORG" notes cjotaorg: Usual amount of overtime per week on current job notes cjotaorg: Assigns missing rather than zero to those who don't report /* */ receiving overtime notes cjotaorg: For workers in DWS and in the ORG /* Calculated weekly amount of overtime, tips, commissions on current job, (DWS, ORG) */ gen cjotamt=. if 1994<=`year' & `year'<=2006 { replace cjotamt=cjotaorg if (hrmis==4 | hrmis==8) replace cjotamt=cjotadws if ( (1<=hrmis & hrmis<=3) | /* */ (5<=hrmis & hrmis<=7) ) } lab var cjotamt "CJ: Usual overtime per week" notes cjotamt: Usual amount of overtime per week on current job notes cjotamt: Assigns missing rather than zero to those who don't report /* */ receiving overtime notes cjotamt: Based on DWS and ORG responses /* Calculated weekly overtime on current job topcoded, DWS */ gen byte cjottcd=0 if cjotamt~=. if `year'==1994 { replace cjottcd=1 if ptot3==1 } if 1996<=`year' & `year'<=2006 { replace cjottcd=1 if ptsern1==1 replace cjottcd=1 if ptsern2a==1 } lab var cjottcd "CJ: Weekly overtime topcoded, DWS" notes cjottcd: For workers in DWS but not in the ORG /* Calculated weekly overtime on current job topcoded, ORG */ gen byte cjottco=0 if cjotamt~=. if 1994<=`year' & `year'<=2006 { replace cjottco=1 if ptot==1 } lab var cjottco "CJ: Weekly overtime topcoded, ORG" notes cjottco: For workers in DWS and in the ORG /* Calculated weekly overtime on current job topcoded, (DWS, ORG) */ gen byte cjottc=. if 1994<=`year' & `year'<=2006 { replace cjottc=cjottco if (hrmis==4 | hrmis==8) replace cjottc=cjottcd if ( (1<=hrmis & hrmis<=3) | /* */ (5<=hrmis & hrmis<=7) ) } lab var ljottc "CJ: Weekly overtime topcoded" notes ljottc: Based on DWS and ORG responses /* Usual weekly hours at overtime rate on current job, DWS */ gen cjothrd=. if `year'==1994 { replace cjothrd=pus114 replace cjothrd=. if pus114<0 replace cjothrd=pus115 if 0<=pus115 & pus115~=. /* corrected pus114 */ } if 1996<=`year' & `year'<=2006 { replace cjothrd=pusce7 replace cjothrd=. if pusce7<0 replace cjothrd=pusce8 if 0<=pusce8 & pusce8~=. /* corrected pusce7 */ } lab var cjothrd "CJ: Usual weekly overtime hours, DWS" notes cjothrd: Usual hours per week at overtime rate on current job notes cjothrd: Assigns missing rather than zero those who don't report /* */ receiving overtime notes cjothrd: For workers in DWS but not in the ORG /* Usual weekly hours at overtime rate on current job, ORG not asked */ /* Usual weekly hours at overtime rate on current job, (DWS, ORG) not available for ORG, see cjothrs */ /* Weekly earnings on current job topcoded, DWS */ gen byte cjwtcdws=. if `year'==1994 { replace cjwtcdws=1 if ptwk3==1 replace cjwtcdws=0 if ptwk3==0 } if 1996<=`year' & `year'<=2006 { replace cjwtcdws=1 if ptscwkly==1 replace cjwtcdws=0 if ptscwkly==0 } lab var cjwtcdws "CJ: Weekly earnings topcoded, DWS" notes cjwtcdws: For workers in DWS but not in the ORG /* Weekly earnings on current job topcoded, ORG */ gen byte cjwtcorg=. if 1994<=`year' & `year'<=2006 { replace cjwtcorg=1 if ptwk==1 replace cjwtcorg=0 if ptwk==0 } lab var cjwtcorg "CJ: Weekly earnings topcoded, ORG" notes cjwtcorg: For workers in DWS and in the ORG /* Weekly earnings on current job topcoded (DWS, ORG) */ gen byte cjwtc=. if 1994<=`year' & `year'<=2006 { replace cjwtc=cjwtcorg if (hrmis==4 | hrmis==8) replace cjwtc=cjwtcdws if ( (1<=hrmis & hrmis<=3) | /* */ (5<=hrmis & hrmis<=7) ) } lab var cjwtc "CJ: Weekly earnings topcoded" notes cjwtc: Based on DWS and ORG responses /* Weekly earnings on current job, DWS */ gen cjwpdws=. if 1994<=`year' & `year'<=2006 { replace cjwpdws=prscwkly * adjust for topcoding replace cjwpdws=`atc1994' if cjwtcdws==1 & year==1994 replace cjwpdws=`atc1996' if cjwtcdws==1 & year==1996 replace cjwpdws=`atc1998' if cjwtcdws==1 & year==1998 replace cjwpdws=`atc2000' if cjwtcdws==1 & year==2000 replace cjwpdws=`atc2002' if cjwtcdws==1 & year==2002 replace cjwpdws=`atc2004' if cjwtcdws==1 & year==2004 replace cjwpdws=`atc2006' if cjwtcdws==1 & year==2004 * replace cjwpdws=. if prscwkly<0 } lab var cjwpdws "CJ: Weekly earnings, DWS" notes cjwpdws: Weekly earnings on current job notes cjwpdws: Topcoded values assigned estimated mean above topcoded /* */ assuming log-normal distribution for weekly earnings notes cjwpdws: For workers in DWS but not in the ORG /* Weekly earnings on current job, ORG */ gen cjwporg=. if 1994<=`year' & `year'<=2006 { replace cjwporg=prernwa * adjust for topcoding replace cjwporg=`atc1994' if cjwtcorg==1 & year==1994 replace cjwporg=`atc1996' if cjwtcorg==1 & year==1996 replace cjwporg=`atc1998' if cjwtcorg==1 & year==1998 replace cjwporg=`atc2000' if cjwtcorg==1 & year==2000 replace cjwporg=`atc2002' if cjwtcorg==1 & year==2002 replace cjwporg=`atc2004' if cjwtcorg==1 & year==2004 replace cjwporg=`atc2006' if cjwtcorg==1 & year==2006 * replace cjwporg=. if prernwa<0 } lab var cjwporg "CJ: Weekly earnings, ORG" notes cjwporg: Weekly earnings on current job notes cjwporg: Topcoded values assigned estimated mean above topcoded /* */ assuming log-normal distribution for weekly earnings notes cjwporg: For workers in DWS and in the ORG /* Weekly earnings on current job, (DWS, ORG) */ gen cjwkpay=. if 1994<=`year' & `year'<=2006 { replace cjwkpay=cjwporg if (hrmis==4 | hrmis==8) replace cjwkpay=cjwpdws if ( (1<=hrmis & hrmis<=3) | /* */ (5<=hrmis & hrmis<=7) ) } lab var cjwkpay "CJ: Weekly earnings" notes cjwkpay: Weekly earnings on current job notes cjwkpay: Based on DWS and ORG responses notes cjwkpay: Includes overtime, tips, and commissions for hourly workers notes cjwkpay: Topcoded values assigned estimated mean above topcoded /* */ assuming log-normal distribution for weekly earnings /* Weeks worked per year on current job, DWS */ gen int cjwk_dws=. if `year'==1994 { replace cjwk_dws=pus136 replace cjwk_dws=. if pus136<0 } if 1996<=`year' & `year'<=2006 { replace cjwk_dws=pesce25 replace cjwk_dws=. if pesce25<0 } lab var cjwk_dws "CJ: Weeks worked per year, DWS" notes cjwk_dws: Only if report earnings on annual basis notes cjwk_dws: From DWS /* Weeks worked per year on current job, Basic CPS" */ gen int cjwk_cps=. if 1994<=`year' & `year'<=2006 { replace cjwk_cps=peernwkp replace cjwk_cps=. if peernwkp<0 } lab var cjwk_cps "CJ: Weeks worked per year, CPS" notes cjwk_cps: Only if report earnings on annual basis notes cjwk_cps: From Basic CPS /* Weeks worked per year on current job (DWS, CPS) */ gen int cjweeks=. if 1994<=`year' & `year'<=2006 { replace cjweeks=cjwk_cps if (hrmis==4 | hrmis==8) replace cjweeks=cjwk_dws if ( (1<=hrmis & hrmis<=3) | /* */ (5<=hrmis & hrmis<=7) ) } lab var cjweeks "CJ: Weeks worked per year" notes cjweeks: Only if report earnings on annual basis notes cjweeks: Based on DWS and Basic CPS responses /* "Eligibility of current job supplement earnings" */ gen byte cjpayorg=. if `year'==1994 { * replace cjpayorg=. /* variable not in DWS in 1994 */ } if 1996<=`year' & `year'<=2006 { replace cjpayorg=1 if prsupern==1 } lab var cjpayorg "CJ: Eligible ORG earnings" /* real wages */ local base=293.5 /* CPI-U-RS in 2006$ */ /* current job */ gen cjpayr=cjwkpay/(288.7/`base') if year==2006 /* deflate using 1/2006 CPI */ replace cjpayr=cjwkpay/(275.1/`base') if year==2004 replace cjpayr=cjwkpay/(261.9/`base') if year==2002 replace cjpayr=cjwkpay/(250.8/`base') if year==2000 replace cjpayr=cjwkpay/(237.7/`base') if year==1998 replace cjpayr=cjwkpay/(229.5/`base') if year==1996 replace cjpayr=cjwkpay/(218.2/`base') if year==1994 lab var cjpayr "CJ: real weekly pay ($2006)" /* lost job */ gen ljpayr=ljwkpay/(284.3/`base') if dw_when==2005 replace ljpayr=ljwkpay/(275.1/`base') if dw_when==2004 replace ljpayr=ljwkpay/(267.9/`base') if dw_when==2003 replace ljpayr=ljwkpay/(261.9/`base') if dw_when==2002 replace ljpayr=ljwkpay/(257.8/`base') if dw_when==2001 replace ljpayr=ljwkpay/(250.8/`base') if dw_when==2000 replace ljpayr=ljwkpay/(242.7/`base') if dw_when==1999 replace ljpayr=ljwkpay/(237.7/`base') if dw_when==1998 replace ljpayr=ljwkpay/(234.4/`base') if dw_when==1997 replace ljpayr=ljwkpay/(229.5/`base') if dw_when==1996 replace ljpayr=ljwkpay/(223.5/`base') if dw_when==1995 replace ljpayr=ljwkpay/(218.2/`base') if dw_when==1994 replace ljpayr=ljwkpay/(213.7/`base') if dw_when==1993 replace ljpayr=ljwkpay/(208.5/`base') if dw_when==1992 replace ljpayr=ljwkpay/(203.4/`base') if dw_when==1991 lab var ljpayr "LJ: real weekly pay ($2006)" /* Copyright 2004 CEPR and John Schmitt This file is part of the cepr_dws_master.do program. This file and all programs referenced in it are free software. You can redistribute the program or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */