Ask two people to name the world’s best cycling city and you’ll get the same short list — Amsterdam, Copenhagen, Utrecht. Ask why, or ask where your city sits, and the conversation gets vague fast.
Cycling-friendliness has been measured many times by many excellent programmes. But those scores are usually periodic, proprietary, or limited to a hand-surveyed list of cities. If your city isn’t on the list, you’re out of luck — and even if it is, the number often arrives once every few years with no way to see the working.
We wanted something different: a live, transparent, 0–100 cycling score you can compute for any city, entirely from open data, with the methodology published so anyone can check it. That’s the Party Onbici City Cycling Index.
This post explains exactly how it works — the six things we measure, why we weight a protected track differently from a painted line, and why we publish two numbers instead of one. Then, because we’re not the first people to do this, we show how it reads against the established frameworks it takes inspiration from: ITDP, the Bicycle Network Analysis (BNA), Bike Score, the Dutch CROW manual, and Can-BICS.
🇦🇺 Want to see it in action first? Here’s a live scorecard for Sydney — the same page a city officer would see, including every sub-score, the benchmark lenses and the confidence badge described below.
📖 Built entirely on open data
The whole index rests on two open, global, auditable datasets:
- OpenStreetMap — every mapped cycleway, on-road lane, shared path, plus bike parking, repair stations and drinking-water points.
- WorldPop — gridded population, so we can ask how many residents a network actually serves, not just how many kilometres exist.
Nothing sits behind a login, and nothing is our proprietary secret sauce. That’s deliberate. Because the inputs are open, anyone who disagrees with a score can improve the map and watch the number move — the index recomputes automatically every day. A benchmark you can’t audit is just an opinion with a decimal point.
🛡️ Not every bike lane is equal
Here’s the single most important design decision, and the one that most separates our index from a naïve “kilometres of bike infrastructure” count.
A painted door-zone line beside 60 km/h traffic is not the same facility as a physically separated, kerb-protected track. Decades of research on the “interested but concerned” majority — the people who want to ride but won’t mix with fast traffic — say the difference is the whole ballgame. Counting both as simply “bike infrastructure” flatters cities that painted lines and penalises none that built protection.
So we classify every segment first, then weight it by quality:
| Facility class | Example | Weight |
|---|---|---|
| Protected | Kerb-separated cycleway, segregated track | ×1.0 |
| Shared | Designated shared path / greenway | ×0.8 |
| Painted | On-road painted lane | ×0.5 |
| Unknown | Unclassified legacy data | ×0.5 (conservative) |
A city earns credit for the quality of its network, not just its length. Ten kilometres of protected track counts for far more than ten kilometres of paint — exactly as it should.
📊 The six things we measure
Every score decomposes into six sub-scores, each mapped onto a 0–100 scale against a “world-class” target. Each one also points at a concrete lever a city can pull.
| # | Sub-score | What it measures | “World-class” target |
|---|---|---|---|
| 1 | Coverage | Quality-weighted cycleway-km per km² of built-up area | 2.0 km/km² |
| 2 | Connectivity | Density of network gaps (severed cycleway ends) — fewer is better | 2.5 gaps/km² |
| 3 | Access | Share of residents within 800 m of any cycle infrastructure | 95% |
| 4 | Ridership | Ride-km per 1,000 residents (trailing 90 days) | 500 |
| 5 | Safety | Incidents per 100k ride-km — fewer is better | ≤20 |
| 6 | Amenities | Parking / repair / water facilities per km² of built-up area | 1.5 /km² |
Two design notes worth calling out:
- We normalise by built-up area, not per person. An early version rewarded low population, so a sleepy shire could out-score Sydney on “infrastructure per capita.” Density rewards compact, well-connected networks — which is what actually gets people riding.
- Missing data is greyed, never guessed. A brand-new city with no ride telemetry simply scores on the four infrastructure dimensions; it isn’t punished for data we don’t have.
⚖️ Two numbers, not one
This is the part we’re most careful about. Most scorecards show a single composite. We show two, side by side:
1. The Infrastructure Index — built from open data only (Coverage, Connectivity, Access, Amenities). This is the benchmarkable number. Critically, nothing in it moves when Party Onbici gains users. There’s no way for us to nudge a city’s score by selling more of our own product, so there’s no conflict of interest to disclose. This is the number our leaderboard ranks by.
2. The full composite — adds our activation layer (Ridership and Safety, drawn from Party Onbici app telemetry).
We are deliberately upfront about that second layer. App-derived ride data is a non-representative sample — cycling apps skew young, male and fitness-oriented (the well-documented “Strava bias”). So we frame Ridership and Safety as our pilot’s activation evidence, never as neutral measurement of a whole city. On most scorecards, that layer is greyed out.
Why split them at all? Because a benchmark that a vendor’s own installs can move is exactly what a procurement reviewer should reject. Rather than hope nobody notices, we designed the conflict out and put both numbers in daylight.
🎯 How confident should you be?
A score is worthless without knowing how much data backs it. So every scorecard carries a confidence badge and a plain “Scored on N of 6 dimensions” line:
- High — 5–6 dimensions scored.
- Medium — 4 dimensions (the healthy ceiling for a city without ride telemetry).
- Low — 3 dimensions.
- Minimal data — 2 or fewer.
Thin inputs (a tiny population, or under 10 km of mapped infrastructure) knock the confidence down a level. The final number lands in one of five bands:
| Score | Band |
|---|---|
| 80–100 | World-class |
| 65–79 | Strong |
| 50–64 | Developing |
| 35–49 | Emerging |
| 0–34 | Early |
🔬 How it holds up to other frameworks
We didn’t invent city-cycling measurement, and we’re not pretending our six numbers are the last word. There is decades of superb work in this field. So instead of ignoring it, we re-read the very same open data through the framing of the frameworks planners already trust — and present each as a clearly-labelled "-style" estimate computed by us, an approximation, never the programme’s own official score.
| Lens | What we compute in its style | Honest caveat |
|---|---|---|
| ITDP-style | Share of residents within 300 m of protected infrastructure — ITDP’s “People Near Protected Bikelanes” idea | Protected class only |
| BNA-style | Low-stress network connectivity: we cluster the connected low-stress network and measure its largest component and reach | A first approximation — full destination-access routing is deferred |
| Bike Score-style | Infrastructure density + destination access, scored on the components we can compute | Reported as “N of 4 components” — we never fake hills or census commute share |
| CROW-style | The Dutch manual’s five design requirements as a diagnostic — cohesion, directness, safety, comfort and attractiveness, each rated where the data supports it | Directness from sampled detour routing; attractiveness from street lighting (greenery & noise still gaps) |
| Can-BICS-style | High / medium / low-comfort kilometres — a direct by-product of our classifier | — |
| Data quality (BikeDNA-style) | Share of ways with surface tags, share unclassified, OSM data age | The “don’t trust the other tiles too hard” reality check |
The point isn’t to claim we are ITDP or BNA. It’s to let a city see itself from several recognised angles at once — and to be candid about where the established programmes go deeper than open data alone can reach. BNA’s full low-stress destination routing, Bike Score’s hill (DEM) and census commute-mode components — where we can’t compute something honestly, we mark it unscored rather than invent a plausible-looking number.
🚫 What we deliberately won’t fake
An index earns trust by being honest about its edges, so some things we refuse to estimate from a map:
- Copenhagenize, the League’s Bicycle Friendly Community, and UCI Bike City all rely on qualitative review of policy, culture, funding and programmes. We don’t hold that data, so we don’t fabricate those scores.
- Even within a lens we’re specific about what’s covered. Our CROW attractiveness rating, for example, now assesses street lighting (part of CROW’s social-safety requirement) — but greenery and noise remain honest gaps we don’t yet estimate. And every rated axis carries a coverage guard: a city whose data is too thin reads “not assessed”, never a misleadingly confident “poor”.
A cycling score that quietly guesses at what it can’t see isn’t a benchmark — it’s a marketing graphic. We’d rather show you the gaps.
🔁 It evolves — in the open
The index is versioned. Every scoring rule, target and input carries a methodology version, and when a city’s score is computed under a newer version than its previous snapshot, the scorecard says so: “Methodology updated — not directly comparable with earlier snapshots.” Cities should never mistake a change in our model for real progress on the ground.
The current version was itself a direct response to three independent external methodology reviews. Their highest-severity finding — that we were treating a painted lane like a protected track — is exactly the quality-weighting fix described above. Good measurement is a conversation, and we’d rather have it publicly.
🚴 See it live
The best way to understand the index is to read a real one. Our Sydney scorecard shows the whole picture: the dual composite, all six sub-scores with their levers, the benchmark lenses above, the confidence badge, and a weekly trend so you can watch the network change over time.
If you work for a city, an advocacy group or an employer and you’d like to see your own place scored — or you spot something the map gets wrong — we’d genuinely love to hear from you. Improve the map, and the number moves. That’s the whole idea.
Download Party Onbici to start turning everyday rides into the kind of open data that makes cities measurable — and, eventually, better to ride in.
