Skip to content

eyayaw/housing-supply-elasticity-in-germany

Repository files navigation

Replication code for my paper:

Geographic Constraints and the Housing Supply Elasticity in GermanyRuhr Economic Papers #1003

Important

You can find the latest version in this repo Beze_2023_the-Price-Elasticity-of-Housing-Supply-in-Germany.pdf, or view it here.

Warning

RWI-GEO-RED data is not included in this repository. Thus, you need access to the data to reproduce this project.

Requirements

  • R 4.3.3

  • R packages:

    • data.table devel 1.15.99
    • more packages listed in renv.lock file

    This project depends heavily on the awesome data.table package.

    pkg num_files
    rmarkdown 31
    data.table 30
    knitr 13
    sf 10
    readxl 10
    tools 9
    bookdown 5
    tibble 5
    ivreg 4
    ggplot2 4
  • quarto to render the manuscript

Usage

  1. Data

    1. Housing price: Accessed the data from the RWI FDZ at Ruhr

    2. Geodata:

    3. regional data from Regionaldatenbank Deutschland

  2. R scripts: The order in which the scripts should be run is provided in main.R.

  3. The index.qmd file generates the manuscript.

    • Render it with Cmd+Shift+K in RStudio/VS Code. Or, run the following code in the terminal:

      quarto render index.qmd
      # move figure notes out of the caption
      python3 tidy_figure_notes.py index.tex Beze_2023_the-Price-Elasticity-of-Housing-Supply-in-Germany.pdf

The price elasticity of housing supply estimates

The main results are provided in Table 2: IV Results: Housing Supply Elasticity Estimates of the manuscript.

If you want to calculate elasticity estimates for each county (kreis), compute “developed fraction” and “undevelopable fraction” at the county level. Then, use the coefficients estimated from the regression output for each variable to obtain estimates at the county level. It is important to note that the variation across counties is solely attributable to these two variables.

$$ \begin{aligned} &\Delta\ln H_i^s = \varepsilon^S\Delta\ln P_i + \beta^{\text{Developed}} \Delta \ln P_i\times\text{Developed}_i + \beta^{\text{Unavail}} \Delta \ln P_i\times\text{Unavail}_i + \boldsymbol{\beta}\mathbf{X}_i^S + u^S_i\\ &\implies \varepsilon^S_i = \varepsilon^S + \beta^{\text{Developed}}\text{Developed}_i + \beta^{\text{Unavail}}\text{Unavail}_i, \end{aligned} $$

where $i$ can be any spatial scale.

Please look at the script/constraints/compute_supply_constraints.R for constructing constraints at the county level.


Please email me if you find any mistakes or have any questions about the project.

Citation

BibTeX entry:

@book{beze_2023,
    address = {DE},
    title = {Geographic {Constraints} and the {Housing} {Supply} {Elasticity} in {Germany}},
    copyright = {All rights reserved},
    isbn = {978-3-96973-169-7},
    url = {https://doi.org/10.4419/96973169},
    publisher = {RWI},
    author = {Beze, Eyayaw},
    year = {2023},
}

For attribution of this repository, please cite the paper.