Every scoring curve is run over a recorded reference cohort of real cities and checked at both rails: the top must be reachable but not crowded, so the leading cities are told apart rather than tied at 100, and a city with some infrastructure must never score exactly zero.
How the City Cycling Index is scored
The City Cycling Index scores the cycling infrastructure a city provides, measured from open data. Scores are criterion-referenced: 50, 80 and 100 denote fixed levels of provision, not a city's position among other cities.
What this measures — and what it does not
The City Cycling Index measures the cycling infrastructure a city provides, as it is recorded in open data. It is a measure of provision. It is not a measure of cycling.
How much qualifying cycling infrastructure exists, against the land people actually live on.
How much of the mapped network hangs together as one system rather than as islands.
How many residents live close enough to traffic-free infrastructure to use it.
How well the city supports a rider off the bike — parking, repair stands, water, toilets.
Measured and published as a diagnostic — it carries no weight in the headline index.
Not scored. No curve in the scored set, no measurement wired in anywhere, and no part of the Infrastructure Provision score a scorecard headlines. It carries a weight in the full six-dimension composite, and contributes nothing to it: unmeasured, it abstains, and an abstaining dimension is renormalised out rather than scored zero. Weight in the full composite: 0.1.
Not scored. No curve in the scored set, no measurement wired in anywhere, and no part of the Infrastructure Provision score a scorecard headlines. It carries a weight in the full six-dimension composite, and contributes nothing to it: unmeasured, it abstains, and an abstaining dimension is renormalised out rather than scored zero. Weight in the full composite: 0.1.
Measured from Party Onbici riders' own trips: the average time a rider loses per signalised junction they pass, with roll-throughs counted as no wait. It is scored only where at least 10 signalised junctions have each been passed 10 or more times by at least 3 different riders; elsewhere it abstains and is renormalised out rather than scored zero. It is never part of the Infrastructure Provision score a scorecard headlines, and its 30-second target is internally chosen, not calibrated. Weight in the full composite: 0.1.
Confirmed and inferred nighttime illumination along the network — never a claim that a street has lamps. Detailed under “Road lighting” below.
The share of residents who still have a cycling route within reach on an extreme-heat afternoon, once the parts of the network with no shade are set aside. It is the same Access question asked under one weather scenario, so a city can read it directly against its own Access figure. Detailed under “Heat resilience” below.
Measured and published, and outside every score. Neither carries a weight in any methodology version published so far, so neither can move the headline or a city's rank by any route. What each is still waiting on is set out in its own section below — and until that arrives, scoring either would rank cities by how thoroughly they have been mapped rather than by what is on the ground.
Where the data comes from
Open data only. No city supplies us with anything, which is what makes every city comparable and what makes a scorecard possible before anyone asks for one — and it is also the source of the limits set out further down.
| Dataset | What it contributes | Licence |
|---|---|---|
| OpenStreetMap | Every metre of cycling infrastructure that is measured, the road network it is classified against, and the parking, repair stands, drinking water and toilets counted as amenities. | Open Database License 1.0 (ODbL) |
| WorldPop | Residents, cell by cell. The population behind the Access share, and the built-up area that is the denominator of every density measure. | CC BY 4.0 |
| geoBoundaries | The administrative footprint a city is scored inside, so a network is credited to the council that built it and not to its neighbours. | CC BY 4.0 |
| GHS Urban Centre Database | An urban-centre polygon for cities no administrative tier fits, plus an independent population estimate used as a cross-check on WorldPop. | CC BY 4.0 |
| ABS Urban Centres and Localities | A nationally uniform urban-boundary polygon for the Australian regional cities that GHSL's urban-centre threshold excludes and no administrative tier fits. | CC BY 4.0 |
| Stats NZ Urban Areas | A nationally uniform urban-boundary polygon for the New Zealand cities that GHSL's urban-centre threshold excludes and no administrative tier fits. | CC BY 4.0 |
| Atlas of Sustainable City Transport | The published city figures our own results are compared against for ordering. Party Onbici matched and recalculated the values. | Open Database License 1.0 (ODbL) |
How a street becomes a number
Every mapped way that a bicycle may use is sorted into one facility class, on the protection it offers rather than on whether it is signed for bicycles. That single decision drives everything downstream: how much a kilometre is worth, and whether it counts as somewhere a resident can reach traffic-free infrastructure.
| Facility class | Weight per kilometre | Counts toward Access | What it is |
|---|---|---|---|
| protected | ×1.0 | Counted | Cyclists have their own space, away from motor traffic: a track separated from the carriageway by a kerb, bollards or another physical barrier, or a separately mapped way whose tags show it is for cyclists rather than shared with people walking. |
| shared_path | ×0.8 | Counted | Off the motor carriageway, and so away from traffic, but not evidenced as cyclists' own space — shared foot and cycle paths, and off-road paths open to bicycles. |
| shared | ×0.8 | Not counted | Rideable space on the carriageway with no facility of its own — a road signed for bicycles. Mixed traffic with a designation, not infrastructure. |
| painted | ×0.5 | Not counted | Paint on the carriageway: a marked lane with motor traffic immediately beside it. |
| unknown | ×0.5 | Not counted | Mapped as something a bicycle may use, without tags that evidence what kind of facility it is. Priced conservatively rather than assumed. |
| crossing | ×0.0 | Not counted | A road crossing for cyclists. Real and rideable, and part of how the network joins up, but a junction element rather than a length of route. |
What each dimension measures
Each dimension answers one question, is measured as one quantity, and is scored on its own curve. A dimension that cannot be measured abstains — it is left out of the blend rather than scored zero, because "not measured" and "none of it" are different findings.
Coverage coverage
How much qualifying cycling infrastructure exists, against the land people actually live on.
- Measured quantity
- Quality-weighted kilometres of network, divided by square kilometres of built-up area.
- Scoring curve
- Fixed provision criteria
- Weight in the headline
- 0.2778
- Required for a headline
- Required
Three fixed levels of provision, joined by straight lines. The thresholds say what a score means about infrastructure, not where the city sits among other cities, and they do not move when a city is added to the board.
| Measured value (km/km²) | Score | What that level means |
|---|---|---|
| 0.0 | 0 | No meaningful mapped provision |
| 1.0 basic | 50 | Basic, useful but incomplete provision |
| 2.5 strong | 80 | Strong citywide provision |
| 5.0 leading | 100 | Near-complete performance against the criterion |
Between two published points the score is interpolated in a straight line; below the first and above the last it is clamped.
Where each threshold came from
- 1.0 basic — a fixed normative criterion
- One kilometre of qualifying network for every square kilometre of built-up land: enough for a coherent route to exist in most directions, and not enough to call the city served. Board-informed, not board-derived.
- 2.5 strong — a fixed normative criterion
- Density at which a rider can expect qualifying infrastructure on most journeys rather than on a chosen few. Compared against the ITDP Atlas distribution for non-absurdity: cities we score at or above this threshold are not ones ITDP places low, and vice versa. A sanity check on the ordering, NOT a calibration of the level — the comparison is not footprint-matched.
- 5.0 leading — a fixed normative criterion
- The density of a city that has finished the job — qualifying infrastructure is the default rather than the exception. Reachable, and reached by few.
Connected network share connectivity
How much of the mapped network hangs together as one system rather than as islands.
- Measured quantity
- The share of the qualifying network's length sitting in its single largest connected component. Below a minimum amount of qualifying network the measure stops being informative and the dimension abstains rather than reporting a share: 10 km, or less in a small city — 0.5 km per square kilometre of built-up area, never under 3 km.
- Scoring curve
- Identity scale — the score is the percentage
- Weight in the headline
- 0.3333
- Required for a headline
- Required
The measurement is already a percentage, so the score is that percentage: 63% of the network connected scores 63. No threshold is imposed, because none is claimed — the scale asserts nothing about what a level means.
| Measured value | Score | What that level means |
|---|---|---|
| 0.0 | 0 | None of the measured quantity |
| 1.0 target | 100 | All of it — the measurement is the score, so this point asserts nothing further |
Between two published points the score is interpolated in a straight line; below the first and above the last it is clamped.
Access access
How many residents live close enough to traffic-free infrastructure to use it.
- Measured quantity
- The share of residents whose home is within 300 m, measured straight-line, of infrastructure away from motor traffic.
- Scoring curve
- Fixed provision criteria
- Weight in the headline
- 0.3889
- Required for a headline
- Required
Three fixed levels of provision, joined by straight lines. The thresholds say what a score means about infrastructure, not where the city sits among other cities, and they do not move when a city is added to the board.
| Measured value | Score | What that level means |
|---|---|---|
| 0.0 | 0 | No meaningful mapped provision |
| 0.5 basic | 50 | Basic, useful but incomplete provision |
| 0.8 strong | 80 | Strong citywide provision |
| 1.0 leading | 100 | Near-complete performance against the criterion |
Between two published points the score is interpolated in a straight line; below the first and above the last it is clamped.
Where each threshold came from
- 0.5 basic — a fixed normative criterion
- Half the residents live within 300 m of traffic-free infrastructure.
- 0.8 strong — a fixed normative criterion
- Four residents in five are within 300 m — a minority is still excluded.
- 1.0 leading — a fixed normative criterion
- Every resident within 300 m. An absolute target a council can aim at, reachable without reference to any other city.
Amenities amenities
How well the city supports a rider off the bike — parking, repair stands, water, toilets.
- Measured quantity
- Weighted amenity units, divided by square kilometres of built-up area.
- Scoring curve
- Fixed provision criteria
- Weight in the headline
- None — not blended
- Required for a headline
- Not required
Three fixed levels of provision, joined by straight lines. The thresholds say what a score means about infrastructure, not where the city sits among other cities, and they do not move when a city is added to the board.
| Measured value (units/km²) | Score | What that level means |
|---|---|---|
| 0.0 | 0 | No meaningful mapped provision |
| 2.0 basic | 50 | Basic, useful but incomplete provision |
| 10.0 strong | 80 | Strong citywide provision |
| 40.0 leading | 100 | Near-complete performance against the criterion |
Between two published points the score is interpolated in a straight line; below the first and above the last it is clamped.
Where each threshold came from
- 2.0 basic — selected internally, with no external basis claimed
- Provisional. Amenities is weighted zero in the v16 headline and published as a diagnostic.
- 10.0 strong — selected internally, with no external basis claimed
- Provisional. No official amenity inventory has been checked against this scale.
- 40.0 leading — selected internally, with no external basis claimed
- Provisional. A later era should supersede this with a service-coverage definition.
From measurement to score
Each measurement runs through its dimension's curve to a sub-score, and the sub-scores are blended at published weights into one headline. Both steps are shown below on an invented city, so the arithmetic can be redone with a calculator.
What a level on a curve means
| Level | Score | What it denotes |
|---|---|---|
| minimum | 0 | No meaningful mapped provision |
| fragmentary | — | Fragmentary provision |
| basic | 50 | Basic, useful but incomplete provision |
| strong | 80 | Strong citywide provision |
| leading | 100 | Near-complete performance against the criterion |
A worked example
Interpolation rule, as published: piecewise-linear through (0,0) -> (basic,50) -> (strong,80) -> (leading,100), clamped
score = lower score + (measured value − lower value) ÷ (upper value − lower value) × (upper score − lower score)
Coverage
Quality-weighted network 80.0 km ÷ Built-up area 40.0 km² = 2.0 km/km²
2.0 falls between the published points 1.0 (which scores 50) and 2.5 (which scores 80). Interpolating in a straight line between them gives 70.
Connected network share
Network in the largest connected component 0.62 = 0.62
0.62 falls between the published points 0.0 (which scores 0) and 1.0 (which scores 100). Interpolating in a straight line between them gives 62.
Access
Residents within the catchment 0.63 = 0.63
0.63 falls between the published points 0.5 (which scores 50) and 0.8 (which scores 80). Interpolating in a straight line between them gives 63.
Amenities not in the headline
Weighted amenity units 200.0 ÷ Built-up area 40.0 km² = 5.0 units/km²
5.0 falls between the published points 2.0 (which scores 50) and 10.0 (which scores 80). Interpolating in a straight line between them gives 61.2.
Blending the sub-scores
| Dimension | Sub-score | Weight |
|---|---|---|
| Coverage | 70 | 0.2778 |
| Connected network share | 62 | 0.3333 |
| Access | 63 | 0.3889 |
sum(weight x sub_score) / sum(weight), over the dimensions that computed = 64.6
The weights above are the effective weights: they are renormalised over the dimensions the headline actually blends, so they sum to one and the arithmetic can be checked as printed.
- Amenities — Measured and published as an EXPERIMENTAL DIAGNOSTIC with zero weight. Its thresholds are internal distribution choices, not criteria — no official inventory has been checked and the measure is highly sensitive to OpenStreetMap completeness and central-business-district density.
What the headline number is called
| Index at or above | Band |
|---|---|
| 80 | Leading infrastructure |
| 60 | Established |
| 40 | Emerging |
| 20 | Early |
| 0 | Limited infrastructure |
The band is a label for the number, not a separate judgement: it carries no information the index does not already carry.
How cities are ranked — and why the score is not a ranking
A score defined by the middle of the field can never show improvement — double every city's network and the median still scores 50. So the thresholds are fixed statements about infrastructure and are frozen within a methodology version: adding a city to the board never moves another city's score. Where a city sits among its peers is a different and useful question, and it is published separately, as a percentile.
What the score is measured against
The scores on this page are criterion-referenced. Each named level on a curve is a fixed statement about infrastructure — what that much provision means for the people who would use it — and those levels are frozen within a methodology version. Adding a city to the board never moves another city's score, and if every city doubled its network tomorrow, every score would rise.
Where a city stands is a separate number
Position among peers is a different and useful question, so it is answered separately: a scorecard publishes a percentile beside its score, never folded into it. A percentile stays where it is when everybody improves — which is exactly why it cannot be the score.
Seeing your city through other frameworks
A lens re-reads our own open data through another framework's framing, so a city can be seen under several methodologies at once instead of trusting one number. Every lens is computed by Party Onbici, and labelled "-style" or "-inspired" where it names the framework it borrows from. None of them reproduces anybody's published score.
The share of residents within the catchment of infrastructure away from motor traffic — the same measurement as the Access dimension, framed the way ITDP frames its own indicator.
Our figure, computed by us on our own boundary. It is set beside ITDP's published ordering, never merged with it.
An unofficial estimate computed by Party Onbici from open data. It is not ITDP People Near Bikelanes's published score, and it is not endorsed by them.
Connected-component analysis of the low-stress network: a dense network broken into islands scores poorly, however many kilometres it holds.
An unofficial estimate computed by Party Onbici from open data. It is not PeopleForBikes Bicycle Network Analysis's published score, and it is not endorsed by them.
A partial reconstruction from the components open data supports — infrastructure density and destinations. Hills and commute mode share need feeds we do not hold and are reported as unscored rather than invented.
An unofficial estimate computed by Party Onbici from open data. It is not Walk Score Bike Score's published score, and it is not endorsed by them.
The Dutch design manual's five requirements — cohesion, directness, safety, comfort, attractiveness — as a diagnostic profile rather than a score. Safety always abstains: no crash data is wired in, and an infrastructure proxy is not a safety assessment.
An unofficial estimate computed by Party Onbici from open data. It is not CROW Design Manual for Bicycle Traffic's published score, and it is not endorsed by them.
Kilometres split into high, medium and low comfort tiers.
An unofficial estimate computed by Party Onbici from open data. It is not Canadian Bikeway Comfort and Safety (Can-BICS)'s published score, and it is not endorsed by them.
Kilometres, network share and resident catchment of physically protected infrastructure only — the strictest definition, the one a council itself uses when it says it has no bike infrastructure.
A disclosure, never a scoring input. Cities whose everyday cycling runs on calm streets or legal sidewalk riding — which this model does not ingest — read near zero here regardless of how much cycling happens; read it beside the observed cycling figure.
Party Onbici's own diagnostic, computed from open data.
Completeness signals on the underlying OpenStreetMap data, so a low score can be told apart from thin data.
An unofficial estimate computed by Party Onbici from open data. It is not BikeDNA's published score, and it is not endorsed by them.
A deliberately generous upper bound: residents near cycling infrastructure of any kind, at a wider walking distance. Context for the headline Access figure, never a substitute for it.
Party Onbici's own diagnostic, computed from open data.
What we checked — and what it does and does not establish
These are internal checks on the scale, run by us. They are the reason to trust that the index separates cities coherently. They are not an outside verification of any percentage on a scorecard, and none is claimed.
Reference cohort: 103 cities, as at 2026-08-03. Its exact membership is recorded in party_onbici/apps/analytics/tests/data/v16_anchor_cohort.json.
The distribution of scores the curve produces across the reference cohort is inspected — how many cities land at 100, how many at 0, how many below 10, and how wide the middle half of the board spreads — so a scale that compresses cities into one indistinguishable clump is caught before it ships.
The order our scores put cities in is compared with the order independent published frameworks put them in. Broad agreement means our measure is not ranking cities in a way nobody else recognises.
Where our Access figure sits above ITDP's, the gap moves with how much of the city's network is painted lanes — which is what our own definition predicts, because we exclude paint and their indicator does not. Our measure behaves coherently given a known difference in definition.
Heat resilience
A city can be well provided for and still unridable on a 40-degree afternoon. Heat resilience asks the Access question again under one weather scenario: what share of residents still has a cycling route within reach once the unshaded parts of the network are set aside.
A figure is published only when at least 80% of the qualifying network has a shade profile. Below that the answer is withheld rather than estimated: a percentage drawn from a fraction of the network reads as a fact about the city.
Stating how shaded a street is needs surveyed building heights over at least 60% of the nearby built area. Modelled heights do not count towards it — the global ones saturate around thirty metres, which is wrong by a factor of ten beside a tower. No city has reached that bar, so no shade percentage is published anywhere on this site.
Heat method version 2, versioned separately from the index: a change here moves no score, so it must not flag every scorecard as having changed methodology.
A radiant model over a measured surface, checked against instruments. No city reaches it, and none is close.
Real shade geometry, from building footprints with surveyed heights and a canopy height model. This is the tier at which a shade percentage may be stated at all.
Canopy and built form, with no reliable heights. Enough to rank one city's streets against each other; not enough to state a shade percentage. Every city measured so far sits here.
What this index does not tell you
Each of these is disclosed rather than discovered. Where there is a named piece of work that would remove a limit, it is named too.
ITDP computes its indicators on a GHSL urban agglomeration. We compute ours on our own region boundary, which is frequently a single municipality. Those are different footprints, so the comparison does not establish agreement in absolute level — only that the two order cities similarly.
Where no administrative boundary fits the city, the scored area is an automatically derived box rather than an official footprint. A scorecard says so on its face; the figures describe that study area, not a government boundary.
A resident counts as served when infrastructure lies within 300 m in a straight line. Rivers, rail corridors, motorways and missing crossings all make the real walk longer, so the figure is optimistic.
The traffic-stress classifier decides the qualifying network for every scored dimension, over the mapped cycle network. The city's ordinary streets are classified too, and their calm kilometres are published as a disclosure with their evidence split — they earn no scored credit yet.
How many people ride, and how safely, are not scored. The index measures the provision of cycling infrastructure from open data, and a city can provide well and be ridden little.
Everything measured comes from OpenStreetMap. Where a city is mapped thinly, or its infrastructure is tagged without the detail the classifier needs, the score reflects the map rather than the streets — which is why data-quality signals are published beside every result and lower its confidence.
What we know about a network after dark
A scorecard can say what a city built, but not whether it is usable at night. The road lighting layer answers that separately — and it is deliberately kept out of every score, because the evidence behind it is not strong enough to rank a city on.
An explicit OpenStreetMap lighting tag is the strongest evidence and the only route to a confirmed result. Mapped lamp posts near a way support an inferred one. Satellite radiance is the weakest and never overrides either.
Satellite radiance shows artificial light in the surrounding area at roughly 460 m per pixel — coarser than any single street. Buildings, car parks and signage emit the same signal, so brightness alone is recorded as inconclusive rather than read as lighting.
A missing lighting tag means nobody recorded it, which is a gap in the evidence and not a finding about the street. It is reported as unknown, separately from the streets an explicit tag confirms are unlit.
No calibrated radiance threshold separates lit from unlit streets in the cities tested, so the satellite tier states no direction, and most of a typical network is inconclusive. A score built on what remains would mostly measure how thoroughly a city's volunteers mapped lighting tags, not whether its streets are lit.
Sources and licensing
The index is computed entirely from the open datasets below. Their attributions are reproduced here as their publishers require them.
Every metre of cycling infrastructure that is measured, the road network it is classified against, and the parking, repair stands, drinking water and toilets counted as amenities.
Residents, cell by cell. The population behind the Access share, and the built-up area that is the denominator of every density measure.
The administrative footprint a city is scored inside, so a network is credited to the council that built it and not to its neighbours.
An urban-centre polygon for cities no administrative tier fits, plus an independent population estimate used as a cross-check on WorldPop.
A nationally uniform urban-boundary polygon for the Australian regional cities that GHSL's urban-centre threshold excludes and no administrative tier fits.
A nationally uniform urban-boundary polygon for the New Zealand cities that GHSL's urban-centre threshold excludes and no administrative tier fits.
The published city figures our own results are compared against for ordering. Party Onbici matched and recalculated the values.
Every score, sub-score, lens and estimate published by the City Cycling Index is computed by Party Onbici from these sources, under methodology version 19. Where a figure came from somewhere else, the scorecard carrying it says so on its face.
Behind the contextual layers
These are read by the road-lighting and heat-resilience layers. No score, sub-score or ranking on this site is computed from any of them.
Satellite-observed nighttime radiance behind the road-lighting evidence layer. It shows artificial light in the surrounding area, never that a road carries street lamps, and it enters no score.
Tree canopy over every street, at roughly one metre. The whole of what the heat-resilience layer knows about shade, and the only input it cannot do without.
Where the buildings are, so a street flanked by them can be told from an open one. Their MODELLED heights are deliberately not read as heights — they saturate around thirty metres, which is wrong by a factor of ten in the densest and hottest places.