From 272d4c5078dfcc3da199c87986e5efb1d92a73d4 Mon Sep 17 00:00:00 2001 From: Egor Dmitriev Date: Thu, 4 Jun 2026 15:20:18 +0200 Subject: [PATCH 1/4] docs: add Liander 2024 benchmark results page under Guides Add a Benchmark Results guide showing rCRPS performance of each model on the public Liander 2024 benchmark, including a grouped box-plot, two results tables (unweighted and sample-weighted rCRPS by target group), and explanations of the metrics. Link it from the Guides index and from the Model Selection concept page. Signed-off-by: Egor Dmitriev --- .../guides/liander2024_rcrps_by_group.png | Bin 0 -> 151960 bytes .../liander2024_rcrps_by_group.png.license | 3 + docs/source/user_guide/concepts/models.rst | 5 + .../user_guide/guides/benchmark_results.rst | 209 ++++++++++++++++++ docs/source/user_guide/guides/index.rst | 7 + 5 files changed, 224 insertions(+) create mode 100644 docs/source/images/guides/liander2024_rcrps_by_group.png create mode 100644 docs/source/images/guides/liander2024_rcrps_by_group.png.license create mode 100644 docs/source/user_guide/guides/benchmark_results.rst diff --git a/docs/source/images/guides/liander2024_rcrps_by_group.png b/docs/source/images/guides/liander2024_rcrps_by_group.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b39a65d01c5a33b29cca4a1c236d23ffac9eec GIT binary patch literal 151960 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ý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 ZKYo+N3#XJcz2DCO1fH&bF6*2UngBGWRtEq8 literal 0 HcmV?d00001 diff --git a/docs/source/images/guides/liander2024_rcrps_by_group.png.license b/docs/source/images/guides/liander2024_rcrps_by_group.png.license new file mode 100644 index 000000000..a42c86064 --- /dev/null +++ b/docs/source/images/guides/liander2024_rcrps_by_group.png.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2026 Contributors to the OpenSTEF project + +SPDX-License-Identifier: MPL-2.0 diff --git a/docs/source/user_guide/concepts/models.rst b/docs/source/user_guide/concepts/models.rst index ece5a0068..66d14236c 100644 --- a/docs/source/user_guide/concepts/models.rst +++ b/docs/source/user_guide/concepts/models.rst @@ -96,6 +96,11 @@ All forecasters in OpenSTEF support **quantile forecasting**, producing probabil predictions at configurable quantiles. The exceptions are the Median and Base Case forecasters, which produce only a single quantile. +.. seealso:: + + For measured accuracy of these models on a public benchmark, see + :ref:`Benchmark Results `. + .. list-table:: Forecaster Comparison :header-rows: 1 :widths: 15 33 32 10 10 diff --git a/docs/source/user_guide/guides/benchmark_results.rst b/docs/source/user_guide/guides/benchmark_results.rst new file mode 100644 index 000000000..327e9e8eb --- /dev/null +++ b/docs/source/user_guide/guides/benchmark_results.rst @@ -0,0 +1,209 @@ +.. SPDX-FileCopyrightText: 2026 Contributors to the OpenSTEF project +.. +.. SPDX-License-Identifier: MPL-2.0 + +.. _benchmark_results: + +Benchmark Results +================= + +How accurate are OpenSTEF's models in practice? This page reports reference +performance on the public **Liander 2024 STEF benchmark**, so you can compare models +before committing to one. Use it together with the :ref:`Model Selection Guide +` (which explains *why* each model behaves the way it does) and +:doc:`BEAM ` (which explains *how* these numbers are produced). + +.. note:: + + These numbers are a point-in-time snapshot and may change as models, defaults, and + the benchmark evolve. To reproduce or extend them, run the notebooks under + :doc:`Liander 2024 `, then compare runs. + + +At a Glance +----------- + +.. image:: /images/guides/liander2024_rcrps_by_group.png + :alt: Box plot of rCRPS per model and target group on the Liander 2024 benchmark. + The ensemble has the lowest median rCRPS in every group, gblinear is close + behind, and xgboost trails. + :align: center + +Each box shows the distribution of per-target ``rCRPS`` within a target group (one +point per target). Lower is better. + +**Takeaways** + +- The **ensemble** is the most accurate model across every target group, on both the + unweighted and the peak-weighted metric. +- **GBLinear** is a strong, consistent second and a good single-model default — + especially where extrapolation beyond the training range matters (congestion). +- **XGBoost** alone trails the other two on this benchmark. The ensemble does not + use it: it blends GBLinear with a LightGBM learner, pairing GBLinear's linear + extrapolation with complementary non-linear structure. +- The gap between models *widens* under the peak-weighted metric (see + :ref:`rCRPS sample-weighted `), most visibly for the highly + intermittent solar and wind targets. + + +.. _metrics_explained: + +The Metrics +----------- + +All scores on this page are variants of the **Continuous Ranked Probability Score +(CRPS)**, the standard proper scoring rule for *probabilistic* forecasts. CRPS +generalizes the absolute error to a full predictive distribution: it rewards forecasts +whose quantiles are both sharp and well-calibrated, and it is expressed in the same +units as the load. A perfect forecast scores 0. + +CRPS in raw load units cannot be compared across targets of different size (a feeder +peaking at 1 MW versus one at 50 MW). The benchmark therefore reports two *relative* +variants. + +rCRPS +^^^^^ + +**Relative CRPS** normalizes the CRPS by the operating range of the observed load — +the gap between its 1st and 99th percentile: + +.. math:: + + \text{rCRPS} = \frac{\text{CRPS}}{P_{99}(y) - P_{1}(y)} + +This makes the score **scale-invariant**: roughly, the average distributional error as +a fraction of how much the target moves. A value of ``0.05`` means the typical +probabilistic error is about 5% of the target's operating range. Every timestamp counts +equally. Lower is better. + +.. _metric_rcrps_weighted: + +rCRPS (sample-weighted) +^^^^^^^^^^^^^^^^^^^^^^^^^ + +For grid operations the moments that matter most are **high-load periods** — that is +when congestion risk is highest. The sample-weighted variant computes the same rCRPS +but weights each timestamp by its load magnitude, so peaks dominate the score and +near-zero load is de-emphasized (down to a floor weight): + +.. math:: + + w_i = \operatorname{clip}\!\left( + \left| \frac{y_i}{P_{99}(|y|)} \right|,\; 0.1,\; 1.0 \right) + +Use this metric when peak accuracy is the priority. Intermittent targets (solar, wind) +score noticeably *worse* here than on the unweighted metric: they sit near zero much of +the time, so up-weighting their large, hard-to-predict peaks raises the relative error. + +.. tip:: + + For a single, intuitive accuracy number prefer **rCRPS**. When your use case is + congestion management or peak shaving, lead with **rCRPS (sample-weighted)**. + + +.. _benchmark_tables: + +Results by Model and Target Group +--------------------------------- + +Rows are models; columns are the benchmark's target groups plus the **Global** average +across all 55 targets. Each cell is the **mean rCRPS over the targets in that group** +(each target weighted equally). **Lower is better**; the best model per column is in +bold. + +.. list-table:: rCRPS — unweighted (lower is better) + :header-rows: 1 + :stub-columns: 1 + :widths: 18 12 12 16 14 12 12 + + * - Model + - Global + - MV feeder + - Station inst. + - Transformer + - Solar park + - Wind park + * - XGBoost + - 0.065 + - 0.052 + - 0.062 + - 0.075 + - 0.052 + - 0.089 + * - GBLinear + - 0.051 + - 0.041 + - 0.049 + - 0.059 + - 0.044 + - 0.070 + * - Ensemble + - **0.049** + - **0.039** + - **0.047** + - **0.058** + - **0.037** + - **0.066** + +.. list-table:: rCRPS — sample-weighted / peak-focused (lower is better) + :header-rows: 1 + :stub-columns: 1 + :widths: 18 12 12 16 14 12 12 + + * - Model + - Global + - MV feeder + - Station inst. + - Transformer + - Solar park + - Wind park + * - XGBoost + - 0.082 + - 0.056 + - 0.068 + - 0.085 + - 0.113 + - 0.156 + * - GBLinear + - 0.063 + - 0.045 + - 0.054 + - 0.069 + - 0.077 + - 0.107 + * - Ensemble + - **0.059** + - **0.042** + - **0.053** + - **0.067** + - **0.069** + - **0.096** + + +How These Numbers Were Produced +------------------------------- + +.. list-table:: + :stub-columns: 1 + :widths: 30 70 + + * - Dataset + - `Liander 2024 STEF benchmark `_ + — 55 real grid targets across 5 groups (MV feeders, station installations, + transformers, solar parks, wind parks). + * - Models + - ``xgboost`` (:class:`~openstef_models.models.forecasting.xgboost_forecaster.XGBoostForecaster`), + ``gblinear`` (:class:`~openstef_models.models.forecasting.gblinear_forecaster.GBLinearForecaster`), + and ``ensemble`` (an openstef-meta learned-weight combination of + LightGBM and GBLinear base models). + * - Forecast moment + - Day-ahead, with all inputs restricted to what was available at **D-1 06:00** + (no future data leakage). + * - Evaluation + - Sequential :doc:`BEAM ` backtest over 2024. rCRPS is computed per target + from quantile forecasts (normalization range :math:`P_1`–:math:`P_{99}`), then + averaged within each group. + +For the full methodology — how the backtest prevents leakage and how metrics are +segmented — see :doc:`BEAM `. To benchmark your *own* model or data on the same +footing, see the :doc:`Build Your Own ` benchmarks. diff --git a/docs/source/user_guide/guides/index.rst b/docs/source/user_guide/guides/index.rst index dbcd622a6..929062a4d 100644 --- a/docs/source/user_guide/guides/index.rst +++ b/docs/source/user_guide/guides/index.rst @@ -50,6 +50,12 @@ Step-by-step instructions for common OpenSTEF tasks. Evaluate model performance on historical data with rolling windows. + .. grid-item-card:: :fa:`ranking-star` Benchmark Results + :link: benchmark_results + :link-type: doc + + Reference accuracy of each model on the public Liander 2024 benchmark. + .. grid-item-card:: :fa:`server` Deployment :link: deployment :link-type: doc @@ -72,5 +78,6 @@ Step-by-step instructions for common OpenSTEF tasks. probabilistic_forecasting reliability_fallback Backtesting + Benchmark Results deployment /user_guide/logging From 2b8a3b0286d2b6601432922ead8489c0b2ee7232 Mon Sep 17 00:00:00 2001 From: Egor Dmitriev Date: Thu, 4 Jun 2026 15:39:29 +0200 Subject: [PATCH 2/4] docs: add rMAE table to benchmark results Add rMAE (relative Mean Absolute Error of the median forecast) metric explanation and table to the Benchmark Results guide, extracted from the Liander 2024 summary.html. Signed-off-by: Egor Dmitriev --- .../user_guide/guides/benchmark_results.rst | 55 ++++++++++++++++++- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/docs/source/user_guide/guides/benchmark_results.rst b/docs/source/user_guide/guides/benchmark_results.rst index 327e9e8eb..9165186fb 100644 --- a/docs/source/user_guide/guides/benchmark_results.rst +++ b/docs/source/user_guide/guides/benchmark_results.rst @@ -100,6 +100,21 @@ the time, so up-weighting their large, hard-to-predict peaks raises the relative For a single, intuitive accuracy number prefer **rCRPS**. When your use case is congestion management or peak shaving, lead with **rCRPS (sample-weighted)**. +.. _metric_rmae: + +rMAE +^^^^ + +**Relative Mean Absolute Error** measures the accuracy of the **median (P50) forecast** +alone, normalized by the same operating-range denominator as rCRPS: + +.. math:: + + \text{rMAE} = \frac{\text{MAE}_{P50}}{P_{99}(y) - P_{1}(y)} + +Use this when you care about point-forecast accuracy at the median rather than the +full probabilistic distribution. + .. _benchmark_tables: @@ -107,9 +122,9 @@ Results by Model and Target Group --------------------------------- Rows are models; columns are the benchmark's target groups plus the **Global** average -across all 55 targets. Each cell is the **mean rCRPS over the targets in that group** -(each target weighted equally). **Lower is better**; the best model per column is in -bold. +across all 55 targets. Each cell is the **mean metric value over the targets in that +group** (each target weighted equally). **Lower is better**; the best model per +column is in bold. .. list-table:: rCRPS — unweighted (lower is better) :header-rows: 1 @@ -179,6 +194,40 @@ bold. - **0.069** - **0.096** +.. list-table:: rMAE — median point forecast (lower is better) + :header-rows: 1 + :stub-columns: 1 + :widths: 18 12 12 16 14 12 12 + + * - Model + - Global + - MV feeder + - Station inst. + - Transformer + - Solar park + - Wind park + * - XGBoost + - 0.084 + - 0.067 + - 0.079 + - 0.095 + - 0.067 + - 0.111 + * - GBLinear + - 0.084 + - 0.067 + - 0.079 + - 0.094 + - 0.070 + - 0.110 + * - Ensemble + - **0.078** + - **0.063** + - **0.074** + - **0.089** + - **0.062** + - **0.103** + How These Numbers Were Produced ------------------------------- From 71a73ba13a5e75777ca5a18e1df8708015816b9a Mon Sep 17 00:00:00 2001 From: Egor Dmitriev Date: Thu, 4 Jun 2026 15:49:15 +0200 Subject: [PATCH 3/4] docs: clarify rMAE is at P50 in table title and section header Signed-off-by: Egor Dmitriev --- docs/source/user_guide/guides/benchmark_results.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source/user_guide/guides/benchmark_results.rst b/docs/source/user_guide/guides/benchmark_results.rst index 9165186fb..1726cbdfe 100644 --- a/docs/source/user_guide/guides/benchmark_results.rst +++ b/docs/source/user_guide/guides/benchmark_results.rst @@ -102,10 +102,10 @@ the time, so up-weighting their large, hard-to-predict peaks raises the relative .. _metric_rmae: -rMAE -^^^^ +rMAE (P50) +^^^^^^^^^^ -**Relative Mean Absolute Error** measures the accuracy of the **median (P50) forecast** +**Relative Mean Absolute Error at P50** measures the accuracy of the **median (P50) forecast** alone, normalized by the same operating-range denominator as rCRPS: .. math:: @@ -194,7 +194,7 @@ column is in bold. - **0.069** - **0.096** -.. list-table:: rMAE — median point forecast (lower is better) +.. list-table:: rMAE (P50) — median point forecast (lower is better) :header-rows: 1 :stub-columns: 1 :widths: 18 12 12 16 14 12 12 From 278e305e80e0ea4b66f3c38b86f0457a914492da Mon Sep 17 00:00:00 2001 From: Egor Dmitriev Date: Thu, 4 Jun 2026 16:06:48 +0200 Subject: [PATCH 4/4] docs: replace em dashes, expand disclaimer on benchmark limitations Signed-off-by: Egor Dmitriev --- .../user_guide/guides/benchmark_results.rst | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/source/user_guide/guides/benchmark_results.rst b/docs/source/user_guide/guides/benchmark_results.rst index 1726cbdfe..5092d7b17 100644 --- a/docs/source/user_guide/guides/benchmark_results.rst +++ b/docs/source/user_guide/guides/benchmark_results.rst @@ -13,11 +13,17 @@ before committing to one. Use it together with the :ref:`Model Selection Guide ` (which explains *why* each model behaves the way it does) and :doc:`BEAM ` (which explains *how* these numbers are produced). -.. note:: +.. warning:: - These numbers are a point-in-time snapshot and may change as models, defaults, and - the benchmark evolve. To reproduce or extend them, run the notebooks under - :doc:`Liander 2024 `, then compare runs. + **These numbers are dataset-bound.** The Liander 2024 benchmark is derived from + Dutch grid operational data and uses a specific set of features, weather data + providers, and signal types. Performance depends heavily on signal quality and the + quality of your input data — your results may be better or worse. + + To understand how models perform on *your* use case, create your own benchmark + with your own data (see :doc:`Build Your Own `). + You can reproduce these exact numbers by running the benchmark notebooks under + :doc:`Liander 2024 `. At a Glance @@ -126,7 +132,7 @@ across all 55 targets. Each cell is the **mean metric value over the targets in group** (each target weighted equally). **Lower is better**; the best model per column is in bold. -.. list-table:: rCRPS — unweighted (lower is better) +.. list-table:: rCRPS - unweighted (lower is better) :header-rows: 1 :stub-columns: 1 :widths: 18 12 12 16 14 12 12 @@ -160,7 +166,7 @@ column is in bold. - **0.037** - **0.066** -.. list-table:: rCRPS — sample-weighted / peak-focused (lower is better) +.. list-table:: rCRPS - sample-weighted / peak-focused (lower is better) :header-rows: 1 :stub-columns: 1 :widths: 18 12 12 16 14 12 12 @@ -194,7 +200,7 @@ column is in bold. - **0.069** - **0.096** -.. list-table:: rMAE (P50) — median point forecast (lower is better) +.. list-table:: rMAE (P50) - median point forecast (lower is better) :header-rows: 1 :stub-columns: 1 :widths: 18 12 12 16 14 12 12