Public Housing Resale Prices in Singapore

Diana O

Public Housing Resale Prices in Singapore

Technologies: React.js, D3.js, Python, Flask, Mapbox, Mapbox Studio

Overview

This interactive visualization tool provides an intuitive way to explore Singapore’s HDB (Housing & Development Board) property market. By combining historical resale transaction data with geographical information, users can gain valuable insights into property trends across different neighborhoods and time periods.
The application features a dynamic timeline interface that allows users to:
Track property price changes over time
Compare prices across different towns and streets
Filter properties by completion year, flat type, and location
Visualize property attributes such as price distributions through color-coded maps

Architecture

Raw data was pulled from the multiple API endpoints from Singapore’s open data portal: data.gov.sg. The Flask backend performs some data processing and transformation and sends this to the frontend which is built with React and Mapbox.
Key components:
Data Collection: Automated data extraction from data.gov.sg APIs
Data Processing: Flask backend for data aggregation and transformation
Data Visualization: React frontend with Mapbox integration
Deployment: Vercel platform with automated cron jobs

Backend

The Flask backend serves as the data processing layer, handling several key responsibilities:
Data Integration:
Fetches data from multiple data.gov.sg endpoints
Processes property information, resale transactions, and geographical boundaries
Geocoding properties using OneMap API
Data Processing:
Aggregates resale prices by location and time period
Generates optimized data structures for frontend consumption
API Endpoints:
RESTful endpoints for data retrieval

Frontend

The map interface serves as the central component of the application. Using Mapbox GL JS, I created a custom map visualization that displays all HDB properties across Singapore. I styled the basemap within Mapbox Studio. The map features a circle marker layer with properties color-coded based on various attributes such as price range, age and property types. The map’s pitch (tilt) can be adjusted, and the marker layer can be swapped for a clustered property count layer.
The chart view offers an alternative perspective on price trends across and within towns. Built with D3.js, it dynamically highlights corresponding map locations when users interact with data points. Clicking a map marker highlights the related dots on the chart. Custom event handlers in React ensure seamless synchronization between the chart and map views.
The filtering system allows users to narrow down their search based on multiple criteria. The filters include dropdown menus for property types, completion years, and location-based selections.
The legend system provides context for the color-coded visualizations. I created a custom legend component that updates dynamically based on the current view and selected filters. Each legend element is interactive and allow users to toggle specific data categories on and off.

Insights

The visualization reveals several notable trends in Singapore’s HDB resale market:
Price Evolution Over Time: Resale prices have generally increased, with distinct periods of growth and stabilization. Resale prices experienced a significant uptick since 2020.
Emergence of Million-Dollar HDB Flats: The data highlights HDB resale flats transacting at or above S$1 million. Mature estates such as Toa Payoh, Kallang/Whampoa and Bukit Merah are notable for their significant number of high-value transactions.
Neighborhood Price Variations: Prime locations such as the Central and Queenstown regions exhibit consistently higher resale values, whereas areas further from the city center, like Woodlands and Jurong, remain more affordable.
Price Variations Within Towns: Towns such as Central Area, Queenstown and Toa Payoh exhibit significant internal price disparities, possibly due to the mix of older and newer flats within.
Impact of Completion Year: Flats completed in the last two decades tend to fetch higher resale prices, but some older estates such as Queenstown retain strong value as it is a prime location with proximity to amenities and the city center.
Like this project
0

Posted Mar 29, 2025

A visual application to aid public house buying in Singapore

Next.js / D3js / Neo4j / OpenAI: Search Engine & Network Viz
Next.js / D3js / Neo4j / OpenAI: Search Engine & Network Viz
Interactive Digital Art Gallery
Interactive Digital Art Gallery
Interactive Drag-and-Drop Flowchart Editor with ReactFlow
Interactive Drag-and-Drop Flowchart Editor with ReactFlow
Data visualization library for a healthcare technology company
Data visualization library for a healthcare technology company