****************************** *AltUIRules.do: ***Counterfactual policy variables, for simulation ****************************** *Remember whenever you include nonworkers in the sample to *NOT* incorporate the industry coverage info * (this would cause problems b/c industry is only available for workers) * Log specification: in the 5-outcome version, the policy variables, wratio_other and wratio_me * are just the logs of real earnings associated with each category. * We enter an arbitrary constant (0) for the base category (0 weeks) which is assumed to be the same for all persons. ******************* *POLICY EXPERIMENT 1: NB without '71 act * (denoted by the suffix "other" ******************* *Use NB CPI to inflate 1970 benefit formulas to 1980 and 1990 dollars: scalar C80 = 75.9/35.0 scalar C90 = 135.0/35.0 display C80 " " C90 *NB, 1970: gen wba_other = wba if nb==1 & y1970 == 1 *(wba_other is not defined for ME) *NB, 1980: *Without dependents: replace wba_other=(13*C80) if wklywage<(30*C80) & children==0 & nb==1 & y1980 == 1 replace wba_other=(16*C80) if wklywage>=(30*C80) & wklywage<(40*C80) & children==0 & nb==1 & y1980 == 1 replace wba_other=(19*C80) if wklywage>=(40*C80) & wklywage<(50*C80) & children==0 & nb==1 & y1980 == 1 replace wba_other=(22*C80) if wklywage>=(50*C80) & wklywage<(60*C80) & children==0 & nb==1 & y1980 == 1 replace wba_other=(26*C80) if wklywage>=(60*C80) & wklywage<(70*C80) & children==0 & nb==1 & y1980 == 1 replace wba_other=(30*C80) if wklywage>=(70*C80) & wklywage<(80*C80) & children==0 & nb==1 & y1980 == 1 replace wba_other=(34*C80) if wklywage>=(80*C80) & wklywage<(90*C80) & children==0 & nb==1 & y1980 == 1 replace wba_other=(38*C80) if wklywage>=(90*C80) & wklywage<(100*C80) & children==0 & nb==1 & y1980 == 1 replace wba_other=(42*C80) if wklywage>=(100*C80) & wklywage~=. & children==0 & nb==1 & y1980 == 1 *With dependents: replace wba_other=(17*C80) if wklywage<(30*C80) & children==1 & nb==1 & y1980 == 1 replace wba_other=(21*C80) if wklywage>=(30*C80) & wklywage<(40*C80) & children==1 & nb==1 & y1980 == 1 replace wba_other=(25*C80) if wklywage>=(40*C80) & wklywage<(50*C80) & children==1 & nb==1 & y1980 == 1 replace wba_other=(29*C80) if wklywage>=(50*C80) & wklywage<(60*C80) & children==1 & nb==1 & y1980 == 1 replace wba_other=(33*C80) if wklywage>=(60*C80) & wklywage<(70*C80) & children==1 & nb==1 & y1980 == 1 replace wba_other=(38*C80) if wklywage>=(70*C80) & wklywage<(80*C80) & children==1 & nb==1 & y1980 == 1 replace wba_other=(43*C80) if wklywage>=(80*C80) & wklywage<(90*C80) & children==1 & nb==1 & y1980 == 1 replace wba_other=(48*C80) if wklywage>=(90*C80) & wklywage<(100*C80) & children==1 & nb==1 & y1980 == 1 replace wba_other=(53*C80) if wklywage>=(100*C80) & wklywage~=. & children==1 & nb==1 & y1980 == 1 *NB, 1990: *Without dependents: replace wba_other=(13*C90) if wklywage<(30*C90) & children==0 & nb==1 & y1990 == 1 replace wba_other=(16*C90) if wklywage>=(30*C90) & wklywage<(40*C90) & children==0 & nb==1 & y1990 == 1 replace wba_other=(19*C90) if wklywage>=(40*C90) & wklywage<(50*C90) & children==0 & nb==1 & y1990 == 1 replace wba_other=(22*C90) if wklywage>=(50*C90) & wklywage<(60*C90) & children==0 & nb==1 & y1990 == 1 replace wba_other=(26*C90) if wklywage>=(60*C90) & wklywage<(70*C90) & children==0 & nb==1 & y1990 == 1 replace wba_other=(30*C90) if wklywage>=(70*C90) & wklywage<(80*C90) & children==0 & nb==1 & y1990 == 1 replace wba_other=(34*C90) if wklywage>=(80*C90) & wklywage<(90*C90) & children==0 & nb==1 & y1990 == 1 replace wba_other=(38*C90) if wklywage>=(90*C90) & wklywage<(100*C90) & children==0 & nb==1 & y1990 == 1 replace wba_other=(42*C90) if wklywage>=(100*C90) & wklywage~=. & children==0 & nb==1 & y1990 == 1 *With dependents: replace wba_other=(17*C90) if wklywage<(30*C90) & children==1 & nb==1 & y1990 == 1 replace wba_other=(21*C90) if wklywage>=(30*C90) & wklywage<(40*C90) & children==1 & nb==1 & y1990 == 1 replace wba_other=(25*C90) if wklywage>=(40*C90) & wklywage<(50*C90) & children==1 & nb==1 & y1990 == 1 replace wba_other=(29*C90) if wklywage>=(50*C90) & wklywage<(60*C90) & children==1 & nb==1 & y1990 == 1 replace wba_other=(33*C90) if wklywage>=(60*C90) & wklywage<(70*C90) & children==1 & nb==1 & y1990 == 1 replace wba_other=(38*C90) if wklywage>=(70*C90) & wklywage<(80*C90) & children==1 & nb==1 & y1990 == 1 replace wba_other=(43*C90) if wklywage>=(80*C90) & wklywage<(90*C90) & children==1 & nb==1 & y1990 == 1 replace wba_other=(48*C90) if wklywage>=(90*C90) & wklywage<(100*C90) & children==1 & nb==1 & y1990 == 1 replace wba_other=(53*C90) if wklywage>=(100*C90) & wklywage~=. & children==1 & nb==1 & y1990 == 1 **duration *1970 NB remains unchanged: local i=1 while `i' <= 51 { quietly gen dur`i'other=dur`i' if nb==1 & year==1970 local i = `i' +1 } *Impose 1970 durations on other years in NB local i=1 while `i' <= 14 { quietly replace dur`i'other=0 if nb==1 & (y1980 == 1 | y1990 == 1) local i = `i' +1 } quietly replace dur15other=18.3 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur16other=19.1 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur17other=19.9 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur18other=20.7 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur19other=21.5 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur20other= 22.3 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur21other= 22.8 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur22other= 23.3 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur23other= 23.8 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur24other= 24.2 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur25other= 24.6 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur26other= 23.8 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur27other= 23 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur28other= 22.2 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur29other= 21.6 if nb==1 & (y1980 == 1 | y1990 == 1) quietly replace dur30other= 21 if nb==1 & (y1980 == 1 | y1990 == 1) local i=31 while `i' <= 51 { quietly replace dur`i'other = 51-`i' if nb==1 & (y1980 == 1 | y1990 == 1) local i = `i' +1 } *Total annual UI bens: local i=1 while `i' <= 51 { *1970 NB remains unchanged: gen benefit`i'other=benefit`i' if nb==1 & year==1970 *Replace 1980, 1990 bens in NB by 1970 levels: replace benefit`i'other = (wba_other * dur`i'other) if nb==1 & (y1980 == 1 | y1990 == 1) local i = `i' +1 } quietly gen benefit52other=0 sort year by year: sum benefit1other-benefit52other if nb==1 *************************************************************************** *Income differential variable: ratio of total income if work in weeks categories 1 thru 3 vs 4 (FY) *************************************************************************** gen pywage12_other=0 if nb==1 & (y1980 == 1 | y1990 == 1) gen pywage20_other=0 if nb==1 & (y1980 == 1 | y1990 == 1) gen pywage33_other=0 if nb==1 & (y1980 == 1 | y1990 == 1) gen fywage_other=0 if nb==1 & (y1980 == 1 | y1990 == 1) replace pywage12_other=pywage12 if nb==1 & y1970 == 1 replace pywage20_other=pywage20 if nb==1 & y1970 == 1 replace pywage33_other=pywage33 if nb==1 & y1970 == 1 replace fywage_other =fywage if nb==1 & y1970 == 1 *We'll use 1980 within-category weights throughout (1970 are not available): if femalemodel==0 { *From DStats.do, MEN's weights are: *NEW BRUNSWICK: local W_NB_1_13 "0.92 3.67 2.75 3.67 2.75 3.67 0.00 3.67 1.83 28.44 10.09 30.28 8.26" local W_NB_14_26 "6.20 5.37 8.68 4.55 5.79 2.89 17.77 6.61 8.68 4.13 10.74 8.68 9.92" local W_NB_27_39 "6.15 8.94 2.23 21.79 1.68 13.41 2.23 7.82 7.26 15.64 2.79 3.91 6.15" local W_NB_40_52 "4.09 0.06 1.16 0.18 1.59 1.28 1.04 1.59 4.82 3.29 7.80 1.04 72.07" } if femalemodel==1 { *From DStats.do, WOMEN's weights are: *NEW BRUNSWICK: local W_NB_1_13 "2.24 5.38 4.48 9.42 5.38 5.83 2.69 9.42 4.48 20.18 6.28 17.04 7.17" local W_NB_14_26 "7.41 9.05 11.11 3.29 4.94 3.29 20.58 5.35 5.76 2.06 12.76 6.58 7.82" local W_NB_27_39 "4.85 4.24 3.64 24.85 0.61 12.12 1.82 2.42 10.30 12.12 6.06 5.45 11.52" local W_NB_40_52 "4.81 0.36 1.81 0.60 2.17 1.20 1.56 0.36 4.21 3.25 10.83 0.84 67.99" } ************** *Weeks 1-13: local i = 1 foreach W of local W_NB_1_13 { replace pywage12_other = pywage12_other + (`W'/100)*((wklywage*`i') + benefit`i'other) if nb==1 & (y1980 == 1 | y1990 == 1) local i = `i' +1 } *Weeks 14-26: local i = 14 foreach W of local W_NB_14_26 { replace pywage20_other = pywage20_other + (`W'/100)*((wklywage*`i') + benefit`i'other) if nb==1 & (y1980 == 1 | y1990 == 1) local i = `i' +1 } *Weeks 27-39: local i = 27 foreach W of local W_NB_27_39 { replace pywage33_other = pywage33_other + (`W'/100)*((wklywage*`i') + benefit`i'other) if nb==1 & (y1980 == 1 | y1990 == 1) local i = `i' +1 } *Weeks 40-52: local i = 40 foreach W of local W_NB_40_52 { replace fywage_other = fywage_other + (`W'/100)*((wklywage*`i') + benefit`i'other) if nb==1 & (y1980 == 1 | y1990 == 1) local i = `i' +1 } *convert to real dollars: replace pywage12_other = 100*pywage12_other/CPI if nb==1 & (y1980 == 1 | y1990 == 1) replace pywage20_other = 100*pywage20_other/CPI if nb==1 & (y1980 == 1 | y1990 == 1) replace pywage33_other = 100*pywage33_other/CPI if nb==1 & (y1980 == 1 | y1990 == 1) replace fywage_other = 100*fywage_other/CPI if nb==1 & (y1980 == 1 | y1990 == 1) *must use the same constant for the zero category as in UIRules.do: gen wratio_other0 = 0 if nb==1 gen wratio_other12= log(pywage12_other) if nb==1 gen wratio_other20= log(pywage20_other) if nb==1 gen wratio_other33= log(pywage33_other) if nb==1 gen wratio_other52= log(fywage_other) if nb==1 ******************* *POLICY EXPERIMENT 2: NB with Maine UI system * (denoted by the suffix "other2" or "_me") ******************* ************************************ *Apply the ME formulas to NB: *Use ratio of mean wages to convert ME dollars to NB: scalar R70 = W70NB/W70ME scalar R80 = W80NB/W80ME scalar R90 = W90NB/W90ME display R70 " " R80 " " R90 ************************************ *generate base period (one year) earnings (bpe), highest quarter earnings (hqe), * and weekly benefit amounts (wba) * for annual weeks worked ranging from 1 to 51: local i=1 while `i' <= 51 { *Note-- the variables bpe`i' and hqe`i' have already been calculated for both NB and ME. * So far, we've only used them to calculate actual ME benefits, but we have access to them for NB as well *1970 wbas: quietly gen wba`i'other2 = (1/25)*hqe`i' if year==1970 & nb==1 quietly replace wba`i'other2 = 52*R70 if wba`i'other2>52 & wba`i'other2~=. & year==1970 & nb==1 quietly replace wba`i'other2 = 10*R70 if wba`i'other2<10 & year==1970 & nb==1 *1980wbas: quietly replace wba`i'other2 = (1/22)*hqe`i' if year==1980 & nb==1 quietly replace wba`i'other2=96*R80 if wba`i'other2>96 & wba`i'other2~=. & year==1980 & nb==1 & children==0 quietly replace wba`i'other2=144*R80 if wba`i'other2>144 & wba`i'other2~=. & year==1980 & nb==1 & children==1 quietly replace wba`i'other2= 12*R80 if wba`i'other2<12 & year==1980 & nb==1 & children==0 quietly replace wba`i'other2= 17*R80 if wba`i'other2<17 & year==1980 & nb==1 & children==1 *1990 wbas: quietly replace wba`i'other2 = (1/22)*hqe`i' if year==1990 & nb==1 quietly replace wba`i'other2=180*R90 if wba`i'other2>180 & wba`i'other2~=. & year==1990 & nb==1 & children==0 quietly replace wba`i'other2=270*R90 if wba`i'other2>270 & wba`i'other2~=. & year==1990 & nb==1 & children==1 quietly replace wba`i'other2= 31*R90 if wba`i'other2<31 & year==1990 & nb==1 & children==0 quietly replace wba`i'other2= 46*R90 if wba`i'other2<46 & year==1990 & nb==1 & children==1 local i = `i' +1 } local i=1 while `i' <= 51 { quietly gen benefit`i'other2 = benefit`i' *(Aside from the mins and maxes added in below, the total annual UI bens you are entitled to in ME are limited to * one third of your base period earnings) quietly replace benefit`i'other2=bpe12/3 if nb==1 *min quietly replace benefit`i'other2=300*R70 if benefit`i'other2>0 & benefit`i'other2 <300*R70 & year==1970 & nb==1 quietly replace benefit`i'other2=300*R80 if benefit`i'other2>0 & benefit`i'other2 <300*R80 & year==1980 & nb==1 quietly replace benefit`i'other2=694*R90 if benefit`i'other2>0 & benefit`i'other2 <694*R90 & year==1990 & nb==1 *max quietly replace benefit`i'other2 = 1326*R70 if benefit`i'other2 > 1326*R70 & year == 1970 & nb==1 quietly replace benefit`i'other2 = 2496*R80 if benefit`i'other2 > 2496*R80 & year == 1980 & nb==1 quietly replace benefit`i'other2 = 4680*R90 if benefit`i'other2 > 4680*R90 & year == 1990 & nb==1 *if there are not enough unemployed weeks left in the year to collect your max UI entitlement: quietly replace benefit`i'other2 = (52-`i')*wba`i'other2 if benefit`i'other2> (52-`i')*wba`i'other2 & nb==1 *exclude non-covered industries (skip this whenever the sample includes nonworkers): *quietly replace benefit`i'other2=0 if agric==1 & nb==1 *quietly replace benefit`i'other2=0 if public==1 & nb==1 & year < 1980 local i = `i' +1 } *in all cases you get no UI if you work 52 weeks/yr: gen benefit52other2=0 *************************************************************************** *Income differential variable: ratio of total income if work in weeks categories 1 thru 3 vs 4 (FY) *************************************************************************** gen pywage12_other2=0 if nb==1 gen pywage20_other2=0 if nb==1 gen pywage33_other2=0 if nb==1 gen fywage_other2=0 if nb==1 *Again, use 1980 within-category weights throughout (1970 are not available): *Weeks 1-13: local i = 1 foreach W of local W_NB_1_13 { replace pywage12_other2 = pywage12_other2 + (`W'/100)*((wklywage*`i') + benefit`i'other2) if me==0 local i = `i' +1 } *Weeks 14-26: local i = 14 foreach W of local W_NB_14_26 { replace pywage20_other2 = pywage20_other2 + (`W'/100)*((wklywage*`i') + benefit`i'other2) if me==0 local i = `i' +1 } *Weeks 27-39: local i = 27 foreach W of local W_NB_27_39 { replace pywage33_other2 = pywage33_other2 + (`W'/100)*((wklywage*`i') + benefit`i'other2) if me==0 local i = `i' +1 } *Weeks 40-52: local i = 40 foreach W of local W_NB_40_52 { replace fywage_other2 = fywage_other2 + (`W'/100)*((wklywage*`i') + benefit`i'other2) if me==0 local i = `i' +1 } *convert to real dollars: replace pywage12_other2 = 100*pywage12_other2/CPI replace pywage20_other2 = 100*pywage20_other2/CPI replace pywage33_other2 = 100*pywage33_other2/CPI replace fywage_other2 = 100*fywage_other2/CPI *must use the same constant for the 0 weeks category as in UIRules.do: gen wratio_me0 = 0 gen wratio_me12 = wratio12 gen wratio_me20 = wratio20 gen wratio_me33 = wratio33 gen wratio_me52 = wratio52 *All Income Diffs are measured in thousands of 1983 dollars: * (all are negative b/c they are the income shortfall relative to full year) replace wratio_me12= log(pywage12_other2) if nb==1 replace wratio_me20= log(pywage20_other2) if nb==1 replace wratio_me33= log(pywage33_other2) if nb==1 replace wratio_me52= log(fywage_other2) if nb==1 ****Comparison of predicted benefits with and without the 2 counterfactuals: sort country year by country year: sum wratio12 wratio20 wratio33 wratio52 wratio_other12 wratio_other20 wratio_other33 wratio_other52 /* */ wratio_me12 wratio_me20 wratio_me33 wratio_me52 drop bpe1-benefit52 drop dur1other-benefit52other drop wba1other2-benefit52other2