U.S. Total Nonfarm Employment Normalized Peak Plot over last 15 Recessions (1929-2022)
Explore the progress of U.S. total nonfarm employment (PAYEMS, monthly, seasonally adjusted) in the first months of the last 15 recessions (1929-2022). [Updated Jul. 28, 2022]
About this visualization
I (Richard Evans) first created a version of this plot using STATA in early 2009 during the Great Recession (Dec. 2007 to June 2009), which I posted and wrote about on the now defunct Econosseur.com blog. The updated dynamic visualization on this page was created using the Python prgramming language and the Bokeh plotting library. It shows U.S. total nonfarm employment (PAYEMS, monthly, seasonally adjusted) during the last 15 recessions, from the Great Depression that started in 1929 to the most recent COVID-19 recession that started in February 2020 and ended in April 2020. I take the PAYEMS total at the beginning of the recession and normalize its value to 1.0. This plot, therefore, shows the percent deviation of the PAYEMS series during each recession relative to its peak at the beginning of the recession. It is a way to compare severity and duration of recession shocks to employment across different recessions in different time periods.
Back in 2009, I wanted to highlight how bad the effect of the Great Recession was on the U.S. labor market. This plot shows that the most recent COVID-19 recession (Feb. - Apr. 2020) had a historic negative effect on U.S. jobs, with a nearly 15% decline in the first two months of the recession and still being down 2.3% after 22 months. Of the previous 14 recessions, only the Great Depression (1929-1933) and the Great Recession (2007-2009) had a bigger decline in employment (-13.3% and -6.0%, respectively), after 22 months. If you zoom out, you will see that U.S. employment during the Great Depression (1929-1933) took a full 10 years and 3 months (123 months) to get back to its 1929 peak level. The Great Recession (2007-2009) took nearly 6 years and 4 months (76 months). This might be an indication that our most recent COVID-19 recession will take a long time to get back to the February 2020 peak of 152.5 million jobs.
The data underlying the visualization on this page default to showing PAYEMS series values in the 15 recessions from 4 months before the peak to 35 months after the peak. However, the data here are available to be viewed from 48 months (4 years) before the peak to 135 months (11 years, 3 months) after the peak.
The monthly PAYEMS data series begins in January 1939. The U.S. Bureau of Labor Statistics published an annual survey of U.S. nonfarm employment which provided an annual average nonfarm payroll employment (not seasonally adjusted) for the years 1919-1938. I set the date values for annual average data to July 1 of the corresponding year. These data are taken from Table 1 on page 1 of the Bureau of Labor Statistics' "Employment, Hours, and Earnings, United States, 1909-90, Volume I," Bulletin (1991). In order to have monthly data, I imputed the missing months as a cubic spline that connected the annual data from July 1919 to July 1938 to the first two months of 1939 (January and February 1939). These annual data are stored as a .csv file (usempl_anual_1919-1938.csv) in the visualization's GitHub repository. The imputation takes place in the usempl_npp_bokeh.py file in the GitHub repository and the final PAYEMS monthly data series from 1919-07 to 2022-06 with the annual data from 1919 to 1938 and the monthly data from 1939 on is usempl_2022-06-01.csv. The dataset with each monthly recession series and the imputed monthly values for the first and second recessions is usempl_pk_2022-06-01.csv.
Functionality of the dynamic visualization
This dynamic visualization allows the user to customize some different views and manipulations of the data using the following functionalities.
- Highlight or mute specific recession time series by clicking on the series label in the legend on the right side of the plot. Even when muted, the time series are still faintly visible.
- Hovertool display. If you select the hovertool button on the left side of the plot, which is the default for the plot, information about each point in each time series will be displayed when you hover your cursor over a given point in the plot area.
- Pan different areas of the data. If you click on the pan button on the left side of the plot, you can use your cursor to click and drag on the data window and change your view of the data.
- Zoom in or out on the data. You can zoom in or zoom out on the data series in three different ways. You can use the box zoom functionality by clicking on its button on the left side of the plot and clicking and dragging a box on the area of the plot that you want to zoom in on. You can also zoom in by clicking on the zoom in button on the left side of the plot, then clicking on the area of the plot you want to center your zoom in around. Or you can zoom out by clicking on the zoom out button on the left side of the plot, then clicking on the area of the plot you want to center your zoom out around.
- Save current view of data as .png file. You can save your current view of the data as a .png file to your local hard drive by clicking on the save button on the left side of the plot.
- Undo and redo actions. You can undo or redo any of the plot changes that you make using the undo button or the redo button on the left side of the plot.
- Reset the plot. After any changes you make to the plot, you can reset it to its original position by using the reset button on the left side of the plot.
Contributing to this visualization code
This dynamic visualization was created using the scripts written in the Python programming language. I used the Bokeh plotting library to create the JavaScript for the visualization. All of the scripts, data, and detailed documentation are available on the GitHub page for this visualization (https://github.com/OpenSourceEcon/USempl_NormPeakPlot). You can fork that repository and follow the instructions in the README.md to create and modify this visualization on your own machine. If you wish to improve or enhance this code or if you find errors or bugs, please consider the following ways to contribute to this project.
- Browse the repository Issues for known areas that need attention.
- Submit questions or suggestions by submitting a new issue in the repository Issues.
- Submit a pull request with your proposed changes.
References
Bureau of Labor Statistics, "Employment, Hours, and Earnings, United States, 1909-90, Volume I," Bulletin of the United States Bureau of Labor Statistics, No. 2370 (March 1991).
Evans, Richard W., “Code for creating normalized peak plot of U.S. nonfarm employment (PAYEMS) in last 15 recessions,” https://github.com/OpenSourceEcon/USempl_NormPeakPlot, (Jul. 28, 2022).