{
  "schema_version": 2,
  "generated_at": "2026-10-07T03:41:01Z",
  "license": "CC-BY-4.0",
  "source": "https://railcast.de/",
  "quality_thresholds": {
    "min_estimates": 100,
    "min_departure_status_coverage_pct": 50
  },
  "eva": "8000118",
  "name": "Gelsenkirchen Hbf",
  "first_planned_day": "2026-09-28",
  "windows": {
    "7d": {
      "window": {
        "days": 7,
        "from": "2026-09-30",
        "to": "2026-10-06"
      },
      "n": 3026,
      "punctuality_pct": 47.32,
      "median_delay_min": 6,
      "p90_delay_min": 26,
      "cancel_rate_pct": 93.43,
      "cancel_rate_denominator": "n_departure_status_known",
      "n_planned": 3242,
      "n_estimated": 3026,
      "n_departure_status_known": 213,
      "n_cancelled_departure": 199,
      "n_legacy_cancellation_unknown": 5,
      "n_unobserved": 12,
      "n_estimated_without_departure_status": 3012,
      "observation_coverage_pct": 93.34,
      "departure_status_coverage_pct": 6.57,
      "legacy_or_cancel_rate_pct": 6.32,
      "label_policy": "latest_source_estimate; not confirmed departure",
      "quality_status": "low_status_coverage"
    },
    "30d": {
      "window": {
        "days": 30,
        "from": "2026-09-07",
        "to": "2026-10-06"
      },
      "n": 3857,
      "punctuality_pct": 46.18,
      "median_delay_min": 6,
      "p90_delay_min": 26,
      "cancel_rate_pct": 94.8,
      "cancel_rate_denominator": "n_departure_status_known",
      "n_planned": 4130,
      "n_estimated": 3857,
      "n_departure_status_known": 269,
      "n_cancelled_departure": 255,
      "n_legacy_cancellation_unknown": 6,
      "n_unobserved": 12,
      "n_estimated_without_departure_status": 3843,
      "observation_coverage_pct": 93.39,
      "departure_status_coverage_pct": 6.51,
      "legacy_or_cancel_rate_pct": 6.34,
      "label_policy": "latest_source_estimate; not confirmed departure",
      "quality_status": "low_status_coverage"
    }
  }
}
