Methodology

How Ground Stasis works

Ground Stasis turns satellite observations into a simple risk signal. This page explains the pipeline and is deliberately explicit about the line between what is an established property of the satellite data and what is a Ground Stasis heuristic that we expect to calibrate over time.

Data source

Established data fact
Copernicus Sentinel-2 provides multispectral imagery at 10 m and 20 m spatial resolutions. Ground Stasis uses Level-2A surface-reflectance products. The bands used are B02 (blue, 10 m), B04 (red, 10 m), B08 (near-infrared, 10 m), and B11 (shortwave-infrared, 20 m).
Established data fact
B02, B04, and B08 are native 10 m. B11 is native 20 m; when combined with 10 m bands it is resampled to a common 10 m working grid. B11 is not native 10 m.
Established data fact
Sentinel-2 revisits most locations every few days, but a usable, cloud-free observation is not guaranteed on any given pass. Clouds, haze, shadow, snow, and acquisition conditions create gaps.
Ground Stasis heuristic
Because usable observations are irregular, Ground Stasis reasons over usable observations, not calendar time, and reports a DATA GAP rather than guessing when clean imagery is unavailable.

Spectral indices

For each usable observation, we compute three normalized indices over the site polygon. These are standard, published index definitions:

NDVI = (B08 − B04) / (B08 + B04)
NDBI = (B11 − B08) / (B11 + B08)
BSI = ((B11 + B04) − (B08 + B02)) / ((B11 + B04) + (B08 + B02))
Established data fact
NDVI responds to vegetation, NDBI to built-up/impervious surfaces, and BSI to bare soil. Division is guarded against zero denominators; undefined or masked pixels are excluded.
Ground Stasis heuristic
These indices are indirect signals. Ground Stasis does not claim that a given NDBI value “means concrete” or that an NDVI threshold “means a foundation.” They are used only as complementary inputs to a temporal change measure.

Cloud & quality filtering

Established data fact
Sentinel-2 L2A ships a Scene Classification Layer (SCL). Ground Stasis excludes pixels classified as cloud (medium/high probability), cirrus, cloud shadow, and snow, and uses the scene’s data mask to drop no-data pixels.
Ground Stasis heuristic
We compute a usable_pixel_percentage for each observation. Below 60% usable pixels (or above 40% contamination) the observation is marked LOW QUALITY and excluded from strong temporal conclusions. These thresholds are configurable.

Site-level change

We reduce each observation to the mean of each index over the valid pixels, then measure change between two consecutive usable observations:

siteChangePercent = ((|ΔNDVI| + |ΔNDBI| + |ΔBSI|) / 3) × 100
Ground Stasis heuristic
This direction-agnostic magnitude is a Ground Stasis construction. It answers “how much did the surface move between these two looks” — it is not a physical measurement of construction progress.

Baseline

Ground Stasis heuristic
Ground Stasis builds a site-specific baseline from the median of the site’s historical change intervals (excluding the most recent window, so the period under test does not define “normal”). A baseline is considered established after at least 2 usable change intervals.

Stasis score

The 0–100 score is a transparent weighted sum, then clamped:

score = recentLowChange(40) + historicalDeviation(20) + duration(20) + consecutive(20) − dataQualityPenalty(20)
Ground Stasis heuristic
The score is not a probability of abandonment. It represents how strongly recent usable observations resemble an unusually inactive period relative to this site’s own baseline. It deliberately requires several conditions to align — low recent change and persistence and consecutive low-change observations and good data quality — rather than firing on low change alone.

Confidence

Ground Stasis heuristic
Separately from the score, Ground Stasis rates confidence HIGH / MEDIUM / LOW from the number of usable observations, their cleanliness, and whether a baseline is established. A stasis-range score with only LOW confidence is capped to Review and never triggers the strongest alert.

Status bands

Ground Stasis heuristic
Default mapping (configurable): 0–24 Active, 25–49 Watch, 50–74 Review, 75–100 Stasis. A lack of usable data is always Data gap, never Stasis. There is no automated “Abandoned” or “Fraud” status.

Limitations

  • Sentinel-2 observations are not continuous; clouds can prevent usable observations for weeks.
  • Satellite imagery cannot see every construction activity, especially interior or vertical work.
  • 10 m-class imagery is appropriate only for sufficiently large sites.
  • Spectral indices are indirect signals, not measurements of construction stages.
  • A stasis signal is an analytical flag for review, not proof of abandonment or any legal conclusion.
  • Results should be reviewed alongside lender records, borrower reporting, and other evidence.

Auditability & versioning

Ground Stasis heuristic
Every evaluation stores the observation ids used, the algorithm version (stasis-v0.1), the thresholds version (thresholds-v0.1), the provider, the metrics, the confidence, and the resulting status. Historical scores are never silently changed; recalculation under a new version is explicit.

Ground Stasis is an independent monitoring signal and does not replace physical inspection, appraisal, engineering review, or underwriting judgment.