Architecture

Two-Tier Stacked Ensemble

Domain isolation prevents cross-contamination. The same stacking architecture class behind Netflix Prize and Airbnb's market pricing engine — applied to neighborhood-level prediction.

1

Domain Models (Layer 0)

Seven models train independently on separate proprietary signal domains. Each generates held-out out-of-fold predictions passed as meta-features to Layer 1. Cross-domain feature injection is forbidden — it violates stacking isolation.

2

Meta-Learner (Layer 1)

Stacks all domain signals into gentrification, growth, and structural decline probabilities. Two variants: lagged (full signal history, data ceiling 2024) and no-lag (near real-time signals only, ceiling 2026).

3

Temporal Causal Ordering

Different signal types lead neighborhood change by different margins. Domain lookback windows are calibrated to this causal cascade — each signal layer anchored at its validated lead time, with zero overlap between feature and label windows.

4

Leakage Prevention Framework

Home value velocity, income velocity, and proxy features excluded from classification features. Three leakage types enforced: temporal (feature overlaps label window), definitional (feature encodes label formula), and proxy (r > 0.7 with excluded outcomes).

Layer 0 · Domain Models
α anticipatoryforward-looking investment signals
β communitylocal conditions & service quality
γ structuralhousing stability indicators
δ demographicpopulation composition trajectory
ε regressioncontinuous appreciation targets
ζ regionalcounty-level macro context
η areaaffordability & area risk
↓   OOF predictions as meta-features   ↓
Layer 1 · Meta-Learner
generalizedall signals → 3 outcomes (ceiling 2024)
no_lagnear real-time only (ceiling 2026)
↓   probability scores   ↓
Outputs
gentrificationfragile tracts → appreciation above MSA
growthstable tracts → sustained appreciation
declinedemographic erosion signal
Validation
methodwalk-forward expanding window CV
test folds2022, 2023, 2024
excludedCOVID years 2020–2021
horizonsT+1 through T+5

Temporal Causal Cascade

Signal types lead neighborhood change by different margins. The ensemble is calibrated to this ordering — not flat feature averaging.

Earliest Signal
Investment Intent
2–3 years ahead
Construction activity and forward investment signals. First indicators that neighborhood trajectory is shifting before any market repricing is visible.
Intermediate Signal
Market Conditions
1–2 years ahead
Local vacancy, blight, and service quality trends. These amplify or attenuate the early investment signal and sharpen the trajectory forecast.
Concurrent Signal
Demographics
Concurrent / 1yr lag
Population composition, income, and labor force dynamics. Demographic trajectories confirm direction and magnitude of neighborhood change.

Each domain model is anchored at its validated lead time — zero overlap between feature and label windows.

Why walk-forward matters

The design choices that make these AUC numbers usable for capital decisions — not just benchmark artifacts.

DESIGN CHOICE 1
Expanding-window CV, not random splits
Train on all prior years, test on the next year — in chronological order. Models cannot access future data during training, matching the exact conditions of live deployment.
DESIGN CHOICE 2
COVID years excluded
2020 and 2021 excluded from label years. Pandemic-era collection disruptions, stimulus distortions, and eviction moratoriums produce signal breaks that are exogenous shocks, not structural change.
DESIGN CHOICE 3
Scaler fit per fold, not global
Feature scaling fitted on training data only, per fold. Global scaling leaks future distribution statistics into training — a subtle source of inflation common in published benchmarks.
DESIGN CHOICE 4
Stratified eligibility
Gentrification model trains on fragile tracts only. Growth model trains on non-fragile tracts only. Mixing populations conflates distinct signals and inflates apparent AUC by 25+ points.

What you get from this design

AUC numbers that match what you'll see in production — not inflated by random-split artifacts
Per-fold breakdown available — not just mean AUC, so you can see year-to-year stability
Three leakage types explicitly prevented: temporal, definitional, and proxy correlation
Fairness-calibrated: disparate impact below 1.4 threshold across protected demographic groups
Drift baseline established — signals actively monitored for distribution shift post-deployment

Curious how the signal layers perform in your market?

We'll walk through the domain-level accuracy breakdown for your target metro areas.

Request a Demo