The code and data in this repository allow users to generate a hypothetical private investment response to a federal policy that affects projects' time to build. A version of this model was used in CBO's estimate of the dynamic private investment response from the “Opt-in Fee" provision of the 2025 Reconciliation Recommendations of the House Natural Resources (HNR). To learn more about the provision, please read CBO's published cost estimate for the 2025 Reconciliation Recommendations of the House Natural Resources, available here.
The ./docs directory contains a technical supplement that describes the structural model used to simulate a policy. In addition, presentation slides that provide an overview of the CBO's approach to estimating the private investment responses from the policy are available here.
When interpreting the model's results, please note that the model's output represents the percent change in investment for the portion of investment that is subject to the policy change. The portion of investment subject to the policy change may be less than a sector's total investment depending on the design of that policy.
Follow these steps to install the code and data associated with CBO's Estimation of the Economic Effects of Changes in Permitting Requirements on your computer:
-
Install necessary software:
The code was written and tested using MATLAB R2022a for Windows (64-bit), although it should be compatible with other versions of that program. Further information about MATLAB can be found here.
The model equations file is solved and simulated using Dynare 6.2 that can be downloaded from here). This distribution of Dynare is compatible with versions of MATLAB ranging from 9.5 (R2018b) to 24.2 (R2024b), although the model equations file should be compatible with older versions of Dynare and MATLAB.
-
Download the repository ("repo") from GitHub:
Click on the green "Code" button at the top of this GitHub repository and either clone the repo to your computer or download a compressed file of the repo and extract the contents of the zip file to your computer.
-
Edit and Run the Program: the following four steps should be performed in sequence to generate and view the model's results. When execution is complete, a set of output files will have been saved in the
./outputfolder. The./outputfolder is empty prior to running the MATLAB script to conserve memory.-Open the main MATLAB script:
/matlab/main.m-Edit line 15 to enter the full file path of the folder
/matlabwhere the main MATLAB script is saved, and uncomment the line by deleting the % symbol.-Edit line 21 to enter the full file path to the MATLAB folder in your Dynare installation, and uncomment the line by deleting the % symbol. For example, if Dynare 6.2 is downloaded onto your C drive in Windows, then the MATLAB folder location is
C:/dynare-6.2-win/dynare-6.2/matlab.-Save and execute the main MATLAB file:
/matlab/main.m. It should take approximately 20 minutes to run on a typical computer.
The input data consists of the two files listed below that can all be found in the /data directory.
-
parameter_table.csvThis is the key table of structural parameters and starting values for the model's calibration. Data in this spreadsheet are collected from a wide range of sources, including CBO's CapTax model. Rows are parameters and columns are BEA sectors. Each column of parameters is read into the /matlab/main.m script to provide as many different calibrations for as many BEA sectors as there are in the dataset.
-
sector_names.csvA dataset with BEA sectors names, BEA sector codes, the corresponding NAICS codes and names, and a CBO-specific sector code.
Questions about the data, computer code, and documentation may be directed to CBO's Office of Communications at communications@cbo.gov. CBO will respond to inquiries as its workload permits.