RTPPM
PPM, the Public Performance Measure, is the percentage of trains that arrive 'on time' at their destination, regardless of who has impacted on the train service. Rather than simply focussing on trains arriving exactly on-time ('Right Time'), a reasonable tolerance is built in to the calculation.
- For long-distance services, 'on time' describes trains up to 10 minutes late
- For shorter distance services, 'on time' describes trains up to 5 minutes late
The PPM figures on the Open Data feed differs slightly from the official PPM figures issued by Network Rail:
- The RTPPM data calculates PPM on the basis on trains arriving at their destination between 0200 and 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 VSTP schedules are counted, i.e. trains that are planned or altered on the day they are due to run are included in the RTPPM figures, but would normally be excluded from the official PPM report
- Where a train has been cancelled prior to the day it runs, the 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
- Non-applicable trains are included in the RTPPM calculations, but not in the official PPM figures
- The system does not record 'fail to stop' events, diversions from the planned route or trains starting away from the planned origin. It does, however, 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.
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 |
|
text | Current performance value (percentage) |
trendInd | Trend Indicator
|
Sector records
sectorDesc sectorCode SectorPPM: Total OnTime Late CancelVeryLate PPM: rag text RollingPPM: trendInd rag text}
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 |
---|---|
sectorDesc | Description of the sector |
sectorCode | Code of the sector |
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 Uses • FAQ • 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) |