RTPPM

From Open Rail Data Wiki

The Public Performance Measure (PPM), is the percentage of trains that arrive 'on time' at their destination. The definition of 'on time' depends on whether a service is categorised as long-distance (up to to 10 minutes late) or short-distance (up to 5 minutes late).

The Real-Time PPM (RTPPM) data supplied on the Open Data feed differs slightly from the official PPM figures as issued by Network Rail:

  • RTPPM data considers a day to be from 0200 one day to 0159 the next day:
    • If a train starts its journey before midnight and finishes after 0200, it will not be counted in the day's figures.
    • If a train starts after midnight and finishes after 2am, it will be counted
    • If a train starts its journey before midnight but doesn't arrive at its destination until after 0159, it will not be counted
  • All non-applicable timetable (the majority of VSTP) schedules are counted, but are normally excluded from the official PPM figures
  • Where a train has been cancelled prior to the day it runs, RTPPM system will process that cancellation. If the train then actually runs, it will not be counted for PPM purposes, as the system would have already processed the planned cancellation and will treat the actual train as a duplicate
  • The system does not record 'fail to stop' events, diversions from the planned route or trains starting away from the planned origin, but it does count short terminations
  • The system rounds down all percentage values to the nearest whole number, so 92.7% will be displayed as 92%
  • The system cannot detect missed stops, which the official system picks up as a PPM failure through manual edits
  • For Thameslink services, RTPPM only registers a PPM success or failure at the service's destination. This differs from the official system, which registers the services twice - once at Blackfriars (northbound) or Farringdon (southbound), and once at its destination

'CaSL' refers to Cancellations and Significant Lateness. The figure is made up by adding together the number of cancelled trains and the number of trains more than 29 minutes late. The percentage is derived from taking the total number of CaSL'd trains diving by the total number of trains due to run up until that point.

'PPM' is calculated using the details of all trains which have arrived at their destination in the current PPM 'day' as defined above. 'RollingPPM' is the PPM calculation restricted to trains which have arrived at their destination in the last two hours. This gives a "live" version of PPM

Message Topics

RTPPM messages are delivered through ActiveMQ.

Topic name Description
RTPPM_ALL Current realtime PPM statistics delivered once per minute

Record Layout

RTPPM records are encoded as a JSON hash with a key of "RTPPMDataMsgV1" and a value containing the RTPPM data, in the following layout:

RTPPMDataMsgV1:
 owner
 timestamp
 classification
 schemaLocation
 Sender:
  application
  organisation
 Publication:
  TopicID
 RTPPMData:
  snapshotTStamp
  SystemMsg
  RAGThresholds:
   <threshold values>
  WebPPMLink
  PPT:
   rag
   ragDisplayFlag
   text
  NationalPage:
   WebDisplayPeriod
   WebFixedMsg1
   WebFixedMsg2
   WebMsgOfMoment
   StaleFlag
   NationalPPM:
    Total
    OnTime
    Late
    CancelVeryLate
    PPM:
     rag
     ragDisplayFlag
     text
    RollingPPM:
     trendInd
     rag
     text
   Sector:
    <sector records>
   Operator:
    <operator records>
  OOCPage:
   WebDisplayPeriod
   WebFixedMsg1
   WebFixedMsg2
   Operator:
    <operator records>
  CommonOperatorPage:
   WebDisplayPeriod
   WebFixedMsg1
   WebFixedMsg2
  OperatorPage:
   <operator page records>
Field Description
snapshotTStamp The timestamp (in milliseconds since the UNIX epoch) when the report was created
WebDisplayPeriod The maximum period of time (in seconds) the data should be displayed
WebFixedMsg1 Static message to show on a web page
WebFixedMsg2 Static message to show on a web page
Total The total number of trains
OnTime The number of trains on time
Late The number of late trains
CancelVeryLate the number of cancelled trains and the number of trains more than 29 minutes late
rag
  • G Good performance
  • A Medium performance
  • R Bad performance
  • W Unknown
text Current performance value (percentage)
trendInd Trend Indicator
  • + Rising trend
  • = No change (flat)
  • - Falling trend

Sector records

sectorDesc
sectorCode
SectorPPM:
 Total
 OnTime
 Late
 CancelVeryLate
 PPM:
  rag
  text
 RollingPPM:
  trendInd
  rag
  text
Field Description
sectorDesc Description of the sector
sectorCode Code of the sector

Operator page records

Operator:
 code
 keySymbol
 name
 Total
 OnTime
 Late
 CancelVeryLate
 PPM:
  rag
  text
 RollingPPM:
  trendInd
  displayFlag
  rag
  text
OprToleranceTotal:
 timeband
 Total
 OnTime
 Late
 CancelVeryLate
OprServiceGrp:
 <operator service group records>
Field Description
code The sector code used to represent the TOC in TRUST.
keySymbol The key character used to display different performance thresholds.
name The name of the TOC.

Operator service group records

name
timeband
sectorCode
Total
OnTime
Late
CancelVeryLate

PPM:
 rag
 text
 
RollingPPM:
 trendInd
 displayFlag
 rag
 text
Field Description
name Name of the service group.
timeband
sectorCode Code of the sector the service group is related to.


Network Rail Open Data Feeds
Data Feeds About the Feeds Account States Durable Subscriptions Example Code ( PHP / C# / Java / Ruby / Node.js) • Advanced UsesFAQ Release Notes
RTPPM RTPPM Feed
Train Movements Train Movements Feed Train Activation Train Cancellation Train Movement Train Reinstatement Change of Origin Change of Identity Change of Location TSPEED Field Planned Cancellations Cancellation Codes
TD TD Feed C-Class Messages S-Class Messages Train Describers TD Berths
VSTP VSTP Feed
TSR TSR Feed Route Codes
SCHEDULE SCHEDULE Feed TIPLOC Records Schedule and Location Records Association Records CIF Codes How Scheduling Works Allowances
Reference Data Reference Data Feed TOC Codes CIF Codes Delay Attribution Codes Identifying Locations (STANOX, TIPLOC, NLC and 3-Alpha Codes) STANOX Geographical Areas Train Planning data (BPLAN)