Methodology & Data Sources
Carpool Insight identifies business clusters in the Oslo/Akershus region where public transit is inadequate compared to driving, making them ideal targets for carpool initiatives.
The analysis uses a sequential filtering approach:
The first phase identifies geographic clusters of businesses in the Oslo/Akershus region.
Norwegian businesses register two types of entities:
beliggenhetsadresse (location address) - the actual work location.forretningsadresse (business address) which isn't necessarily an operational site.To accurately map work locations and avoid duplicates:
Business addresses are geocoded using the Kartverket API. Results are cached locally to avoid redundant API calls.
Businesses are grouped into clusters using the DBSCAN algorithm:
Nearby clusters are grouped into super-clusters representing shared commuter sheds. People traveling to the same general area can share corridors regardless of specific employer.
Each cluster contains:
Each cluster is scored on how poorly served it is by public transit. Higher score = worse PT = better carpool target.
| Metric | Weight | What is measured |
|---|---|---|
| Competitiveness | 50% | PT time / driving time ratio |
| Access | 30% | Meters to nearest frequent stop |
| Transfer | 10% | Average number of transfers (12 origins) |
| Frequency | 10% | Departures/hour (4-hour window) |
Reference time: Tuesday 07:30
How does PT travel time compare to driving?
How easy is it to reach a transit stop from the cluster?
How many transfers are needed on the PT journey?
How often do departures occur from nearby stops?
Only clusters with PT disadvantage >= 40 are shown in the Top 100 Targets list. This threshold filters out well-served downtown areas that would otherwise rank highly due to employee count alone.
Clusters are ranked by carpool potential, which balances PT disadvantage with cluster size:
Using logarithm reduces the impact of employee count differences, making PT disadvantage the primary ranking factor while still giving weight to cluster size.
For super-clusters with high PT disadvantage, the system analyzes residential catchment areas to understand where potential carpoolers live.
Individual business clusters ranked by carpool potential. Shows employee count, PT disadvantage score, and super-cluster membership.
Super-cluster groupings showing combined boundary polygons. Only displays super-clusters with:
Driving isochrones and residential population analysis for each super-cluster:
Driving isochrones are fetched from the Mapbox Isochrone API for each super-cluster centroid:
Isochrones are pre-computed and cached to avoid API calls on each page load.
The 30-minute isochrone is divided into directional wedges (N, NE, E, SE, S, SW, W, NW) to identify which roads carry the most potential carpoolers:
For each super-cluster, the Catchment tab displays:
Clicking a catchment item shows the isochrone rings on the map and highlights only the member cluster markers (hiding others for clarity).
An independent parking data layer provides context on parking availability across the region. Parking data is displayed as a standalone map layer and sidebar tab — it does not affect PT disadvantage scoring or carpool potential rankings.
Parking availability is a key contextual factor for carpool analysis:
Parking data comes from Statens vegvesens Parkeringsregister, an open API providing all registered public parking areas in Norway. Areas are filtered to the Oslo/Akershus bounding box.
| Category | Description |
|---|---|
| Innfartsparkering (P+R) | Park & Ride facilities near transit stations |
| Parkeringshus | Multi-story parking garages |
| Avgrenset område | Dedicated surface parking lots |
| Langs kjørebane | On-street parking |
Parking areas are shown as a GeoJSON layer with clustering at low zoom levels. Markers are color-coded by type, with Park & Ride facilities given a larger, distinct marker. A toggle button (P) in the map controls allows showing/hiding the parking layer independently of the active sidebar tab.
The sidebar tab displays a summary of all parking areas grouped by category, with P+R facilities listed first (most relevant for carpool analysis). Each entry shows name, capacity, and type. Clicking an item flies the map to that location.
Capacity details include: paid spaces, free spaces, EV charging spaces, and disabled-accessible spaces.
Norwegian business registry - provides company data including employee counts, addresses, and industry codes (NACE).
Local CSV enheter.csv.gz underenheter.csv.gzNorwegian mapping authority - geocoding service converts addresses to coordinates.
API ws.geonorge.no/adresser/v1/sokNational journey planner - provides PT routing, stop locations, and departure frequencies.
GraphQL API api.entur.io/journey-planner/v3Mapping platform - provides driving time calculations and isochrone generation.
API Directions API Isochrone APIPopulation statistics - provides residential population grid data for catchment analysis.
API data.ssb.noTransit feed specification - bus, tram, metro, and ferry stop locations, routes, and schedules.
GTFS ZIP rb_rut-aggregated-gtfs.zipRegional and intercity rail schedules - train stop locations and departure frequencies.
GTFS ZIP rb_vy-aggregated-gtfs.zipNational parking registry - public parking areas including capacity, type, pricing (paid/free), and Park & Ride classification.
API parkreg-open.atlas.vegvesen.no