What impacts HDB resale prices most?
A model-and-verification study of 234,303 registered transactions from 2017-01 through 2026-06. The July 2026 partial month is excluded.
1. The ranking
I used three tests and combined their ranks: grouped permutation (scramble a whole driver family), leave-one-family-out retraining, and how much each family predicts on its own. This guards against a common error: calling one variable unimportant merely because a correlated variable can substitute for it.
| consensus_rank | driver | permutation_mae_increase_sgd | drop_group_mae_increase_sgd | standalone_r2_log |
|---|---|---|---|---|
| 1 | Location | S$76,619 | S$22,942 | 0.678 |
| 2 | Size / flat type | S$71,292 | S$15,637 | 0.486 |
| 3 | Market timing | S$67,887 | S$23,822 | 0.193 |
| 4 | Storey / building | S$13,335 | S$5,668 | 0.244 |
| 5 | Remaining lease | S$12,543 | S$2,670 | 0.167 |
| 6 | Flat model | S$3,710 | S$1,261 | 0.252 |
Permutation MAE increase: how much the full model worsens after scrambling that family. Leave-out MAE increase: how much a freshly trained model worsens without that family. Standalone R²: how much log-price variation that family explains alone. These quantities are not additive.
Inside the bundles: the month is the strongest single field
When each raw field is scrambled separately, transaction month is the strongest individual field. Within location, the exact block-and-street address carries much more signal than the broad town label. Within size, measured floor area carries far more signal than the room-type label.
| driver | permutation_mae_increase_sgd | permutation_r2_drop |
|---|---|---|
| Transaction month | S$68,103 | 0.388 |
| Exact address | S$56,836 | 0.313 |
| Floor area | S$48,787 | 0.273 |
| Town | S$17,105 | 0.061 |
| Remaining lease | S$12,628 | 0.042 |
| Flat type | S$10,649 | 0.030 |
| Storey midpoint | S$5,158 | 0.012 |
| Flat model | S$3,864 | 0.013 |
| Building height | S$3,733 | 0.009 |
| Relative storey | S$1,413 | 0.003 |
2. What “comparable flat” differences are worth
To isolate practical premiums, I compared transactions within narrow cells: same month, town, flat type, model, storey band and lease band for floor area; analogous cells for lease; and same address/year/type/model/area band for storey. These are observational estimates, not guaranteed valuation rules.
| effect | price_change_pct | ci_low_pct | ci_high_pct | matched_rows |
|---|---|---|---|---|
| +10 sqm floor area | +7.8% | +7.5% | +8.1% | 69,403 |
| +10 years remaining lease | +10.1% | +9.8% | +10.3% | 83,850 |
| +3 storeys | +2.0% | +2.0% | +2.0% | 152,899 |
3. Timing and location are the two big contextual forces
The official HDB Resale Price Index rose 51.5% from 2017-Q1 to 2026-Q2. That is a market-wide shift, not a feature of any individual flat. Location premiums below come from a separate recent-period hedonic model that holds month, flat type, model, area, lease and storey constant.
Highest adjusted premiums
| town | adjusted_premium_pct |
|---|---|
| BUKIT TIMAH | +44.1% |
| MARINE PARADE | +37.8% |
| CENTRAL AREA | +36.4% |
| BISHAN | +28.0% |
| QUEENSTOWN | +27.3% |
Lowest adjusted premiums
| town | adjusted_premium_pct |
|---|---|
| CHOA CHU KANG | -17.0% |
| JURONG WEST | -14.0% |
| WOODLANDS | -13.6% |
| SEMBAWANG | -13.1% |
| BUKIT PANJANG | -10.8% |
Recent comparison window
2024-07 to 2026-06
51,332 transactions
4. Verification: the result survives harder tests
| model | r2_log | mae_sgd | rmse_sgd | mape_pct |
|---|---|---|---|---|
| Nonlinear target-encoded model — random holdout | 0.964 | S$26,687 | S$37,430 | 5.1% |
| One-hot ridge model — random holdout | 0.960 | S$27,588 | S$38,774 | 5.3% |
| Nonlinear structural model — 2025–Jun 2026 out-of-time, RPI-adjusted | 0.933 | S$38,215 | S$61,071 | 5.6% |
- Random holdout: tests prediction on unseen transactions while every month is represented in training.
- Out-of-time holdout: trains through Dec 2024 and predicts Jan 2025–Jun 2026 after deflating prices with the official RPI. This tests whether structural relationships persist.
- Alternative model: a sparse one-hot ridge model checks that the result is not an artefact of nonlinear gradient boosting.
- Subgroup stability: rankings are recomputed across time periods and major flat types.
| subgroup | driver | permutation_r2_drop | permutation_mae_increase_sgd | rank_within_subgroup |
|---|---|---|---|---|
| 2017–2020 | Location | 0.653 | S$74,698 | 1.0 |
| 2017–2020 | Size / flat type | 0.467 | S$54,350 | 2.0 |
| 2021–2023 | Size / flat type | 0.620 | S$76,233 | 1.0 |
| 2021–2023 | Location | 0.484 | S$69,850 | 2.0 |
| 2024–Jun 2026 | Size / flat type | 0.623 | S$87,723 | 1.0 |
| 2024–Jun 2026 | Location | 0.512 | S$85,487 | 2.0 |
| 3-room | Market timing | 0.675 | S$47,755 | 1.0 |
| 3-room | Location | 0.537 | S$39,426 | 2.0 |
| 4-room | Location | 0.720 | S$78,097 | 1.0 |
| 4-room | Market timing | 0.613 | S$69,027 | 2.0 |
| 5-room | Location | 0.809 | S$92,702 | 1.0 |
| 5-room | Market timing | 0.643 | S$77,698 | 2.0 |
5. How to use this
- For buyers: benchmark within the same month, town or address, flat type, area and remaining-lease band. A national median is a poor anchor.
- For sellers: do not overprice a high-floor or special-model premium; those are smaller than size/location/timing effects in the verified comparisons.
- For valuation: use the model as a screening benchmark, then inspect renovations, condition, orientation, MRT/school proximity and transaction-specific circumstances—the official dataset does not contain them.
Data and methodological limits
HDB notes that transactions depend on many factors and excludes some non-market cases such as resales between relatives and part-share transfers. This analysis explains registered prices; it does not prove causal effects. Address is a powerful location proxy but does not separately identify MRT distance, schools, view, orientation, noise, renovation quality, ethnicity quota constraints, urgency, or buyer/seller bargaining. Remaining lease can also affect financing eligibility, so its association includes both consumption value and financing-market mechanisms.
Sources: HDB resale transactions; HDB Resale Price Index; HDB Property Information. Code, raw downloads, model object, metrics and charts are included in the accompanying analysis bundle.