Daniel Almazán

Madrid / Income / Rail

/
An atlas of unequal proximity

Income &
rail access.

How does access to Madrid’s rail lines vary across areas with different incomes? A building-level rail score meets section-level income.

What these choices mean

Income measure. Median equivalised income is the middle income after adjusting for household size, and is the default. Mean equivalised income averages that adjusted measure; mean income per person averages income across residents.

Rail access point. The primary score uses straight-line distance to station entrances. The platform option uses line-specific platform points as a sensitivity check.

Geography. Madrid (city) selects the capital; Comunidad de Madrid includes the whole region. Income groups and thresholds are recalculated for the selection.

01

The central comparison

One section. One income. One access score.

Each dot is a census section. The rail score is a population-weighted mean of access to rail stations and lines, calculated building by building within the section. Income is observed at section level.

Income and rail access—
02

How the score works

One home, several ways onto the network.

Explore how the Rail Access Score varies with the distance from residents’ homes to nearby stations and the rail lines serving them.

Real modelled residential component and station entrances. The diagram shows entrances within 1,000 m.
03

Population-ranked income groups

Ten shares of Madrid.

Census sections are ranked by income and placed whole into ten groups with approximately equal resident populations.

Section Rail Access Score by income decileMean ● · median —
← Less incomeMore income →
Scores are weighted by modelled section residents. Each box spans the 25th–75th percentiles; whiskers mark the 10th–90th percentiles.
04

Income distribution by rail access

If access comes first, who lives there?

Buildings are ranked by Rail Access Score into ten roughly equal-population deciles. Each bar shows how residents in that access decile are distributed across five income groups, using the income of their census section.

Distribution of income groups by rail access decile
← Lower rail access scoreHigher rail access score →
Each bar totals 100% of modelled residents in a building-score decile. Colours run from the lowest to highest quintile of census-section income.
05

Resident-level score distribution

How access is distributed.

Distribution of Rail Access Scores within each income quintile.

Distribution of Rail Access ScoreFive income quintiles
Buildings inherit their section’s income quintile for this distribution. Intervals are evenly spaced on an asinh score scale, giving more detail at low scores.
06

The Four Madrids

Four ways of being near.

Income and Rail Access Score are each split at their population-weighted median among modelled residents. Buildings inherit their section’s income, while each building has its own rail score.

Income by census section
Income uses 2024 census sections. Rail score and the combined view use residential buildings at close zoom, with a building-derived overview farther out. Missing income appears in dark grey.
07

Try a place

What’s your score?

Search for an address in the Comunidad de Madrid. The address locates nearby modelled residential buildings; choose a building on the map to see its own Rail Access Score.

Method 01 / rail score

How the score works.

From distance to score

f(d) = 11 + (d / 600)2.5
LineScoreℓ = f(d1,ℓ) + 0.1 f(d2,ℓ)

For each distinct line, d₁ is the straight-line distance to its nearest station and d₂ is the distance to the next-nearest different station. Entrances are the primary access points; line-specific platforms are the sensitivity variant.

D* = max(1,000 m, d(3))

Order lines by their nearest station. The nearest three lines and every other line whose nearest station is within D* contribute in full. D* is never less than 1,000 m. The remaining distant lines contribute with diminishing returns:

A = Σd₁ ≤ D* LineScoreℓ  ·  R = Σd₁ > D* LineScoreℓ
TailCap = η f(D*)  ·  TailScore = TailCap(1 − e−R / TailCap)
BuildingRailScore = A + TailScore

The main score protects three lines and uses η = 1. The sensitivity audit also tests four protected lines and η values of 0.5 and 2, alongside the original distance-decay and same-line duplicate variants. These are transparent analytical choices, not fitted travel behaviour. Straight-line distances do not measure walking time, street barriers, frequency or service quality.

Three simple examples

  1. One line at 400 m: f(400) = 0.734, so the score is 0.734.
  2. One station with two distinct lines at 200 m, plus another with a third line at 500 m: 2 × f(200) + f(500) ≈ 2.49.
  3. One line at a station 100 m away and the same line at a different station 300 m away: f(100) + 0.1 × f(300) ≈ 1.07.

Method 02 / data and limits

Dates, geography and limits.

Income is observed for census sections in 2023 (latest available). Residential populations are modelled from 2025 totals at building-component locations, then reassigned to the matching 2024 section geography. The Rail Access Score is a constructed index, not an official statistic. The comparison is descriptive and cannot establish causal direction.