A district's overall grade is assigned based on the average speed and average reliability of the bus routes that serve the district.
Speed is calculated using Bus Time data in conjunction with route length information gathered from the MTA's publicly provided GTFS schedules. As presented here at the route level, the travel time from start to finish is simply divided by the route's length to calculate average speed. Data are from weekdays between the hours of 10am-4pm, for the months of May and October 2018. These two months are selected because they contain minimal holidays, mild weather (minimizing service disruptions), and fall during the school year. More details available in the performance API documentation.
Reliability grades consider performance of high-frequency routes and low-frequency routes separately.
Bunching data are calculated as an average of performance with the same Bus Time data. Bunching is defined as the percentage of buses that arrive at less than 25 percent of the scheduled interval behind the previous bus. So if Bus #2 is scheduled to arrive eight minutes after Bus #1, but instead Bus #2 arrives less than two minutes after Bus #1, then Bus #2 is considered "bunched". Bus arrival and departure times are estimated using an algorithm developed by Nathan Johnson and Neil Freeman, and applied to the MTA's Bus Time data. More information about Bus Time data is available here. Bunching measures the reliability of high-frequency routes—those that come at least every 15 minutes.
On-time performance is measured by New York City Transit as the percentage of buses that arrive no more than 1 minute early and no more than 5 minutes late. On-time performance data represent weekday service in May and October 2018 conducted by New York City Transit, acquired by the Bus Turnaround Coalition. On-time performance measures the reliability of low-frequency routes—those that come less often than every 15 minutes.