[NEW PAGE] Routing performance tradeoffs
The last few years have seen increasing awareness among experienced editors of the tradeoffs involved in adding junction nodes. However, our documentation has not kept up with this awareness and we are now struggling with how to codify these tradeoffs for each specific situation where we'd like to add junction nodes. Instead, I'd like to suggest writing them up in one central place for reference.
Here is some text that could either be put in a new article, or added to an existing article. Once it is in place, it could be referred to elsewhere, for example by discussions of adding junction nodes for speed limits, true elevation, railroads, etc.
Big question is, where would this go? I considered the Junction Style Guide but I'm not sure it fits there. Maybe it needs its own article?
Here is some text that could either be put in a new article, or added to an existing article. Once it is in place, it could be referred to elsewhere, for example by discussions of adding junction nodes for speed limits, true elevation, railroads, etc.
Big question is, where would this go? I considered the Junction Style Guide but I'm not sure it fits there. Maybe it needs its own article?
[EDITS: Updating thread title to reflect the way the thread conversation is going.]Tradeoffs of creating new junction nodes wrote: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. In specific cases where the wait for one upcoming maneuver may be different than the wait for another, however, adding a junction node can degrade routing performance.
For 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.
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, an alternative may be found, or it may be that the benefit of adding the junction node is too small to justify the potential routing degradation.
Re: Tradeoffs of adding junction nodes