Skip to main content

DocsData & methodology

The Score

A 0–100 integer answering one question: how buildable is this land? The Score is deterministic (the same inputs give the same number), versioned (published methodologies are frozen), and explainable. Every point traces to a factor with a cited source, and any cap that lowered it names the record that triggered it.

On this page
  1. How the number is made
  2. The factors
  3. Weights
  4. Landmine caps
  5. Grades, bands and status
  6. Reading a result
  7. Versions
  8. What the Score is not

How the number is made

Every Score is computed in three steps, in the same order on every path: the free Score, the paid report, the widget, the certificate and Geo.

  1. Read the factors. Nine factors are read from public records and scored 0–100 each. A factor with no data is marked included: false and left out.
  2. Weight the composite. Seven of these are weighted into the parcel score; seismic and radon are published at regional resolution and are reported alongside the score as context rather than averaged into it. The weighted mean of the included parcel factors, rounded, is the composite.
  3. Apply the landmine caps. Some conditions make a lot hard to build no matter how good everything else is: a floodway, a wetland, a 30% slope. Each one caps the Score. The published Score is min(composite, every cap that fired).

Missing data is never a penalty, and never a pass

When a source has no data for a parcel, that factor drops out of the score; when a factor’s provenance is a regional estimate, it is labeled Estimated. Remaining weights renormalize. A factor does not count as zero, and it is never assumed to be fine. A cap fires only on an affirmative record: an empty FEMA response is not “Zone X”.

The factors

FactorWhat is scoredSource
terrainGround slope at the lot, in percent grade: 0% scores 96, 4% scores 92, 25% scores 42, 60% scores 10.USGS 3D Elevation Program
zoningThe district’s dimensional standards: FAR, lot coverage, minimum lot size. Omitted when only the district name is known.The Zoning Atlas (the ordinance, quoted)
floodThe share of the lot inside a Special Flood Hazard Area, or the zone at the point when the lot outline is unavailable.FEMA National Flood Hazard Layer
soilSoil suitability for building: drainage class, slope and hydrologic group of the mapped soil unit.USDA NRCS SSURGO
wildfireWildfire hazard potential at the point. Omitted when unknown.USDA Forest Service
utilitiesRoads within 250 m and power lines within 400 m. This is proximity, not capacity or a right to connect. Omitted when unmapped.OpenStreetMap
geometryLot shape regularity: area against its bounding rectangle, from the real parcel outline.County parcel GIS or Regrid
seismicEarthquake hazard from mapped spectral acceleration (Ss). Regional context.USGS Seismic Design Maps
radonCounty radon zone, 1 (high) to 3 (low). Regional context.EPA Map of Radon Zones

Weights

Most states use the national weights. Florida, California and Texas carry their own, because flood, wildfire and utility reach move outcomes there more than elsewhere. The result names the weights that applied in region. Seismic and radon carry no weight anywhere: they are published at county or regional resolution, so they sit beside the number as a context band (low, elevated or high) instead of moving it.

FactorNationalFloridaCaliforniaTexas
Zoning16%14%22%14%
Flood16%25%10%14%
Soil12%14%9%12%
Wildfire12%13%20%12%
Utilities12%12%5%24%
Terrain20%11%25%15%
Lot geometry11%13%10%10%

Percentages are rounded to the nearest point.

Landmine caps

A cap is a ceiling a record puts on the Score. Blockers are conditions that usually stop a project. Cautions usually add cost, time or a study. The report lists every cap that fired with the record behind it, and the result keeps the composite as formula.uncappedScore, so you can always see what the lot scored before the cap.

Condition on recordCapSeverity
The lot is in a regulatory floodway25Blocker
A mapped wetland at the point40Blocker
The district prohibits single-family housing (National Zoning Atlas)40Blocker
Slope of 30% or more45Blocker
More than half the lot in a Special Flood Hazard Area60Caution
Septic rated “Very limited” where a sewer is unlikely (little road network nearby)60Caution
Soil flood frequency rated “Frequent”60Caution
Dwellings rated “Very limited” where no septic rating exists65Caution
Bedrock within 50 cm of the surface70Caution
Water table within 60 cm of the surface70Caution
No community water system serves the point (a private well is likely)75Caution

The septic and dwelling “Very limited” caps do not fire on soil mapped as “Urban land”, where the survey rates the pavement rather than the ground. Some findings are disclosures that never cap: sewer service assumed, not confirmed, septic servicing unknown, private access, split zoning, road frontage not established, wetlands not screened. The cap rules carry their own version, bf-4.

Grades, bands and status

The same number is expressed three ways for three audiences. The thresholds are part of the published methodology and change only with a version.

ScoreGrade
90–100A+
85–89A
80–84A-
75–79B+
70–74B
65–69B-
60–64C+
55–59C
50–54C-
30–49D
0–29F
ScoreBand (in data)Shown as
80–100ExcellentStrong
60–79GoodViable
40–59ModerateModerate
0–39PoorConstrained
ScoreStatus (in data)Plain answer, land alone
70–100ic_readyLikely yes
50–69cautionMaybe
0–49high_riskHard to build here

A high number on thin evidence is held at caution

The status drops from ic_ready to caution, and the number stays the same, when fewer than three factors came back, when none of them is parcel-specific, or when flood or terrain is missing. The methodology treats those two as critical evidence: a lot can’t be called ready without them.

Reading a result

The fields to read first. This is the shape of a report result; the certificate prints the same score, grade and band, and the widget shows the score and band.

An abridged report resultjson
{
  "result": {
    "score": 60,
    "grade": "C+",
    "band": "Good",
    "status": "caution",
    "version": "v3",
    "region": "TX",
    "factors": [
      {
        "key": "terrain",
        "score": 92,
        "included": true
      },
      {
        "key": "flood",
        "score": 56,
        "included": true
      },
      {
        "key": "radon",
        "score": 90,
        "included": true
      },
      {
        "key": "zoning",
        "score": 0,
        "included": false
      }
    ]
  },
  "formula": {
    "uncappedScore": 83,
    "capped": true,
    "boundBy": "sfha_majority"
  }
}
  • Show result.score. When formula.capped is true, say which cap set it (formula.boundBy).
  • Check included before showing any factor’s sub-score.
  • Store result.version next to every score you keep.

Versions

The current methodology is v3. It splits the model in two levels: the parcel-scale factors carry the weight, and the two hazards published only at regional resolution sit beside the number as context. v2 added the lot-scale terrain and geometry factors, graded zoning from its dimensional standards, and dropped optimistic defaults. Earlier versions stay registered, so a stored factor set re-scores under the version it was made with.

The same methodology is published as data at /docs/score/methodology.json: factors, weights, caps and thresholds read from the engine at build time, so the file cannot drift from the number the product computes.

A stored parcel is never re-scored behind your back. When the methodology changes, a new version ships alongside, and a Score you have seen does not move.

What the Score is not

The Score is a screen built from public records. It is not an appraisal, a survey, an engineering opinion or an official zoning determination. It measures proximity to utilities, not capacity or a right to connect, and road adjacency, not legal access. The Accuracy page has the backtests, and Accuracy & limits lists what no screen here can tell you.

Didn’t find it? The Help Center answers account and billing questions, and Geo answers questions about a specific parcel inside the app.