SpiderNetOpen map

Methodology

How the flood risk prediction is built

Every lot colored on the Flood Risk Prediction layer is a model output, not a sensor reading. This page explains the method, what each number on the map actually means, what was checked before it shipped, and where the model doesn't reach.

The method, in plain terms

Water runs downhill toward the nearest place it can drain — a storm drain, a channel, a low point in the street. HAND (Height Above Nearest Drainage) measures how far above that drainage point every spot on the ground sits. A lot 0.2 feet above the nearest drain floods before one three feet above it does, in the same storm.

For each of NYC's 241 FloodNet sensors, the model works out a flood stage — how high the water actually got, from that sensor's own readings during a real storm. Every building within reach of that sensor is checked against its own HAND value: sit lower than the stage and the model floods you; sit higher and it doesn't. This is why the dataset itself describes the method as per-sensor HAND-stage inundation, pluvial (rainfall) only — it accounts for rain overwhelming drainage, not storm surge, tidal flooding, or rivers overflowing their banks.

The inputs

  • Ground elevation — NYC's 1-ft LiDAR DEM
  • Drainage paths — the CSCL street/drainage network
  • Rainfall and temperature — NOAA station data
  • Building footprints and land use — NYC building footprints and PLUTO
  • Flood stage source — 241 FloodNet sensors

Roughly 219,000 buildings fell within reach of at least one sensor and were assessed; 55,837 of those came back flooded at their governing event. Every flooded lot is tagged with how it flooded — ponding (45,850 lots, water pooling in place) or shallow_flow (9,987 lots, moving surface water).

Reading the map

Depth

depth_in is the modeled water depth, in inches, at each lot's single governing event. Treat it as a ceiling, not a measurement — the dataset's own build note is direct about this:

“UPPER-BOUND estimate; validation shows modeled depth runs high”

Tiers

Every flooded lot falls into one of three tiers, cut directly on depth — these are fixed bands, not percentiles of the data and not an outside flood-severity standard:

  • trace — 2–4 in (10,290 lots)
  • nuisance — 4–12 in (29,819 lots)
  • deep — 12–46.1 in (15,728 lots)

A lot is “nuisance” because its modeled depth falls between 4 and 12 inches. Nothing more is implied by the label.

Confidence

confidence_pct (40–76 across the dataset) is not a probability and not the model's certainty in its own prediction. It is a distance-decay value — how close the lot is to the sensor that governs its prediction, and nothing else. Lots within 300m of a sensor sit around 70–76%; by 600–750m, the outer edge of where any lot gets a prediction at all, confidence has decayed to around 45–51%. A high confidence_pct means “close to a sensor.” It says nothing about whether the depth number itself is accurate.

Validation

Three checks were run against this output before it shipped:

  1. 311 flooding-complaint cross-checks — whether modeled flood locations line up with where New Yorkers actually called 311 to report street flooding.
  2. Leave-one-out sensor coherence — pulling one FloodNet sensor out of the network at a time and checking whether the model, run without it, still predicts something consistent with what that sensor actually recorded.
  3. Comparison against NYC DEP's Stormwater Flood Map — checking modeled flood extents against the city's own moderate- and extreme-rainfall flood maps.

We are not publishing an accuracy percentage. There is no held-out ground truth broad enough across the city to support one, and a single number would overstate what these three checks can tell you. Judge the model by what was checked, by name, not by a score.

An earlier approach, abandoned

HAND wasn't the first thing we tried. Before it, we built and tested a machine-learning model: XGBoost trained on 35 features (elevation, slope, drainage density, precipitation, building characteristics, FEMA zone, and more) to predict depth at each of the 241 sensor sites, with Ordinary Kriging fit on the residuals to interpolate between sensors — a spherical variogram, validated with spatial group-k-fold cross-validation grouped by sensor, so no sensor's data could leak across a train/test split.

We abandoned it, for two structural reasons. FloodNet's sensors aren't sited randomly — they're placed where the city already expects flooding, so a model trained on them partly learns where the sensors are, not where the water goes. And kriging interpolates well between sensors but extrapolates badly beyond them, which is most of the city. HAND doesn't have either problem: it runs on terrain and drainage, which exist and can be checked everywhere, not only where a sensor happens to sit.

Limitations

  • Coverage is about 6.5% of NYC's tax lots — 55,837 of 856,694 — and it's concentrated: 48.5% of covered lots are in Brooklyn, 38.6% in Queens. The other three boroughs combined hold under 13%. Most of the gap isn't vacant land — of the roughly 800,000 uncovered lots, only about 34,600 have no building on them at all. The rest have buildings; they're simply farther than any sensor's reach.
  • One governing event per lot, not a time series. Each lot's row is its single worst event on record, not a running history of every time it's flooded.
  • The event date reflects FloodNet's sensor rollout, not flood severity or recency. Dates on the map range from September 2021 (Hurricane Ida) to May 2026. A lot showing a 2026 date isn't necessarily more at risk than one showing 2021 — it may just sit nearer a sensor installed later, or one that happened to catch a storm.
  • Depth doesn't fall off as fast as confidence does. Modeled depth attenuates weakly with distance from the sensor — roughly 81% of peak depth is still present at 600–750m, the outer edge of coverage, even though confidence has already dropped to its lowest band by then. A lot at the edge of coverage can show a depth nearly as high as one right next to a sensor, while its confidence score alone doesn't fully convey how much less trustworthy that number is.
  • This is modeled water, not measured water. The dataset's own restriction, unedited:
    “not for regulatory/insurance/life-safety use; not a DEP or FEMA substitute”

Have a question about a specific lot? Open the map and click it — the same numbers described here show up in its record.