The Real Transit Map

Display Options
Station Data
Route Frequency
Loading map data...
Station Information
Click on a station or route for details
Select a station or route line to view detailed information about service patterns, housing costs, and accessibility features.
Methodology

1. Data Collection

  • Listing data. We pulled every long-term, unfurnished one-bedroom listing published on RentHop between 1 February and 30 April of 2024 and 2025.
  • Station geography. Subway stop coordinates, line designations, ADA status and CBD flag came from the MTA GTFS Static feed and NYC Open Data.
  • Service metrics. Rush-hour headways, off-peak headways and daily train counts were computed directly from GTFS timetables for the same calendar window.
  • Sampling radius logic. We started with an 800 m buffer around each station and kept expanding to a maximum of 2,000 m until we captured at least 20 unique, non-duplicated listings.
  • Imputation. Where even the 2,000 m radius yielded <20 listings, median rents and YoY change were imputed to the borough average and flagged with imputation_note.

2. Cleaning & Normalization

  • Prices were converted to plain numbers and stored as median_2024 and median_2025 (USD).
  • Year-over-year growth was stored as a proportion in yoy_change.
  • Service headways were rounded to whole minutes; train counts were summed into total_weekday_trains, total_weekend_trains, and total_evening_trains.
  • Every record carries a WGS-84 point geometry for direct mapping.

3. Scoring Framework

Each station receives a five-part score that rolls up to a 0-100 Value Score:

Component Max pts Logic
Affordability 40 Linear scaling: best score to the lowest borough-relative rent, worst to the highest.
Frequency 25 Based on the tightest scheduled peak headway.
Volume 15 Scaled on weekday train count.
Connectivity 10 5 pts per route, capped at two.
Amenities 10 5 pts for ADA access, 5 pts for CBD location.

The HTML template exposes the same breakdown in each info card and cites the full formula.

4. Color Ramps & Symbol Sizes

Thresholds that drive the Leaflet styling are hard-coded in CSS custom properties. For example, rent circles shift from green to red at $2,000, $2,325, $2,725, $3,500, $4,205 and $4,750, mirroring the variables --threshold-rent-*. Station marker radii grow when weekday trains cross 100, 200, 300 and 400 trains (--threshold-trains-*). Separate ramps handle headway quality, Value Score tiers and YoY change direction.

5. Outputs

  • Dataset. The cleaned, enriched records were saved as a GeoJSON-compatible array—August-2025-Data.json—so the front-end can load it with a single fetch.
  • Interactive map. new-datamap-final.html uses Leaflet, d3-format and vanilla JS modules to draw the network, apply color ramps, show a sliding info card, and toggle thematic layers. All thresholds match the CSS tokens above to ensure visual and numeric consistency.