I am grateful for many things; one of those things is living in LA. Another thing is that I am reasonably close to my job, by LA standards: 9 miles as the crow flows. I learned quickly what any Angelino will tell you: wow, traffic. While I have been fortunate not to have a Michael Douglas moment yet, I have had enough dejecting traffic experiences – and it’s only been three months! – to have decided to take matters into my own hands, as much as that is possible.
In other words, I wrote a script that would tell me the best times to commute. I, and you if you click on that link, add my origin and destination, and computers do the rest. Every five minutes (via cron), the script pings Google. Google is nice enough to tell my script how long the commute will take by car and by public transit. I then plot those points, color them by commute option, and smooth a line over the points (though the line is overkill). I then edited one script to start from home and end at work and made another script to start at home and end from work. Below are the results.
COMMUTE FROM HOME TO OFFICE
COMMUTE FROM OFFICE TO HOME
Cool, there’s a lot of interesting stuff going on here! Going from home to work, there is a clear difference between weekdays and weekends. Though I have not changed the dots to show which are from the weekday, I would bet my last dollar that the first red hump is the weekday effect. I would bet again, though less, that weekend commute times are lower throughout. The worst time to leave my place is between 8:00 a.m. – 9:00 a.m., and the traffic starts around 5 p.m. If I want to leave home late, it doesn’t matter if I leave at 10 a.m. or 2 p.m., the time is basically the same.
Most surprising is that the commute time to the office does not return to its pre-rush hour stillness until late at night. I have alternated between traveling to work around 7 a.m. or 10 a.m., and it is clear that 7 a.m. is shorter. 10 a.m. also has higher variance, which makes sense – sometimes there is construction, sometimes there are wrecks, etc.
Going from work to home shows similar results. There is a clear weekend effect, but I am surprised at how wide the variance around the peak transit time is. In other words, it seems like there is no good time to go home unless you go late at night or before lunch.
In both directions, mass transit clearly has higher variance than private transit. I expect this result is because buses cannot change their route in response to traffic conditions. If I take my car, I can get on the 101 and skip all of the exits or get on the 405. Or I can take Ocean Avenue to Pico then a left on Wilshire to the Santa Monica Pier. Note, however, that mass transit from my house means the bus; I expect a subway would have much less variance, possibly even less than a car. It is also interesting to note that mass transit has higher variance late at night and early in the morning; I expect this reflects decreased service levels.
So, what have I learned? First, being a contrarian would have its advantages. I should commute on the weekends and take my days off during the week or get to the office around 5 a.m. so I can leave at Noon. Second, it is better to leave home to beat the rush hour instead of trying to time its back side. Third, there is no good time to come home. The commute home has high variance. While there is a clear increase in commute time starting at noon, I am indifferent to the commute time between 2:00 p.m. and 5:00 p.m.. Fourth, the commute to the office is less unpredictable than the commute home.
Most interestingly, commute time at rush hour in mass transit is not much slower than in a car. For my route, I think this is because there are express buses which have dedicated lanes (though not true bus rapid transit). It is thus not uncommon to pass cars during rush hour, and when the express lane ends the bus becomes just another vehicle in bumper-to-bumper traffic. Only away from rush hour peaks are cars extremely faster, and I bet most of that is because drivers can vary their route. While driving myself off rush hour on the same route my bus would take would be quicker because I can accelerate around buses, I do not think it would be more than a few minutes quicker. Even better, I can do work – write some code, read papers, prepare a lecture, and so on – on a bus. The only “work” I could do in the car is making phone calls, which is stupid because it’s dangerous and you won’t really remember the convo because you’re focusing on driving as well. Moreover, keep in mind that the gap between the two modes would be narrower, and perhaps in favor of mass transit, if a light rail or subway were available the whole time.
If I felt like working on this script more, I would change two things. First, I would modify the code to automatically query Google for return trips. For the charts I made, I made a second version of the script where I simply switched the origin and destination. Second, I would track the day of the week of the query and add that data to the dataframe. That way, I could modify the plot points (probably by changing their shape) to show four dimensions: time leave origin, estimated time of travel, day of week, and mode of transit.