LULC change hazard, KPI-Ukraine
Boosted-tree model of where land cover in Ukraine is most likely to change over the next three years, and of the land-cover map three years ahead. It is the model behind the models/lulc-change-hazard and models/lulc-forecast analyses of DT4LC, which downloads this repository on first use.
The whole model is one file, lulc_hazard.json (bundle format dt4lc-lulc-hazard/2, version 2026-11-08). The format is described in dta/dti/models/lulc_hazard/model.py of DT4LC.
What it predicts
Per 30 m cell, from the land cover at the origin year t0, the probability of each KPI-Ukraine class (C7x legend: Crop, Grass, Tree, Built, Water, Wetland, Bare) three years later: one XGBoost model per starting class, with a prior correction. DT4LC reports the result as ranks, not probabilities. A cell's percentile places it among the cells of national sample windows, at the 2025 start, that could make the same change, and a map of risk levels shows High (the top 5 % of those cells), Elevated (top 10 %) and Moderate (top 15 %). So the levels hold for a 2025 start only. The hazards overlap and each is ranked on its own scale, so their high-risk areas do not add up.
Hazards served (horizon 3 years; the bundle's own group keys are any_change, builtup_growth, forest_loss, recultivation and overgrowth):
| Group | From | To |
|---|---|---|
| Any change | any class | any other class |
| Built-up growth | Crop, Grass, Tree, Bare | Built |
| Tree cover loss | Tree | Crop, Grass |
| Cropland expansion | Grass | Crop |
| Tree cover gain | Crop, Grass | Tree |
Cropland abandonment (Crop to Grass) is in the bundle but not served: it did not pass its check.
The forecast map takes the amount of each change from the latest 3-year trend in a 12 km square around the area and places it where the model's probabilities are highest.
Inputs
All computed from Google Earth Engine for the area, on a 30 m UTM grid (EPSG:32636, fixed origin):
- KPI-Ukraine land cover (10 m, 3 x 3 mode to 30 m): the class at
t0and the share of each class in 3, 7 and 15 cell neighbourhoods; - terrain from the Copernicus GLO-30 DEM (release
GLO30_2024_1): elevation, slope, aspect; - the AlphaEarth annual satellite embedding (
GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL, 64 bands).
Origin years from 2017. Domain: Ukraine (bounding box 22–40.5° E, 44–52.5° N). The KPI-Ukraine map is the public Earth Engine asset projects/poetic-centaur-266514/assets/kpi_ukraine_lc, so running the model needs only Earth Engine credentials.
Evaluation
Backtest: fit on 2018 to 2021 change, scored on 2021 to 2024, leave-oblast-out, on 300 national windows, design-weighted. The served model is refit on the 2021 to 2024 pair (491,214 cells).
| Hazard | AUC | Best baseline | Baseline AUC | Observed rate |
|---|---|---|---|---|
| Any change | 0.867 | block Markov | 0.827 | 4.61 % |
| Built-up growth | 0.989 | block Markov | 0.931 | 0.19 % |
| Tree cover loss | 0.858 | block Markov | 0.739 | 2.82 % |
| Cropland expansion | 0.782 | block Markov | 0.688 | 14.16 % |
| Tree cover gain | 0.977 | block Markov | 0.948 | 1.22 % |
Forecast map, 3 years: figure of merit 0.210 (random placement 0.058, block Markov 0.109).
Built-up growth had extra checks, fixed before any score was computed. One failed: at a 2025 start, the score at the High cut-off (0.045 %) is below the observed change rate (0.19 %), so a cell in High can have a score below the rate seen in the backtest. The rule said a failed check stops the layer. The check was waived after the result, as a product decision, and it stays on record as failed.
Limitations
- The probability level does not carry over to a new period; only the ordering of cells does. Use the ranks, not the raw probabilities.
- A large high-risk area of a rare change does not mean much of it will change: across Ukraine only 0.19 % of cropland, grassland, tree cover and bare land became built-up in the backtest.
- Built-up growth shows where the KPI-Ukraine maps add Built land, which is not proof of new construction: the layer may hold relabelling as well as infill.
- The served start map, KPI 2025, is classified differently from 2016 to 2024, and the backtest does not cover a 2025 start.
- Trained and checked on Ukraine only; the runner refuses areas outside the domain and areas larger than 400 km².
- The KPI-Ukraine maps carry their own artefacts (for example new forest recorded only in the 2024 map), and the model learns from them.
Versions
2026-11-08: built-up growth replaces built-up expansion, and the risk levels rank against 2025 inputs instead of the training cells. The fitted models are unchanged.2026-10-28: first version, in this repository's history.
Licence
CC BY 4.0.