/********Stata code used to construct hours series 1820-2025**/ 
/*****series using 57 core territories: 48 countries + 9 subregions**/


#delimit;
clear all;
set more off;
set maxvar 6000;
do Codes/doglobalvariables.txt;


/****step 1: importation and homogeneization of raw micro data series on labour hours (1970s-2020s)***/
/****economic labor hours***/
import excel Andreescuetal2025Appendix.xlsx, sheet("R4h") cellrange(A4:BF13) firstrow clear;
rename decade year;
foreach c of global coreterritories
{;
rename `c' awh`c';
};
save Data\temp\hours.dta, replace;
import excel Andreescuetal2025Appendix.xlsx, sheet("R4hw") cellrange(A4:BF13) firstrow clear;
rename decade year;
foreach c of global coreterritories
{;
rename `c' awhw`c';
};
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
save Data\temp\hours.dta, replace;
import excel Andreescuetal2025Appendix.xlsx, sheet("R4hm") cellrange(A4:BF13) firstrow clear;
rename decade year;
foreach c of global coreterritories
{;
rename `c' awhm`c';
};
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
save Data\temp\hours.dta, replace;
/****domestic labor hours***/
import excel Andreescuetal2025Appendix.xlsx, sheet("R4dw") cellrange(A4:BF11) firstrow clear;
rename decade year;
foreach c of global coreterritories
{;
rename `c' dwhw`c';
};
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
save Data\temp\hours.dta, replace;
import excel Andreescuetal2025Appendix.xlsx, sheet("R4dm") cellrange(A4:BF11) firstrow clear;
rename decade year;
foreach c of global coreterritories
{;
rename `c' dwhm`c';
};
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
save Data\temp\hours.dta, replace;
/*****weeks per year***/
import excel Andreescuetal2025Appendix.xlsx, sheet("R4wpy") cellrange(A4:AX10) firstrow clear;
rename decade year;
gen TW=OB;
gen SA=OE;
gen AU=OH;
gen NZ=OH;
gen DZ=OE;
gen MA=OE;
gen CN=OB;
gen JP=OB;
foreach c of global coreterritories
{;
rename `c' wpy`c';
};
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
save Data\temp\hours.dta, replace;
/****employment rates (1940s-2020s)***/
import excel Andreescuetal2025Appendix.xlsx, sheet("R4ew") cellrange(A4:BF13) firstrow clear;
rename decade year;
foreach c of global coreterritories
{;
rename `c' empw`c';
};
merge 1:1 year using Data\popndp.dta;
keep if _merge==3;
drop _merge;
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
save Data\temp\hours.dta, replace;
import excel Andreescuetal2025Appendix.xlsx, sheet("R4em") cellrange(A4:BF13) firstrow clear;
rename decade year;
foreach c of global coreterritories
{;
rename `c' empm`c';
};
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
sort year;
save Data\temp\hours.dta, replace;
/****work status: wage, self-employed, unpaid, employer***/
import excel Andreescuetal2025Appendix.xlsx, sheet("R4sww") cellrange(A4:FI10) firstrow clear;
rename decade year;
foreach c of global coreterritoriesstatus
{;
rename `c' sww`c';
};
keep year sww*;
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
sort year;
save Data\temp\hours.dta, replace;
import excel Andreescuetal2025Appendix.xlsx, sheet("R4suw") cellrange(A4:FI10) firstrow clear;
rename decade year;
foreach c of global coreterritoriesstatus
{;
rename `c' suw`c';
};
keep year suw*;
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
sort year;
save Data\temp\hours.dta, replace;
import excel Andreescuetal2025Appendix.xlsx, sheet("R4swm") cellrange(A4:FI10) firstrow clear;
rename decade year;
foreach c of global coreterritoriesstatus
{;
rename `c' swm`c';
};
keep year swm*;
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
sort year;
save Data\temp\hours.dta, replace;
import excel Andreescuetal2025Appendix.xlsx, sheet("R4sum") cellrange(A4:FI10) firstrow clear;
rename decade year;
foreach c of global coreterritoriesstatus
{;
rename `c' sum`c';
};
merge 1:1 year using Data\temp\hours.dta;
drop _merge;
sort year;
save Data\temp\hours.dta, replace;


/***step 2: completing raw data series on hours (1970s-2020s) and employment rates (1940s-2020s)**/
/***all missing countries-decades = residual region of the same decade**/
use Data\temp\hours.dta, clear;
foreach v in awh awhm awhw wpy empw empm
{;
foreach c in DE DK ES FR GB IT NL NO SE
{;
replace `v'`c'=`v'OC if `v'`c'==.; 
};
foreach c in US CA AU NZ
{;
replace `v'`c'=`v'OH if `v'`c'==.; 
};
foreach c in AR BR CL CO MX 
{;
replace `v'`c'=`v'OD if `v'`c'==.; 
};
foreach c in AE DZ EG IR MA SA TR  
{;
replace `v'`c'=`v'OE if `v'`c'==.; 
};
foreach c in CD CI ET KE ML NE NG RW SD ZA  
{;
replace `v'`c'=`v'OJ if `v'`c'==.; 
};
foreach c in RU  
{;
replace `v'`c'=`v'OA if `v'`c'==.; 
};
foreach c in CN JP KR TW  
{;
replace `v'`c'=`v'OB if `v'`c'==.; 
};
foreach c in BD IN ID MM PK PH TH VN  
{;
replace `v'`c'=`v'OI if `v'`c'==.; 
};
};
foreach c of global coreterritories
{;
gen ewhw`c'=awhw`c'*empw`c';
gen ewhm`c'=awhm`c'*empm`c';
gen twhw`c'=ewhw`c'+dwhw`c';
gen twhm`c'=ewhm`c'+dwhm`c';
replace awh`c'=awh`c'*wpy`c';
};
drop wpy*;
save Data\temp\hours.dta, replace;
use Data\temp\hours.dta, clear;
keep year twhw* twhm* ewhw* ewhm* dwhw* dwhm*;
save Data\temp\totalhours.dta, replace;
use Data\temp\hours.dta, clear;
keep year sw* su*;
save Data\temp\status.dta, replace;
use Data\temp\hours.dta, clear;
keep year awh* emp*;
order year awhDE awhDK awhES awhFR awhGB awhIT awhNL awhNO awhSE awhOC awhQM awhUS awhCA awhAU awhNZ awhOH awhAR awhBR awhCL awhCO awhMX awhOD awhAE awhDZ awhEG awhIR awhMA awhSA awhTR awhOE awhCD awhCI awhET awhKE awhML awhNE awhNG awhRW awhSD awhZA awhOJ awhRU awhOA awhCN awhJP awhKR awhTW awhOB awhBD awhIN awhID awhMM awhPK awhPH awhTH awhVN awhOI 
empmDE empmDK empmES empmFR empmGB empmIT empmNL empmNO empmSE empmOC empmQM empmUS empmCA empmAU empmNZ empmOH empmAR empmBR empmCL empmCO empmMX empmOD empmAE empmDZ empmEG empmIR empmMA empmSA empmTR empmOE empmCD empmCI empmET empmKE empmML empmNE empmNG empmRW empmSD empmZA empmOJ empmRU empmOA empmCN empmJP empmKR empmTW empmOB empmBD empmIN empmID empmMM empmPK empmPH empmTH empmVN empmOI 
empwDE empwDK empwES empwFR empwGB empwIT empwNL empwNO empwSE empwOC empwQM empwUS empwCA empwAU empwNZ empwOH empwAR empwBR empwCL empwCO empwMX empwOD empwAE empwDZ empwEG empwIR empwMA empwSA empwTR empwOE empwCD empwCI empwET empwKE empwML empwNE empwNG empwRW empwSD empwZA empwOJ empwRU empwOA empwCN empwJP empwKR empwTW empwOB empwBD empwIN empwID empwMM empwPK empwPH empwTH empwVN empwOI; 
save Data\temp\hours.dta, replace;
use Data\temp\hours.dta, clear;
drop if year<1970;
keep awh*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("R1a", modify) cell(B24) keepcellfmt;
use Data\temp\hours.dta, clear;
keep empm*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("R2a", modify) cell(B21) keepcellfmt;
use Data\temp\hours.dta, clear;
keep empw*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("R3a", modify) cell(B21) keepcellfmt;

/****step 3: construction of annual series 1800-2025 on labour hours and employment***/
import excel Andreescuetal2025Appendix.xlsx, sheet("R1a") cellrange(B6:BF29) firstrow clear;
gen year=1800;
replace year=year[_n-1]+10 if _n>1;
order year;
foreach c of global coreterritories
{;
rename `c' awh`c';
};
save Data/hours.dta, replace;
/***then men's employment rates**/
import excel Andreescuetal2025Appendix.xlsx, sheet("R2a") cellrange(B6:BF29) firstrow clear;
gen year=1800;
replace year=year[_n-1]+10 if _n>1;
order year;
foreach c of global coreterritories
{;
rename `c' empm`c';
};
merge 1:1 year using Data/hours.dta;
drop _merge;
save Data/hours.dta, replace;
/***then women's employment rates**/
import excel Andreescuetal2025Appendix.xlsx, sheet("R3a") cellrange(B6:BF29) firstrow clear;
gen year=1800;
replace year=year[_n-1]+10 if _n>1;
order year;
foreach c of global coreterritories
{;
rename `c' empw`c';
};
merge 1:1 year using Data/hours.dta;
drop _merge;
save Data/hours.dta, replace;
/****constructing annual series 1800-2025**/
use Data\hours.dta, clear;
replace year=year+5;
insobs 226;
replace year=1800 if _n==24;
replace year=year[_n-1]+1 if _n>=25;
sort year awhDE;
drop if year==year[_n-1];
gen yeard=10*int((year-5)/10)+5;
foreach i of global coreterritories
{;
foreach v in awh empm empw
{;
replace `v'`i'=`v'`i'[6] if year<1805;
replace `v'`i'=((yeard+10-year)*`v'`i'[1+yeard-1800]+(year-yeard)*`v'`i'[11+yeard-1800])/10 if year>1805 & year<2025;
};
};
drop yeard;
save Data/hours.dta, replace;
/****merging with pop and ndp series and computing total employment and hours series 1800-2025**/
use Data\hours.dta, clear;
merge 1:1 year using Data\popndp.dta;
drop _merge;
foreach c of global coreterritories
{;
gen emp`c'=(empm`c'*pop1564m`c'+empw`c'*pop1564w`c')/pop1564`c';
gen relw`c'=empw`c'/empm`c';
gen wwh`c'=awh`c'*emp`c';
gen pwh`c'=awh`c'*emp`c'*pop1564`c'/poptot`c';
};
save Data/hours.dta, replace;
/****computing regional series for total employment and hours series 1800-2025**/
use Data\hours.dta, clear;
foreach v in awh emp
{;
gen `v'EURO=(pop1564DE*`v'DE+pop1564DK*`v'DK+pop1564FR*`v'FR+pop1564GB*`v'GB+pop1564IT*`v'IT+pop1564ES*`v'ES+pop1564NL*`v'NL+pop1564NO*`v'NO+pop1564SE*`v'SE+pop1564OC*`v'OC+pop1564QM*`v'QM)/pop1564EURO;
gen `v'NAOC=(pop1564US*`v'US+pop1564CA*`v'CA+pop1564AU*`v'AU+pop1564NZ*`v'NZ+pop1564OH*`v'OH)/pop1564NAOC;
gen `v'LATA=(pop1564AR*`v'AR+pop1564BR*`v'BR+pop1564CL*`v'CL+pop1564CO*`v'CO+pop1564MX*`v'MX+pop1564OD*`v'OD)/pop1564LATA;
gen `v'MENA=(pop1564AE*`v'AE+pop1564TR*`v'TR+pop1564EG*`v'EG+pop1564DZ*`v'DZ+pop1564IR*`v'IR+pop1564MA*`v'MA+pop1564SA*`v'SA+pop1564OE*`v'OE)/pop1564MENA;
gen `v'SSAF=(pop1564CD*`v'CD+pop1564CI*`v'CI+pop1564ET*`v'ET+pop1564KE*`v'KE+pop1564ML*`v'ML+pop1564NE*`v'NE+pop1564NG*`v'NG+pop1564RW*`v'RW+pop1564SD*`v'SD+pop1564ZA*`v'ZA+pop1564OJ*`v'OJ)/pop1564SSAF;
gen `v'RUCA=(pop1564RU*`v'RU+pop1564OA*`v'OA)/pop1564RUCA;
gen `v'EASA=(pop1564CN*`v'CN+pop1564JP*`v'JP+pop1564KR*`v'KR+pop1564TW*`v'TW+pop1564OB*`v'OB)/pop1564EASA;
gen `v'SSEA=(pop1564BD*`v'BD+pop1564IN*`v'IN+pop1564ID*`v'ID+pop1564MM*`v'MM+pop1564PK*`v'PK+pop1564PH*`v'PH+pop1564TH*`v'TH+pop1564VN*`v'VN+pop1564OI*`v'OI)/pop1564SSEA;
gen `v'WO=(pop1564EURO*`v'EURO+pop1564NAOC*`v'NAOC+pop1564LATA*`v'LATA+pop1564MENA*`v'MENA+pop1564SSAF*`v'SSAF+pop1564RUCA*`v'RUCA+pop1564EASA*`v'EASA+pop1564SSEA*`v'SSEA)/pop1564WO;
};
foreach v in w m
{;
gen emp`v'EURO=(pop1564`v'DE*emp`v'DE+pop1564`v'DK*emp`v'DK+pop1564`v'FR*emp`v'FR+pop1564`v'GB*emp`v'GB+pop1564`v'IT*emp`v'IT+pop1564`v'ES*emp`v'ES+pop1564`v'NL*emp`v'NL+pop1564`v'NO*emp`v'NO+pop1564`v'SE*emp`v'SE+pop1564`v'OC*emp`v'OC+pop1564`v'QM*emp`v'QM)/pop1564`v'EURO;
gen emp`v'NAOC=(pop1564`v'US*emp`v'US+pop1564`v'CA*emp`v'CA+pop1564`v'AU*emp`v'AU+pop1564`v'NZ*emp`v'NZ+pop1564`v'OH*emp`v'OH)/pop1564`v'NAOC;
gen emp`v'LATA=(pop1564`v'AR*emp`v'AR+pop1564`v'BR*emp`v'BR+pop1564`v'CL*emp`v'CL+pop1564`v'CO*emp`v'CO+pop1564`v'MX*emp`v'MX+pop1564`v'OD*emp`v'OD)/pop1564`v'LATA;
gen emp`v'MENA=(pop1564`v'AE*emp`v'AE+pop1564`v'TR*emp`v'TR+pop1564`v'EG*emp`v'EG+pop1564`v'DZ*emp`v'DZ+pop1564`v'IR*emp`v'IR+pop1564`v'MA*emp`v'MA+pop1564`v'SA*emp`v'SA+pop1564`v'OE*emp`v'OE)/pop1564`v'MENA;
gen emp`v'SSAF=(pop1564`v'CD*emp`v'CD+pop1564`v'CI*emp`v'CI+pop1564`v'ET*emp`v'ET+pop1564`v'KE*emp`v'KE+pop1564`v'ML*emp`v'ML+pop1564`v'NE*emp`v'NE+pop1564`v'NG*emp`v'NG+pop1564`v'RW*emp`v'RW+pop1564`v'SD*emp`v'SD+pop1564`v'ZA*emp`v'ZA+pop1564`v'OJ*emp`v'OJ)/pop1564`v'SSAF;
gen emp`v'RUCA=(pop1564`v'RU*emp`v'RU+pop1564`v'OA*emp`v'OA)/pop1564`v'RUCA;
gen emp`v'EASA=(pop1564`v'CN*emp`v'CN+pop1564`v'JP*emp`v'JP+pop1564`v'KR*emp`v'KR+pop1564`v'TW*emp`v'TW+pop1564`v'OB*emp`v'OB)/pop1564`v'EASA;
gen emp`v'SSEA=(pop1564`v'BD*emp`v'BD+pop1564`v'IN*emp`v'IN+pop1564`v'ID*emp`v'ID+pop1564`v'MM*emp`v'MM+pop1564`v'PK*emp`v'PK+pop1564`v'PH*emp`v'PH+pop1564`v'TH*emp`v'TH+pop1564`v'VN*emp`v'VN+pop1564`v'OI*emp`v'OI)/pop1564`v'SSEA;
gen emp`v'WO=(pop1564`v'EURO*emp`v'EURO+pop1564`v'NAOC*emp`v'NAOC+pop1564`v'LATA*emp`v'LATA+pop1564`v'MENA*emp`v'MENA+pop1564`v'SSAF*emp`v'SSAF+pop1564`v'RUCA*emp`v'RUCA+pop1564`v'EASA*emp`v'EASA+pop1564`v'SSEA*emp`v'SSEA)/pop1564`v'WO;
};
foreach c in EURO NAOC LATA MENA SSAF RUCA EASA SSEA WO
{;
gen relw`c'=empw`c'/empm`c';
gen wwh`c'=awh`c'*emp`c';
gen pwh`c'=awh`c'*emp`c'*pop1564`c'/poptot`c';
};
drop pop*;
order year awhWO awhEURO awhNAOC awhLATA awhMENA awhSSAF awhRUCA awhEASA awhSSEA awhDE awhDK awhES awhFR awhGB awhIT awhNL awhNO awhSE awhOC awhQM awhUS awhCA awhAU awhNZ awhOH awhAR awhBR awhCL awhCO awhMX awhOD awhAE awhDZ awhEG awhIR awhMA awhSA awhTR awhOE awhCD awhCI awhET awhKE awhML awhNE awhNG awhRW awhSD awhZA awhOJ awhRU awhOA awhCN awhJP awhKR awhTW awhOB awhBD awhIN awhID awhMM awhPK awhPH awhTH awhVN awhOI 
empWO empEURO empNAOC empLATA empMENA empSSAF empRUCA empEASA empSSEA empDE empDK empES empFR empGB empIT empNL empNO empSE empOC empQM empUS empCA empAU empNZ empOH empAR empBR empCL empCO empMX empOD empAE empDZ empEG empIR empMA empSA empTR empOE empCD empCI empET empKE empML empNE empNG empRW empSD empZA empOJ empRU empOA empCN empJP empKR empTW empOB empBD empIN empID empMM empPK empPH empTH empVN empOI 
empmWO empmEURO empmNAOC empmLATA empmMENA empmSSAF empmRUCA empmEASA empmSSEA empmDE empmDK empmES empmFR empmGB empmIT empmNL empmNO empmSE empmOC empmQM empmUS empmCA empmAU empmNZ empmOH empmAR empmBR empmCL empmCO empmMX empmOD empmAE empmDZ empmEG empmIR empmMA empmSA empmTR empmOE empmCD empmCI empmET empmKE empmML empmNE empmNG empmRW empmSD empmZA empmOJ empmRU empmOA empmCN empmJP empmKR empmTW empmOB empmBD empmIN empmID empmMM empmPK empmPH empmTH empmVN empmOI 
empwWO empwEURO empwNAOC empwLATA empwMENA empwSSAF empwRUCA empwEASA empwSSEA empwDE empwDK empwES empwFR empwGB empwIT empwNL empwNO empwSE empwOC empwQM empwUS empwCA empwAU empwNZ empwOH empwAR empwBR empwCL empwCO empwMX empwOD empwAE empwDZ empwEG empwIR empwMA empwSA empwTR empwOE empwCD empwCI empwET empwKE empwML empwNE empwNG empwRW empwSD empwZA empwOJ empwRU empwOA empwCN empwJP empwKR empwTW empwOB empwBD empwIN empwID empwMM empwPK empwPH empwTH empwVN empwOI 
relwWO relwEURO relwNAOC relwLATA relwMENA relwSSAF relwRUCA relwEASA relwSSEA relwDE relwDK relwES relwFR relwGB relwIT relwNL relwNO relwSE relwOC relwQM relwUS relwCA relwAU relwNZ relwOH relwAR relwBR relwCL relwCO relwMX relwOD relwAE relwDZ relwEG relwIR relwMA relwSA relwTR relwOE relwCD relwCI relwET relwKE relwML relwNE relwNG relwRW relwSD relwZA relwOJ relwRU relwOA relwCN relwJP relwKR relwTW relwOB relwBD relwIN relwID relwMM relwPK relwPH relwTH relwVN relwOI 
wwhWO wwhEURO wwhNAOC wwhLATA wwhMENA wwhSSAF wwhRUCA wwhEASA wwhSSEA wwhDE wwhDK wwhES wwhFR wwhGB wwhIT wwhNL wwhNO wwhSE wwhOC wwhQM wwhUS wwhCA wwhAU wwhNZ wwhOH wwhAR wwhBR wwhCL wwhCO wwhMX wwhOD wwhAE wwhDZ wwhEG wwhIR wwhMA wwhSA wwhTR wwhOE wwhCD wwhCI wwhET wwhKE wwhML wwhNE wwhNG wwhRW wwhSD wwhZA wwhOJ wwhRU wwhOA wwhCN wwhJP wwhKR wwhTW wwhOB wwhBD wwhIN wwhID wwhMM wwhPK wwhPH wwhTH wwhVN wwhOI 
pwhWO pwhEURO pwhNAOC pwhLATA pwhMENA pwhSSAF pwhRUCA pwhEASA pwhSSEA pwhDE pwhDK pwhES pwhFR pwhGB pwhIT pwhNL pwhNO pwhSE pwhOC pwhQM pwhUS pwhCA pwhAU pwhNZ pwhOH pwhAR pwhBR pwhCL pwhCO pwhMX pwhOD pwhAE pwhDZ pwhEG pwhIR pwhMA pwhSA pwhTR pwhOE pwhCD pwhCI pwhET pwhKE pwhML pwhNE pwhNG pwhRW pwhSD pwhZA pwhOJ pwhRU pwhOA pwhCN pwhJP pwhKR pwhTW pwhOB pwhBD pwhIN pwhID pwhMM pwhPK pwhPH pwhTH pwhVN pwhOI;  
save Data\hours.dta, replace;

/***step 5: export of long-run labour hours series for appendix tables and figures**/
use Data\hours.dta, clear;
keep awh*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("B1", modify) cell(B5) keepcellfmt;
use Data\hours.dta, clear;
keep emp*;
drop empm* empw*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("B2", modify) cell(B5) keepcellfmt;
use Data\hours.dta, clear;
keep empm*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("B3", modify) cell(B5) keepcellfmt;
use Data\hours.dta, clear;
keep empw*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("B4", modify) cell(B5) keepcellfmt;
use Data\hours.dta, clear;
keep relw*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("B5", modify) cell(B5) keepcellfmt;
use Data\hours.dta, clear;
merge 1:1 year using Data\popndp.dta;
foreach i in WO EURO NAOC LATA MENA SSAF RUCA EASA SSEA DE DK ES FR GB IT NL NO SE OC QM US CA AU NZ OH AR BR CL CO MX OD AE EG DZ IR MA SA TR OE CD CI ET KE ML NE NG RW SD ZA OJ RU OA CN JP KR TW OB BD IN ID MM PK PH TH VN OI
{;
replace emp`i'=emp`i'*pop1564`i'/poptot`i';
};
keep emp*;
drop empm* empw*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("B6", modify) cell(B5) keepcellfmt;
use Data\hours.dta, clear;
keep wwh*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("B7", modify) cell(B5) keepcellfmt;
use Data\hours.dta, clear;
keep pwh*;
export excel using Andreescuetal2025Appendix.xlsx, sheet("B8", modify) cell(B5) keepcellfmt;


/***step 6: computations on total hours = domestic hours + economic hours***/
use Data\temp\totalhours.dta, clear;
/***eliminate all incomplete countries-years**/
foreach i in AU OH AR CL OD AE DZ IR SA OE CD ET NG RW SD OJ TW OB BD ID MM PK PH TH OI
{;
drop twhw`i' twhm`i' dwhw`i' dwhm`i' ewhw`i' ewhm`i';
};
order year twhw* twhm* dwhw* dwhm* ewhw* ewhm*;
drop if year<1960;
/**collapse into three periods***/
gen period=1 if year==1960 | year==1970;
replace period=2 if year==1980 | year==1990;
replace period=3 if year==2000 | year==2010 | year==2020;
collapse twhw* twhm* dwhw* dwhm* ewhw* ewhm*, by(period); 
foreach i in DE DK ES FR GB IT NL NO SE OC QM US CA NZ BR CO MX EG MA TR CI KE ML NE ZA RU OA CN JP KR IN VN
{;
replace twhw`i'=dwhw`i'+ewhw`i'; 
replace twhm`i'=dwhm`i'+ewhm`i'; 
};
save Data\temp\totalhourstemp.dta, replace;
use Data\temp\totalhourstemp.dta, clear;
foreach v in twhw twhm dwhw dwhm ewhw ewhm
{;
gen `v'high=(`v'DE+`v'DK+`v'ES+`v'FR+`v'GB+`v'IT+`v'NL+`v'NO+`v'SE+`v'OC+`v'QM+`v'US+`v'CA+`v'NZ+`v'JP+`v'KR)/16 if period==3; 
gen `v'mid=(`v'BR+`v'CO+`v'MX+`v'EG+`v'MA+`v'TR+`v'ZA+`v'CN+`v'RU+`v'OA)/10 if period==3;;
gen `v'low=(`v'CI+`v'KE+`v'ML+`v'NE+`v'IN+`v'VN)/6 if period==3;;
gen `v'euro=(`v'DE+`v'DK+`v'ES+`v'FR+`v'GB+`v'IT+`v'NL+`v'NO+`v'SE+`v'OC+`v'QM)/11 if period==3;
replace `v'euro=(`v'FR+`v'GB+`v'NL+`v'NO+`v'OC)/5 if period==2;
replace `v'euro=(`v'DE+`v'FR)/2 if period==1;
gen `v'naoc=(`v'US+`v'CA+`v'NZ)/3 if period==3;
replace `v'naoc=`v'US if period==1 | period==2;
gen `v'lata=(`v'BR+`v'CO+`v'MX)/3 if period==3;
gen `v'mena=(`v'EG+`v'MA+`v'TR)/3 if period==3;
gen `v'easa=(`v'CN+`v'JP+`v'KR)/3 if period==3; 
gen `v'ruca=(`v'RU+`v'OA)/2 if period==3;
gen `v'ssaf=(`v'CI+`v'KE+`v'ML+`v'NE+`v'ZA)/5 if period==3;
gen `v'ssea=(`v'IN+`v'VN)/2 if period==3;
};
order period ewhw* dwhw* twhw* ewhm* dwhm* twhm*;
save Data\temp\totalhourstemp.dta, replace;
keep if period==3;
save Data\temp\totalhourstemp2.dta, replace;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhwlow dwhwlow twhwlow ewhmlow dwhmlow twhmlow;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B6) keepcellfmt;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhwmid dwhwmid twhwmid ewhmmid dwhmmid twhmmid;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B7) keepcellfmt;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhwhigh dwhwhigh twhwhigh ewhmhigh dwhmhigh twhmhigh;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B8) keepcellfmt;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhweuro dwhweuro twhweuro ewhmeuro dwhmeuro twhmeuro;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B10) keepcellfmt;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhwnaoc dwhwnaoc twhwnaoc ewhmnaoc dwhmnaoc twhmnaoc;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B11) keepcellfmt;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhwlata dwhwlata twhwlata ewhmlata dwhmlata twhmlata;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B12) keepcellfmt;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhwmena dwhwmena twhwmena ewhmmena dwhmmena twhmmena;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B13) keepcellfmt;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhweasa dwhweasa twhweasa ewhmeasa dwhmeasa twhmeasa;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B14) keepcellfmt;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhwruca dwhwruca twhwruca ewhmruca dwhmruca twhmruca;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B15) keepcellfmt;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhwssaf dwhwssaf twhwssaf ewhmssaf dwhmssaf twhmssaf;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B16) keepcellfmt;
use Data\temp\totalhourstemp2.dta, clear;
keep ewhwssea dwhwssea twhwssea ewhmssea dwhmssea twhmssea;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B17) keepcellfmt;
use Data\temp\totalhourstemp.dta, clear;
keep if period==1;
keep ewhweuro dwhweuro twhweuro ewhmeuro dwhmeuro twhmeuro;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B19) keepcellfmt;
use Data\temp\totalhourstemp.dta, clear;
keep if period==2;
keep ewhweuro dwhweuro twhweuro ewhmeuro dwhmeuro twhmeuro;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B20) keepcellfmt;
use Data\temp\totalhourstemp.dta, clear;
keep if period==3;
keep ewhweuro dwhweuro twhweuro ewhmeuro dwhmeuro twhmeuro;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B21) keepcellfmt;
use Data\temp\totalhourstemp.dta, clear;
keep if period==1;
keep ewhwnaoc dwhwnaoc twhwnaoc ewhmnaoc dwhmnaoc twhmnaoc;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B22) keepcellfmt;
use Data\temp\totalhourstemp.dta, clear;
keep if period==2;
keep ewhwnaoc dwhwnaoc twhwnaoc ewhmnaoc dwhmnaoc twhmnaoc;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B23) keepcellfmt;
use Data\temp\totalhourstemp.dta, clear;
keep if period==3;
keep ewhwnaoc dwhwnaoc twhwnaoc ewhmnaoc dwhmnaoc twhmnaoc;
export excel using Andreescuetal2025.xlsx, sheet("DataF1", modify) cell(B24) keepcellfmt;

/***step 7: computations on work status: wage labour vs self-employment vs unpaid vs employer***/
use Data\temp\status.dta, clear;
keep year sww* suw* swm* sum*;
order year sww* suw* swm* sum*;
drop if year<1970;
/**collapse into three periods***/
gen period=1 if year==1970 | year==1980;
replace period=2 if year==1990 | year==2000;
replace period=3 if year==2010 | year==2020;
collapse sww* suw* swm* sum*, by(period); 
foreach v in sww suw swm sum
{;
gen `v'high=(`v'DE+`v'DK+`v'ES+`v'FR+`v'GB+`v'IT+`v'NL+`v'NO+`v'SE+`v'US+`v'KR)/11; 
gen `v'mid=(`v'AR+`v'BR+`v'CO+`v'CL+`v'MX+`v'EG+`v'IR+`v'TR+`v'CN+`v'RU)/10;
gen `v'low=(`v'CD+`v'KE+`v'ML+`v'NE+`v'NG+`v'RW+`v'SD+`v'ZA+`v'BD+`v'ID+`v'IN+`v'MM+`v'PH+`v'PK+`v'TH)/15;
gen `v'euro=(`v'DE+`v'DK+`v'ES+`v'FR+`v'GB+`v'IT+`v'NL+`v'NO)/8;
replace `v'euro=(`v'IT+`v'NL)/2 if period==1;
gen `v'naoc=`v'US;
gen `v'lata=(`v'AR+`v'BR+`v'CO+`v'CL+`v'MX)/5;
gen `v'mena=(`v'EG+`v'IR+`v'TR)/3;
gen `v'easa=(`v'CN+`v'KR)/2; 
gen `v'ruca=`v'RU;
gen `v'ssaf=(`v'CD+`v'KE+`v'ML+`v'NE+`v'NG+`v'RW+`v'SD+`v'ZA)/8;
gen `v'ssea=(`v'BD+`v'ID+`v'IN+`v'MM+`v'PH+`v'PK+`v'TH)/7;
};
foreach v in high mid low euro naoc lata mena easa ruca ssaf ssea
{;
gen ssw`v'=1-sww`v'-suw`v';
gen ssm`v'=1-swm`v'-sum`v';
};
order period sww* ssw* suw* swm* ssm* sum*;
save Data\temp\statustemp.dta, replace;
keep if period==3;
save Data\temp\statustemp2.dta, replace;
use Data\temp\statustemp2.dta, clear;
keep swwlow sswlow suwlow swmlow ssmlow sumlow;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B6) keepcellfmt;
use Data\temp\statustemp2.dta, clear;
keep swwmid sswmid suwmid swmmid ssmmid summid;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B7) keepcellfmt;
use Data\temp\statustemp2.dta, clear;
keep swwhigh sswhigh suwhigh swmhigh ssmhigh sumhigh;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B8) keepcellfmt;
use Data\temp\statustemp2.dta, clear;
keep swweuro ssweuro suweuro swmeuro ssmeuro sumeuro;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B10) keepcellfmt;
use Data\temp\statustemp2.dta, clear;
keep swwnaoc sswnaoc suwnaoc swmnaoc ssmnaoc sumnaoc;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B11) keepcellfmt;
use Data\temp\statustemp2.dta, clear;
keep swwlata sswlata suwlata swmlata ssmlata sumlata;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B12) keepcellfmt;
use Data\temp\statustemp2.dta, clear;
keep swwmena sswmena suwmena swmmena ssmmena summena;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B13) keepcellfmt;
use Data\temp\statustemp2.dta, clear;
keep swweasa ssweasa suweasa swmeasa ssmeasa sumeasa;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B14) keepcellfmt;
use Data\temp\statustemp2.dta, clear;
keep swwruca sswruca suwruca swmruca ssmruca sumruca;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B15) keepcellfmt;
use Data\temp\statustemp2.dta, clear;
keep swwssaf sswssaf suwssaf swmssaf ssmssaf sumssaf;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B16) keepcellfmt;
use Data\temp\statustemp2.dta, clear;
keep swwssea sswssea suwssea swmssea ssmssea sumssea;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B17) keepcellfmt;
use Data\temp\statustemp.dta, clear;
keep if period==1;
keep swweuro ssweuro suweuro swmeuro ssmeuro sumeuro;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B19) keepcellfmt;
use Data\temp\statustemp.dta, clear;
keep if period==2;
keep swweuro ssweuro suweuro swmeuro ssmeuro sumeuro;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B20) keepcellfmt;
use Data\temp\statustemp.dta, clear;
keep if period==3;
keep swweuro ssweuro suweuro swmeuro ssmeuro sumeuro;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B21) keepcellfmt;
use Data\temp\statustemp.dta, clear;
keep if period==1;
keep swwnaoc sswnaoc suwnaoc swmnaoc ssmnaoc sumnaoc;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B22) keepcellfmt;
use Data\temp\statustemp.dta, clear;
keep if period==2;
keep swwnaoc sswnaoc suwnaoc swmnaoc ssmnaoc sumnaoc;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B23) keepcellfmt;
use Data\temp\statustemp.dta, clear;
keep if period==3;
keep swwnaoc sswnaoc suwnaoc swmnaoc ssmnaoc sumnaoc;
export excel using Andreescuetal2025.xlsx, sheet("DataF10", modify) cell(B24) keepcellfmt;