How We Score Melbourne Suburbs
MELBZ grades every Melbourne suburb from A+ to F across six categories, using real government and commercial data. No opinions go into the grades — just percentile rankings against all Greater Melbourne suburbs. Here’s exactly how we do it.
The Six Categories
Public Transport (Weight: 20%)
What it measures: How well-connected a suburb is by train, tram, and bus.
We count every transit stop inside a suburb’s boundary, then weight them by mode quality. Train stops count triple because rail gets you across the city fast. Tram stops count double. Bus stops are capped at 80 to stop bus-heavy outer suburbs from outranking well-connected inner suburbs with train and tram. Suburbs with all three modes get a diversity bonus.
Composite formula: (train stops x 3) + (tram stops x 2) + bus stops (max 80) + mode bonuses
Data source: Public Transport Victoria GTFS feed, updated April 2026. Covers 252 of 473 suburbs.
Example: South Yarra has train, tram, and bus stops — the mode diversity plus high stop counts puts it in the top 5% of Melbourne suburbs, earning an A+.
Food & Drink (Weight: 15%)
What it measures: Restaurant, cafe, and bar density and quality.
We count every food venue in our database for each suburb and factor in average Google star ratings. More venues with higher ratings means a better score.
Composite formula: venue count + (average rating x 5)
Data source: Google Places API via MELBZ venue database, updated April 2026. Covers 122 of 473 suburbs.
Example: Carlton has dozens of restaurants and cafes with strong ratings across Lygon Street and beyond — that density puts it well above average.
Family-Friendly (Weight: 20%)
What it measures: School quality and access to family amenities.
We use the ICSEA (Index of Community Socio-Educational Advantage) score from ACARA school profiles as the primary metric. Higher ICSEA means higher educational advantage in the area.
Data source: Australian Curriculum, Assessment and Reporting Authority (ACARA) School Profiles, 2024. Currently pending data download — all suburbs show N/A until processed.
Nightlife (Weight: 10%)
What it measures: Bar, pub, and nightclub density.
Straightforward count of nightlife venues in each suburb. More bars and clubs means a higher score.
Data source: Google Places API via MELBZ venue database, updated April 2026. Covers 122 of 473 suburbs.
Example: Fitzroy and Collingwood’s dense bar scenes on Brunswick and Smith Streets put them near the top.
Cost of Living (Weight: 20%)
What it measures: How affordable a suburb is to live in.
We use median 2-bedroom weekly rent as the primary affordability metric. This is an inverted score — lower rent means a higher grade. The most affordable suburbs get A+, the most expensive get F.
Data source: Residential Tenancies Bond Authority (RTBA) via Department of Families, Fairness and Housing, September 2025. Currently pending data download — all suburbs show N/A until processed.
Safety (Weight: 15%)
What it measures: How safe a suburb is based on crime statistics.
We use total offences per 1,000 residents as the primary metric. This is also inverted — lower crime rates mean higher grades. The safest suburbs get A+.
Data source: Victoria Police Crime Statistics, September 2025. Currently pending data download — all suburbs show N/A until processed.
How Grades Work
Every suburb is ranked against all other suburbs that have data for that category. We use percentile ranking — your suburb’s position relative to all others, expressed as a percentage.
If your suburb is in the 85th percentile for transport, that means it has better public transport than 85% of scored Melbourne suburbs.
Grade Thresholds
| Grade | Percentile Range | What It Means |
|---|---|---|
| A+ | 90 - 100 | Top 10% — exceptional |
| A | 80 - 89 | Top 20% — excellent |
| B+ | 70 - 79 | Top 30% — very good |
| B | 60 - 69 | Top 40% — good |
| C+ | 50 - 59 | Above average |
| C | 40 - 49 | Average |
| D+ | 30 - 39 | Below average |
| D | 20 - 29 | Poor |
| F | 0 - 19 | Bottom 20% |
What N/A Means
If we don’t have data for a category, we show N/A instead of guessing. N/A is explicitly not an F — it means “we haven’t scored this yet because the data isn’t available.”
As we process more government datasets (ABS Census, VicPol crime stats, RTBA rental data), N/A grades will be replaced with real letter grades. We’d rather show nothing than show something wrong.
Overall Grade
The overall grade is a weighted average of all categories where the suburb has real data. If a category is N/A, its weight gets redistributed proportionally among the scored categories.
Category weights:
| Category | Weight |
|---|---|
| Public Transport | 20% |
| Food & Drink | 15% |
| Family-Friendly | 20% |
| Nightlife | 10% |
| Cost of Living | 20% |
| Safety | 15% |
Example: If a suburb only has Transport (B+, 75th percentile) and Food & Drink (A, 85th percentile), the other four categories are excluded. Transport gets 57% of the weight (20/35) and Food gets 43% (15/35). The weighted average comes out to the 79th percentile — overall grade B+.
If a suburb has zero scored categories, its overall grade is N/A.
Data Completeness
Each suburb’s scorecard shows how many of 6 categories are scored. More scored categories means more confidence in the overall grade.
- 5-6 categories: High confidence — comprehensive picture
- 3-4 categories: Medium confidence — partial picture
- 1-2 categories: Low confidence — limited data
- 0 categories: N/A — no data yet
Data Sources
| Source | What It Provides | Coverage | Last Updated |
|---|---|---|---|
| PTV GTFS | Public transport stops by mode | 252 suburbs (53%) | April 2026 |
| Google Places API | Restaurants, bars, cafes, nightlife venues | 122 suburbs (26%) | April 2026 |
| ABS Census 2021 | Population, income, demographics | Pending | - |
| VicPol Crime Statistics | Crime rates per suburb | Pending | - |
| ACARA School Profiles | School quality (ICSEA scores) | Pending | - |
| RTBA Rental Data | Median rent prices | Pending | - |
Updates
We update scores as new government data is released. Categories currently showing N/A will be scored once we process the relevant datasets. When a data source is updated, all suburb grades for that category are recalculated from scratch — no manual adjustments.
The scoring engine (score_calculator.py) can be re-run at any time after new data ingestion to regenerate all grades automatically.
Methodology version 1.0. Last updated April 2026.

💬 Discussion
Join the conversation — no account needed