Inspiration
The 2008 financial crisis is often treated as a historical event — something that happened, ended, and was recovered from. But the data tells a different story. The term "hysteresis" in economics describes when a temporary shock leaves a permanent scar. We wanted to find out: did American lending ever truly recover, or did 2008 permanently reset what it means to get a mortgage in the United States?
## What it does Market Hysteresis is an interactive data dashboard that lets you explore 150 million+ U.S. mortgage applications from 2007 to 2017. With a single year slider controlling four simultaneous panels, users can track how borrower behaviour shifted, which regions recovered fastest, which cities never came back, and how lender risk appetite evolved year by year. The dashboard covers denial reasons, income-to-loan ratios, government backstop expansion, and MSA-level recovery indices — all derived from raw HMDA data.
## How we built it We built a full end-to-end data pipeline in Python — downloading 12GB of raw HMDA zip files from the CFPB/FFIEC, cleaning and processing each year into structured parquets, then computing aggregations across national, state, MSA, loan type, and loan purpose dimensions. The interactive dashboards were built with Streamlit and Plotly, featuring choropleth maps, stacked bar charts, gauge indicators, and a composite risk appetite score derived from three normalized components: private lending share (40%), loan-to-income ratio (30%), and approval rate (30%).
## Challenges we ran into The biggest challenge was that HMDA raw files are enormous — each year is 1–1.7GB compressed, and denial reason codes were stripped during initial processing. We had to re-download all 11 years of raw data, stream through each file in chunks, extract only the denied rows, and delete the zips immediately to manage disk space. We also encountered macOS-specific parquet read timeouts (Errno 60) on large files, which required adding retry logic with exponential backoff across the pipeline.
## Accomplishments that we're proud of Building a single unified dashboard where one year slider simultaneously drives four independent charts — behaviour shift, regional YoY change map, MSA recovery bar race, and lender risk appetite gauge — was a key milestone. The composite Risk Appetite Score, which combines three normalized market signals into a single 0–100 index, gives a clean and defensible way to compare lender behaviour across years. Most importantly, the data confirmed the hysteresis hypothesis: lender risk appetite in 2017 never returned to 2007 levels despite a decade of recovery.
## What we learned The most surprising finding was the "invisible victim" effect — approval rates appeared stable or even rising after 2008, but only because discouraged borrowers stopped applying altogether. The pool of applicants self-selected into only the strongest candidates, making banks look generous when they were actually more restrictive than ever. We also learned that the so-called recovery was largely driven by two refinancing booms (2009 and 2012) fuelled by historically low interest rates — not by genuine housing market recovery. The real bottom for home purchase lending was 2014, not 2009.
## What's next for Market Hysteresis: American Lending Extending the analysis to post-2017 HMDA data (2018–2023) to examine whether COVID-19 created a second hysteresis event. We also plan to overlay census demographic data to analyse racial and income-based disparities in denial rates by geography, and to build a predictive model for loan approval probability based on income, loan size, and location.
Log in or sign up for Devpost to join the conversation.