Skip to main content

On Time Performance

The plugin On Time Performance contains a snippet and a script template to extract the necessary data to calculate the OTP according to Network Rail standards.

OTP

The percentage of recorded station stops where the train arrived less than one minute later than its advertised time.

From Network Rail, Railway Performance

Quick start

  1. Install or enable the On Time Performance plugin.
  2. In a Simulation or Stochastic Simulation projects, right click on the project node, then New, On Time Performance (simulation listener). This new script file will open:
    snippet('lib/OnTimePerformance',
    // name: 'OTP', // name of the KPI in the summary file
    // displayName: 'On Time Performance', // display name of the KPI in the Trenissimo user interface
    // description: 'The percentage of station stops for passenger trains arrived early or within a specified lateness margin', // description of the KPI in the Trenissimo user interface
    // trainFilter: 'passenger and revenue', // filter to consider only a subset of trains; normally only passenger trains in revenue service are counted
    // entryFilter: 'arriving', // filter to consider only a subset of timetable entries; normally only arrivals are counted (i.e. not origin and not pass)
    // threshold: 1.minutes, // threshold for 'on time' status; normally up to 0:59 delay is considered on time; thresolds can be different by train or entry, see below
    // thresholds: [
    // 'train service class = 1 and not peak hour': 2.minutes,
    // 'train service class = 9 and not peak hour': 2.minutes,
    // 'peak hour': 30.seconds
    //]
    )
  3. Customize the snippet.
    • name: (optional) the name shown in the summary, if not defined the default 'OTP' will be used.
    • displayName: the display name shown in the summary, if not defined, On Time Performance will be used.
    • description: the description shown in the summary, if not defined, the default OTP description will be used.
    • trainFilter: a custom filter to select trains subject to the OTP measurement. By default, only passenger trains in revenue service are counted.
    • entryFilter: a custom filter to select path entries subject to the OTP measurement. By default, all arrivals are counted (intermediate stops and destination entries).
    • threshold: the default delay threshold is 1 minute. This value is applied to all trains and all entries
    • thresholds: a custom assignment of thresolds to trains and entries.
  4. Execute the simulation.

All the logic is contained in the lib/OnTimePerformance.snippet snippet, the body of the script contains only the configuration. The index is calculated as the percentage of the passenger train stops with an arrival delay below the minute, compared to all the passenger trains of the simulation. ECS and Freight trains are ignored.

Examples

snippet('lib/OnTimePerformance',
threshold: 2.minutes
)