This repository contains the code and data accompanying the paper "Beveridgean Unemployment Gap", written by Pascal Michaillat and Emmanuel Saez, and published in the Journal of Public Economics Plus in December 2021.
The paper and its online appendix are available at https://pascalmichaillat.org/9/.
The data used to produce the results in the article are placed in the folder data
. The data used as input by the code are stored in the Excel file data.xlsx
. The data from the 1997 National Employer Survey (NES) are placed in the subfolder nes
:
nes.csv
– Public-use CSV file of the 1997 NES; the recruiting cost in the United States is computed from the answer to question 29questionaire.pdf
– Questionaire of the 1997 NESdescription.pdf
– Description of the NES data by Peter Cappelli (principal investigator of the 1997 NES)
The code used to produce the results in the paper is placed in the folder code
.
The code is written in MATLAB. There are two types of programs:
- MATLAB scripts producing the figures in the article and online appendix
- MATLAB helper scripts and functions called at different places by the figure-producing scripts
The figures in the article and online appendix are produced by the following scripts:
figure1A.m
- Produce figure 1Afigure1B.m
- Produce figure 1Bfigure1CF.m
- Produce figures 1C, 1D, 1E, 1Ffigure5.m
- Produce figures 5A, 5B, 5C, 5D, 5E, 5Ffigure6.m
- Produce figure 6figure7A.m
- Produce figure 7Afigure7B.m
- Produce figure 7Bfigure7C.m
- Produce figure 7Cfigure7D.m
- Produce figure 7Dfigure8A.m
- Produce figure 8Afigure8B.m
- Produce figure 8Bfigure8C.m
- Produce figure 8Cfigure9A.m
- Produce figure 9Afigure9B.m
- Produce figure 9Bfigure9C.m
- Produce figure 9Cfigure10.m
- Produce figure 10figureA1.m
- Produce figure A1figureA2.m
- Produce figure A2figureA3.m
- Produce figure A3figureA4.m
- Produce figure A4figureA5.m
- Produce figure A5figureA6.m
- Produce figure A6figureA7.m
- Produce figure A7figureA8.m
- Produce panels A and B or figure A8figureA9.m
- Produce figure A9
The scripts produce each figure in a MATLAB window, save a copy of each figure in PDF, and save a copy of the data plotted in each figure in an Excel file.
The figure-producing scripts call the following helper scripts:
formatFigure.m
- Format figuresformatPlot.m
- Provide formatting settings for plots
The figure-producing scripts also call the following functions:
computeBeveridgeanUnemployment.m
- Compute Beveridgean unemployment rate in DMP modelcomputeBeveridgeInverse.m
- Compute inverse-optimum Beveridge elasticity from sufficient-statistic formulacomputeEfficiencyEndogenous.m
- Compute efficient allocation in DMP model using sufficient-statistic formula with endogeous Beveridge elasticitycomputeEfficiencyHosios.m
- Compute efficient allocation in DMP model using Hosios conditioncomputeEfficientTightness.m
- Compute efficient labor-market tightness from sufficient-statistic formulacomputeEfficientUnemployment.m
- Compute efficient unemployment rate from sufficient-statistic formulacomputeMatchingEfficacy.m
- Compute matching efficacy in DMP modelcomputeMatchingElasticity.m
- Compute matching elasticity in DMP modelcomputeNonworkInverse.m
- Compute inverse-optimum social value of nonwork from sufficient-statistic formulacomputeRecruitingInverse.m
- Compute inverse-optimum recruiting cost from sufficient-statistic formulacomputeSeparationEfficacy.m
- Compute separation-efficacy ratio in DMP modelcomputeUnemploymentGap.m
- Compute unemployment gap from sufficient-statistic formulagetBeveridgeElasticity.m
- Return Beveridge elasticity in the United States, 1951–2019getBreakDate.m
- Return dates of structural breaks in US Beveridge curve between 1951 and 2019getLaborProductivity.m
- Return quarterly labor productivity in the United States, 1951–2019getNairu.m
- Return NAIRU in the United States, 1960Q1–2018Q3getNaturalUnemployment.m
- Return natural rate of unemployment in the United States, 1951–2019getRecessionDate.m
- Return dates of recessions in the United States between 1951 and 2019getTimeline.m
- Return quarterly timeline for 1951Q1–2019Q4getTrendUnemployment.m
- Return trend of unemployment rate in the United States, 1960Q1–2018Q3getUnemploymentRate.m
- Return quarterly unemployment rate in the United States, 1951–2019getVacancyRate.m
- Return quarterly vacancy rate in the United States, 1951–2019measureJobFinding.m
- Measure job-finding rate in the United States, 1951–2019measureJobSeparation.m
- Measure job-separation rate in the United States, 1951–2019monthlyToQuarterly.m
- Aggregate monthly data to quarterly frequency
A last helper script is baiPerron.m
. This MATLAB script estimates the US Beveridge curve with the Bai-Perron algorithm. It calls on MATLAB functions stored in the folder baiperron
. The folder was created by Yohei Yamamoto, based on Gauss code by Pierre Perron. It was downloaded from http://blogs.bu.edu/perron/files/2020/05/m-break-matlab.zip.
The figures produced by the code are stored in the folder figures
, both as PDF files and as Excel files.
The figures produced by the code are saved as PDF files and stored in the subfolder pdf
. The PDF files correspond to the following figures in the article and online appendix:
figure1A.pdf
- Figure 1Afigure1B.pdf
- Figure 1Bfigure1C.pdf
- Figure 1Cfigure1D.pdf
- Figure 1Dfigure1E.pdf
- Figure 1Efigure1F.pdf
- Figure 1Ffigure5A.pdf
- Figure 5Afigure5B.pdf
- Figure 5Bfigure5C.pdf
- Figure 5Cfigure5D.pdf
- Figure 5Dfigure5E.pdf
- Figure 5Efigure5F.pdf
- Figure 5Ffigure6.pdf
- Figure 6figure7A.pdf
- Figure 7Afigure7B.pdf
- Figure 7Bfigure7C.pdf
- Figure 7Cfigure7D.pdf
- Figure 7Dfigure8A.pdf
- Figure 8Afigure8B.pdf
- Figure 8Bfigure8C.pdf
- Figure 8Cfigure9A.pdf
- Figure 9Afigure9B.pdf
- Figure 9Bfigure9C.pdf
- Figure 9Cfigure10.pdf
- Figure 10figureA1.pdf
- Figure A1figureA2.pdf
- Figure A2figureA3.pdf
- Figure A3figureA4.pdf
- Figure A4figureA5.pdf
- Figure A5figureA6.pdf
- Figure A6figureA7.pdf
- Figure A7figureA8A.pdf
- Panel A of figure A8figureA8B.pdf
- Panel B of figure A8figureA9.pdf
- Figure A9
The data underlying all the figures produced by the code are saved as Excel files and stored in the subfolder xlsx
. The Excel files contain data pertaining to the following figures in the article and online appendix:
figure1A.xlsx
- Figure 1Afigure1B.xlsx
- Figure 1Bfigure1CF.xlsx
- Figures 1C, 1D, 1E, 1Ffigure5.xlsx
- Figures 5A, 5B, 5C, 5D, 5E, 5Ffigure6.xlsx
- Figure 6figure7A.xlsx
- Figure 7Afigure7B.xlsx
- Figure 7Bfigure7C.xlsx
- Figure 7Cfigure7D.xlsx
- Figure 7Dfigure8A.xlsx
- Figure 8Afigure8B.xlsx
- Figure 8Bfigure8C.xlsx
- Figure 8Cfigure9A.xlsx
- Figure 9Afigure9B.xlsx
- Figure 9Bfigure9C.xlsx
- Figure 9Cfigure10.xlsx
- Figure 10figureA1.xlsx
- Figure A1figureA2.xlsx
- Figure A2figureA3.xlsx
- Figure A3figureA4.xlsx
- Figure A4figureA5.xlsx
- Figure A5figureA6.xlsx
- Figure A6figureA7.xlsx
- Figure A7figureA8.xlsx
- Panels A and B of figure A8figureA9.xlsx
- Figure A9
The subfolder xlsx
also contains the output of the Bai-Perron algorithm produced by the script baiperron.m
. The output is saved as a text file: baiperron.txt
.
The results were obtained on a Mac running macOS BigSur 11.6 with MATLAB R2021a and Microsoft Excel 16.54.
The content of this repository is licensed under the terms of the MIT License.
- Python version of this code – Written by Sarah Charlton. All the paper's results are presented in Jupyter Notebooks.