{"id":19634114,"url":"https://github.com/pmichaillat/unemployment-gap","last_synced_at":"2025-04-28T07:31:13.535Z","repository":{"id":98753565,"uuid":"435043093","full_name":"pmichaillat/unemployment-gap","owner":"pmichaillat","description":"Code and data for the paper \"Beveridgean Unemployment Gap\"","archived":false,"fork":false,"pushed_at":"2025-04-28T06:24:15.000Z","size":3696,"stargazers_count":5,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-28T07:28:15.693Z","etag":null,"topics":["beveridge-curve","business-cycles","dmp-model","efficient-unemployment","hosios-condition","job-vacancies","matlab","paper-with-code","unemployment","unemployment-gap"],"latest_commit_sha":null,"homepage":"https://pascalmichaillat.org/9/","language":"MATLAB","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmichaillat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-12-05T00:55:43.000Z","updated_at":"2025-04-28T06:24:19.000Z","dependencies_parsed_at":"2024-02-10T19:46:29.330Z","dependency_job_id":null,"html_url":"https://github.com/pmichaillat/unemployment-gap","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmichaillat%2Funemployment-gap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmichaillat%2Funemployment-gap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmichaillat%2Funemployment-gap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmichaillat%2Funemployment-gap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmichaillat","download_url":"https://codeload.github.com/pmichaillat/unemployment-gap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251271121,"owners_count":21562494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beveridge-curve","business-cycles","dmp-model","efficient-unemployment","hosios-condition","job-vacancies","matlab","paper-with-code","unemployment","unemployment-gap"],"created_at":"2024-11-11T12:19:36.251Z","updated_at":"2025-04-28T07:31:13.528Z","avatar_url":"https://github.com/pmichaillat.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Beveridgean Unemployment Gap: Code and Data\n\nThis repository contains the code and data accompanying the paper \"Beveridgean Unemployment Gap\", written by [Pascal Michaillat](https://pascalmichaillat.org) and [Emmanuel Saez](https://eml.berkeley.edu/~saez/), and published in the [Journal of Public Economics Plus](https://doi.org/10.1016/j.pubecp.2021.100009) in December 2021.\n\n## Paper webpage\n\nThe paper and its online appendix are available at https://pascalmichaillat.org/9/.\n\n## Data\n\nThe data used to produce the results in the paper 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`:\n\n+ `nes.csv` - Public-use CSV file of the 1997 NES; the recruiting cost in the United States is computed from the answer to question 29\n+ `questionaire.pdf` - Questionaire of the 1997 NES\n+ `description.pdf` - Description of the NES data by Peter Cappelli (principal investigator of the 1997 NES)\n\n## Code\n\nThe results in the paper are obtained using MATLAB. The MATLAB code used to produce the results is placed in the folder `code`. There are two types of programs:\n\n1. MATLAB scripts producing the figures in the paper and online appendix\n2. MATLAB helper scripts and functions called at different places by the figure-producing scripts\n\n### Figure-producing scripts\n\nThe figures in the paper and online appendix are produced by the following scripts:\n\n+ `figure1A.m` - Produce figure 1A\n+ `figure1B.m` - Produce figure 1B\n+ `figure1CF.m` - Produce figures 1C, 1D, 1E, 1F\n+ `figure5.m` - Produce figures 5A, 5B, 5C, 5D, 5E, 5F\n+ `figure6.m` - Produce figure 6\n+ `figure7A.m` - Produce figure 7A\n+ `figure7B.m` - Produce figure 7B\n+ `figure7C.m` - Produce figure 7C\n+ `figure7D.m` - Produce figure 7D\n+ `figure8A.m` - Produce figure 8A\n+ `figure8B.m` - Produce figure 8B\n+ `figure8C.m` - Produce figure 8C\n+ `figure9A.m` - Produce figure 9A\n+ `figure9B.m` - Produce figure 9B\n+ `figure9C.m` - Produce figure 9C\n+ `figure10.m` - Produce figure 10\n+ `figureA1.m` - Produce figure A1\n+ `figureA2.m` - Produce figure A2\n+ `figureA3.m` - Produce figure A3\n+ `figureA4.m` - Produce figure A4\n+ `figureA5.m` - Produce figure A5\n+ `figureA6.m` - Produce figure A6\n+ `figureA7.m` - Produce figure A7\n+ `figureA8.m` - Produce panels A and B or figure A8 \n+ `figureA9.m` - Produce figure A9\n\nThe 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.\n\n### Helper scripts and functions\n\nThe figure-producing scripts call the following helper scripts:\n\n+ `formatFigure.m` - Format figures\n+ `formatPlot.m` - Provide formatting settings for plots\n\nThe figure-producing scripts also call the following functions:\n\n+ `computeBeveridgeanUnemployment.m` - Compute Beveridgean unemployment rate in DMP model\n+ `computeBeveridgeInverse.m` - Compute inverse-optimum Beveridge elasticity from sufficient-statistic formula \n+ `computeEfficiencyEndogenous.m` - Compute efficient allocation in DMP model using sufficient-statistic formula with endogeous Beveridge elasticity\n+ `computeEfficiencyHosios.m` - Compute efficient allocation in DMP model using Hosios condition\n+ `computeEfficientTightness.m` - Compute efficient labor-market tightness from sufficient-statistic formula\n+ `computeEfficientUnemployment.m` - Compute efficient unemployment rate from sufficient-statistic formula \n+ `computeMatchingEfficacy.m` - Compute matching efficacy in DMP model\n+ `computeMatchingElasticity.m` - Compute matching elasticity in DMP model\n+ `computeNonworkInverse.m` - Compute inverse-optimum social value of nonwork from sufficient-statistic formula\n+ `computeRecruitingInverse.m` - Compute inverse-optimum recruiting cost from sufficient-statistic formula\n+ `computeSeparationEfficacy.m` - Compute separation-efficacy ratio in DMP model\n+ `computeUnemploymentGap.m` - Compute unemployment gap from sufficient-statistic formula \n+ `getBeveridgeElasticity.m` - Return Beveridge elasticity in the United States, 1951–2019\n+ `getBreakDate.m` - Return dates of structural breaks in US Beveridge curve between 1951 and 2019\n+ `getLaborProductivity.m` - Return quarterly labor productivity in the United States, 1951–2019\n+ `getNairu.m` - Return NAIRU in the United States, 1960Q1–2018Q3\n+ `getNaturalUnemployment.m` - Return natural rate of unemployment in the United States, 1951–2019\n+ `getRecessionDate.m` - Return dates of recessions in the United States between 1951 and 2019\n+ `getTimeline.m` - Return quarterly timeline for 1951Q1–2019Q4\n+ `getTrendUnemployment.m` - Return trend of unemployment rate in the United States, 1960Q1–2018Q3\n+ `getUnemploymentRate.m` - Return quarterly unemployment rate in the United States, 1951–2019\n+ `getVacancyRate.m` - Return quarterly vacancy rate in the United States, 1951–2019\n+ `measureJobFinding.m` - Measure job-finding rate in the United States, 1951–2019\n+ `measureJobSeparation.m` - Measure job-separation rate in the United States, 1951–2019\n+ `monthlyToQuarterly.m` - Aggregate monthly data to quarterly frequency\n\nA 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.\n\n## Figures\n\nThe figures produced by the code are stored in the folder `figures`, both as PDF files and as Excel files.\n\n### PDF files\n\nThe 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 paper and online appendix:\n\n+ `figure1A.pdf` - Figure 1A\n+ `figure1B.pdf` - Figure 1B\n+ `figure1C.pdf` - Figure 1C\n+ `figure1D.pdf` - Figure 1D\n+ `figure1E.pdf` - Figure 1E\n+ `figure1F.pdf` - Figure 1F\n+ `figure5A.pdf` - Figure 5A\n+ `figure5B.pdf` - Figure 5B\n+ `figure5C.pdf` - Figure 5C\n+ `figure5D.pdf` - Figure 5D\n+ `figure5E.pdf` - Figure 5E\n+ `figure5F.pdf` - Figure 5F\n+ `figure6.pdf` - Figure 6\n+ `figure7A.pdf` - Figure 7A\n+ `figure7B.pdf` - Figure 7B\n+ `figure7C.pdf` - Figure 7C\n+ `figure7D.pdf` - Figure 7D\n+ `figure8A.pdf` - Figure 8A\n+ `figure8B.pdf` - Figure 8B\n+ `figure8C.pdf` - Figure 8C\n+ `figure9A.pdf` - Figure 9A\n+ `figure9B.pdf` - Figure 9B\n+ `figure9C.pdf` - Figure 9C\n+ `figure10.pdf` - Figure 10\n+ `figureA1.pdf` - Figure A1\n+ `figureA2.pdf` - Figure A2\n+ `figureA3.pdf` - Figure A3\n+ `figureA4.pdf` - Figure A4\n+ `figureA5.pdf` - Figure A5\n+ `figureA6.pdf` - Figure A6\n+ `figureA7.pdf` - Figure A7\n+ `figureA8A.pdf` - Panel A of figure A8\n+ `figureA8B.pdf` - Panel B of figure A8\n+ `figureA9.pdf` - Figure A9\n\n### Excel files\n\nThe 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 paper and online appendix:\n\n+ `figure1A.xlsx` - Figure 1A\n+ `figure1B.xlsx` - Figure 1B\n+ `figure1CF.xlsx` - Figures 1C, 1D, 1E, 1F\n+ `figure5.xlsx` - Figures 5A, 5B, 5C, 5D, 5E, 5F\n+ `figure6.xlsx` - Figure 6\n+ `figure7A.xlsx` - Figure 7A\n+ `figure7B.xlsx` - Figure 7B\n+ `figure7C.xlsx` - Figure 7C\n+ `figure7D.xlsx` - Figure 7D\n+ `figure8A.xlsx` - Figure 8A\n+ `figure8B.xlsx` - Figure 8B\n+ `figure8C.xlsx` - Figure 8C\n+ `figure9A.xlsx` - Figure 9A\n+ `figure9B.xlsx` - Figure 9B\n+ `figure9C.xlsx` - Figure 9C\n+ `figure10.xlsx` - Figure 10\n+ `figureA1.xlsx` - Figure A1\n+ `figureA2.xlsx` - Figure A2\n+ `figureA3.xlsx` - Figure A3\n+ `figureA4.xlsx` - Figure A4\n+ `figureA5.xlsx` - Figure A5\n+ `figureA6.xlsx` - Figure A6\n+ `figureA7.xlsx` - Figure A7\n+ `figureA8.xlsx` - Panels A and B of figure A8\n+ `figureA9.xlsx` - Figure A9\n\nThe 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`.\n\n## Software\n\nThe results were obtained on a Mac running macOS BigSur 11.6 with MATLAB R2021a and Microsoft Excel 16.54.\n\n## License\n\nThis repository is licensed under the [MIT License](LICENSE.md).\n\n## Related code\n\n+ [Python version of this code](https://github.com/smxzehvb/unemployment-gap/tree/main/python) - Written by Sarah Charlton. All the paper's results are presented in Jupyter Notebooks.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmichaillat%2Funemployment-gap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmichaillat%2Funemployment-gap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmichaillat%2Funemployment-gap/lists"}