From e80955e77cc86ff90246f1a1dfd2f8b61ea53a45 Mon Sep 17 00:00:00 2001
From: Denis Drobyshev
Date: Tue, 11 Aug 2026 00:28:39 +0300
Subject: [PATCH] Show stadion's numbers instead of describing them
The site said stadion places a score between the classical method and the
optimum, and then left the reader to take that on trust. The measurements exist
- six tasks, the distance between the two references, each with a bootstrap
interval - and they are the most convincing thing the project has.
The spread is what the table is for. Inventory leaves 0.4% because the
newsvendor formula is already near-optimal; the battery leaves 26.6% because a
price threshold cannot decide to arrive at the evening peak with charge in
hand. A benchmark whose tasks all leave generous headroom has selected for
problems the standard method happens to be bad at, and this one can show that
it did not.
Figures copied from the repository's own README table rather than recomputed,
and the caption carries the conditions so the column can be read without the
repository open.
---
assets/site.css | 39 +++++++++++++++++++++++++++++++++++++++
index.html | 23 +++++++++++++++++++++++
ru/index.html | 23 +++++++++++++++++++++++
3 files changed, 85 insertions(+)
diff --git a/assets/site.css b/assets/site.css
index 37a54ea..42ebb66 100644
--- a/assets/site.css
+++ b/assets/site.css
@@ -429,6 +429,45 @@ h4 { font-size: .8125rem; }
.copy-btn svg { width: 14px; height: 14px; }
.copy-btn[data-copied] { color: var(--accent-2); border-color: var(--accent); }
+/* A measured table inside a project block. The caption carries the conditions,
+ so the figures above it can be read without the repository open. */
+.measure {
+ margin: 0 0 24px;
+ overflow-x: auto;
+}
+.measure table {
+ width: 100%;
+ border-collapse: collapse;
+ font-variant-numeric: tabular-nums;
+}
+.measure caption {
+ caption-side: bottom;
+ padding-top: 12px;
+ text-align: left;
+ font-size: .8125rem;
+ line-height: 1.5;
+ color: var(--fg-3);
+}
+.measure th {
+ text-align: left;
+ font-size: .6875rem;
+ font-weight: 600;
+ letter-spacing: .12em;
+ text-transform: uppercase;
+ color: var(--fg-3);
+ padding: 0 20px 10px 0;
+ border-bottom: 1px solid var(--line-2);
+}
+.measure td {
+ padding: 11px 20px 11px 0;
+ border-bottom: 1px solid var(--line);
+ font-size: .9375rem;
+}
+.measure td:first-child { color: var(--fg-2); }
+.measure td:nth-child(2) { font-weight: 600; }
+.measure td:last-child { color: var(--fg-3); font-size: .8125rem; padding-right: 0; }
+.measure code { color: var(--fg-2); }
+
/* --- Course --------------------------------------------------------------- */
.course {
diff --git a/index.html b/index.html
index 85d4871..bb56ff7 100644
--- a/index.html
+++ b/index.html
@@ -298,6 +298,29 @@ stadion
with a confidence interval and placed on that scale, so «better» means a distance from
the best achievable result rather than a position on a leaderboard.
+
+
+
+ Headroom between the tuned classical method and the computed optimum, with a 95% bootstrap interval on the paired difference.
+
+ | Task | Headroom | 95% interval |
+
+
+ inventory | +0.4% | [+0.561, +1.031] |
+ joint-pricing | +4.3% | [+3.794, +5.656] |
+ pricing | +6.2% | [+1.265, +1.761] |
+ queueing | +16.9% | [+3.418, +3.988] |
+ supply-chain | +17.3% | [+5.505, +7.493] |
+ energy | +26.6% | [+4.221, +4.690] |
+
+
+
+
+ The spread is the point. Where the textbook answer is already near-optimal there
+ is almost nothing to win; where it cannot plan ahead, a quarter of the value is
+ still on the table. A benchmark whose tasks all leave generous headroom has
+ selected for problems the standard method happens to be bad at.
+
Repository
PyPI
diff --git a/ru/index.html b/ru/index.html
index 9282466..5348927 100644
--- a/ru/index.html
+++ b/ru/index.html
@@ -300,6 +300,29 @@
stadion
выдаётся с доверительным интервалом и ставится на эту шкалу, поэтому «лучше» означает
расстояние до достижимого предела, а не позицию в таблице лидеров.
+
+
+
+ Запас между настроенным классическим методом и посчитанным оптимумом, с 95% бутстрап-интервалом на парной разности.
+
+ | Задача | Запас | 95% интервал |
+
+
+ inventory | +0.4% | [+0.561, +1.031] |
+ joint-pricing | +4.3% | [+3.794, +5.656] |
+ pricing | +6.2% | [+1.265, +1.761] |
+ queueing | +16.9% | [+3.418, +3.988] |
+ supply-chain | +17.3% | [+5.505, +7.493] |
+ energy | +26.6% | [+4.221, +4.690] |
+
+
+
+
+ Разброс здесь и есть содержание. Там, где учебный ответ уже почти оптимален,
+ выигрывать нечего; там, где он не умеет планировать вперёд, на столе остаётся
+ четверть ценности. Бенчмарк, у которого все задачи оставляют щедрый запас,
+ отобран под проблемы, на которых стандартный метод плох.
+