SPI Methodology
The ShiokNest Property Index (SPI) is a monthly composite price index computed transparently from URA caveats and data.gov.sg HDB resale data. Every input, threshold, and weight is documented below.
Base period
All segment indices are rebased to February 2021 = 100.000. The base period sits inside the URA REALIS rolling 5-year window so the base medians remain computable, and is recent enough that every primary stratum cell had sufficient transaction volume to seed a stable base median.
Stratification
Each segment is divided into cells before computing medians, to control mix-shift bias:
- Private: CCR / RCR / OCR × apartment / condo / EC × low (floors 1–6) / mid (7–15) / high (16+)
- HDB: Town (26 towns) × Flat type (2 / 3 / 4 / 5-room / Executive)
- Landed: Detached / Semi-Detached / Terrace × CCR / RCR / OCR district group
Weights
We use fixed Laspeyres-style weights frozen annually as "weight vintages". Each cell's weight equals its share of the prior 5 years of transaction volume; segment-level weights equal each segment's share of total transaction value over the same window.
Active vintage: 2026 (2026-05-16 22:01:46)
Segment weights: Private 76.0% · Hdb 20.1% · Landed 3.9% ·
Suppression & quality gates
- Cells with fewer than 5 transactions in a month are dropped.
- Segment-wide volume floors: private ≥ 200, HDB ≥ 500, landed ≥ 25 transactions per month. Landed uses a lower threshold because Singapore's landed market is structurally thin (~30-80 transactions per month). Below the floor we suppress that segment and re-normalize composite weights.
- PSF values are winsorized to [P1, P99] over the trailing 24 months per cell.
Anchored against official indices
Each compute pass aggregates SPI-HDB to quarterly means and compares against the official HDB Resale Price Index (RPI) from data.gov.sg. Similarly, SPI-Private is compared against URA's Private Residential Property Price Index (PPPI).
Version history
- v1.0 effective from 2026-05-16 — Initial ShiokNest Property Index methodology. Stratified volume-weighted median PSF with fixed Laspeyres weights frozen as annual vintages. Base: January 2020 = 100. Segments: private (CCR/RCR/OCR × bucket × floor band), HDB (town × flat type), landed (prop_type × district group). Cell winsorization at [P1, P99] on trailing 24-month window. Min cell n=5, segment volume floors private 200/HDB 500/landed 50.
Data sources
- URA REALIS — private sales + landed transactions
- data.gov.sg — HDB resale + official RPI
- Monetary Authority of Singapore — SORA reference rate (for context)
- SingStat — broader economic indicators