from_bpuic | string | redistributed | Station number of the first stop, as the publisher records it (BPUIC). |
to_bpuic | string | redistributed | Station number of the second stop. The pair is ordered: this leg is one direction. |
from_name | string or null | redistributed | Station name as the publisher delivers it. Their own note: it is the operator's string, not the official DiDok name, so the two can differ. |
to_name | string or null | redistributed | The same for the second stop. |
category | string | redistributed | Train category, the publisher's VERKEHRSMITTEL_TEXT: IC, IR, RE, S, R and so on. Part of the class key, because stopping pattern and rolling stock differ by category over the same rails. |
traversals_measured | integer | built | Trains that ran this leg in the window with a REAL departure at the first stop and a REAL arrival at the second. Every statistic below is over these. |
traversals_scheduled | integer | built | Trains scheduled over this leg in the window, measured or not. The gap is coverage, not cancellation. |
traversals_impossible | integer | built | Traversals dropped because the realised run time came out negative, which cannot happen. Non-zero here means the record disagrees with itself on this leg; see the README. |
scheduled_run_median_s | number or null | built | Median scheduled running time, second stop's scheduled arrival minus first stop's scheduled departure. The publisher rounds scheduled times to the minute, so this is a multiple of 60 except where the median falls between two values. |
realised_run_median_s | number or null | built | Median of the same quantity measured. |
realised_run_p01_s | number or null | built | First percentile of realised running time, nearest rank. Used as an UPPER BOUND on the technical minimum, which is not observable. It is not a claim about how fast the train could go. |
slack_present_s | number or null | built | scheduled_run_median_s minus realised_run_p01_s. How much longer the timetable allows than the fastest the trains are observed to do it. Slack PRESENT. |
absorption_best_s | number or null | built | The largest median lateness this leg gives back, over entering-delay bins of one minute from 0 to 15 with at least 10 traversals. Slack USED, and a different quantity from slack present: the two differ in nine leg classes out of ten. Null means no bin qualified. Negative means that on the median this leg makes trains later. |
absorption_best_at_min | integer or null | built | The entering delay, in whole minutes, at which that best absorption occurs. |
absorption_best_n | integer or null | built | How many traversals were in that bin. |
on_time_rate | number or null | built | Share of measured traversals arriving at the second stop under 180 seconds late. Six decimal places. |
absorption_curve | array | built | The whole curve, not just its maximum: one entry per entering-delay bin that had any traversals. |