Popular Tags:

Some unseen insights into the 2014 Divvy trip data

March 10, 2015 at 9:23 am

There are a few interesting insights into the 2014 Divvy trip data that I didn’t share in my post yesterday. These are either insights that are hard to find in the visualization, or that can only be found by querying the dataset. For instance:

The longest median trip duration was from Calumet Ave & 18th St to Wells St & Erie St, at 102 minutes. There were only 14 trips made, the longest being a little over 14 hours (this could be an error). Google says this trip should normally take 24 minutes by bike; of the 14 trips, 2 were made by annual subscribers, who clocked in right around 25 minutes. Calumet Ave/18th St is near Soldier Field, and Wells St/Erie St is in River North.

27.9 minutes is the largest trip savings over public transport, from Lake Park Ave & 47th St to Fort Dearborn Dr & 31st St. Google calculated this trip as taking 50 minutes by public transport (using buses 6, then 3), while the median Divvy trip was 22.5 minutes. There were 490 trips made in 2014. The reason this trip takes so long by public transport is because the #6 is an express bus to the Loop, where you would transfer to the #3, a local, and backtrack to 31st St. The same trip by Metra Electric is 22 minutes, but runs less frequently.

The largest time savings loss over public transport, where the median Divvy rider was 57.7 minutes slower than public transport, was from Blackstone Ave & Hyde Park Blvd to Millennium Park. The #6 bus takes 22 minutes, but the median Divvy trip took 80 minutes. Google says this trip should normally take 37.5 minutes by bike.

Only 34 station pairs require two or more transfers (e.g. bus > L > bus) to make the journey by public transport.

Trips between 67 station pairs involved taking Metra, the commuter rail system. Nearly all of these were on the Metra Electric line on the south side.

The shortest median trip duration was 90 seconds, from Paulina St & Montrose Ave to Ravenswood Ave & Montrose Ave. It was a little over 1 minute slower to walk; the distance between these two stations is just under 2 blocks.

The station pair with the largest amount of hours saved was from Theater on the Lake to Streeter Dr & Illinois St, where 4,898 riders saved a collective 1,085 hours over taking public transport. This is also a perfect tourist bike ride along the lakefront to Navy Pier, and the best transit option involves 30 minutes of walking and a bus ride.

Who’s Faster? A look at how Divvy riders perform compared to public transport

March 9, 2015 at 9:41 am

Like last year, I am preparing an entry for this year’s Divvy Data Challenge, for which both my projects received honorable mentions last year. I needed some inspiration, so I looked around the Internet for other bike share visualizations and stumbled across this visualization for Hubway, the bike share system in Boston. It also used D3.js, a JavaScript library that helps visualize data. I’ve become enamoured with D3 because it helps me learn JavaScript, and people have made a wide variety of awesome visualizations with it.

This year, I took the Hubway visualization and created a version for Chicago, with a few improvements. You can view it here.

Capture d’écran 2015-03-07 à 17.48.45

In short: This visualization shows the median amount of time it took a Divvy rider to ride between two stations (a station pair) compared with the same amount of time it would have taken to make the trip by public transportation (or walking, if that was faster than taking transport), for Divvy trips in 2014.

The screenshot above demonstrates that nearly all of the 5,489 Divvy trips to/from the Divvy station at Clark St & Leland Ave were faster than taking public transportation. We can infer some or all of the following:

  • Bicycling in Chicago is usually faster than taking public transportation, even on Divvy’s heavy and somewhat slow bicycles
  • Divvy riders are making trips that they would either
    • Normally take via transportation, or by walking, and are therefore saving time, and/or
    • Normally not make at all, but are now making because there is a new, faster option available

There are certainly other conclusions we can come to by looking at this data; please share your own!

Reading the Data

Since there is so much data, the website visualization starts off by displaying only the top 1,000 station pairs in terms of rides taken. Selecting “All Stations” from the drop-down list at the top will load all pairs, but it takes a while. Selecting individual stations is much faster, and more insightful since there are fewer data points.

The radius of each circle on the graph is a function of the amount of time saved in total (total trips × minutes saved).

A map is provided to show the start and end station for each pair. Those not familiar with all of Chicago’s street names will find it easier to read the data with a map. Small blue dots are Divvy stations, white dots are CTA ‘L’ stations, and the coloured lines are CTA ‘L’ lines. The silver-coloured lines represent multiple lines (e.g. the Loop).

Processing the Data

The process of getting to this point was long and involved a lot of data cleaning, and to help understand the data better, this was my process (or what I can remember from it):

  1. Clean Divvy’s trip data file in Excel (formatting dates correctly, etc).
  2. Import all of Divvy’s trip and station location data into a MySQL database.
  3. Run a database request to get the count of all trips between each possible station pair (there are a total of 58,087 pairs among the 300 stations)
  4. Write and run a PHP script that calls the Google Directions API to get both transit and bicycle directions for every station pair. These are the same directions that you get when you get directions from Google Maps, except the results are loaded into my database, instead of displayed on a screen. For the purposes of data consistency, transit trips are calculated for noon on a Monday. Bicycle trips are obtained to get the on-street distance between stations.
  5. Write and run another PHP script that gets the median Divvy trip duration for every station pair. While getting the average trip duration is faster thanks to a built-in MySQL function, in this case, the median is a better measure of central tendency. Divvy riders, especially 24-hour passholders (e.g. tourists), take longer trips than someone would on their own bicycle (according to Google, anyway). These outliers can impact the average trip duration, so the median was chosen instead.
  6. Export the data as JSON to be run by the D3 script. The D3 script will only display station pairs where the start station is not the same station as the end station and the amount of time “lost” by taking Divvy is greater than 10 minutes (that is, the “minutes saved” is greater than or equal to -10). I chose to not display trips where the time “lost” is 20, 30, or 40 minutes because these trips make up a very small amount of trips, and throw off the Y-axis.

A Few Observations

I did not edit the data to remove outliers because this is meant to show actual trips as taken by all Divvy riders. That’s why there are anomalies like this:

Capture d’écran 2015-03-07 à 18.13.04

It would not take most bicyclists 13 minutes to bike one block. However, both stations are next to Millennium Park and Michigan Avenue, and we can assume that many of the riders using these stations are tourists who likely rode the bikes around a nearby park, went to the Lakefront Trail, etc. Therefore, the median trip time is about 10 minutes longer than it would be if we relied on Google’s bike directions, which say that this trip should take 3 minutes.

Known Issues

The map sometimes does not display both points on it. It is programmed to only show the two markers (green for the starting station, and red for the ending station) on the map, but does not always function properly. Hovering over other circles should “reset” the map so both markers are shown again.

The Future

In the future it would be interesting to see how the time saved changes between Divvy’s annual subscribers and 24-hour passholders, or at other times (e.g. peak hours).

The code is not so specific that it can be used only for Chicago. I would love to make one for New York City while it still has a relatively low number of stations (332), and therefore fewer possible station pairs, or  for Washington, D.C. Were I to do one for Paris, for example, which has 1,230 Vélib’ stations, the total number of station pairs would exceed one million, and displaying this data would crash your browser.

The code is online at GitHub.


Please send constructive feedback and any errors you encounter to transitized [at] gmail [dot] com or tweet @transitized. Please leave your insights into the data in the comments for others to see!

Bike share might be able to work in separate nodes

February 27, 2015 at 2:37 am

Streetsblog recently posted about Jon Orcutt, a former Director at the NYC DOT, writing that bike share works best as a continuous network of stations, as opposed to “nodes” of stations throughout a city or region.

He’s right, in most contexts. I know that Bay Area Bike Share has stations in San Francisco as well as some suburbs south of it. Chicago’s Divvy is still wholly located inside the city, but adjacent, denser suburbs Oak Park and Evanston will get stations shortly. There may even be cases where splitting the system within the city is still okay.

A Divvy station next to a Brown Line ‘L’ station in Chicago.

Vancouver, BC, is still awaiting a bike share system (and is among North America’s largest cities without one). Part of this is because of bad timing — Alta, who managed several North American systems, sold its bike share business which is now called Motivate — and because of British Columbia’s all-ages helmet requirement law.

There has not yet been a map released of potential bike share station locations in Vancouver, but a few sources believed that the stations would mostly be located downtown and in the West End. If this is true, it’s a terrible idea.

The West End and downtown are both on a peninsula, are the densest areas of the region, and have very high walk-to-work mode shares. However, they have low bike commuting rates — usually rationalized with topography, since a large hill somewhat separates the two neighbourhoods.

The West End neighbourhood, in pink, compared with the rest of the city, in maroon. Image: Inside Vancouver.

I’m not saying the hill is the only deterrent, but they do create problems for bike share. I believe that putting bike share stations initially in the downtown peninsula is a bad idea because it’s already very walkable.

Many large swaths of the rest of Vancouver are nowhere near as walkable. There are exceptions, of course, but this is the result when most of the city is zoned for single-family homes with few commercial areas:

Vancouver zoning: grey is single-family, yellow is two-family, orange is multi-family, and red is commercial. Image: We Love East Van.

Which brings me to Orcutt’s assertion that bike share can’t work in nodes.

South of, say, 16th Avenue (an east/west avenue, along the north end of the pink zone in the map above), there are some neighbourhoods that are relatively walkable. Some of these neighbourhoods are also anchored by or are near to transit — but many people take bus transit to these stations, instead of walking. In my own scenario, walking to the Canada line takes 20 minutes because I detour to avoid a busy, six-lane arterial (Marine Dr). A bus ride takes about 7 minutes, but runs every 10-30 minutes, depending on the time of day. I could bicycle, but that involves getting my bike from behind two locked doors in my building’s parkade, riding along an industrial road (to avoid the arterial), then locking the bike, worrying about theft, etc…

Would you want to walk or bike along this? Image: Google.

Would you want to walk or bike along this? Southwest Marine Drive, Vancouver. Image: Google.

This is where I tote the incredible convenience that is bike share.

Residential density in Vancouver: concentrated in the north, but pockets in the south and west. Image: UBC.

Residential density in Vancouver: concentrated in the north, but pockets in the south and west. Image: UBC.

Were there enough bike share stations — more than 10, perhaps — in my neighbourhood, Marpole, people could bike to the station or to many other places (like shops on Granville and Oak or the Fraser River Park) which are now at least a 15-20 minute walk away. You can bike to the station in the morning, and take the bus home when it’s raining in the evening. It would also assist in connecting people from the denser areas of Marpole with new development taking place at the Canada line station. East Vancouver neighbourhoods near SkyTrain could have increased accessibility to rapid transit with bike share. Bicycles can help put more people within access of rapid transit over a larger distance. That could mean fewer stark towers around stations and more context-sensitive, human-scale development that is dense but tolerable.

The problem is that neighbourhoods like these wouldn’t see bike share for years, if at all, because they’re separated from Vancouver’s core by dozens of blocks of single family homes where there’s just nothing to do, see, or go to. Instead, bike share stations will likely go to neighbourhoods where walking is already easy and safe, transit is abundant, and bicycling rates are low despite a well-connected network of bicycle infrastructure.

Vancouver isn’t the only example, and maybe someday it’s neighbourhoods will be more connected with stronger commercial districts and denser neighbourhoods. Until then, I think we should keep an open mind to the idea of node-based bicycle share systems here and elsewhere.

Chicago Commute Map updated with 2013 Census data

December 15, 2014 at 7:20 pm

The How Chicago Commutes map I created earlier this year has been updated with 2013 American Community Survey 5-year estimate data from the US Census.

I merely updated the information instead of creating links to compare the 2013 data with the 2012 data (from the original map). The information box that appears upon hovering over/clicking on a tract does not change to reflect the year selected, and only displays the 2013 data. Once I figure out a fix for this it will be easier to incorporate multiple years. Regardless, the data did not change much, and much of the ACS data has such a high margin of error that year over year changes may not be useful unless they are dramatic (i.e., at least a 10% change).

There are no big surprises with the new data; much is the same. People living at the edges of the city drive to work more often than people who live in denser neighbourhoods near transit, people who live downtown are more likely to walk to work, and so on. The bicycle commuting numbers are harder to interpret (the margins of error are also larger). Also note that the ACS only takes into account the longest commute mode: if a commute is multi-modal, e.g. you bike 5 minutes to a train you take for 30 minutes, only your train ride is counted.

And of course, there are still a lot of households (entire family units) that do not own a car, and whose transportation needs be taken into account by planners:

Capture d’écran 2014-12-15 à 17.16


(So you can stop building 500-space parking garages for north side housing developments, for example).

Due to some bugs with TileMill, which is used to stylize the census tracts, I had to explicitly state each number to format. It took a while, but the upside was the chance to see this progression:

Capture d’écran 2014-12-15 à 15.31.43Capture d’écran 2014-12-15 à 15.32.28 Capture d’écran 2014-12-15 à 15.32.50


This shows the progression of tracts where more than 50%, 70%, then 80% of workers are driving alone to work. I like how closely it matches other maps of Chicago, like this one from Daniel Kay Hertz that shows where it’s illegal to build anything other than single-family homes (thanks, zoning):

Map: Daniel Kay Hertz.

When you have lower density (i.e. single family homes) and less transit accessibility, people are probably going to drive to work more. Older, pre-war (i.e. pre-car) neighbourhoods have more transit commuters. But that could be just one of a few possible relationships, like: do the people living in lower density areas, which are closer to the city’s edge, work outside the city and not in the centre, which is more transit accessible? Are these people living somewhat close to transit but find the walk across a freeway bridge to access it unpleasant (think of the blue line)? There are a lot of assumptions that can be made by comparing data like this.

Have fun taking a look at the updated map!

The engineering firm behind North Lake Shore Drive reconstruction

December 10, 2014 at 2:30 pm

I’m writing a case study on the North Lake Shore Drive Reconstruction project for an assignment. When digging through the project’s Stakeholder Involvement Plan, I found a little-publicized piece of information: the engineering firm behind the project.

Few media articles about the project – and there were a lot of articles when it was announced – made mention of the firm. IDOT has not really publicized it. The only mention I found was in a slideshow about the first meeting in the Sun-Times:

Ignore the clickbait headline.

Ignore the clickbait headline.

I’m not too familiar with what sort of relationship Civiltech Engineering has with IDOT throughout this project. But a quick overview of Civiltech’s projects reveal their expertise: Roads.

Capture d’écran 2014-12-10 à 11.52.08

Civiltech also engineered the LaSalle Drive Reconfiguration, an out-of-human-scale, suburban-style roadway leading to Lake Shore Drive from Clark St in Lincoln Park:

LaSalle Drive heading west through Lincoln Park. Image: Google.

LaSalle Drive heading west through Lincoln Park. Image: Google.

There are a few non-roadway projects in Civiltech’s portfolio, such as a playground and the Des Plaines River trail improvement, but it’s still mostly roads. Perhaps this is symptomatic of our society’s over-investment in roadways (i.e., of course their portfolio is mostly roads, that’s where we put all of our money).

What I worry about is Civiltech’s ability to balance the public’s Top 20 Ideas to Redefine the Drive, which are:

  1. Separate bike/pedestrian users on Lakefront Trail (263 Comments)
  2. Improve Transit Service (185)
  1. Improve east-west pedestrian/bike connections and facilities (134)
  2. Grade separate Lakefront Trail at junctions and pedestrian tunnels (104)
  3. Add trees and natural landscaping areas (101)
  4. Add green space east of NLSD (Grand to LaSalle) (81)
  5. Separate Inner and Outer Drives (64)
  6. Add green space between Inner and Outer Drives (61)
  7. Realign the Oak Street curve (61)
  8. Reduce/enforce speed limit on NLSD (56)
  9. Expand lake fill to improve shoreline flood protection (55)
  10. Relocate and/or expand Oak Street Beach (51)
  11. Add more pedestrian/bicycle access points to the lakefront (53)
  12. Improve signage and wayfinding including path mile markers (44)
  13. Reconfigure NLSD (41) [by tunneling it, or restoring it to a boulevard]
  14. Add a west side bicycle highway (33)
  15. Expand park space at Oak Street & Michigan Avenue (32)
  16. Improve storm water management/add bio-swales (31)
  17. Construct a Chicago Avenue junction (30)
  18. Narrow the Inner Drive (22)

In other words, the top things on people’s minds are improving safety and “level of service” for people walking, biking, and taking transit, improving parkland, reducing the speed limit, or narrowing some roadways.

There is very little recorded input for expanding the roadway, improving the roadway’s level of service, and other things that roadway engineers and IDOT uniquely specialize in.

From the beginning, pro-active transport groups in the city have been pushing hard to ensure this doesn’t become another standard-issue IDOT project, where the public input process is a farce: decisions are made, announced, and carried out without regard for the public. Small victories have been won: the Purpose and Need Statement, the driving document behind all future planning interventions for the project, was originally pages of engineering jargon dealing almost exclusively with automobile movement, with a few paragraphs regarding the experience of the 70,000 bus passengers or tens of thousands of trail users. The professional training and focus of the people writing it was evident. After pressure, it was revised to prioritize non-motorized travel and safety and included numerous other revisions that balanced the document.

I’m not sure if this is symbolic of change at IDOT (I doubt it). I have issue with IDOT overseeing the project in the first place, as this is a roadway which is contained entirely within a large, incorporated city, affects the hundreds of thousands living in its adjacent neighbourhoods, and would be perfectly managed by CDOT, which is more responsible to the city administration and (ostensibly) the public. It is not a roadway that travels across jurisdictions or affects the state. In an ideal world, IDOT’s jurisdiction over Lake Shore Drive would have ended before this project began.

Regardless of the ideal, it’s important to keep in mind that IDOT should not be trusted to take into account the public’s input, especially given their own history and the past experience of the engineering firm they selected. I wonder why the firm was not chosen in a more transparent way after the public’s input was thoroughly solicited, given that no engineering plans really needed to be done to gather input on what Lake Shore Drive’s problems are. Ideally, the firm would have been selected based on a firm’s proven ability to balance the needs of people on foot, bike, or transit first – since those are the recorded public’s priorities.

Keep in mind who is helping run the show behind the curtain while the planning process continues. It would severely disappointing to see the public’s input ignored – Chicago deserves a lakefront planned for and by its residents, not engineers.


Get every new post delivered to your Inbox

Join other followers