Amsterdam’s most irritating traffic light is at the Middenweg

Amsterdam’s most irritating traffic light is at the crossing of Middenweg and Wembleylaan, according to a poll among cyclists. The Amsterdam branch of cyclists’ organisation Fietsersbond says the top 10 most irritating traffic lights are well-known problem sites.

Comments made by participants in the poll show that cyclists are not just annoyed about long delays; they are also concerned about safety, especially at locations where many (school) children cross the street. Some cyclists nevertheless keep their spirits up: Plenty of time for an espresso there!!

Red and orange dots show locations of irritating traffic lights. If any comments have been submitted, the dot is red. Click on a red dot, or type a few letters below, to see comments about a particular crossing (comments are mostly in Dutch).

Here are the ten most irritating traffic lights:

  1. Middenweg / Wembleylaan
  2. Amstelveenseweg / Zeilstraat
  3. Middenweg / Veeteeltstraat
  4. Rozengracht / Marnixstraat
  5. Meer en Vaart / Cornelis Lelylaan Nz
  6. IJburglaan / Zuiderzeeweg
  7. mr Treublaan / Weesperzijde
  8. Frederiksplein / Westeinde
  9. Nassauplein / Haarlemmerweg
  10. Van Eesterenlaan / Fred Petterbaan

Some are at routes where the city gives priority to car circulation, at the expense of cyclists and pedestrians. However, cyclists say they frequently have to wait at red lights even though the crossing is empty. This could be a result of budget cuts on maintenance of the systems that detect waiting cyclists.

Quite a few cyclists complained about cars running red lights (perilous!) or blocking the crossing. Further, not everybody is happy with crossings where all cyclists simultaneously get a green light. Such a set-up is nice if you have to make a left turn, for it will spare you having to wait twice, but it may result in chaos.

The Fietsersbond wants traffic lights adjusted to create shorter waiting times for cyslists and pedestrians. Research by DTV consultants found that adjusting traffic lights is a simple and cheap way to improve the circulation of cyclists, and that it also improves safety.

An analysis of location data from cyclists’ smart phones found that there are traffic lights in Amsterdam where the average time lost exceeds 30 seconds.

Thank you to the Fietsersbond and to Eric Plankeel for their input; and to all cyclists who participated in the poll.

How much delay for cyclists is caused by traffic lights

Road segments near traffic lights

The other day I posted an article on how much time cyclists lose at traffic lights in Amsterdam. Someone asked if I can calculate what percentage of total time lost by cyclists is caused by traffic lights. Keep in mind that delays can be caused by traffic lights, but also by crossings without traffic lights, crowded routes and road surface.

Here’s an attempt to answer the question, although I must say it’s a bit tricky. Again, I’m using data from the Fietstelweek (Bicycle Counting Week), during which over 40,000 cyclists shared their location data. This time I’m using the data about links (road segments). For each link, they provide the number of observations, average speed and relative speed.

With this data, it should be possible to estimate what share of total delays occurs near traffic lights. But what is near? It’s to be expected that the effect of traffic lights is observable at some distance: people slow down while approaching a traffic light and it takes a while to pick up speed again after. But what threshold should you use to decide which segments are near a traffic light?

One way to address this is to look at the data. I created a large number of subsets of road segments that are within increasing distances from traffic lights, and calculated their average speed. For example, segments that are within 50m from a traffic light have an average speed of about 16 km/h. The larger group of segments that are within 150m have an average speed of about 17 km/h.

Judging by the chart, it appears that the effect of traffic lights is diminishing beyond, let’s say, 150m. You could use this as a threshold and then calculate that delays near traffic lights constitute nearly 60% of all delays.

However, there’s a problem. Even if a delay occurs within 150m of a traffic light, the traffic light will not always be the cause of that delay. I tried to deal with this by estimating a net delay, which takes into account how much delay normally occurs when cyclists are not near a traffic light (in fact, I used two methods, that have quite similar outcomes). Using this method, it would appear that over 20% of delays are caused by traffic lights.

Now, I wouldn’t want to make any bold claims based on this: these are estimates based on assumptions and simplifications (in fact, if you think there’s a better way to do this I’d be interested). That said, I think it’s fair to say that average bicycle speeds appear to be considerably lower near traffic lights and that it’s plausible that this may be the cause of a substantial share of delays for cyclists.

UPDATE - I realise that the way I wrote this down sort of implies that you could reduce delay for cyclists by perhaps 20% just by removing traffic lights, but that would of course be a simplification.


I used Qgis to process the Fietstelweek data. I used the clip tool to select only road segments in Amsterdam. I had Qgis calculate the distance of each segment and extract the nodes, which I needed to get the coordinates of the start and end points. Further processing was done with Python.

The dataset contains a relative speed variable (it is capped at 1, which means that it only reflects people cycling slower than normal, not faster). A relative speed of 0.8 would mean that people cycle at 80% of their normal speed. I calculated total delay at segments this way:

number of observations * (1 - relative speed) * distance / speed

You can then calculate delay at segments near traffic lights, as a percentage of the sum of all delays.

I tried to get an idea of how much of delay is actually caused by traffic lights, by estimating net delay. For this, I needed net relative speed. I used two methods to estimate this: 1. divide the relative speed of a segment by the median relative speed of all segments that are not near a traffic light; and 2. divide the speed of a segment by the median speed of all segments that are not near a traffic light.

Python code here.

Rood licht voor fietsers

In 2006 kozen Amsterdammers het Frederiksplein als de plek met het meest irritante verkeerslicht. Nu, tien jaar later, bieden de cijfers van de Fietstelweek een unieke kans om in kaart te brengen hoeveel tijd fietsers kwijt zijn bij stoplichten. Het resultaat zie je hierboven. De kaart laat nog heel wat rode stippen zien - plekken waar fietsers gemiddeld meer dan 30 seconden verliezen.

Sommige van die knelpunten stonden in 2006 al in de top–10 van irritante verkeerslichten, waaronder de toenmalige ‘winnaar’, het Frederiksplein. En veel rode stippen zijn onderdeel van het Plusnet Fiets, waar de gemeente streeft naar een gemiddelde verliestijd voor fietsers van maximaal 20 of 30 seconden.[1]

De waarnemingen geven een eerste indruk. Om precies te weten wat er aan de hand is zou je per kruispunt de situatie moeten analyseren. Op enkele plekken is een gemiddelde vertraging van meer dan twee minuten gemeten; wellicht is daar meer aan de hand dan alleen een vervelend verkeerslicht.

De gegevens van de Fietstelweek zijn verzameld in september. Sindsdien zal de situatie op sommige plekken veranderd zijn. Een goed voorbeeld is het Muntplein, waar je momenteel best vlot door kan fietsen - met dank aan wethouder Litjens. Een verandering die al was doorgevoerd voor de Fietstelweek is het uitzetten van de verkeerslichten op het Alexanderplein. En dat zie je: alleen maar groene stippen.

De Fietsersbond wil dat verkeerslichten beter worden afgesteld. Uit onderzoek blijkt dat dit een «zeer effectieve en bovendien relatief eenvoudige en goedkope manier [is] om snel(ler) door de stad fietsen mogelijk te maken». Maar het gaat niet alleen om technische aanpassingen; in het toekomstige beleid moeten ‘radicale keuzes’ worden gemaakt voor fiets- en voetgangersverkeer om te voorkomen dat de stad vastloopt.

Dit leek me een goede aanleiding om opnieuw een verkiezing te organiseren. Klik hier om je stem uit te brengen op het meest irritante verkeerslicht van Amsterdam - editie 2016.


De Fietstelweek is een initiatief van de Fietsersbond en een aantal adviesbureaus en onderzoeksinstellingen. Ruim 40.000 fietsers hebben in de week van 19 tot en met 25 september 2016 met een app op hun smartphone hun lokatie beschikbaar gesteld. De gegevens van de Fietstelweek zijn voor niet-commerciële doeleinden beschikbaar gesteld (dank!) onder de voorwaarde dat afgeleide producten ook als open data beschikbaar worden gesteld. De bewerkte gegevens van mijn analyse vind je hier en de code voor het verwerken van de gegevens hier en hier.

De gegevens van de Fietstelweek zijn beschikbaar in de vorm van routes, links (intensiteiten en snelheden) en knopen (vertragingen). De dataset met knopen bevat een variabele tijd. Dit is de vertraging over het traject van 50m voor tot 50m na dat punt, ten opzichte van de tijd die de fietser normaal over 100m zou doen (met dank aan Dirk Bussche van NHTV Breda university of Applied Sciences voor een toelichting op de gebruikte methode).

Er zijn gegevens beschikbaar over ruim 750.000 knopen. Ik heb ze in drie stappen gefilterd: alleen knopen in een vierkant rond Amsterdam; alleen knopen in de buurt van een verkeerslicht en alleen knopen met minstens 50 waarnemingen. Dit leverde 1.845 knopen op met totaal bijna 400.000 waarnemingen. Voor details over het filteren zie de scripts.

Gegevens over verkeerslichten zijn afkomstig van de gemeente.

Ik heb zelf overigens niet meegedaan aan de Fietstelweek. Daar heb ik nu wel een beetje spijt van. Volgende keer beter.

  1. De gemeente hanteert als voorwaarde dat de gemiddelde wachttijd voor fietsers, gemeten op het drukste uur, niet meer dan 45 seconden mag zijn. Op het Plusnet Fiets geldt daarnaast een wenselijke maximale verliestijd van 20 seconden bij drukke oversteken en anders 30 seconden. De verliestijd is de wachttijd plus de ‘afrem- en optrekvertraging’. Dit zijn althans de uitgangspunten van de concept Afwegingsleidraad Verkeersnetten Amsterdam, een bijlage bij het nieuwe Beleidskader Verkeersnetten dat begin volgend jaar wordt vastgesteld.  ↩

Exploring traffic lights with location data from cyclists’ phones

In 2006, Amsterdammers voted Frederiksplein the location with the most irritating traffic light. Now, ten years later, data from the Fietstelweek (Bicycle Counting Week) offer a unique opportunity to map how much time cyclists lose at traffic lights. During Fietstelweek, over 40,000 Dutch cyclists have shared their location data using a smartphone app. Some of the findings are summarised on the map above, which shows quite a few red dots - locations where cyclists lose on average 30 seconds or more.

Some of those bottlenecks also featured in the 2006 top-ten of irritating traffic lights, including the ‘winner’ of the time, the Frederiksplein. And many red dots are on the Plusnet Fiets, a network of essential cycling routes where the municipality would prefer an average delay of at most 20 or 30 seconds.[1]

The data only allows for a general exploration of cycling bottlenecks. In order to understand more precisely what’s going on, one would have to analyse each crossing separately. At a few locations, average delays of over two minutes have been observed - perhaps traffic lights are not the sole explanation of those delays.

The data from the Fietstelweek were collected in September. The situation may well have changed since at some locations. A good example is the Muntplein, where cycling is pretty smooth now - thanks to Alderman Litjens who banned most cars and removed traffic lights. A change that occured before the Fietstelweek is the removal of traffic lights at the Alexanderplein. And it shows: all dots are green there.

Cyclists’ organisation Fietsersbond wants traffic lights adjusted to create shorter waiting times for cyslists. Research has shown this to be a measure that is very effective and relatively easy and cheap to implement. But it’s not just about technical improvements; future policies should make ‘radical choices’ in favour of bicycle and pedestrian traffic, in order to prevent the city coming to a standstill due to congestion.

This seemed like a good occasion to organise a follow-up poll on traffic lights. Click here to vote for Amsterdam’s most irritating traffic light - 2016 edition.


The Fietstelweek is an initiative of cyclists’ organisation Fietsersbond and a number of consultancies and research organisations. Between 19 and 25 September 2016, over 40,000 cyclists have used an app to share their location data. The Fietstelweek data has been made available (thanks!) on condition that derived products are also made available as open data. The processed data of my analysis is here and the code for processing the data here and here.

The Fietstelweek data is available in the form of routes, links (intensity and speed) and nodes (delays). The nodes data contains a variable tijd (time). This is the delay along the trajectory between 50m before and 50m after the node, relative to the time the cyclist would normally take to cycle 100m (thanks Dirk Bussche of NHTV Breda university of Applied Sciences for details on how the data was processed).

The dataset contains over 750,000 nodes. I filtered them in three steps: only nodes that are within a square around Amsterdam; only nodes near traffic lights and only nodes with at least 50 observations. This resulted in 1,845 nodes with almost 400,000 observations. For details see the scripts.

Data on traffic lights is from the municipality.

  1. In a new policy to be decided early 2017, the municipality indicates that the average waiting time for cyclists, measured at the busiest hour, should not exceed 45 seconds. At the Plusnet Fiets, it is further deemed desirable that the maximum delay doesn’t exceed 20 seconds at busy crossings an 30 seconds elsewhere. Delay times include the effect of slowing down and accelerating.  ↩

Tussenstand internetconsultatie: ‘Alle fietspaden scootervrij’

[Dit artikel is bijgewerkt op 7 januari 2017] - Er is de afgelopen jaren flink actie gevoerd voor scootervrije fietspaden. Het voorlopige resultaat: gemeenten mogen binnenkort scooterrijders verplichten om op de rijbaan te rijden, met een helm op. Er is wel een adder onder het gras: gemeenten moeten straks per fietspad of stelsel van fietspaden besluiten of ze scootervrij worden, onderbouwd met argumenten. De Fietsersbond vreest voor chaos.

De regel is nog niet definitief vastgesteld en burgers konden tot en met 6 januari hun mening geven via een internetconsultatie. Er zijn 1.132 openbare reacties ingediend (waarvan 912 uit Amsterdam). Dat is best veel. Sinds 2010 zijn er 728 internetconsultaties geweest en daarop kwamen gemiddeld 43 openbare reacties. Slechts 5 consultaties kregen meer reacties dan de consultatie over scootervrije fietspaden.

In de grafiek zie je het effect van een bericht op de website van AT5 op 16 december en vooral ook van het opinieartikel van Zeeger Ernsting en Jan-Bert Vroege in het Parool op 3 januari. Daarnaast hebben Fietsersbond, Milieudefensie, scooterverkopers en anderen hun achterban opgeroepen om te reageren, maar die initiatieven lijken minder duidelijk aan een bepaalde datum gebonden te zijn.

Maar hoe analyseer je de inhoud van al die reacties? Neem de consultatie over de intrekking van de Zondagswet, een van de populairste consultaties ooit. De overheid heeft een verslag gemaakt waarin de reacties worden uitgesplitst naar burgers en organisaties, naar voor- en tegenstanders en naar de argumenten die ze gebruiken. De enige manier waarop je dat kan doen is door de reacties stuk voor stuk zorgvuldig door te lezen en te categoriseren. Dat is een gigantische klus en dat ga ik dus niet doen.

Een veel simpelere manier is tellen welke woorden het vaakst worden gebruikt, nadat je eerst de stopwoorden zoals de, en, en van hebt verwijderd (en de hoofdletters hebt vervangen door onderkast). Voor de scooterconsultatie kom je dan op fietspad(en), alle, snorfietsen, scooters. Dat schiet niet op.

Een variant is om te kijken naar combinaties van woorden, opnieuw nadat stopwoorden uit de tekst zijn gefilterd. Ik heb gekeken naar combinaties van twee opeenvolgende woorden, zogenaamde bigrams. Verreweg de meestvoorkomende combinatie is alle fietspaden; deze combinatie komt in de reacties 140 keer voor. Bijna allemaal zijn dit mensen die vinden dat alle fietspaden scootervrij moeten worden. Bijvoorbeeld:

Graag ALLE fietspaden binnen de ring scootervrij! Helmplicht overal! Ze rijden te hard en er is geen handhaving op snelheid. Dank u wel!

Bijna alle fietspaden in Amsterdam zijn drukke fietspaden. Het is onzinnig per stukje straat te gaan bepalen of daar wel/niet scooters op mogen. Dus: alle fietspaden binnen de ring (muv Noord) scootervrij! Helderheid voor fietser en voor scooterrijders.

Het zou zeer prettig zijn om de snorscooters van alle fietspaden af te halen. Dit maakt het voor kleine kids weer leuk om te leren fietsen in de stad. Ouderen maar ook jongeren irriteren zich vaak aan de scooters op het fietspad die veel ruimte innemen maar ook heel regelmatig te hard rijden.

Laat het alstublieft niet alleen gelden voor drukke fietspaden maar voor ALLE fietspaden.

Andere veelvoorkomende woordcombinaties zijn binnen [de] ring en drukke fietspaden.

Tenslotte heb ik gekeken naar langere woordpatronen (7grams) in reacties. Op die manier kom je erachter dat de scooterverkopers ook hebben geprobeerd om met een standaardtekst de consultatie te beïnvloeden, maar dat gaat vooralsnog om kleine aantallen.

Voor de gegevensverzameling en -analyse heb ik gebruik gemaakt van Python plus o.a. BeautifulSoup en nltk. 181 indieners hebben een pdf-bijlage meegestuurd bij hun reactie; deze heb ik niet geanalyseerd.