How We're Optimizing Your Commute

By Trevor Gerhardt 17 Mar 2015

cross posted from Mobility Lab

Working to refine all the complicated algorithms of travel is vital to improving commuter experiences.

When searching for a route with Modeify and OpenTripPlanner, we use complex profile routing algorithms to objectively find the best options across all available modes, which can lead to an enormous amount of results. To get the best results in the quickest amount of time requires a lot of pruning and optimizing.

In CarFreeAtoZ we take our search a step further and use subjective values to rank each option based on more than just time. This allows us to tailor options to each commuter as well as the full community in aggregate, instead of just showing the fastest possible trip by default. It also creates a split where we determine which routes to prune by objective measures and which to score and re-rank with subjective ones.

From this, a few categories of problems arise which cannot be easily solved by well-defined programming logic and need to be determined on a case-by-case basis. Let’s take a look into the cases we’ve been investigating recently.

1. Bike-to-transit pushing out walk-to-transit

A major feature that sets OpenTripPlanner’s results apart from traditional journey planners — like Google Maps based planners CityMapper and RideScout — is the inclusion of biking and driving as access modes for transit trips. For drivers this helps discover the best park-and-ride lots to leave your car at in the morning and hop on a commuter bus or train. For bikers this helps cut out slower legs of a journey and remove transfers that can increase the wait time of a trip.

Where we run into problems is when the fastest walk-to-transit trips aren’t found because they are pruned for being too slow compared to the bike- or drive-access journeys. It turns out that both access modes can provide options that are faster than just walking, especially if your journey starts far from a bus stop or Metro station.

Complicated Route

To resolve this issue, we separate out the query by access mode and re-combine the results before sending them to the client. If we select every access mode this triples the number of results we get back. It’s then necessary to filter each journey based on a set of criteria specific to the mode.

For example, we don’t want to show a walk-to-transit journey with over twenty-five minutes of walking to get to the Metro when biking or driving is a viable option. Similarly, we don’t want to show a bike-to-transit journey that could be done with a five-minute walk.

2. Longer transit wait times than ride times

Real-time transit applications are essential for getting around cities these days. Missing a bus or train could result in long wait times in places where schedules are infrequent. The question is: should we just filter out the transit leg and tell you to walk if the wait time is significantly greater than the ride time on average?

A five-minute Metro ride will take you a lot further than you could walk in twice the amount of time. It could also take you across a river, through the densest part of the city, or keep you out of the rain. But if a bus runs every 60 minutes and the walk would take 15 minutes, it’s easy to see that filtering might be useful.

More commonly, what we end up seeing is an extremely short bus ride (two or three stops) showing up in results that would technically be faster than walking if you caught it perfectly. Luckily, that usually coincides with a similar result that takes just the walking route. In CarFreeAtoZ, we add penalties for the extra cost and annoyance of a transfer. This usually pushes results with unnecessary short bus trips to the bottom of the options list.

3. When to hide drive-to-transit results

Showing drive-to-transit results is imperative for any commuters who live in a place without walking or biking access to bus stops or Metro stations. In Maryland, the Maryland Transit Administration’s commuter buses are essential for the thousands of commuters coming into greater D.C. every day. Before now, the only way to find the most appropriate bus would be a manual lookup of driving directions and reading through MTA’s schedule. Now you can get the results all in one search, which we love and think is a really attractive feature of CarFreeAtoZ.

One of the problems we’ve seen is when a drive-to-transit route has the majority of the trip being the drive itself. It’s not as straightforward as just making sure the majority of the trip is transit based. The common reasons of saving money, gaining productive time, and avoiding the stress of traffic may still apply in those trips. A last-mile transit or bus leg could avoid the worst areas of traffic and save money on high downtown parking fees.

Another complicated route

We don’t have a simple solution for filtering out these types of drive-to-transit results. But with continual updates to our parking and pricing data we will be able to bubble up other factors that contribute to this decision that we can then use to rank the options and possibly filter them out in the future.

The endless combinations provided by multi-modal transit provide new filtering and optimization challenges every day. See a route that isn’t the best or have a suggestion to improve our filtering? Send us an email at