How the Windows model works Experimental
Can window-replacement demand be predicted at all? An early-stage probe says yes — built on the roofing pipeline as a template.
The thesis — is window demand even predictable?
The question this model exists to answer is narrow: before committing engineering to a windows product, can we predict who pulls a window-replacement permit in the next six months as well as we predict roofs? Finding #88 ran that probe on the identical roofing universe (FL-7, single-family, individual owner, owner-occupied at T0, eval anchor 2025-10-31) and concluded windows demand is predictable — and the signal is genuine demand, not history autocorrelation: dropping the three windows-permit-history features keeps roughly 94% of the lift.
What the model leans on
Where roofing has a dominant physical clock (roof age), windows sits between roofing and the fully-diffuse garage model: owner activity leads, with property age as the physical anchor. A short read of the main signals from finding #88 (full breakdown lives in the model card):
Owner activity
The single biggest feature is months_since_last_any_non_roof_permit (≈10.6% gain) — a home mid-renovation is the home replacing its windows.
Property age & tenure
Build year, home age, and days of ownership. Original windows age out around 15-20 years; new-build (0-9y) homes show roughly 6× lower demand — the reason for the age-15 buy-box.
Place & storms
County regime, neighborhood density, and storm exposure (nearest_storm_name, nearest_storm_km) — impact-window upgrades spike after hurricanes.
This is the high-level read only. The full driver-cluster tables, per-feature gains, lift-by-list-size chart, and audit log are on the model card — not reproduced here.
Shared infrastructure
Windows is the fourth target trained on the roofing machine, with no new code — just the target swapped via the same parameterized retrain config. It borrows three roofing components directly:
The pipeline
The same walk-forward folds, feature builder, and training/calibration flow. Roofing pipeline →
Permit classification
The permit_scope classifier supplies the WINDOWS label that defines the target. Permit classification →
Coverage
The Step-2 coverage gate scopes which jurisdictions have trustworthy permit feeds. Step 2 · Coverage →
Honest caveats
Read these before quoting any number above.
- Experimental, not shipped. Validation-only. No production delivery; the productionize decision is open.
- FL-7 only. Trained and evaluated on the seven Florida counties — no claim outside that footprint.
- Single-fold, age-cutoff un-swept. The eval is one anchor (2025-10-31), not yet 6-window cross-validated; the age-15 buy-box cutoff is domain-reasonable and data-backed but not optimized.
- Judge by lift, in context. Windows' higher base rate (~0.93%, a common permit) makes its lift naturally lower than rarer targets; compare a model to itself, not across targets by lift alone.
- Related-signal study is open. Solar-PV does not reliably predict that a home won't reroof once roof age is held constant — see finding #86; it is a related envelope-cross-signal study, not a windows result.
References
Model card Experimental
Full driver clusters, headline numbers, audit findings, anti-signals. Open card →
Finding #88
The windows-target probe: predictable (6.82× lift), demand signal not autocorrelation. Read →
Finding #89
DS audit of garage + windows: leakage-clean, full-prior, and the data-driven buy-boxes. Read →
Finding #86
Solar-PV vs roof-replacement: related envelope-cross-signal study. Read →
Rendered from notes/findings/88_windows_target_model.md + 89 + 86 · experimental model.