Skip to contents

Three-level categorical coding of tract-level gentrification, mirroring the Python module morie.mrm_primitives.gentrification. Adapted from Laniyonu (2018) Urban Affairs Review 54(5):898-930, which itself adapts Chapple / Freeman / Maciag.

Details

The key insight: continuous gentrification indices conflate two distinct populations – already-affluent tracts (immune to gentrification by construction) and marginalised tracts that DID or DID NOT change. The cleanest comparator is the marginalised-but- did-not-gentrify tract, so this primitive emits a 3-level factor:

  • ineligible – tract was above the baseline- marginalisation cutoff (top-50\ cannot meaningfully "gentrify". Drop from analyses that want the gentrification comparator.

  • eligible – tract was below the cutoff at t=0 AND did NOT cross the gentrification threshold by t=1. This is the control: marginalised, did-not-change.

  • gentrified – tract was below the cutoff at t=0 AND DID cross the gentrification threshold (top-tercile growth in college share AND top-tercile growth in median rent).