Who use the Dafne Schippers bicycle bridge

If all goes well, the Dafne Schippers bicycle bridge in Utrecht should reopen on Monday, after a short closure for maintenance. I have a special affinity with this bridge: it opened on the day I started working in Leidsche Rijn, west of the Amsterdam-Rhine Canal, and it’s part of my favourite cycle route to work.

Who else use this bridge? With the usual caveats, data of the Fietstelweek can provide some insights. The charts below show, for each direction of traffic, at what time cyclists use the bridges across the canal.

There’s a morning peak in cyclists crossing the canal from Leidsche Rijn (west) to the city centre (east), and a peak in cyclists going the opposite direction around 5 pm. This suggests that the bridges are popular among commuters from Leidsche Rijn. That doesn’t really come as a surprise: if you cycle to Leidsche Rijn during the morning rush hour, you ride past huge numbers of cyclists going in the opposite direction.

The map below shows the routes of cyclists using the bridges. From top to bottom: Hogeweidebrug (or Yellow Bridge), Dafne Schippers bridge and De Meern bridge.

It appears that many cyclists use the bridges to go to the area around Central Station. Users of the De Meern and Dafne Schippers bridges tend to use nice routes that converge along the Leidseweg. Users of the Yellow Bridge use the not-so-nice route along Vleutenseweg, or the slightly better route along the railway track.

Research has shown that cyclists don’t always prefer the shortest route to their destination; the quality of the cycle tracks also plays a role.

Yet the map suggests that many cyclists opt for the shortest route, even if a nicer alternative is available. For example, few cyclists from the northern part of Leidsche Rijn seem to use the Dafne Schippersbrug, or the route along Keulsekade (the latter avoids long waits at traffic lights).

See also this analysis by DUIC, which shows that the bridge is not only popular among cyclists, but also among runners, which is fitting given the name of the bridge.

Tags: 

Which Amsterdam neighbourhoods might qualify for an Airbnb ban

Last week, city council member Sofyan Mbarki (Social-Democrats) proposed a motion to ban holiday rentals in Amsterdam neighbourhoods such as the Haarlemmerbuurt, the Kinkerbuurt and the Wallen. A concentration of holiday rentals results in rising house prices, lower social cohesion, increasing pressure on the housing market and inequality, he argued. The motion has support from a majority of the council.

The city government is inclined to implement the motion, but alderman Laurens Ivens (Socialist Party) wants to study the legal aspects. He considers the neighbourhoods mentioned in the motion good candidates for a ban on holiday rentals, but he doesn’t rule out that other neighbourhoods may be selected.

So what neighbourhoods might qualify? One criterion might be Airbnb density, which is shown on the map below (for caveats see Method below).

Unsurprisingly, neighbourhoods with high Airbnb density overlap with areas where residents complain about holiday rentals: Centrum-West, Centrum-Oost, Westerpark, Oud-West/De Baarsjes and De Pijp/Rivierenbuurt (source).

Airbnb frequently claims that it contributes to tourist dispersion because many hosts are located outside the city centre. However, the map suggests that Airbnb is in fact heavily concentrated in neighbourhoods such as the Wallen, the Jordaan, the Pijp and the Kinkerbuurt. While some of these neighbourhoods are outside the city centre, the pattern appears to be concentration rather than dispersion.

While these neighbourhoods would be likely candidates for a ban on holiday rentals, Ivens may also want to anticipate future developments. A number of neighbourhoods still have a relatively low Airbnb density, but have seen their density double or even almost triple over the past three years: Transvaalbuurt, Hoofdweg e.o., Van Galenbuurt and Westindische Buurt.

UPDATE - It was rightly pointed out that Airbnb density partly reflects housing density. An alternative measure would be Airbnb relative to addresses or population. However, this would result in high values for some areas with low population density where holiday rentals don’t appear to be perceived as much as a problem as in some of the more densely populated areas.

See also:

  • Is tourist dispersion working? An analysis of Lonely Planet maps
  • Airbnb’s agreement with Amsterdam: some insights from scraped data

Method

Both Murray Cox’s Inside Airbnb and Tom Slee provide data collected by scraping the Airbnb website. While this data has some limitations, it’s probably the best publicly available data source on Airbnb. Since Tom Slee stopped collecting data last year, I used Inside Airbnb data for the current article. A discussion of methodological aspects related to that data is here.

In addition, I used land surface data from Statistics Netherlands (CBS). This data is for 2017.

I calculated an indicator for Airbnb density in the following way:

  • I assigned each listing to a neighbourhood (note that coordinates for listings aren’t 100% accurate as discussed by Cox);
  • For each listing, I calculated an indicator for the number of stays as: reviews per month (an indicator of the number of rentals) * the minimum length of stay (capped at 3 nights following this study) * the number of beds (an indicator for the number of guests, capped at 4 because that’s the maximum number of guests allowed by local regulations);
  • I summed that number for each neighbourhood and divided that by the land surface of the neighbourhood (ha).

Note that the indicator for the number stays will not be equal to the actual number of stays, for a number of reasons:

  • It’s possible that not all beds are occupied;
  • Not all guests write a review (Cox suggests the number of rentals could be twice as high as the number of reviews);
  • People may stay longer than the minimum number of nights;
  • Sometimes more than four people may stay in an Airbnb, despite the fact that that’s not allowed;
  • For some listings, the indicator could not be calculated because of missing data (about 11.4%).

According to Airbnb, the number of stays in Amsterdam is 2.5 million. Based on that number, the actual number of stays would be about 3 times as high as the indicator for the number of stays I calculated. Given the considerations listed above, that’s more or less what one would expect.

Python script here.

After the voter revolt: Collaboration in the Amsterdam city council

The 21 March city council election saw a bit of a voter revolt. Four new parties got elected onto the city council, thanks primarily to voters in the less affluent, peripheral parts of the city. The election outcome reflects Amsterdam’s social divide.

As a result, the composition of the city council changed considerably. So how are the established parties and the new parties getting along?

Before trying to answer that question, let’s have a look at collaboration in the previous city council. There was a left-wing majority in the council, but the government was relatively right-leaning. There was an effective opposition, with GroenLinks (Green Party) and PvdA (Social-Democrats) frequently collaborating to file motions and amendmends.

The chart below shows collaboration in the current city council. The city now has a more left-leaning coalition of GroenLinks, D66, PvdA, and SP. The pattern of collaboration has changed considerably.

The chart suggests that there are three clusters in the city council. One contains the coalition parties GroenLinks, D66, PvdA, and SP. The second contains right-wing / conservative parties VVD, CDA, FvD and PvdO. And the third contains DENK, BIJ1 and ChristenUnie. PvdD (Party for the Animals) appears to be a bit of an outsider by this measure.

Opposition

Are opposition parties able to exert influence, despite their divisions? An interesting measure is whether they succeed in getting proposals adopted despite a part of the coalition voting against. So far, this has happened twice.

One case was a motion from Diederik Boomsma (CDA), asking to provide parking permits to people who have a private garage but have turned it into something else. Coalition party GroenLinks voted against, arguing that people who have made the decision to use their garage for other purposes are now turning to the city to solve their parking problem.

The second one was a motion from Sylvana Simons (BIJ1) asking to the local government to support teachers in their fight for fair wages. PvdA voted against, arguing that the alderwoman had already taken a stand.

The motions can be downloaded here, and here’s a Python script to process them.

Tags: 

Trust instead of algorithms

A number of Dutch cities have contracted a company named Totta data lab to predict which welfare recipients may have committed fraud (the cities were somewhat secretive about this approach, but newspaper NRC wrote about it last spring). Totta has trained algorithms on a considerable amount of personal data: 2 to 3 hundred variables over a period of 25 years.

Such analyses carry the risk that existing biases are reproduced:

Luk [A Totta spokesperson] says that in some municipalities more fraud is found among people who have a partner (e.g., they don’t report income), whereas in others it is people without a partner (failing to report they live together). «But it’s quite possible that only that group has been investigated and we build our algorithms on that.»

Luk says they sometimes add ‘deviant’ citizens to the suspects, apparently in an attempt to look beyond the usual suspects.

Another problem is the lack of transparency regarding how this type of algorithms work. Totta doesn’t disclose its algorithms because it wants to protect its business interests; further, it can be difficult to interpret and explain how algorithms work. As a result, the government is unable to explain what criteria it uses to prepare decisions that affect citizens. Recently, the Dutch Council of State expressed concerns over digital decision-making by the government.

Proponents of algorithms argue that they help to detect more fraud while reducing the burden for innocent citizens. In fact, there may not be such a clear distinction. The organisation of welfare agencies said that alleged welfare frauds are often people who mean no harm, but who get into trouble as a result of complex and ambiguous welfare rules.

Still, Amsterdam city council member Anne Marttin (VVD) finds the approach interesting. She asked if Amsterdam uses algorithms and data mining to detect welfare fraude. The answer is no. This is why:

The city government is aware of the use by other municipalities of algorithms and/or data mining to fight welfare fraud. The city does not use such instruments to deal with or prevent welfare fraud. […]

Our services for welfare recipients are based on trust. Further, the city government attaches great importance to the privacy of citizens and the way in which their data is used by the government, for example to develop algorithms. The city government thinks it’s very important that the use of data mining and algorithms doesn’t have a negative impact on the privacy and the legal protection of citizens.

Source (pdf)

Scooter-free cycle tracks in Amsterdam

Amsterdam plans to ban scooters from most cycle tracks. Currently, cycle tracks are still used by the so-called snorfiets category which has a speed limit of 25km/h - although most ride (much) faster. The measure will make cycle tracks safer for cyclists, and it will also result in cleaner air on cycle tracks.

The city has produced a map showing the new snorfiets regime. By my calculations, snorfietsen will have to use the road on a total of 180km (blue on the map) and they will be banned from another 71km of routes where there’s only a cycle track (marked in red). However, they’ll still be allowed to use about 93km of cycle tracks (green), at least for now.

Busy cycle tracks

To decide where to ban scooters from the cycle track, the city used data from the Fietstelweek, the large-scale initiative to collect smartphone location data from cyclists. This is interesting, since governments have complained that the number of participants in the Fietstelweek is declining (they started experimenting with Strava data instead).

Perhaps that’s why the city of Amsterdam used the 2016 edition of the Fietstelweek (rather than 2017) to assess how busy cycle tracks are. It used its own traffic counts to validate the Fietstelweek data. The Mathematics Centre of the University of Amsterdam deemed the method used ‘reliable and suitable’.

I’ve created a map to show how the new snorfiets regime compares to Fietstelweek data. The width of the pink lines corresponds to the number of cyclists who used a route; the green dotted line shows where snorfietsen will still be allowed to use the cycle track.

It appears that the city has done a decent job at avoiding the busiest cycling routes (in some cases, this is because these routes don’t have separate bicycle tracks to begin with).

That said, some problems remain. One example is the cycle track along the IJ north of Central Station, which can be very busy and where some snorfiets riders overtake other traffic in a dangerous way. And there’s the Amsterdamse Brug and Schellingwouder Brug (the bridges to the northeast of Amsterdam), where cycle tracks are too narrow for snorfietsen.

Making all cycle tracks scooter-free

In the future, the city intends to ban scooters from all mandatory cycle tracks within the A10 Ring Road. Obviously, they want to do this without compromising the safety of snorfiets riders. This will be easier on routes where car speed is already low.

The map below shows the current average car speed on major roads. The green lines indicate where snorfiets riders will initially be allowed to continue using the cycle track.

Of course I don’t know what the situation is when you’re reading this, but likely some of the highest car speeds (on sections where snorfietsen will initially be allowed to use the cycle track) will be on the Gooiseweg, entering the city centre from the southeast, and the aforementioned Amsterdamsebrug and Schellingwouderbrug. On those bridges, many motorists exceed the speed limit. The city wants to change the road design to invite lower speeds before banning snorfietsen from the cycle track.

Elsewhere, it should be relatively easy to make the remaining cycle tracks scooter-free. Of course, a more practical solution would be to abolish the snorfiets category altogether.

If you wish to respond to the city’s plans, you can use this form. The deadline is 24 September.

Method

I used Qgis to create the first map and Leaflet for the second. I used GeoPandas and Shapely to calculate lengths. On the first map, the width of the pink may be slightly distorted due to varying distances between cycle routes in opposite directions.

Is tourist dispersion working? An analysis of Lonely Planet maps

Discussion

For more than fifteen years, Amsterdam has been trying to convince tourists to visit areas outside the city centre. There is a concern that the inner city is approaching the limit of how many tourists it can handle.

To explore the effect of these policies, I analysed changes in the maps in Lonely Planet guides. Over the past years, sights have been added in areas outside of the inner city - mostly areas that had already been affected by gentrification. Still, the large majority of sights are still in the traditional tourist areas, in the city centre and some parts of the Zuid district.

It appears that the effect of tourist dispersion policies is modest at best - and not nearly enough to compensate for the growth of tourism. Reducing the impact of tourism may well require a different approach - for example targeting hotel capacity and low-cost flights to Schiphol Airport.

Dispersion policies

In its coalition agreement, the new city government said that the positive aspects of tourism are increasingly overshadowed by its negative effects, putting the liveability of some neighbourhoods at risk. One of the ways to deal with this is spreading tourists over the city (and the surrounding region). Amsterdam is to be primarily a place where people live and do business, and only in the second place a tourist destination.

The idea to disperse tourists is not new. In 2016, Amsterdam launched a campaign to promote areas outside the inner city. Interestingly, the campaign caused a bit of a controversy when politicians noticed the Nieuw-West district had been left out of a promotional map. Amsterdam Marketing responded that ‘in our professional opinion’, the district is currently ‘less suitable to be offered as a primary alternative to the city centre’. They argued that neighbourhoods must first be embraced by locals, which suggests that city marketing follows gentrification.

In 2009, Amsterdam planned to promote the eastern parts of the city as ‘the new (2nd) Museum Quarter’; the Northern IJ Waterfront as ‘Creative City’, the Westerpark as a variation on Berlin’s ‘Kulturbrauerei’; the Eastern Harbour Area as Docklands; de Pijp as ‘Quartier Latin’ and Oud-West as ‘Notting Hill’.

And as early as 2001, the tourism board warned that the inner city had almost reached the limit of how many tourists it can handle. «But where should they go? To IJburg for architecture; fun shopping at the Arena Boulevard in Zuidoost and visit the former GVB tram depot in Oud-West.»

A common denominator of the campaigns is that they target repeat visitors. As the tourism board explained in 2001, «we don’t want to send first-time foreign visitors to the outskirts».

Lonely Planet maps

To get an idea of the impact of these policies, I analysed changes in the sights shown on maps in Lonely Planet guides (for caveats, see Method below). If tourists turn to new parts of the city, you’d expect these areas to show up on those maps. Further, in 2009, the tourism board started seinding information about sights outside the city centre to publishers of travel guides. «Inclusion in the guides is not guaranteed, but this often happens.»

2006 is a bit of an outlier. A number of sights outside of the city centre were added, only to disappear again in the next edition (see below, Sights that were dropped). If you zoom in on specific neighbourhoods, you’ll notice more changes. For example:

  • A number of sights in Oost were added in 2012: Oosterpark (including De Schreeuw, Slavery Memorial and Spreeksteen), Dappermarkt and Frankendael;
  • In 2018, a number of sights in Noord were added, including some at the former NDSM Wharf, EYE Film Museum and Nieuwendammerdijk.

The table below shows the percentage of sights per district:

District 2000 2006 2012 2016 2018
Stadsdeel Centrum 84 74 78 78 75
Stadsdeel Zuid 10 12 11 11 10
Stadsdeel Oost 1 3 6 5 6
Stadsdeel Noord 2 1 0 0 5
Stadsdeel West 3 5 4 5 4
Stadsdeel Nieuw-West 0 1 0 0 0
Stadsdeel Zuidoost 0 1 0 0 0
Wijk 00 Amstelveen 0 3 0 0 0

There has been an increase in especially Oost and Noord, but the large majority of sights are still in Centrum and in Zuid (which includes the Museumplein).

Sights that were dropped

In each edition, new sights are added and others are dropped. The latter category includes sights that don’t exist anymore, such as the Netherlands Media Art Centre, the Vakbondsmuseum (trade union museum) and temporary locations of the Stedelijk Museum. Other sights apparently fell out of grace with the authors.

The authors of the various editions have their own preferences and interests. For example, Andrew Bender, author of the 2006 edition, appears to be a bit of a health enthousiast. He added many sports facilities and fitness centres, which explains why his edition had more sights outside the city centre. Most of these were dropped in the next edition. In 2012, Karla Zimmerman and Sarah Chandler added many hofjes (~almshouses). Again, most of them didn’t make the next edition.

Method

I used the following editions of the Lonely Planet Amsterdam guide:

2000: Rob van Driesum, Nikki Hall
2006: Andrew Bender
2012: Karla Zimmerman, Sarah Chandler
2016: Catherine Le Nevez, Karla Zimmerman
2018: Catherine Le Nevez, Abigail Blasi

I analysed sights in the legends of the maps at the end of the guides. The maps also include categories like eating, drinking, sleeping and entertainment. I focused on sights, reckoning that this category would likely present less problems when you want to geocode information from old maps. Note that the classification of especially the 2000 edition is somewhat different from later editions.

It’s possible that errors occured in geocoding or in copying data from the guides. If you spot any errors, please let me know.

Obviously, Lonely Planet maps are not a perfect measure of tourism dispersion. On the other hand, if there had been major shifts in the areas tourists visit, it seems rather unlikely they wouldn’t be reflected in the sights Lonely Planet shows on its maps.

Tags: 

Converting Election Markup Language (EML) to csv

Note that the map above isn’t really a good illustration here because I used a different data source to create it.

Getting results of Dutch elections at the municipality level can be complicated, but what if you want to dig a little deeper and look at results per polling station? Or even per candidate, per polling station? For elections since 2009, that information is available from the data portal of the Dutch government.

Challenges

The data is in Election Markup Language, an international standard for election data. I didn’t know that format and processing the data posed a bit of a challenge. I couldn’t find a simple explanation of the data structure, and the Electoral Board states that it doesn’t provide support on the format.

For example, how do you connect a candidate ID to their name and other details? I think you need to identify the Kieskring (district) by the contest name of the results file. Then, find the candidate list for the Kieskring and look up the candidate’s details using their candidate ID and affiliation. But with municipal elections, you have to look up candidates in the city’s candidate list (which doesn’t seem to have a contest name).

Practical tips

If you plan to use the data, here are some practical tips:

  • Keep in mind that locations and names of polling stations may change between elections.
  • If you want to geocode the polling stations, the easiest way is to use the postcode, which is often added to the polling station name (only for recent elections). If the postcode is not available or if you need a more precise location, the lists of polling station names and locations provided by Open State (2017, 2018) may be of use. Use fuzzy matching to match on polling station name, or perhaps you could also match on postcode if available. Of course, such an approach is not entirely error-free.

Further, note that the data for the 2017 Lower House election is only available in EML format for some of the municipalities. I guess this has something to do with the fact that prior to the election, vulnerabilities had been discovered in software to count the votes, so they had to count the votes manually.

Python script

Here’s a Python script that converts EML files to csv. See caveats there.

Tags: 

The orientation of Amsterdam’s streets

Eight days from now, Amsterdam will have a new metro line traversing the city from north to south. But what about the orientation of the city’s streets?

Geoff Boeing - who created a Python package for analysing street networks using data from OpenStreetMap - just published a series of polar histograms of American and ‘world’ cities. Amsterdam isn’t among them, but Boeing made his code available, so I used that to create charts for the largest cities in the Netherlands.

While the pattern isn’t nearly as monotonous as in most American cities, I’m still surprised how many streets in Amsterdam run from north to south or from east to west. The Hague has a strong diagonal orientation; Rotterdam doesn’t seem to have a dominant orientation and Utrecht is a bit in between.

With Boeing’s code, you can also do the analysis specifically for roads that are accessible to cyclists, but for Amsterdam that doesn’t make much difference since most roads are.

Discussion

15 July 2018 - There was some really interesting discussion on Twitter in response to my post from last Friday (I use Twitter names to refer to people; most sources are in Dutch).

Curved streets

Both Sanne and Egon Willighagen asked how the chart treats curved streets. I have to admit I hadn’t checked, but the docstring of the add_ege_bearings function explains that it calculates the compass bearing of edges from origin node to destination node, so that implies that streets are treated as if they were straight lines.

Is that a problem? Probably not for many US cities, for they seem to have few curved streets. As for Amsterdam: most people’s mental image of the city is probably dominated by the curved canals of the city centre. However, many neighbourhoods consist of grids of more or less straight streets. So perhaps curved streets have little impact on the analysis after all.

Length versus surface

Hans Wisbrun argues that the chart type is nice, but also deceptive. The number of streets is represented by the length of the wedges, but one may intuitively look at the surface, which increases with the square of the length. In a post from 2013 (based on a tip from Ionica Smeets), he used a chart by Florence Nightingale to discuss the problem.

Rogier Brussee agrees, but argues that a polar chart is still the right choice here, because what you want to show is the angle of streets.

In a more general sense, I think the charts are an exploratory tool that’ll give you an idea how street patterns differ between cities. If you really want to understand what the wedges represent, you’ll have to look at a map.

Beach ridges

That’s what Stephan Okhuijsen did. He noted that the chart for The Hague appears to reflect the orientation of the city’s coastline. Not quite, Christiaan Jacobs replied. The orientation of the city’s streets is not determined by the current coastline, but by the original beach ridges.

I don’t know much about geography (or about The Hague for that matter), but a bit of googling suggests Jacobs is right. See for example this map (from this detailed analysis of one of The Hague’s streets), with the old sand dunes shown in dark yellow.

See also links to previous similar work in this post by Nathan Yau (FlowingData).

Gentrification mapped

The map makers of the City of Amsterdam have created a map that shows the Neighbourhood Street Quota or BSQ. The BSQ plays a key role in a highly controversial reform that is eroding the city’s social ground lease policy, but that’s not the topic of this article. For now, I’m interested in the BSQ as an indicator of land value.

As the city government puts it, «the high BSQs are found at popular locations in the city and the low BSQs at less popular locations in the city» (for details see Method, below). Unsurprisingly, the centrally located Centrum and Zuid districts have high BSQs and the peripheral areas have low BSQs.

More interesting is how the BSQ has changed. The city government has provided data for thousands of streets or street segments, for 2014 and 2016. Of course, this is a short time period and the patterns may or may not reflect longer-term developments.

The chart below shows the distribution of BSQs for flats (as opposed to single-family dwellings) for 2014 and 2016.

The peak has moved to the right, as the median value has risen from 28 to 38. For political reasons, the BSQ can never be lower than 5 or higher than 49, which explains the large number of streets with a value of 5 or 49. This implies that rises in BSQ don’t fully reflect how much land values have risen.

The map below shows how much BSQs for flats have risen in different parts of Amsterdam. I omitted streets with low or high BSQs where substantial changes in BSQ may have been hidden by the upper and lower limits. At the high end, this applies to the Canal Belt and much of the Zuid District. At the lower end, this applies to many peripheral areas including almost the entire Zuidoost District.

Red streets indicate an increase of the BSQ by more than a half; orange streets an increase by less than a half and the rare green streets a decrease of the BSQ. There are some red areas outside the ring road: mainly the IJburg expansion to the east; some parts of Nieuw-West; and Buitenveldert. Buitenveldert is a neighbourhood south of the Zuidas business district with a growing number expats and students among its residents.

Within the ring road, BSQs are rising in areas that are often associated with gentrification, such as the Kolenkit in West, the Vogelbuurt in Noord and the Indische Buurt in Oost. Perhaps more surprising is Betondorp, a low-income area with many older residents, described in 2015 as «one of the few neighbourhoods in Amsterdam not yet affected by the advance of gentrification». If the BSQ is an indication, that may be about to change.

Method

A list (pdf) of BSQs for 2016 and 2014 was recently sent to the city council. The BSQs are referred to as 2018 and 2017, but are based on data from 2016 and 2014 respectively (or to be more precise: the ‘2017 BSQ’ uses data from 2015 or 2014, whichever is lowest). The map created by the City of Amsterdam uses the ‘2017 BSQ’.

For each house, the municipality calculates an individual land quota using the formula: land value / (land value + theoretical cost of rebuilding the house). The land value is obtained by subtracting the rebuilding cost from the total value of the house (WOZ).

Subsequently, BSQs are calculated as the average land quota per street (or street segment if a street traverses multiple neighbourhoods). This is done separately for single-family dwellings and flats.

The interpretation of the BSQ is a bit tricky: one should expect higher land values to be reflected in higher BSQs, but the exact relationship will depend on the value of the building and whether that also responds to changes in land value (for example, because more expensive materials are used).

In my analysis, I only used BSQs for flats, and only the streets or street segments for which a BSQ is available for both 2014 and 2016 (thus excluding new urban expansions).

For the map, I also excluded streets where an increase of the BSQ by less than half may be hidden by the lower or upper limit of the BSQ: those with a 2014 value of 5 and a 2016 value of less than 8; and those with a 2014 value above 32 and a 2016 value of 49.

In creating the map I also ignored long streets that traverse multiple neighbourhoods and that therefore have been separated into multiple segments. Constructing street segments from line geometries representing the entire street seemed like a lot of work (perhaps there’s a simple way to do this, but I couldn’t find it).

I used Tabula to extract data from the original pdf; this Python script to process the data, create a csv for the chart and create a shapefile for the map; D3.js for the chart and Qgis to create the map (using Open Street Map map data and Stamen Toner Lite for the background).

Tags: 

Dutch governments consider using Strava data

Strava is a popular app to record bicycle rides. For some years, the company has been trying to sell its data to local governments for traffic planning. NDW, a platform of Dutch governments including the city of Amsterdam, has bought six months’ worth of Strava data to give it a try.

The switch to Strava may mean the end of the Fietstelweek, an annual one-week effort to collect bicycle data from thousands of volunteers. In the past, I’ve used Fietstelweek data to analyse waiting times at traffic lights. The Fietstelweek received funding from the same governments that are now experimenting with Strava data.

One reason why they are looking for alternatives is that the number of Fietstelweek participants is lower than they’d like. They seem to have a point. Consider for example the map below, which shows bicycle routes to and from Amsterdam Central Station.

As such, it’s an interesting map. Unsuprisingly, it seems that intensity is highest near the bicycle parking facilities. Main access routes appear to be the Geldersekade (with the sometimes chaotic crossing with Prins Hendrikkade) and the Piet Heinkade. It seems that people cycling to and from Central Station are somewhat more likely to live in the eastern part of the city.

There’s one caveat though: the numbers are small. Even the busiest segments represent at most 40 rides. One loyal Fietstelweek participant recording her commute during the entire week could literally change the map.

Strava has far larger numbers, but its data raises different kinds of questions. Strava calls itself ‘the social network for athletes’ and wants to know if you use a road bike, a mountain bike, a TT bike or a cyclocross bike (no option ‘other’ available). So how representative is Strava data of people who use their city bike for commutes and other practical purposes?

Strava’s response to such questions is that they’re trying to make the app less competition-focused and more social, with Facebook-like features. This should help them collect data about ‘normal’ bike rides. They have also argued that «especially in cities, those with the app tended to ride the same routes as everyone else».

But is that really true? Strava’s heatmap (choose red and rides) for Amsterdam could perhaps be interpreted as a combination of recreational rides (Vondelpark, Amstel) and cyclists trying to get in or out of the city as quickly as possible (plus quite a few people who recorded their laps at the Jaap Eden ice skating rink as bicycle rides).

Perhaps you could find a way to filter out ‘lycra’ rides and end up with a sufficient number of ‘normal’ rides. Then again, almost three-quarters of bicycle rides in the Netherlands are under 3.7 km, and I suspect very few of those short rides end up on Strava.

There’s also a socio-economic aspect. It has been argued that Strava is used most by people living in wealthier neighbourhoods, which aren’t necessarily the neighbourhoods most in need of better cycling infrastructure.

Of course, bicycle use is unequal in the first place, which is also reflected in Fietstelweek data. The map below shows the start and end points of rides for Amsterdam.

Density is highest in the area within the ring road and south of the IJ. The number of trips per 1,000 residents also correlates with house values: more bicycle trips start or end in affluent neighbourhoods. As said, this probably reflects actual patterns in bicycle use and not a problem of the data.

To summarise, Fietstelweek has smaller numbers than one would like, while Strava data raises questions about representativeness. One way for Strava to help answer these questions would be to make a subset of its Amsterdam data available as open data.

This Python script shows how the analysis was done.

Pages