How the Garage model works exp
An experimental model that scores owner-occupied single-family homes on their odds of pulling a garage permit in the next six months, across seven Florida counties.
The question: is garage demand even predictable?
Roofing works because roof age is a near-clock — one signal carries roughly half the model. Garage additions have no such clock, so the first thing to settle was whether the demand is predictable at all, or just noise. Finding #87 answered it:
“Garage demand IS predictable — not autocorrelation.”
Two pieces of evidence. First, the model finds real concentration: targeting any GARAGE permit in the next six months over a tiny 0.10% base rate, it ranks far better than random. Second — the important part — the edge is not a “did-garage-before” echo: dropping garage permit history (n_garage_24m) barely moves ship-size lift (15.81× → 15.61×, −1.3% at 15K), and that feature isn't even in the top 20. The demand signal is genuine, driven by diffuse property / owner / permit-activity features.
Separately, garage size also helps the roofing list as one of three “lifestyle trim” features (+7.8% relative lift on an FL-6 anchor, finding #85) — a different, secondary result, not this model’s score.
What the model leans on
Per finding #87, no single feature exceeds ~6% of gain — garage demand is diffuse by design, the opposite of roofing's roof-age clock. At a high level it reads four things at once: is the owner in fix-things-up mode (recent permits of any trade), is the property big and valuable enough to justify the work, where it sits (county, storm exposure), and how long the owner has been there.
Owner activity
Months since the last non-roof or building / HVAC permit — the top single feature. An owner mid-renovation is the one who adds a garage.
Property capacity
Lot size, existing garage size, year built, value per living sqft — can they afford it and is the structure worth working on.
Place & storms
County regime and storm exposure (nearest storm name / distance) — the same geographic machinery the roofing model uses.
High-level read only. The full driver breakdown, cluster shares, lift-by-list-size chart, and audit findings live in the model card.
Shared infrastructure
The Garage model is not a separate machine — it reuses the roofing spine wholesale, swapping only the target permit type:
Pipeline spine
Same walk-forward folds, feature stack, and case-control training. Roofing pipeline →
Permit taxonomy
The permit_scope classifier defines the GARAGE label this model targets. Permit classification →
Coverage benchmark
The same Step 2 coverage layer bounds where permit absence is a real signal. Step 2 coverage →
Honest caveats
- Experimental. Validation-only build; no outbound / CallZeke list ships from it.
- FL-7 only. Trained and evaluated on seven Florida counties — transferability outside that footprint is untested.
- Thinner demand than roofing. Garage permits are ~11× rarer (0.10% base rate vs roofing's 1.15%); absolute AUC-PR is low and noisy — judge on lift, not AUC-PR.
- Single-fold. No 6-window cross-validation yet, and the buy-box age cutoff is domain-reasonable but un-swept.
Read further
Model card
Full metrics, driver clusters, lift-by-depth, and audit. Open the card →
Finding #87
Garage-target model: demand is predictable, not autocorrelation. Read finding →
Finding #89
DS audit + the has-garage / age-≥20 buy-box. Read finding →
Finding #85
Garage as a feature in the roofing model (+7.8% lift trim). Read finding →
Rendered from notes/findings/87_garage_target_model.md + 89 + 85 · experimental model.