From static charts to a statistical value-finder.
V1 mapped the uncommon structural cuts of the HDB resale market. V2 goes deeper: track price momentum, build a hedonic model that predicts fair value for every flat, and surface the units the market actually underprices and overprices.
This is V2 of the POC. See V1 — HDB Resale: The Uncommon Analysis for the static structural cuts this edition builds on.
Why V2 is different
V1 was the shape of the market. V2 is how it moves, and where the mispricings are.
The star of V2 is a hedonic regression model trained on all 236,959 transactions. It learns how town, flat type, model, area, floor, and remaining lease each move price per square metre. For any flat, it then predicts a fair price, and we compare that against the actual sold price. Every transaction gets a residual = actual minus predicted. A positive residual means the market paid less than the model says the flat is worth (underpriced). A negative residual means it paid more (overpriced).
Price momentum over time ⭐
The red-hot phase is cooling. Momentum has flattened out around S$6,600/sqm, and by H2 2026 it has turned slightly negative.
National 4-room median price per sqm, by half-year
| Half-year | Median psm (S$) | YoY change |
|---|---|---|
| 2024 H1 | 6,047 | +6.0% |
| 2024 H2 | 6,429 | +9.1% |
| 2025 H1 | 6,636 | +9.7% |
| 2025 H2 | 6,630 | +3.1% |
| 2026 H1 | 6,630 | −0.1% |
| 2026 H2 | 6,547 | −1.3% |
This is a market-timing signal the static sites don't show: 2024's +9% YoY surge has clearly cooled, plateauing through H1 2026 and edging negative in H2. Buyers stepping in now face a flat, not rising, national price line.
Town momentum — 2-year growth (4-room, 2026 vs 2022) ⭐
Momentum is not uniform. The gap between the hottest and coldest towns is huge.
2-year price growth by town
| Town | 2-yr growth | Momentum |
|---|---|---|
| TOA PAYOH | +63.5% | |
| BUKIT BATOK | +42.7% | |
| TAMPINES | +32.3% | |
| BUKIT TIMAH | +31.9% | |
| QUEENSTOWN | +31.0% | |
| HOUGANG | +28.5% | |
| BEDOK | +28.4% | |
| PASIR RIS | +27.7% | |
| PUNGGOL | +27.2% | |
| ANG MO KIO | +27.1% | |
| MARINE PARADE | +25.9% | |
| SENGKANG | +25.9% | |
| SEMBAWANG | +25.4% | |
| GEYLANG | +24.7% | |
| BISHAN | +23.8% | |
| BUKIT MERAH | +23.3% | |
| CENTRAL AREA | +23.2% | |
| WOODLANDS | +22.9% | |
| SERANGOON | +22.2% | |
| YISHUN | +21.2% | |
| KALLANG/WHAMPOA | +20.1% | |
| BUKIT PANJANG | +20.1% | |
| JURONG WEST | +15.8% | |
| JURONG EAST | +15.1% | |
| CLEMENTI | +14.7% | |
| CHOA CHU KANG | +12.4% |
The rotation is visible: capital is chasing established mature towns (Toa Payoh, Bukit Batok, Tampines) far harder than it is chasing outer/newer towns. If you're looking for laggards on a relative basis, the bottom of this list is where to start.
The hedonic value-finder ⭐ THE star of V2
Train a model on 236,959 transactions to learn how each attribute moves price per sqm, then compare each flat's actual sale against its predicted fair value. The gap is the mispricing signal.
Most UNDERPRICED 4-room flats (2024+)
| Month | Town | Block / Street | Model | Storey | Area | Actual psm | Fair psm | Gap |
|---|---|---|---|---|---|---|---|---|
| 2026-05 | BUKIT MERAH | 50 Moh Guan Ter | Adjoined | 2 | 150 | 10,200 | 6,183 | +65% |
| 2025-04 | BISHAN | 503 Bishan St 11 | Model A | 5 | 113 | 10,885 | 6,910 | +58% |
| 2025-11 | BUKIT MERAH | 17 Tiong Bahru Rd | Standard | 5 | 110 | 9,182 | 6,071 | +51% |
| 2024-06 | SENGKANG | 277D Compassvale Lk | Premium Apt | 8 | 92 | 9,239 | 6,125 | +51% |
| 2025-09 | BUKIT PANJANG | 185 Jelebu Rd | Premium Apt | 8 | 94 | 9,234 | 6,133 | +51% |
The striking pattern here is the cluster of Sengkang 277x Compassvale Premium Apartments (the wider group runs +45% to +51%) — a whole precinct trading below model value. This is a starting point for investigation, not a guarantee: always verify the actual unit specifics (condition, views, transaction quirks) before acting on any single flag.
Most OVERPRICED 4-room flats (2024+)
| Month | Town | Block / Street | Model | Storey | Area | Actual psm | Fair psm | Gap |
|---|---|---|---|---|---|---|---|---|
| 2026-07 | YISHUN | 273 Yishun St 22 | Model A | 11 | 104 | 2,548 | 5,464 | −53% |
| 2025-04 | TAMPINES | 414 Tampines St 41 | Simplified | 5 | 84 | 3,571 | 6,406 | −44% |
| 2025-12 | WOODLANDS | 616 Woodlands Ave 4 | Model A | 5 | 102 | 3,118 | 5,319 | −41% |
Note the honest pattern: the extreme "overpriced" side skews to very low absolute prices (S$2,500–3,500/sqm) in Yishun, Tampines, and Woodlands. These are likely unusual transactions — very short remaining lease, or data quirks — where the model over-predicts. The model's fair-value line is only as good as the data. The underpriced side is the more actionable signal.
What actually drives price
From the hedonic model coefficients — per-unit effects on price, with the multicollinearity caveat stated plainly.
| Driver | Effect per unit |
|---|---|
| Floor (storey_mid) | +0.75% per floor |
| Remaining lease | +0.82% per year |
| Time trend | +0.53% per month (≈6.4%/yr baseline appreciation) |
Top town premia (vs base town): BUKIT TIMAH +49.5% · MARINE PARADE +41.1% · BUKIT MERAH +37.1% · CENTRAL AREA +34.8% · BISHAN +29.8% · QUEENSTOWN +28.3%.
Lease cliff, re-cut on 2024+ data
Median price per sqm by remaining lease and flat type — recent transactions only.
| Flat type | 50–59 yrs | 60–69 yrs | 70–79 yrs | 80–89 yrs | 90+ yrs |
|---|---|---|---|---|---|
| 3 ROOM | 6,029 | 6,059 | 9,922 | 7,910 | 7,935 |
| 4 ROOM | 5,824 | 5,695 | 5,934 | 7,394 | 7,312 |
| 5 ROOM | 5,854 | 5,717 | 5,703 | 7,679 | 7,080 |
In recent data the cliff is sharpest as a gap between 70–79 and 80–89 years. A 4-room jumps from about S$5,934 (70–79) to S$7,394 (80–89), a +25% leap. The market heavily discounts flats under roughly 75 years of remaining lease in 2026.
Storey premium, 2024+ recent
4-room median price per sqm by floor band — the V1 curve persists and has strengthened.
| Floor | Median psm (S$) | vs ground |
|---|---|---|
| 01–05 | 5,980 | 0% |
| 06–10 | 6,354 | +6% |
| 11–15 | 6,741 | +13% |
| 16–20 | 7,712 | +29% |
| 21–25 | 9,947 | +66% |
| 26–30 | 10,873 | +82% |
| 31+ | 12,088 | +102% |
The height premium has strengthened in recent data. 31+ floors now command +102% vs ground, and the 21–30 band is where the premium steepens most (+66% to +82%). High-floor is increasingly valuable — a trend that has only accelerated, not faded, in 2024–2026.
What V2 proves, and next steps
V2 demonstrates four things the static V1 could not.
- Momentum analysis — national prices have cooled to a plateau; town-level rotation is huge (Toa Payoh vs Choa Chu Kang).
- A hedonic value-finder — you can now scan for potentially underpriced units, not just look at market shape.
- Quantified price drivers — floor ≈ lease as drivers, with town premia.
- Recent-data re-cuts — the 80–90-year lease boundary and a strengthened storey premium.
Next steps (exploration)
- Add MAS SORA + IRAS ABSD → true investment return per unit, not just price.
- Add OneMap geospatial → proximity to MRT, schools, parks as factors.
- Train a better model (random forest / gradient boosting) to lift R².
- Extend to private property via URA REALIS — the same value-finder on condos.
- Build a "find underpriced flats" live scanner — input town/type → ranked list.
Method
Real, reproducible numbers.
- Data: HDB Resale Flat Prices 2017–2026 via the data.gov.sg
datastore_searchAPI. 236,959 records. - Model: OLS with ridge on
log(price/sqm)∼ area + storey_mid + lease_yrs + time + town + flat_type + flat_model dummies. Numerics z-scored. R² ≈ 0.55. - Residual: actual log psm − predicted log psm. Positive = underpriced.
- Re-cuts (A4, A5): medians computed on 2024+ transactions only.
Sources
data.gov.sg HDB Resale Flat Prices dataset → view dataset
data.gov.sg Collection 189 (Property / Resale) → view collection
V1 report → HDB Resale: The Uncommon Analysis