{"schema":"https://otranspo.ca/schemas/public-api/v1/route-evidence","schemaVersion":"1.0.0","evidenceState":"measured","generatedAt":"2026-11-03T23:32:32.690Z","route":{"id":"oc_transpo:20","publicNumber":"20","operatorId":"oc_transpo","operatorName":"OC Transpo","variantIds":["20"]},"grading":{"servicePurpose":"conventional","policy":"all_settled_arrivals","contextToVerify":[],"numericOtpPublished":true},"definitions":{"onTime":"absolute difference between the last eligible provider prediction and the scheduled arrival is no more than 300 seconds; this does not measure actual arrival","worstFiveInOneHundred":"95th-percentile difference between last eligible provider predictions and scheduled arrivals; a threshold, not a maximum or average of the latest 5%","noPublishedPosition":"a scheduled trip with no matching public vehicle position in this coverage check; this is not by itself a confirmed no-show or cancellation","riderReports":"investigation leads only; not counted as service-failure proof"},"methods":{"settledArrivals":"last-prediction-within-ten-minutes-v1","scheduledTripPositions":"retained-timetable-trip-position-v2"},"cohorts":[{"routeId":"20","computedAt":"2026-11-03T23:32:32.690Z","summary":{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","observations":89846,"weekdaysObserved":19,"serviceDaysObserved":27,"onTimePct":65.5,"averageDelaySeconds":268.9,"p95DelaySeconds":855,"computedAt":"2026-11-03T23:32:32.690Z","windowStart":"2026-10-05T00:00:00.000Z","windowEnd":"2026-11-02T23:59:59.999Z"},"hourlyReliability":[{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":0,"observations":496,"serviceDays":11,"onTimePct":57.5,"medianDelaySeconds":230,"p95DelaySeconds":1281},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":5,"observations":1177,"serviceDays":11,"onTimePct":98.6,"medianDelaySeconds":47,"p95DelaySeconds":263},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":6,"observations":1582,"serviceDays":13,"onTimePct":77.3,"medianDelaySeconds":211,"p95DelaySeconds":398},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":7,"observations":2031,"serviceDays":12,"onTimePct":76.5,"medianDelaySeconds":156,"p95DelaySeconds":541},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":8,"observations":2474,"serviceDays":14,"onTimePct":62.7,"medianDelaySeconds":205,"p95DelaySeconds":816},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":9,"observations":2948,"serviceDays":14,"onTimePct":78,"medianDelaySeconds":117,"p95DelaySeconds":629},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":10,"observations":2969,"serviceDays":14,"onTimePct":77.3,"medianDelaySeconds":149,"p95DelaySeconds":541},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":11,"observations":2986,"serviceDays":14,"onTimePct":73.8,"medianDelaySeconds":170,"p95DelaySeconds":581},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":12,"observations":2987,"serviceDays":14,"onTimePct":75.3,"medianDelaySeconds":126,"p95DelaySeconds":621},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":13,"observations":2991,"serviceDays":14,"onTimePct":70.3,"medianDelaySeconds":159,"p95DelaySeconds":668},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":14,"observations":2752,"serviceDays":14,"onTimePct":62.5,"medianDelaySeconds":194,"p95DelaySeconds":714},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":15,"observations":2394,"serviceDays":14,"onTimePct":51.7,"medianDelaySeconds":267,"p95DelaySeconds":1253},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":16,"observations":2343,"serviceDays":14,"onTimePct":36.4,"medianDelaySeconds":401,"p95DelaySeconds":1934},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":17,"observations":2535,"serviceDays":14,"onTimePct":35.1,"medianDelaySeconds":414,"p95DelaySeconds":2314},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":18,"observations":2648,"serviceDays":14,"onTimePct":34.1,"medianDelaySeconds":395,"p95DelaySeconds":1139},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":19,"observations":3105,"serviceDays":14,"onTimePct":55.7,"medianDelaySeconds":258,"p95DelaySeconds":891},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":20,"observations":2843,"serviceDays":14,"onTimePct":65.1,"medianDelaySeconds":214,"p95DelaySeconds":642},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":21,"observations":2613,"serviceDays":14,"onTimePct":59.7,"medianDelaySeconds":262,"p95DelaySeconds":739},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":22,"observations":2181,"serviceDays":14,"onTimePct":67.3,"medianDelaySeconds":171,"p95DelaySeconds":722},{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","hour":23,"observations":1387,"serviceDays":14,"onTimePct":70.2,"medianDelaySeconds":172,"p95DelaySeconds":1298}],"scheduledTripPositionCoverage":{"routeId":"20","routeLabel":"20","operatorId":"oc_transpo","scheduledTrips":448,"observedTrips":444,"notObservedTrips":4,"coveragePct":99.1,"serviceDays":1},"scheduledTripPositionCoverageByHour":[{"hour":0,"scheduledTrips":1,"observedTrips":1,"notObservedTrips":0,"coveragePct":100},{"hour":5,"scheduledTrips":10,"observedTrips":10,"notObservedTrips":0,"coveragePct":100},{"hour":6,"scheduledTrips":21,"observedTrips":20,"notObservedTrips":1,"coveragePct":95.2},{"hour":7,"scheduledTrips":21,"observedTrips":21,"notObservedTrips":0,"coveragePct":100},{"hour":8,"scheduledTrips":25,"observedTrips":25,"notObservedTrips":0,"coveragePct":100},{"hour":9,"scheduledTrips":28,"observedTrips":28,"notObservedTrips":0,"coveragePct":100},{"hour":10,"scheduledTrips":28,"observedTrips":28,"notObservedTrips":0,"coveragePct":100},{"hour":11,"scheduledTrips":28,"observedTrips":28,"notObservedTrips":0,"coveragePct":100},{"hour":12,"scheduledTrips":28,"observedTrips":28,"notObservedTrips":0,"coveragePct":100},{"hour":13,"scheduledTrips":28,"observedTrips":28,"notObservedTrips":0,"coveragePct":100},{"hour":14,"scheduledTrips":23,"observedTrips":23,"notObservedTrips":0,"coveragePct":100},{"hour":15,"scheduledTrips":23,"observedTrips":22,"notObservedTrips":1,"coveragePct":95.7},{"hour":16,"scheduledTrips":23,"observedTrips":23,"notObservedTrips":0,"coveragePct":100},{"hour":17,"scheduledTrips":28,"observedTrips":27,"notObservedTrips":1,"coveragePct":96.4},{"hour":18,"scheduledTrips":23,"observedTrips":23,"notObservedTrips":0,"coveragePct":100},{"hour":19,"scheduledTrips":28,"observedTrips":28,"notObservedTrips":0,"coveragePct":100},{"hour":20,"scheduledTrips":26,"observedTrips":25,"notObservedTrips":1,"coveragePct":96.2},{"hour":21,"scheduledTrips":24,"observedTrips":24,"notObservedTrips":0,"coveragePct":100},{"hour":22,"scheduledTrips":19,"observedTrips":19,"notObservedTrips":0,"coveragePct":100},{"hour":23,"scheduledTrips":13,"observedTrips":13,"notObservedTrips":0,"coveragePct":100}],"headwayRegularity":null}],"recurringProblemStops":[{"stopId":"8361","stopName":"MONTRÉAL / CUMMINGS","observations":914,"onTimeArrivals":431,"onTimePct":47.2,"medianDelaySeconds":330,"worstFiveInOneHundredDelaySeconds":1123,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:07.650Z"},{"stopId":"4457","stopName":"ST-LAURENT / BRITTANY","observations":915,"onTimeArrivals":437,"onTimePct":47.8,"medianDelaySeconds":315,"worstFiveInOneHundredDelaySeconds":1074,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:08.258Z"},{"stopId":"5934","stopName":"BRITTANY / COLEFORD","observations":915,"onTimeArrivals":441,"onTimePct":48.2,"medianDelaySeconds":316,"worstFiveInOneHundredDelaySeconds":1069,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:08.097Z"},{"stopId":"4456","stopName":"ST-LAURENT / AD. 505","observations":915,"onTimeArrivals":443,"onTimePct":48.4,"medianDelaySeconds":316,"worstFiveInOneHundredDelaySeconds":1088,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:08.258Z"},{"stopId":"4459","stopName":"BRITTANY / QUARRY","observations":913,"onTimeArrivals":442,"onTimePct":48.4,"medianDelaySeconds":308,"worstFiveInOneHundredDelaySeconds":1041,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:07.896Z"},{"stopId":"4458","stopName":"BRITTANY / BANGS","observations":915,"onTimeArrivals":444,"onTimePct":48.5,"medianDelaySeconds":310,"worstFiveInOneHundredDelaySeconds":1071,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:08.097Z"},{"stopId":"4455","stopName":"ST-LAURENT / MONTRÉAL","observations":914,"onTimeArrivals":443,"onTimePct":48.5,"medianDelaySeconds":309,"worstFiveInOneHundredDelaySeconds":1082,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:08.494Z"},{"stopId":"1171","stopName":"MONTRÉAL / NOTRE-DAME CEMETERY","observations":915,"onTimeArrivals":445,"onTimePct":48.6,"medianDelaySeconds":306,"worstFiveInOneHundredDelaySeconds":1040,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:08.494Z"},{"stopId":"4460","stopName":"BRITTANY / KRISTIN","observations":914,"onTimeArrivals":450,"onTimePct":49.2,"medianDelaySeconds":305,"worstFiveInOneHundredDelaySeconds":1081,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:07.896Z"},{"stopId":"1170","stopName":"MONTRÉAL / DE L'ÉGLISE","observations":915,"onTimeArrivals":453,"onTimePct":49.5,"medianDelaySeconds":303,"worstFiveInOneHundredDelaySeconds":1034,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:08.494Z"},{"stopId":"4461","stopName":"BRITTANY / MONTRÉAL","observations":914,"onTimeArrivals":452,"onTimePct":49.5,"medianDelaySeconds":303,"worstFiveInOneHundredDelaySeconds":1084,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:07.896Z"},{"stopId":"10385","stopName":"MONTRÉAL / LAFONTAINE","observations":914,"onTimeArrivals":465,"onTimePct":50.9,"medianDelaySeconds":295,"worstFiveInOneHundredDelaySeconds":1040,"serviceDays":30,"windowStart":"2026-10-04","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T05:03:08.685Z"}],"publishedScheduleChange":{"state":"measured","operatorId":"oc_transpo","publicNumber":"20","effectiveDate":"2026-10-30","generatedAt":"2026-11-03T23:39:14.804Z","before":{"phase":"before","comparisonDate":"2026-10-26","feedVersionId":"3932bee1-4577-4968-9a97-2987e88312ad","sourceChecksum":"1d13d0abb2506002092feaff3dc08c45abd96d7b94ad4ed13c73616dab7e8ed8","sourceUrl":"https://oct-gtfs-emasagcnfmcgeham.z01.azurefd.net/public-access/GTFSExport.zip","sourceFetchedAt":"2026-10-23T01:15:52.775Z","serviceStart":"2026-10-23","serviceEnd":"2026-11-23","routeIds":["20"],"longNames":["Rideau <> St-Laurent"],"headsigns":["Rideau","St-Laurent"],"scheduledTrips":67,"distinctStops":100,"distinctShapes":2,"firstServiceSeconds":18600,"lastServiceSeconds":87720,"shapeChecksums":["08320889456f83c78dd21264930dfabcac194f6eccf4cced1bb31d8d28765edf","0cba78810a58e1bb4b8fb15263328a7135f22a42e86a97a67a40137729e73433","47a95230e6418edff3a5573796768fa42516909604e8da53745e27137d7d9c0d","6690e3afdb0ed39d403163b744aa3692887b2ac97fafd5981dbd0d0dd4abfd8a","6f43065d072a47fb2c284709496bcb1c365343a2ef3ad96b92976c2a1b7a3049","7fd2cbf0fbd0bab354669c27366e51b779a819b619656ba12da4298aea45c6c4","9bfa697e733cff69e08b38595b4eecc39159aa94babe17479c4a9722cc312e10","a2bd145a8a74774b4f30f0adc9ee99259ba53dd5e4403c5e5bf55535abbfe520","af87fd89d79745af469e0cad8dad30eec4afeba2f49247d76498ec4eefa32c96","b10285f9ee36885c2dce3821807649acfb0c642824792296f0c214f5718cd0a0","c24ab8a61d863b8fe20fdc33037e57d2b5cdfce1ccb0e09b30479cf37ea55b0a","e2a287d510913cb29dcd01f59c76b69c6b5cafa31ea3e215240a1211fb7eb6d6"],"calendarAddedServiceCount":0,"calendarRemovedServiceCount":2},"after":{"phase":"after","comparisonDate":"2026-11-02","feedVersionId":"6ee8491d-8f94-4122-a67b-ef228d9e0945","sourceChecksum":"91dd8e42516043447b7a3e7185d65557916494aaafeb36792fa1c09c514e2bbb","sourceUrl":"https://oct-gtfs-emasagcnfmcgeham.z01.azurefd.net/public-access/GTFSExport.zip","sourceFetchedAt":"2026-10-30T01:00:32.195Z","serviceStart":"2026-10-30","serviceEnd":"2026-11-30","routeIds":["20"],"longNames":["Rideau <> St-Laurent"],"headsigns":["Rideau","St-Laurent"],"scheduledTrips":67,"distinctStops":100,"distinctShapes":2,"firstServiceSeconds":18600,"lastServiceSeconds":87720,"shapeChecksums":["08320889456f83c78dd21264930dfabcac194f6eccf4cced1bb31d8d28765edf","0cba78810a58e1bb4b8fb15263328a7135f22a42e86a97a67a40137729e73433","47a95230e6418edff3a5573796768fa42516909604e8da53745e27137d7d9c0d","6690e3afdb0ed39d403163b744aa3692887b2ac97fafd5981dbd0d0dd4abfd8a","6f43065d072a47fb2c284709496bcb1c365343a2ef3ad96b92976c2a1b7a3049","7fd2cbf0fbd0bab354669c27366e51b779a819b619656ba12da4298aea45c6c4","9bfa697e733cff69e08b38595b4eecc39159aa94babe17479c4a9722cc312e10","a2bd145a8a74774b4f30f0adc9ee99259ba53dd5e4403c5e5bf55535abbfe520","af87fd89d79745af469e0cad8dad30eec4afeba2f49247d76498ec4eefa32c96","b10285f9ee36885c2dce3821807649acfb0c642824792296f0c214f5718cd0a0","c24ab8a61d863b8fe20fdc33037e57d2b5cdfce1ccb0e09b30479cf37ea55b0a","e2a287d510913cb29dcd01f59c76b69c6b5cafa31ea3e215240a1211fb7eb6d6"],"calendarAddedServiceCount":0,"calendarRemovedServiceCount":2},"reliabilityBefore":{"phase":"before","windowStart":"2026-10-16","windowEnd":"2026-10-29","observations":46768,"serviceDays":14,"withinFiveMinutesPct":65.3,"averageDelaySeconds":272,"worstFiveInOneHundredDelaySeconds":869},"reliabilityAfter":{"phase":"after","windowStart":"2026-10-30","windowEnd":"2026-11-02","observations":13159,"serviceDays":4,"withinFiveMinutesPct":54.7,"averageDelaySeconds":330,"worstFiveInOneHundredDelaySeconds":912},"reliabilityComparisonReady":false,"scheduleComparisonQualification":"calendar_exception"},"meta":{"schema":"https://otranspo.ca/schemas/response-meta/v1","schemaVersion":1,"surface":"public.reliability-evidence","requestId":null,"requestIdState":"header_only_for_cacheable_compatibility","generatedAt":"2026-11-03T23:54:11.666Z","freshnessSeconds":428019,"sourceState":"current","qualityState":"complete","evidenceIds":[],"missingSources":[],"reasonCodes":[],"sources":[{"id":"realtime:gtfs-rt","version":1,"kind":"gtfs_realtime","operatorId":null,"owner":"not-recorded","publicUrl":null,"publicUrlState":"not_recorded","licence":"not-recorded","licenceState":"not_recorded","cadence":"not-recorded","cadenceState":"not_recorded","snapshotId":"srcsnap_4eaf9670e29db46313096427c514d447c381e059efe6ce59d437af80b89b5007","checkedAt":"2026-11-03T23:54:11.666Z","observedAt":"2026-11-03T23:54:04.000Z","freshnessSeconds":7,"freshnessState":"current","qualityState":"complete","reasonCodes":[]},{"id":"gtfs-static:oc_transpo","version":1,"kind":"gtfs_static","operatorId":"oc_transpo","owner":"OC Transpo","publicUrl":"https://oct-gtfs-emasagcnfmcgeham.z01.azurefd.net/public-access/GTFSExport.zip","publicUrlState":"recorded","licence":"not-recorded","licenceState":"not_recorded","cadence":"not-recorded","cadenceState":"not_recorded","snapshotId":"srcsnap_36f5225e05530e76b58f769c4e17556d8b022b1e7451eafaf1351b5f254e4874","checkedAt":"2026-11-03T06:01:01.750Z","observedAt":"2026-10-30T01:00:32.195Z","freshnessSeconds":428019,"freshnessState":"current","qualityState":"complete","reasonCodes":[]},{"id":"gtfs-static:sto","version":4,"kind":"gtfs_static","operatorId":"sto","owner":"STO","publicUrl":"https://contenu.sto.ca/GTFS/GTFS.zip","publicUrlState":"recorded","licence":"not-recorded","licenceState":"not_recorded","cadence":"not-recorded","cadenceState":"not_recorded","snapshotId":"srcsnap_af1083bec06aef79340878f362df2de9e4bb56ff9e4dfca9a5ba0fd2fe2a55e7","checkedAt":"2026-11-03T06:01:01.750Z","observedAt":"2026-11-03T06:00:08.280Z","freshnessSeconds":64443,"freshnessState":"current","qualityState":"complete","reasonCodes":[]}]}}