Proof

Anyone can list
capabilities. Here are the numbers.

Four worked examples. Each one shows the imagery, the figures derived from it, and how far those figures move when the thresholds move.

Case 01 — Mangrove cover and canopy loss

Automated mangrove cover and canopy loss in the Sundarbans

On this coast the mangrove is not cleared, it is drowned. Two post-monsoon composites five years apart, measuring canopy loss and land converted to water separately.

Location
Sundarbans, South 24 Parganas, India
Area
17,269 ha mangrove at baseline (2019–20)
Window
Nov 2019 – Feb 2020 vs Nov 2024 – Feb 2025
Sensors
Sentinel-2 L2A · ESA WorldCover 2020
Cadence
64 scenes composited, median gap 3 days
BaselineNov 2019 – Feb 2020
LatestNov 2024 – Feb 2025
Sentinel-2 true colour, 20 m grid. One stretch shared by both frames. Drag to compare.
Where the change went
Canopy loss98ha
Land lost to water71.4ha
Canopy gain22.8ha
Land gained from water5.9ha

Canopy and shoreline measured separately, by two different indices.

71.4ha

Mangrove eroded

25 patches, land to water

98.0ha

Canopy loss

0.57% of baseline mangrove

5.9ha

Accretion

Water back to land

−65.5ha

Net land change

Over five years

Canopy gain22.8 ha11 patches of regrowth
Composite depth8 scenes / tileLoss moves ~12% at 10
Every pixel in one of six classes, then the densest change at 3.9x. Class areas precede the 0.5 ha minimum mapping unit, so they run above the published figures.

Every pixel in one of six classes, then the densest change at 3.9x. Class areas precede the 0.5 ha minimum mapping unit, so they run above the published figures.

How much the answer moves

Erosion vs. the water threshold
5560657075MNDWI cut −0.10: 59.8 ha−0.10MNDWI cut 0.00: 71.4 ha0.00MNDWI cut +0.10: 65.8 ha+0.10MNDWI cut +0.20: 62.4 ha+0.2071.4 haused

MNDWI cut-off between land and water.

Erosion vs. the water threshold
MNDWI cutha
−0.1059.8
0.00 (published run)71.4
+0.1065.8
+0.2062.4
Canopy loss vs. the NDVI-drop threshold
8090100110NDVI drop −0.10: 104.4 ha−0.10NDVI drop −0.15: 101 ha−0.15NDVI drop −0.18: 98 ha−0.18NDVI drop −0.25: 94.4 ha−0.25NDVI drop −0.30: 87 ha−0.3098 haused

NDVI drop required before a pixel counts as canopy loss.

Canopy loss vs. the NDVI-drop threshold
NDVI dropha
−0.10104.4
−0.15101
−0.18 (published run)98
−0.2594.4
−0.3087
Case 02 — Forest loss detection

Detecting clearance on the Amazon deforestation frontier

The counterpart to Case 01, run through the same pipeline at the same thresholds: an inland site where change is large and unambiguous, so the detector is shown firing.

Location
Rondônia, Brazilian Amazon
Area
22,111 ha baseline forest
Window
Jun – Aug 2019 vs Jun – Aug 2024
Sensors
Sentinel-2 L2A · ESA WorldCover 2020
Cadence
40 scenes composited, median gap 5 days
BaselineJun – Aug 2019
LatestJun – Aug 2024
Sentinel-2 true colour, 20 m grid. One stretch shared by both frames. Drag to compare.
Clearance, and how much of it a second product confirms
Loss both products agree on1,434ha
Flagged only by us291ha
Canopy gain14.4ha

Corroboration is against Impact Observatory / Esri Annual Land Cover.

1,725ha

Loss detected

7.8% of baseline forest

218patches

Change polygons

Above the mapping unit

163ha

Largest patch

Median patch 2.38 ha

0.5ha

Min. mapping unit

Smallest patch resolved

Canopy gain14.4 ha13 patches of regrowth
Loss : gain ratio120 : 1Clearance outruns regrowth here
The same six classes as Case 01. Clearance here has geometry — rectangles cut back from access roads — which is what separates real felling from index noise.

The same six classes as Case 01. Clearance here has geometry — rectangles cut back from access roads — which is what separates real felling from index noise.

Carbon attribution

440,918 tCO₂e released by the detected clearance

The same 1,724.9 ha of clearance measured above, carried through to carbon.

Above-ground biomass across the Rondônia area of interest, 0 to 333 t/ha, with detected loss patches outlined.

Above-ground biomass from ESA CCI Biomass v5.01, sampled over the detected loss patches. Checked before use: 226.8 t/ha over standing forest here, inside the 150–400 t/ha published range for tropical moist forest.

226.8t/ha

Standing forest AGB

Validated against published range

148.6t/ha

AGB in cleared area

Lower than intact stand — edges and prior degradation

255,852t

Above-ground biomass lost

Over 1,724.9 ha

440,918tCO₂e

Released

Practical range 331k – 551k

How much the answer moves

Loss vs. the NDVI-drop threshold
1,2501,5001,7502,0002,250NDVI drop −0.10: 2,079.4 ha−0.10NDVI drop −0.15: 1,915.6 ha−0.15NDVI drop −0.20: 1,724.9 ha−0.20NDVI drop −0.25: 1,565.6 ha−0.25NDVI drop −0.30: 1,401.4 ha−0.301,724.9 haused

NDVI drop required before a pixel counts as clearance.

Loss vs. the NDVI-drop threshold
NDVI dropha
−0.102,079.4
−0.151,915.6
−0.20 (published run)1,724.9
−0.251,565.6
−0.301,401.4
What the tree-cover constraint is worth
NDVI-only mask2,580.4ha
+ tree cover (published)1,724.9ha

The same detection re-run against an NDVI-only forest mask. Without the second condition the page would report 2,580 ha.

Case 03 — Climate analytics

Separating a heat wave from a hot country

Not every analysis is a satellite image. Daily maximum temperature for sixteen cities against their own 1991–2020 norm — a percentile, not a fixed threshold, because the choice inverts the answer.

Location
16 cities across Europe
Area
ERA5-Land, ~9 km grid
Window
1 – 19 August 2026
Sensors
ERA5-Land reanalysis · 1991–2020 baseline
Cadence
Daily, ~6 days behind real time
Days inside a heat wave
Milan18days
Rome15days
Lyon12days
Paris11days
Budapest6days
Madrid6days
Seville0days

Three or more consecutive days above that calendar day’s 90th percentile.

+13.3°C

Peak anomaly, Paris

37.8 °C on 14 August

18of 19 days

Milan above p90

One unbroken 11-day run

0heat-wave days

Seville

Despite the highest peak in the sample

16cities

Analysed

30-year baseline each

Hottest absolute reading39.6 °CSeville — below its own p90 on 18 of 19 days
Reanalysis lag6 daysHeat after 19 August not yet measurable
Departure from the 1991–2020 norm, dot size carrying days inside a heat wave. Milan runs +7.1 °C and 18 days; Seville, hottest in absolute terms at 39.6 °C, is +0.8 °C and has none. That inversion is the case.
Above the 1991–2020 normBelow the normDot size — days inside a heat wave

Departure from the 1991–2020 norm, dot size carrying days inside a heat wave. Milan runs +7.1 °C and 18 days; Seville, hottest in absolute terms at 39.6 °C, is +0.8 °C and has none. That inversion is the case.

What this costs, off the map

Third-party reporting on the 2026 European heat season and what it did to electricity demand. The June and July waves, not this August window — reporting, not measurement.

How much the answer moves

Percentile vs. fixed threshold

CityPeak °CMean anom.Heat-wave days
Seville39.6+0.80
Milan37.8+7.118
Paris37.8+6.111
London34.6+4.84

Hottest city in the sample, top row, with no heat-wave days at all.

Case 04 — Forest fire

Mapping burn severity through leaf-off in Similipal

Fire observed, not fire predicted. Sal sheds its leaves in exactly the window the fire burned in, and to a burn ratio leaf-off ground and burnt ground look much the same — so correcting for it changes the answer by a factor of three.

Location
Mayurbhanj, Odisha, India
Area
37,583 ha forest at baseline
Window
Jan – Feb 2021 vs Mar – Apr 2021
Sensors
Sentinel-2 L2A · ESA WorldCover 2021
Cadence
11 scenes composited, median gap 2 days
Pre-fireJan – Feb 2021
Post-fireMar – Apr 2021
Sentinel-2 true colour, 20 m grid, one shared stretch. The whole scene darkens between the frames — separating fire from leaf-off is the problem this case is about.
Burnt area by severity class
Low9,586.8ha
Moderate-low2,097.2ha
Moderate-high59.8ha
High0.2ha

Raw dNBR classes, before the phenology correction.

11,744ha

Burnt area

After the phenology correction

25.5%

Of observed area

46,112 ha clearly observed

2,157ha

Moderate or worse

dNBR ≥ 0.27

0.5ha

Min. mapping unit

Same floor as every case

Uncorrected burnt area33,757 ha2.9x the published figure
Phenology offset0.178 dNBRMedian shift over unburnt Sal
dNBR severity classes, then the most severely burnt block at 3.9x. Class areas are the raw classification; the published burnt area is phenology-corrected, so the two differ.

dNBR severity classes, then the most severely burnt block at 3.9x. Class areas are the raw classification; the published burnt area is phenology-corrected, so the two differ.

How much the answer moves

Burnt area vs. the phenology correction
Raw dNBR ≥ 0.1033,757ha
Phenology-corrected (published)11,744ha

The published run subtracts the median dNBR over unburnt Sal, 0.178. Raw dNBR would put 73.2% of the observed area inside the burn scar; corrected, 25.5%.

Run the same check on your area.

Send a boundary and we will show you what the satellite record already says about it — with the same accuracy figures attached, before you commit to anything.