Routing performance tradeoffs Discussion View history

This new page is currently undergoing modifications. The information presented should be considered a draft, not yet ready for use. This content is open to changes from anyone during construction. If you would like to make changes or have questions, please post a message in this forum.
As of September 2018, multiple complaints about this page revolved around five major concerns: (1) the title is inaccurate and confusing; (2) the content is redundant and unnecessary; (3) the page provides inadequate detail and fails to mention any of the many situations where this concern arises; (4) the page does not provide specific solutions to be applied in specific cases; and (5) the page fails to emphasize Junction Boxes as the obvious, natural, and effective solution to all or nearly all timing concerns of this nature. Future work on this page will need to address these concerns.

All Wazers and map editors want Waze to find the fastest route to a destination, and to do so efficiently. In some situations, however, it is not possible to optimize all aspects of routing performance simultaneously. The same edit that improves routing performance for one destination may degrade it for others, or may reduce the efficiency with which Waze finds a route.

This article reviews some common routing tradeoffs. Its goal is to inform editors and offer guidance, but not to require that tradeoffs always be resolved the same way. The best solution may be different for each individual tradeoff situation.

Short segments degrade timing performance

Tradeoff

Waze's routing performance depends on its accuracy measuring the time it takes each individual Wazer to complete a maneuver. By design, Waze can only measure this time over the space of the single segment leading up to the maneuver. The longer the segment, the higher the confidence in the timing measurement. This means that adding junction nodes, and thus shortening existing segments, can affect Waze's timing.

In most circumstances this effect is negligible and it is OK to add junction nodes when justified by best practice. However, at complex junctions where the wait for one upcoming maneuver may be different than the wait for another, adding a junction node on the approach can degrade routing performance.

Example

Consider a highway approaching a stoplight with a short left turn light and common backups for straight ahead, but typically free-flowing right turns. Before the intersection, the highway flares out to provide turn pockets for left turners to wait and for right turners to bypass the straight-ahead backups. Consequently, the delays to pass through the intersection differ profoundly depending on whether one is turning left, turning right, or continuing straight. Waze will measure those times over the space of the final segment approaching the junction. Provided this final segment is long enough to include the turn pockets and any additional distance over which wait times could be different, Waze will accurately capture the different delays.

Now consider that, for reasons of best practice that would normally be fine, one adds a new junction node on the approach in the midst of the turn pockets. This will force Waze to average together the delays associated with turning and going straight for all drivers approaching the new junction node. Only the delays after the new node will continue to be measured separately. The loss in timing quality will degrade routing performance, perhaps significantly.

Possible resolutions

Because of this effect, one must always evaluate potential timing impacts and consider alternatives before adding a junction node. In some cases it may still be necessary to add a junction node despite the drawbacks. In others, a Junction Box may be necessary, an alternative edit may be found, or it may be that the benefit of adding the junction is too small to justify additional complexity or potential routing degradation.

Regardless of other considerations, always ensure that segments conform to the current standard for minimum segment length.