Using POI features, Satellite Image Embeddings & NLP embeddings for neighbourhood feature engineering.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Population-Weighted Transit Accessibility Score
To calculate the transit accessibility scores for area A, we subdivide
the area into n x n grid cells a1, a2, ... , am in A.
For each transit mode t, let Lt be the set of unique lines of that mode.
The per-cell score for mode t is:
st(ai) = Σl ∈ Lt exp( −d(ai, l) / d0,t )
where d(ai, l) is the distance from cell ai to the nearest
stop of line l, and d0,t is the characteristic decay distance for mode t
(metro: 800m, tram: 600m, bus: 400m). Each line contributes at most once (nearest stop wins).
The area score for each mode is the population-weighted mean:
St,A = Σi st(ai) · p(ai) / Σi p(ai)
This produces three independent features per area: Smetro (max 3),
Stram (max 2), and Sbus (max ≈ number of routes in range).
No quality weights are applied — the ML model learns the relative importance of each mode.
Each score measures how close the nearest stop of each line (or bus route) is, with an exponential decay so that
closer stops count much more than distant ones.
Example — Syntagma Square:
Metro — 2.17 / 3.00
M2 & M3 stations 108m away contribute 0.87 each.
M1 (Monastiraki) is 968m away, decays to 0.30.
Max possible is 3 (one per line at distance 0).
Tram — 0.75 / 2.00
T6 tram stop 171m away contributes 0.75. Only one tram line
serves this area. Max possible is 2 (T6 + T7).
Bus — 22.4
46 unique bus routes within 800m, each contributing
exp(-distance/400). Routes right at the stop contribute ~1.0,
routes 400m away contribute ~0.37.
To get a neighbourhood's score, we average across all lats/longs, weighting by population so
the result reflects the experience of the average resident, not the average square metre of land.
Hansen, W. G. (1959). How accessibility shapes land use. Journal of the American Institute of Planners, 25(2), 73–76.
Commercial Hub Accessibility
We extract all cafe, restaurant, bar, fast-food and shop POIs from
OpenStreetMap. A POI qualifies as a hub POI if it has at least
5 other commercial POIs within a 200m radius:
hub(p) = 1 if neighbours(p, 200m) ≥ 5
Connected hub POIs (within 200m of each other) form a single commercial hub.
Each grid cell is scored by exponential decay to the nearest hub POI
(not the cluster centroid, to avoid drift in large clusters):
s(ai) = exp( −d(ai, pnearest hub POI) / 600 )
with a cutoff at 1200m (2 × decay distance). Cells beyond this distance
receive a score of 0. The area score is the population-weighted mean:
SA = Σi s(ai) · p(ai) / Σi p(ai)
Rather than counting individual POIs, we identify commercial hubs —
areas where cafes, restaurants and shops are densely concentrated.
A POI is considered part of a hub if it has at least 5 other commercial
POIs within 200 metres. Connected groups of these dense POIs form a single hub.
High score (~0.90+)
Most residents live within a short walk of a commercial hub
with multiple cafes, restaurants, and shops.
Medium score (~0.60)
Commercial hubs exist nearby but require a longer walk (~500-600m).
Typical for suburban or semi-rural areas.
Percentage of each neighbourhood classified as built-up
(buildings, roads, impervious surfaces) by the ESA WorldCover satellite map.
For each 50m grid cell, we take a 100×100m box and count how many of the
~100 satellite pixels (10m resolution) are classified as built-up. The neighbourhood
score is the population-weighted average across all cells — so it reflects what
the typical resident sees, not the average square metre.
Interpretation
Dense urban centres like Kolonaki or Exarchia score 80–95%. Suburban areas
with gardens and open land score 30–60%. Largely undeveloped hill areas score below 20%.
Percentage of each neighbourhood classified as vegetation
(trees, shrubs, grassland, cropland) by the ESA WorldCover satellite map.
This complements the OSM-based green space metric on the previous tab. While OSM
counts mapped parks and gardens, this captures all visible vegetation from satellite
imagery — including private gardens, tree-lined streets, and unmapped green areas.
Interpretation
Hillside suburbs like Kifisia or Ekali score 50–70%. Typical residential areas
score 15–35%. Dense centres with little greenery score below 10%.
Percentage of each neighbourhood classified as permanent water bodies
(sea, lakes, rivers) by the ESA WorldCover satellite map.
Most inland neighbourhoods score 0%. Coastal areas like Palaio Faliro or Glyfada
may pick up a small percentage where their boundary extends to the waterfront.
Population-weighted average elevation (metres above sea level)
from the Copernicus GLO-30 digital elevation model.
Each 50m grid cell is sampled against the 30m-resolution DEM raster, then
averaged across the neighbourhood using GHS-POP population as weights —
so it reflects where residents actually live, not the geometric centre of the polygon.
Interpretation
Coastal flats (Πειραιάς, Φάληρο, Γλυφάδα) sit at 5–30m. Central Athens
ranges 50–150m. Hillside suburbs like Κηφισιά or Παπάγου climb past 200m,
and areas on the slopes of Υμηττός / Πεντέλη can exceed 350m.
Data sources: ESA WorldCover 10m v2021 (land cover),
Copernicus GLO-30 (elevation), GHS-POP (population weights).
Grid resolution: 50m.
Short-term Rental Demand
Mean reviews-per-month across all Airbnb listings assigned
to this neighbourhood. A per-listing demand intensity — how busy the
typical rental is, independent of how many rentals there are.
Why reviews/month?
Industry rule of thumb: ~50% of Airbnb stays leave a review. So 1 review/mo
≈ 2 bookings/mo ≈ ~6 booked nights/mo (~20% occupancy for a 3-night avg stay).
It's the standard demand proxy used by Inside Airbnb and AirDNA.
Sum of reviews-per-month across all listings in the
neighbourhood. Combines intensity and volume — a proxy for total
short-term-rental demand flowing through the area each month.
Interpretation
Dense tourist hubs like Πλάκα or Κουκάκι dominate because they combine
high per-listing demand and thousands of listings. Residential
neighbourhoods score near zero.
Number of active Airbnb listings whose coordinates fall
within the neighbourhood. Pure supply signal, not demand — useful
for detecting saturation or commercialisation of an area.
Note
Inside Airbnb anonymises coordinates to ~150m per Airbnb's policy.
Listings very near a boundary may land in the adjacent area,
but the noise is random and averages out across a neighbourhood.
Data source: Inside Airbnb Athens snapshot (15,584 listings).
Spatial join: each listing → nearest AthensGrid cell (50m);
neighbourhood value = sum/mean across cells inside the boundary polygon.
Neighbourhood Safety Proxies
Population-weighted mean distance from each 50m grid cell in the
neighbourhood to its nearest police station
(amenity=police).
Why it's a proxy
Greece doesn't publish incident-level crime data. Distance to the
nearest police station is a coarse but consistent proxy for
perceived and actual response times — shorter distance
correlates with lower street-level crime in urban areas.
Population-weighted distance to the nearest
social-facility shelter
(amenity=social_facility + social_facility=shelter).
Deprivation signal
Shelters cluster where homelessness and deprivation are concentrated.
Proximity is a weak but directional signal for social-infrastructure
strain, not a judgement of the neighbourhood itself.
Fraction of the neighbourhood polygon covered by
brownfield land (landuse=brownfield).
Computed by direct polygon intersection — not via the grid.
Broken-windows proxy
Brownfield = previously developed land that now sits unused.
High ratios mark under-invested or transitional zones
— a classic visual-disorder signal in crime geography.
Fraction of the neighbourhood polygon covered by
industrial landuse (landuse=industrial).
Adjacency signal
Residential areas interleaved with industrial land tend to have
lower perceived safety at night (fewer pedestrians, poorer lighting,
more isolated streets). Useful to distinguish mixed-use from purely
residential neighbourhoods.
Count per km² of abandoned or ruined buildings
— building=ruins or any building tagged
abandoned=yes / disused=yes.
Caveat
OSM tagging of derelict structures is sparse in Greece. A value of
zero likely means not tagged rather than no abandoned
buildings. Where present, density correlates well with urban
blight.
Data source: OpenStreetMap (Geofabrik Greece extract).
Distances aggregated from 50m AthensGrid cells (population-weighted);
landuse ratios and abandoned-building density computed directly
against the neighbourhood polygon.
Socioeconomic (2021 Census)
Population-weighted employment rate — share of working-age
residents (15–64) currently employed. Computed as EMP / Y_1564
in each 1km census cell, then aggregated by GHS-POP weights.
Interpretation
Greek national working-age employment rate is around 60–65%.
Affluent suburbs (Φιλοθέη, Ψυχικό, Νέα Ερυθραία) push past 70%;
high-deprivation pockets dip below 50%.
Share of residents aged 65 or over — Y_GE65 / T.
A demographic ageing signal: high values mark established, long-tenured
neighbourhoods; low values mark family or young-professional areas.
Interpretation
Athens metro average is ~21%. Older inner suburbs and rural-edge
villages climb past 28%. Areas dominated by recent new builds
or student housing fall under 15%.
Share of residents aged under 15 — Y_LT15 / T.
A family-density signal: high values track neighbourhoods chosen
for schools and child-friendly amenities.
Interpretation
Athens metro average is ~13%. Northern family suburbs
(Κηφισιά, Μαρούσι, Χαλάνδρι) reach 16–18%. Central
rental-heavy districts fall below 10%.
Share of residents born outside Greece —
(EU_OTH + OTH) / T. Combines EU-born and non-EU-born
migrants. A measure of demographic diversity, not a quality judgement.
Interpretation
Athens metro average is ~13%. Central districts with cheaper
rental stock (Κυψέλη, Πατήσια, Σταθμός Λαρίσης) reach 30–40%.
Affluent and peripheral suburbs sit under 6%.
Share of residents who moved in the last year —
(CHG_IN + CHG_OUT) / T. Combines in-migration and
out-migration as a turnover/transience signal.
Interpretation
Athens metro average is ~3.5%. Student- and young-professional-
heavy areas spike to 6–8%. Stable family suburbs sit
below 2%. High churn often correlates with rental-dominated
housing stock.
Data source: Eurostat GISCO 2021 Census-GRID V2.2 (1km, EPSG:3035, 13 variables
from EU regulation 1799/2018). Each AthensGrid 50m cell inherits the
percentages of its parent 1km census cell; neighbourhood values are the
GHS-POP-weighted mean across cells inside the boundary polygon.
Education attainment and unemployment rate are not in the GISCO grid —
available only at municipality (LAU) level via the EU Census Hub.
OSM Workplace Mix
White-collar workplace density per km²:
office=* + building=office + amenity=bank.
A proxy for managerial / professional / administrative job clusters.
Interpretation
Central business strips (Σύνταγμα, Κολωνάκι, Μαρούσι around the
Tower) dominate. Pure-residential suburbs sit near zero.
Industrial workplace density per km²:
landuse=industrial + man_made=works +
building=warehouse. A proxy for blue-collar /
manufacturing / logistics employment.
Interpretation
West Attica (Ασπρόπυργος, Ελευσίνα), Πειραιάς port and pockets
along the Κηφισσός corridor score highest. Most of central
Athens scores near zero.
Manual-trades density per km²:
craft=* (carpenters, electricians, plumbers, etc.) +
shop=car_repair / shop=car_parts.
A proxy for skilled-trade workshops.
Interpretation
Often follows old industrial corridors and post-war working-class
neighbourhoods (Νίκαια, Πετράλωνα, Καλλιθέα backstreets). Distinct
from the heavy-industrial clusters above.
Retail / service density per km²:
shop=* excluding luxury and craft shops.
A proxy for service-sector employment and high-street vibrancy.
Interpretation
Dense commercial centres (Ομόνοια, Μοναστηράκι, Πειραιάς centre,
Κολωνάκι, Γλυφάδα paralia) lead. Quiet residential suburbs and
hillside areas trail.
Luxury retail density per km²:
shop=jewelry, boutique,
watches, art. A wealth proxy —
where do the high-margin shops cluster.
Interpretation
Tightly concentrated — Κολωνάκι, Σύνταγμα and the Voukourestiou
axis dominate. Most neighbourhoods score zero or near-zero.
Data source: OpenStreetMap (Geofabrik Greece extract).
Each POI is assigned to its single nearest 50m AthensGrid cell
(no double counting); per-Area density = Σ cell counts / polygon
geodesic km².
Categories are mutually exclusive in priority order
luxury > craft > office > industrial > retail,
so a "shop=jewelry" tagged POI counts only as luxury, not retail.
Population Density
Residents per km² inside each neighbourhood polygon. Computed by
summing the GHS-POP R2023A 2020 raster (JRC Copernicus,
100m, census-calibrated) inside the boundary and dividing by the
polygon's geodesic area.
Interpretation
Dense central cores (Κυψέλη, Εξάρχεια, Πατήσια) exceed 20,000/km².
Typical suburban residential areas sit around 5,000–10,000/km².
Hillside or semi-rural areas fall below 2,000/km².
Data source: GHS-POP R2023A 2020 (JRC, 100m). We switched away from
WorldPop because its covariate-based disaggregation systematically
over-allocated population to built-up-looking Athens suburbs (e.g.
Παπάγου was inflated ~2×). GHS-POP is anchored to census totals
and tracks ELSTAT figures far more closely.
Polygon area: geodesic (pyproj WGS84).