# Archived August 2026 experiment

Historical results, not current validation. The old pipeline used later weather and events
and a different stop population. Do not treat the following numbers or claims as evidence
for the current model. The September report documents the corrected comparison.

# RailCast Baseline — Auto-Report
_Generiert: 2026-08-07T16:50:29.109130+00:00_

- **DB:** `/mnt/hotdata/railcast-dwh/railcast.db`
- **Train-Cutoff:** 2026-06-30 17:00:00+00:00
- **Train rows:** 766,363
- **Test rows (letzte 5 Tage):** 107,213

## 1. Regression — `delay_dep` (Minuten)
- Train: 701,067 | Test: 98,886
- **Modell**: MAE = 4.96 min · MedianAE = 1.63 · R² = 0.459
- Baseline (Mittelwert): MAE = 8.56 min
- Baseline (Median): MAE = 6.99 min

**Quantil-Modelle** (loss=quantile · Coverage = Anteil y ≤ Vorhersage, Soll ≈ Quantil):
- q50: Pinball = 2.481 · Coverage = 52.3% (Soll 50%)
- q80: Pinball = 2.573 · Coverage = 81.1% (Soll 80%)
- q90: Pinball = 2.030 · Coverage = 90.7% (Soll 90%)

**MAE je train_type** (Test, n ≥ 50):

| Typ | n | MAE | MedianAE |
|---|---|---|---|
| S | 24,117 | 3.39 | 1.40 |
| RE | 14,336 | 3.47 | 1.15 |
| ICE | 14,007 | 9.23 | 4.23 |
| NX | 9,906 | 7.50 | 3.10 |
| RB | 9,284 | 3.07 | 1.16 |
| ERB | 2,434 | 4.30 | 1.50 |
| ARV | 2,160 | 3.06 | 1.11 |
| VIA | 1,984 | 5.18 | 2.29 |
| IC | 1,764 | 8.83 | 3.26 |
| Bus | 1,617 | 0.16 | 0.00 |
| SBH | 1,305 | 2.16 | 0.90 |
| HLB | 1,270 | 7.00 | 2.33 |
| NWB | 1,256 | 2.15 | 0.82 |
| TR | 986 | 4.82 | 2.71 |
| R | 769 | 5.74 | 2.02 |
| BRB | 747 | 1.40 | 0.85 |
| erx | 692 | 0.85 | 0.23 |
| ag | 640 | 3.11 | 1.20 |
| NBE | 542 | 1.06 | 0.13 |
| RRB | 533 | 3.34 | 0.97 |
| ME | 506 | 4.67 | 1.66 |
| CAN | 492 | 4.06 | 0.99 |
| SWE | 469 | 2.51 | 0.75 |
| RSM | 461 | 2.91 | 1.06 |
| vlx | 461 | 4.96 | 2.28 |
| FLX | 456 | 11.83 | 4.52 |
| WFB | 454 | 3.49 | 1.07 |
| OE | 449 | 2.58 | 0.95 |
| NJ | 436 | 29.47 | 9.65 |
| ABR | 398 | 4.05 | 2.04 |
| AVG | 357 | 2.58 | 0.75 |
| RTB | 343 | 0.75 | 0.05 |
| TCS | 329 | 5.43 | 2.89 |
| RJ | 259 | 17.17 | 7.29 |
| RT | 251 | 5.35 | 1.95 |
| MRB | 223 | 0.85 | 0.52 |
| EB | 217 | 1.44 | 0.72 |
| ECE | 203 | 8.49 | 2.90 |
| STB | 184 | 1.55 | 0.93 |
| STN | 171 | 3.26 | 1.43 |
| ALX | 166 | 7.40 | 3.84 |
| TGV | 154 | 8.63 | 4.78 |
| TL | 134 | 1.21 | 0.68 |
| TLX | 133 | 1.12 | 0.64 |
| EN | 128 | 20.60 | 6.76 |
| ENO | 117 | 1.15 | 0.78 |
| TRI | 116 | 8.97 | 4.14 |
| OPB | 100 | 1.94 | 0.64 |
| RSU | 76 | 2.02 | 1.78 |
| EC | 69 | 27.31 | 10.94 |
| WB | 66 | 2.05 | 0.80 |

**Top Features:**
- `run_last_known_delay_at_t` — 1.791
- `run_max_delay_at_t` — 0.843
- `run_minutes_since_last_obs` — 0.357
- `eva` — 0.223
- `train_type` — 0.170
- `line_mean_delay_60m` — 0.100
- `station_share_delayed6_60m` — 0.067
- `platform_gap_min` — 0.066
- `train_number_prior_7d` — 0.064
- `platform_pred_delay_at_t` — 0.059

## 2. Classification — `delayed > 6 min`
- Train: 701,067 (24.4% positive) · davon Fit: 605,884
- Test: 98,886 (26.2% positive)
- **AUC**: 0.828
- Majority-baseline accuracy: 73.8%
- **Brier**: roh 0.1322 → isotonic 0.1320 (Kalibrier-Slice: letzte 5 Train-Tage, n=95,183)
- **Recall@Precision≥0.5**: 75.3% (P=0.50 bei Cutoff 0.220)

| Cutoff | Precision | Recall | F1 |
|---|---|---|---|
| 0.10 | 0.352 | 0.935 | 0.511 |
| 0.15 | 0.405 | 0.870 | 0.553 |
| 0.20 | 0.464 | 0.796 | 0.586 |
| 0.25 | 0.515 | 0.736 | 0.606 |
| 0.30 | 0.599 | 0.626 | 0.612 |
| 0.40 | 0.687 | 0.521 | 0.593 |
| 0.50 | 0.779 | 0.421 | 0.547 |
| 0.60 | 0.845 | 0.348 | 0.493 |
| 0.70 | 0.900 | 0.284 | 0.432 |

**Positivrate je train_type** (Test, n ≥ 50): S 18.3% (n=24,117) · RE 16.5% (n=14,336) · ICE 54.5% (n=14,007) · NX 41.9% (n=9,906) · RB 16.2% (n=9,284) · ERB 22.7% (n=2,434) · ARV 15.2% (n=2,160) · VIA 32.9% (n=1,984) · IC 42.1% (n=1,764) · Bus 0.7% (n=1,617)

**Top Features:**
- `run_last_known_delay_at_t` — 0.034
- `train_type` — 0.030
- `eva` — 0.029
- `line_mean_delay_60m` — 0.022
- `station_share_delayed6_60m` — 0.011
- `platform_gap_min` — 0.008
- `route_position` — 0.005
- `train_number_prior_7d` — 0.004
- `run_max_delay_at_t` — 0.004
- `platform_pred_delay_at_t` — 0.004

## 2. Classification — `cancelled`
- Train: 766,363 (8.5% positive) · davon Fit: 652,306
- Test: 107,213 (7.8% positive)
- **AUC**: 0.798
- Majority-baseline accuracy: 92.2%
- **Brier**: roh 0.0787 → isotonic 0.0729 (Kalibrier-Slice: letzte 5 Train-Tage, n=114,057)
- **Recall@Precision≥0.5**: 0.2% (P=0.68 bei Cutoff 0.877)

| Cutoff | Precision | Recall | F1 |
|---|---|---|---|
| 0.10 | 0.174 | 0.772 | 0.284 |
| 0.15 | 0.228 | 0.622 | 0.334 |
| 0.20 | 0.259 | 0.529 | 0.348 |
| 0.25 | 0.277 | 0.470 | 0.349 |
| 0.30 | 0.286 | 0.441 | 0.347 |
| 0.40 | 0.310 | 0.318 | 0.314 |
| 0.50 | 0.317 | 0.239 | 0.272 |
| 0.60 | 0.318 | 0.209 | 0.252 |
| 0.70 | 0.345 | 0.093 | 0.146 |

**Positivrate je train_type** (Test, n ≥ 50): S 9.1% (n=26,538) · ICE 9.8% (n=15,531) · RE 5.7% (n=15,203) · NX 7.4% (n=10,703) · RB 6.6% (n=9,943) · ERB 17.5% (n=2,951) · ARV 3.2% (n=2,232) · IC 16.7% (n=2,118) · VIA 2.5% (n=2,035) · Bus 1.4% (n=1,640)

**Top Features:**
- `eva` — 0.069
- `train_type` — 0.063
- `line_cancel_rate_14d` — 0.029
- `run_minutes_since_last_obs` — 0.022
- `line_mean_delay_60m` — 0.022
- `run_max_delay_at_t` — 0.017
- `run_last_known_delay_at_t` — 0.014
- `station_d_msgs_60m` — 0.013
- `route_position` — 0.008
- `temp_c` — 0.007
