Every spot in Berlin gets a connectivity score from 0 to 100: how well you are connected
to public transport if you live there. Darker colours mean better connected. The score is calculated in two steps.
Step 1 · A score for every station
All 2,883 stations in Berlin were connected into a network from the VBB timetable (GTFS),
linking stations that a trip serves one after another. Three network measures describe each station:
| Indicator | What it measures | Weight |
| Service frequency | How many trips stop there (the network degree) | 50% |
| Transfer hub | How many of the fastest routes through the network pass through it (betweenness) | 25% |
| Network reach | How close it is to all other stations (closeness) | 25% |
The raw measures are very skewed: a few hubs have extreme values. So each one is first turned into a percentile rank
(0 = lowest in Berlin, 100 = highest), then the three are averaged with the weights above:
station score = 0.50 × frequency + 0.25 × hub + 0.25 × reach
The median station scores 48, a typical S-Bahn or U-Bahn station about 80, and the big hubs (Hauptbahnhof, Ostkreuz,
Alexanderplatz) 98 to 100. Hover over any station dot to see its score and the three bars behind it.
Nine closeness values came from tiny disconnected pieces of the network (e.g. the Müggelsee ferry stops)
and were set to the lowest value.
Step 2 · From stations to every address
For any spot, the map looks at all stations within walking distance:
- Walking time along the real street and footpath network from OpenStreetMap, at 4.8 km/h. It was
calculated once from every station for each 50 × 50 m square of Berlin, so rivers, railway lines and fences
without a crossing count as the detours they are.
- Station strength = (station score / 100)². Squaring makes a major hub worth about four times an average
bus stop, so a cluster of weak stops can't look like a rail station.
- Walking weight falls with walking time. With the Normal setting:
| Walk | 0 min | 4 min | 8 min | 12 min | 16 min | 20+ min |
| Weight | 100% | 94% | 50% | 16% | 6% | ignored |
The Short and Long settings shift the 50% point to 5 or 12 minutes.
- Each station contributes strength × weight. The best three are combined, with the best counting fully,
the second half and the third a quarter:
score = 100 × [1 − (1 − c₁) × (1 − c₂/2) × (1 − c₃/4)]
Having more options helps, but with less and less effect. The score can never go above 100.
Example
A flat 4 minutes from a hub (score 99), 2 minutes from a bus stop (48) and 7 minutes from a tram stop (60):
- hub: 0.99² × 94% = 0.92
- bus stop: 0.48² × 100% = 0.23
- tram stop: 0.60² × 63% = 0.23
score = 100 × [1 − 0.08 × 0.885 × 0.943] = 94, Excellent. The same bus stop on its own would give 23 (Limited).
Labels and percentages
85+ Excellent · 70–84 Very good · 55–69 Good · 40–54 Fair · 20–39 Limited · below 20 Poor.
"Better connected than X% of Berlin" compares the spot with every 50 × 50 m square inside the city borders, including forests and
lakes.
Good to know
- Only stations inside Berlin are included, so places near the city border may be better connected than shown.
- Walking times follow mapped streets and paths. Shortcuts missing from OpenStreetMap, or private ones, aren't included.
- The score compares places within Berlin. It doesn't measure travel time to a particular destination, like your office.
Auf Deutsch
Wie gut ist eine Wohnung in Berlin an Bus und Bahn angebunden? Die Karte zeigt für jede Adresse einen
ÖPNV-Anbindungswert von 0 bis 100. Er wird aus dem VBB-Fahrplan, der Bedeutung der Stationen (S-Bahn, U-Bahn, Tram, Bus)
und den Fußwegen zu den nächsten Haltestellen berechnet. Das hilft bei der Wohnungssuche in Berlin.
Sources
Timetable: VBB GTFS (daten.berlin.de) · District borders: Amt für Statistik Berlin-Brandenburg via ODIS ·
Map: © OpenStreetMap contributors, OpenMapTiles, OpenFreeMap · Address search: Photon by komoot ·
Coded by @ruboin.