This repository contains the code and data accompanying the paper "u* = √uv: The Full-Employment Rate of Unemployment in the United States", written by Pascal Michaillat and Emmanuel Saez, and to be published in the Fall 2024 issue of Brookings Papers on Economic Activity.
The paper is available at https://pascalmichaillat.org/13/.
The raw data used by the code to produce the results in the paper are stored as CSV files. The data are placed in the raw
folder.
20210719_cycle_dates_pasted.csv
– US recession dates, 1930–2024CLF16OV.csv
– US labor-force level, 1948–2024CompositeHWI.xlsx - Sheet1.csv
– US vacancy rate, 1951–2020- Source: Barnichon (2010)
ustar.csv
– US NAIRU, 1960–2023figure5.csv
– Dates of structural breaks in the US Beveridge curve, 1951–2019- Source: Michaillat, Saez (2021a)
figure6.csv
– Elasticity of the US Beveridge curve, 1951–2019- Source: Michaillat, Saez (2021a)
HistoricalSeries_JME_2020January.csv
– US unemployment and vacancy rates, 1890–2017- Source: Petrosky-Nadeau, Zhang (2021)
JTSJOL.csv
– Job openings in the United States, 2001–2024LNU05026642.csv
– Marginally attached workers in the United States, 1994–2024LNU05026645.csv
– Discouraged workers in the United States, 1994–2024NROU.csv
– US NRU, 1949–2024NROUST.csv
– US short-term NRU, 1949–2021U4RATE.csv
– US U4 unemployment rate, 1994–2024U5RATE.csv
– US U5 unemployment rate, 1994–2024UNRATE.csv
– US unemployment (U3) rate, 1948–2024
The results in the paper are produced with MATLAB code. The code is placed in the code
folder.
The main script, main.m
, orchestrates the production of the results in the paper:
- The script produces the 30 figures presented in the paper. The script generates each figure in a figure window and saves the figures as PDF files. The script saves the data used to generate each figure in CSV files.
- The script also produces the numerical results associated with each figure. The results are displayed in the command window and saved in Markdown files.
Before the computations begin, the main script calls the script formatFigure.m
to preformat figures and predefine plot properties.
The main script then produces the individual figures using a collection of scripts:
figure1A.m
– Produce figure 1Afigure1B.m
– Produce figure 1Bfigure2.m
– Produce figures 2A, 2B, 2C, 2D, 2E, 2Ffigure3A.m
– Produce figure 3Afigure3B.m
– Produce figure 3Bfigure4A.m
– Produce figure 4Afigure4B.m
– Produce figure 4Bfigure5A.m
– Produce figure 5Afigure5B.m
– Produce figure 5Bfigure6A.m
– Produce figure 6Afigure6B.m
– Produce figure 6Bfigure7A.m
– Produce figure 7Afigure7B.m
– Produce figure 7Bfigure8A.m
– Produce figure 8Afigure8B.m
– Produce figure 8Bfigure9A.m
– Produce figure 9Afigure9B.m
– Produce figure 9Bfigure10.m
– Produce figure 10figure11.m
– Produce figure 11figure12.m
– Produce figure 12figure13A.m
– Produce figure 13Afigure13B.m
– Produce figure 13Bfigure14A.m
– Produce figure 14Afigure14B.m
– Produce figure 14Bfigure15.m
– Produce figure 15
The scripts produce figures in figure windows, save a copy of each figure in PDF format, and save the data used to generate each figure in CSV files. Each script also produces the numerical results associated with the figure. The results are displayed in the command window and saved in a Markdown file.
The production scripts rely on a collection of helper functions:
getBreak
– Return dates of structural breaks of the US Beveridge curve, 1951–2019getData345
– Return US U3, U4, U5 unemployment rates, 1994–2024getElasticity
– Return elasticity of the US Beveridge curve, 1951–2019getNairu
– Return US NAIRU, 1960–2023getNru
– Return US NRU, 1949–2024getNrust
– Return US short-term NRU, 1949–2021getRecession.m
– Return US recession dates, 1930–2024getRecession345
– Return US recession dates, 1994–2024getRecessionDepression.m
– Return US recession dates, 1930–1950getRecessionPandemic.m
– Return US recession dates, 2020–2024getRecessionPostwar.m
– Return US recession dates, 1951–2019getUnemployment.m
– Return US unemployment rate, 1930–2024getUnemploymentDepression.m
– Return US unemployment rate, 1930–1950getUnemploymentJolts.m
– Return US unemployment rate, 2001–2024getUnemploymentPandemic.m
– Return US unemployment rate, 2020–2024getUnemploymentPostwar.m
– Return US unemployment rate, 1951–2019getVacancy.m
– Return US vacancy rate, 1930–2024getVacancyDepression.m
– Return US vacancy rate, 1930–2024getVacancyJolts.m
– Return US vacancy rate, 2001–2024getVacancyPandemic.m
– Return US vacancy rate, 2020–2024getVacancyPostwar.m
– Return US vacancy rate, 1951–2019monthly2quarterly.m
– Convert monthly data to quarterly data
The 30 figures produced by the code are saved as 30 PDF files. The data used to generate each figure are saved in CSV files. And the numerical results associated with each figure are saved in Markdown files. All these files are placed in the figures
folder, each corresponding to a specific figure in the paper:
figure1A.pdf
,figure1A.csv
,figure1A.md
– Figure 1Afigure1B.pdf
,figure1B.csv
– Figure 1Bfigure2A.pdf
,figure2.csv
– Figure 2Afigure2B.pdf
,figure2.csv
– Figure 2Bfigure2C.pdf
,figure2.csv
– Figure 2Cfigure2D.pdf
,figure2.csv
– Figure 2Dfigure2E.pdf
,figure2.csv
– Figure 2Efigure2F.pdf
,figure2.csv
– Figure 2Ffigure3A.pdf
,figure3A.csv
– Figure 3Afigure3B.pdf
,figure3B.csv
,figure3B.md
– Figure 3Bfigure4A.pdf
,figure4A.csv
,figure4A.md
– Figure 4Afigure4B.pdf
,figure4B.csv
,figure4B.md
– Figure 4Bfigure5A.pdf
,figure5A.csv
,figure5A.md
– Figure 5Afigure5B.pdf
,figure5B.csv
,figure5B.md
– Figure 5Bfigure6A.pdf
,figure6A.csv
– Figure 6Afigure6B.pdf
,figure6B.csv
,figure6B.md
– Figure 6Bfigure7A.pdf
,figure7A.csv
,figure7A.md
– Figure 7Afigure7B.pdf
,figure7B.csv
,figure7B.md
– Figure 7Bfigure8A.pdf
,figure8A.csv
,figure8A.md
– Figure 8Afigure8B.pdf
,figure8B.csv
,figure8B.md
– Figure 8Bfigure9A.pdf
,figure9A.csv
,figure9A.md
– Figure 9Afigure9B.pdf
,figure9B.csv
,figure9B.md
– Figure 9Bfigure10.pdf
,figure10.csv
– Figure 10figure11.pdf
,figure11.csv
,figure11.md
– Figure 11figure12.pdf
,figure12.csv
,figure12.md
– Figure 12figure13A.pdf
,figure13A.csv
,figure13A.md
– Figure 13Afigure13B.pdf
,figure13B.csv
,figure13B.md
– Figure 13Bfigure14A.pdf
,figure14A.csv
,figure14A.md
– Figure 14Afigure14B.pdf
,figure14B.csv
,figure14B.md
– Figure 14Bfigure15.pdf
,figure15.csv
,figure15.md
– Figure 15
To generate all figures and numerical results presented in the paper, run the following command in MATLAB:
run('main.m')
Before running the script, ensure you save a copy of the figures
folder, as all files in that folder will be overwritten by the code when new figures are generated.
Alternatively, you can save the new files produced by the code in a new folder. To do this, create a new folder newfigures
, and then in main.m
, adjust the output folder with the following line:
outputFolder = fullfile('..', 'newfigures');
The results were obtained using MATLAB R2024a on an Apple Silicon Mac running macOS Sequoia 15.0. In MATLAB, the Statistics and Machine Learning Toolbox is required to run some of the scripts.
The content of this repository is licensed under the terms of the MIT License.