The engineering around a model: a scheduled pipeline, tested SQL models, governed metrics, a gated model, a scoring service and monitoring.
Which U.S. markets will grow purchase lending next year, delivered by a system that keeps the answer fresh and trustworthy.
Most models fail in the plumbing, not the math: stale data, numbers defined differently in every report, a model nobody can trace back to its training data, and no signal when the world shifts under it.
Promote the model that ranks markets, not the one with the lowest error, because the decision is which markets to prioritize.
| 1 | Twelve data tests on every build, with warnings kept apart from failures that stop the line. |
| 2 | A model promoted by what the decision needs: it ranks markets with +3.4 points of top-decile lift, and its forecast error is written on the model card. |
| 3 | A retrain trigger that fires for a real reason: the inputs shifted after the rate shock. |
Results come from public data. They show the method, not a client result.

- Public data only: U.S. Census Bureau population estimates, FHFA House Price Index and HMDA aggregates via the FFIEC Data Browser API.
- It runs on public data and serves no live callers, so adoption is not measured here.
PythonSQL (SQLite)GitHub Actionsscikit-learnpytestPlotlyStreamlit








