Posted on Mon, 25 Nov 2019
I was looking at the infographics for last month and I saw something weird.
Oct 2019 Snail Champion: Loyang Ave - TPE (towards Tampines)
Unless it occurs regularly (e.g. every Sat afternoon along Punggol Road towards Sengkang at TPE junction), any congestion accumulated above 200 mins in a single day is unusual.
Time to investigate.
Let’s start by analysing Traffico data along Loyang Ave on (Thu) 3 Oct 2019.
Congestion Chart for Loyang Ave - TPE (towards Tampines)
As shown above, 2 congestions were recorded around noon:
- #1 - 11:31am for 125 min
- #2 - 1:40pm for 95 mins
Here’s a brief recap on how Traffico detects a congestion (ref: Analysing Bus Arrival Times — Findings):
- journey times between bus stops are derived from bus arrivals times and stored
- a threshold is computed using weeks of stored data
- if a current journey time exceeds the threshold for consecutive samples, a congestion is reported
- once a new journey time falls below the threshold, the congestion is deemed over and a congestion duration is calculated (represented by the red dots in the chart)
In short, the Congestion Chart is generated using journey times derived from bus arrival times. A Journey-Time chart is shown below as a reference.
Journey-Time Chart for Loyang Ave - TPE (towards Tampines)
Note:
From our understanding of Loyang Ave (towards Tampines) — morning 8 to 9am and evening 6 to 7pm peak hour traffic on weekdays — we can further conclude these 2 congestions are abnormal.
At this point, it would be up to our imagination to guess what caused the congestion?
- there was an accident
- there was a broken down vehicle
- there were roadworks
- there were some obstructions on the road
- there were some chickens crossing the road
- there was a UFO sighting
- there was an elephant in a prefabricated room on a trailer heading to a construction site but nobody wants to talk about it
Oops, I digressed.
Fortunately, I started scraping LTA traffic news some time ago and I was able to retrieve all traffic incidents relating to “Loyang Ave" on 3 Oct 2019. After filtering the irrelevant ones, the incident in green stands out.
Time | Incident |
---|---|
07:42 | Heavy Traffic on TPE (towards PIE) between Pasir Ris Dr 12 Exit and Loyang Ave Exit. |
07:42 | Heavy Traffic on TPE (towards PIE) between Punggol Rd Exit and Loyang Ave Exit. |
08:39 | Roadworks on Loyang Avenue (towards TPE) after Old Tampines Road. |
08:39 | Roadworks on Loyang Avenue towards TPE. Avoid left lane. |
08:51 | Vehicle breakdown on Loyang Avenue (towards Pasir Ris Drive 1) after Old Tampines Road. |
10:20 | Roadworks on TPE (towards PIE) at Loyang Ave Entrance. |
17:57 | Accident on Loyang Avenue (towards Old Tampines Road) after Pasir Ris Drive 1. |
Putting everything we know on a map, we arrive at this.
Map of Loyang Ave - TPE (towards Tampines) with data from Traffico & LTA
Indeed, it is very likely that the congestions were caused by the roadworks and they probably caught the lunch crowd by surprise.
How is this useful?
For drivers, if you saw the Traffico homepage at that time, you would have seen the congestion status and you could have tried an alternative route. Yes, sometimes it might be a false alarm but a prolonged status usually means something.
Traffico can monitor and store the status of any road between any 2 bus stops, without the need for new infrastructure or hardware. Using the concepts I have shared, you can also deploy your own version of Traffico to monitor your routes and explore your datasets.
Traffico alone was only good enough to detect the occurrence of a congestion. However, by collating news from LTA, we are able to explain the likely cause as well. Would adding more sources of information help us improve our decision making process at the strategic rather than operational level? For example, what type of maintenance work was being carried out and how long did it take? Is the congestion duration a good estimate of the total time taken to complete the work? Is there a way to quantify certain maintenance routines and simulate the “costs” if we were to perform the same work on another road? Would it cause a jam? If it will, would it be better to carry out the work at midnight? If there is a sudden surge in these midnight jobs, could a system request for resources ahead of schedule?
In the future, I see Artificial Intelligence (AI) taking up roles in detecting such intricacies and suggesting alternatives as we pursue our Smart Nation endeavours.