1 Questions

Transit signal priority (TSP) allows traffic signals to flexibly accommodate transit vehicles. This may involve extending a green phase until the vehicle passes, triggering an early green if there is a vehicle waiting at the light, or even running specific transit-only phases. TSP helps transit vehicles maintain on-time performance (Liu et al., 2018; Sheffield et al., 2021), but often TSP will only engage at a signal if the vehicle is running behind its schedule, thus minimizing automobile delay when the bus is otherwise on schedule (Ni et al., 2020).

In 2018, the Utah Transit Authority (UTA) launched the Utah Valley Express (UVX) Bus Rapid Transit (BRT) system in Provo and Orem, Utah. The system — mapped in Figure 1.1 — connects two commuter rail stations, two major universities (Brigham Young and Utah Valley), and commercial districts in Orem and Provo. UVX has TSP on 44 of the 47 traffic signals along its route. A transit vehicle requests TSP when the vehicle is behind its schedule; the signal controller may then grant the TSP based on a set of rules. For example, the signal will not grant TSP to transit vehicles traveling in the same direction in consecutive signal cycles. Specifically, at least two “clean” cycles must run before the signal controller will grant TSP again.

dj1 <- wesanderson::wes_palette("Darjeeling1")
uvx <- st_read("data/uvx_map.geojson", quiet = TRUE)
uvx_stops <- uvx %>% filter(st_is(., "POINT"))
uvx_line  <- uvx %>% filter(st_is(., c("MULTILINESTRING", "LINESTRING")))
  leaflet() %>%
    addProviderTiles(providers$Esri.WorldGrayCanvas) %>%
    addPolylines(data = uvx_line) %>%
    addCircleMarkers(data = uvx_stops, label = ~(name))
} else {
  pbox <- st_bbox(uvx_line)
  map_back <- get_map(c(lon = mean(pbox[c(1, 3)]), lat = mean(pbox[c(2, 4)]) ),  
                      zoom = 13, source = "google", maptype = "roadmap", color = "bw")
  ggmap(map_back, extent = "device") + 
    coord_sf(crs = st_crs(3426),  expand = FALSE) + 
    geom_sf(data = uvx_line, inherit.aes = FALSE, lwd = 1, color = dj1[1])  + 
    geom_sf(data = uvx_stops, inherit.aes = FALSE, size = 5, stroke = 1, shape = 21,
            fill = "white", color = dj1[5])  + 
    theme(axis.line = element_line(color = NA))  + 
    xlab("") + ylab("") 

Figure 1.1: UVX system stations and alignment.

Though the TSP system is based on a schedule, UTA does not publish a schedule for UVX. Instead it is expected that a bus will arrive on a specific headway: 6 minutes in the peak period and 10 minutes in the off-peak. UVX vehicles depart their initial time point on this schedule, but then proceed to the end of the route without consideration as to whether the vehicle is running ahead or behind its “schedule” as understood by the TSP system. It is unclear whether the actualized headway is affected by a schedule-based TSP system, potentially creating frustration for riders or inefficient operations. The research questions are therefore:

  • Does schedule-based TSP improve headway adherence for rapid transit systems?
  • What is the effect of other controlling factors — specifically time period, direction of travel, and cumulative stop dwell time — on headway adherence?


Liu, X. C., Zlatkovic, M., Porter, R. J., Fayyaz, K., & Yu, S. (2018). Improving efficiency and reliability of bus rapid transit (MPC 18-349). Mountain-Plains Consortium; https://www.ugpti.org/resources/reports/downloads/mpc18-349.pdf.
Ni, Y.-C., Lo, H.-H., Hsu, Y.-T., & Huang, H.-J. (2020). Exploring the effects of passive transit signal priority design on bus rapid transit operation: A microsimulation-based optimization approach. Transportation Letters, August. https://doi.org/10.1080/19427867.2020.1805681
Sheffield, M. H., Schultz, G. G., Bassett, D., & Eggett, D. L. (2021). Sensitivity analysis of the transit signal priority requesting threshold and the impact on bus performance and general traffic. Transportation Research Record, January. https://doi.org/10.1177/0361198120985853