OverviewData › FA roof codes

rendered from notes/Roofing/data/fa_roof_codes.md

FA Assessor — Roof Code Lookups

← Data hubData sourcesGold variable inventoryFeature taxonomy

Code→meaning lookups for the two First American Assessor roof fields, extracted from FA Assessor Custom_8020 20231006.xlsx (sheets ROOF_COVER, ROOF_TYPE). Source dictionary: ~/Downloads/Dictionary FA-20260518T230302Z-3-001.zip.

Column definitions (from notes/fa_column_meanings.csv):

ColumnFA definitionTypeNull rateIn-data values
RoofCoverCode"Type of cover installed on the roof of the building"int(3) → ROOF_COVER lookup67 % (33 % populated)18 distinct observed
RoofTypeCode"Shape of roof"int(3) → ROOF_TYPE lookup96 % (4 % populated)13 distinct observed

Column-review verdict (notes/columns_reviewed_v2.csv): RoofCoverCodeINCLUDE (construction feature with condition signal). RoofTypeCodeEXCLUDE (96 % null).


ROOF_COVER — roof cover material (28 codes)

Material drives expected roof lifespan, which drives replacement timing — the core Step 5 use. Lifespan bands below are rough industry ranges (validate before using as a hard feature).

CodeMaterialRough lifespan
1Asbestos30-50 yr (legacy, rarely re-permitted)
2Built-up10-20 yr (flat/low-slope)
3Composition Shingle15-25 yr
4Concrete40-50 yr
5Metal40-70 yr
6Slate75-100 yr
7Rock / Gravel10-20 yr
8Tar & Gravel10-20 yr
9Bermuda— (rare)
10Masonite / Cement Shake20-30 yr
11Fiberglass20-30 yr
12Aluminum40-50 yr
13Wood Shake / Shingles20-30 yr
14Other
15Asphalt15-25 yr
16Roll Composition8-15 yr
17Steel40-70 yr
18Tile50+ yr
19Urethane10-20 yr (foam, flat)
20Shingle (Not Wood)15-25 yr
21Wood20-30 yr
22Gypsum— (rare)
23Ceramic tile50+ yr
24Clay tile50-100 yr
25Concrete tile40-60 yr
26Copper70+ yr
27Tin40-50 yr
28Solarn/a — solar roof; cross-check vs SOLAR permit_type

Model relevance: RoofCoverCode + EffectiveYearBuilt (or last ROOFING permit date) → roof age relative to material lifespan → replacement-due signal. Short-lifespan materials (asphalt/composition/roll, codes 3/15/16/20) hitting their lifespan band = high reroof propensity. Long-lifespan (tile/slate/metal) = low. This is a strong Step 5 INTERNAL feature.

ROOF_TYPE — roof shape (17 codes)

96 % null — EXCLUDE per column review. Listed for completeness only.

CodeShapeCodeShape
1Gable10Gambrel
2Bowstring Truss11Mansard
3Reinforced Concrete12Prestress Concrete
4Dome13Rigid Frm Bar Jt
5Steel Frm/Truss14Shed
6Flat15Sawtooth
7Gable or Hip16Wood Truss
8Hip17Monitor
9Irr/Cathedral

Access status (as of 2026-06-05)

RoofCoverCode lives in Silver REM (s3://8020rei-silver-data-lake/Real_Estate_Master_V1/). The local coverage subset (data/coverage_run/silver/<FIPS>/sfh.parquet, 25 cols) does NOT carry it. The ClaudeCode-Ignacio-Full IAM policy has gold-lake read only — AccessDenied on s3:ListBucket for the silver lake. Pulling RoofCoverCode needs an IAM expansion (silver-lake read) — pending Ignacio.

Other FA Assessor code-list sheets available (same xlsx)

40+ lookup sheets extracted to /tmp/fa_dict/ — relevant for Step 5 if silver access lands: CONDITION, QUALITY, CONST_TYPE, EXT_WALL, BLDG_CODE, HEAT, AC, STORIES, STYLE, POOL, GARAGE, BASEMNT, FLOOD, OWNER_OCC, etc. Extract on demand.