How we rate
Every HOROI rating comes from one of three rubric variants that share one philosophy: a New Launch scorecard for private condos and ECs, a Resale Condo scorecard for the secondary private market, and an HDB Town scorecard for the HDB resale market. Each category is scored 0–5 against defined, public anchors, multiplied by its weight and scaled to a 0–100 composite with a letter grade, a one-line verdict and a “who it’s for.” The anchors are public so anyone can audit a score. Trust the method, not a person. This page describes rubric v0.2, with scoring mechanics locked in June 2026.
The three rubrics
A. New Launch (private condo / EC)
| Category | Weight | What it measures |
|---|---|---|
| Entry Price & Value | 25% | Land cost, estimated breakeven, launch $psf vs comparable launches, price cushion |
| Supply & Exit Dynamics | 15% | Area oversupply, competing launches, holding-period rules, resale competition, absorption rate |
| Location & Connectivity | 15% | MRT walk-time, future infrastructure, parks / schools / amenities |
| Investment Profile | 15% | Projected rental yield, capital-appreciation potential, ROI vs comparables |
| Developer Track Record | 10% | Past project performance, pricing playbook, build quality, financial strength |
| Layout & Product | 10% | Unit mix, layout efficiency, ventilation, facing, parking ratio |
| Sentiment Signal | 10% | Aggregated crowd mood — hype vs skepticism, demand indicators |
B. Resale Condo (secondary private market)
| Category | Weight | What it measures |
|---|---|---|
| Entry Price vs Peers | 20% | 24-mo median resale $psf as a percentile within the same district and tenure-class peers (cheaper = better) |
| Realized Price Trend | 20% | Own annualized %/yr — first-12 vs last-12 observed months — as a percentile of the resale universe (p25/med/p75 = 2.8/5.2/7.4 %/yr) |
| Transaction Liquidity | 15% | Trailing-12-month resale volume (p25/med/p75 = 3/6/14 txns); thin markets price badly |
| Location & Connectivity | 15% | MRT walk-time against the same islandwide anchors as new launches |
| Lease Profile | 15% | Freehold-class scores 5; otherwise a remaining-years ladder at 90/80/70/60/50 |
| Layout & Product | 5% | Unit mix inferred from the transaction-area distribution (floor plans not in the DB → partial) |
| Sentiment Signal | 10% | Aggregated crowd mood — manual editorial overlay |
C. HDB Town / Resale
| Category | Weight | What it measures |
|---|---|---|
| Price Trend & Momentum | 25% | 2-year resale price movement; young-MOP vs whole-estate growth split |
| Upgrader Equity Unlock | 20% | Equity freed at MOP; realistic non-top-up upgrade ceiling |
| Transaction Liquidity | 15% | Volume by flat type, seller holding power, days on market |
| Future Supply Pressure | 15% | Upcoming BTO/SBF supply, BTO subscription ratios |
| Step-Up Gap to Private | 15% | Cash/CPF gap from the town's HDB to the nearest EC/condo tier |
| Sentiment Signal | 10% | Aggregated crowd mood on the town; lease-decay anxiety, demand chatter |
Percentile anchors, not opinions
Where a category is computed, the 0–5 score comes from where the measured value sits in a distribution of peers — e.g. a launch’s $psf percentile within its cohort, or a project’s MRT walk-time against the median and 75th percentile of all 183 rated launches. The anchor values are printed in the “basis” line of every sub-score, so the number can be checked, not just believed.
Value and appreciation are orthogonal axes
Cheapness scores well on Entry Price & Value; the bearish “weak pricing power” read lives on Investment Profile. We never penalise the value axis for being cheap — the same price-versus-fair-value philosophy Morningstar applies to stocks. A project can be a good price and a poor compounder, or vice versa, and the scorecard shows both.
Vintage-matched cohorts
Entry-value is scored against a cohort of launches in the same market segment (CCR/RCR/OCR) that launched within ±18 months — widened to ±24 months, then to the full window, only if the cohort drops below 10 projects. Segment launch prices drifted roughly +42% across the URA 5-year window, so an unmatched percentile would mostly measure the launch year, not the deal. Islandwide position is shown as context, never as the score.
Appreciation: annualized and cohort-relative
Singapore mass-market property almost never loses money in absolute terms (0% loss rate for OCR launches in our 60-pair launch→resale study), so “will it gain?” is an uninformative question. We instead score a project’s annualized (%/yr) gain as a percentile of its segment cohort’s realized %/yr distribution — raw percentage gains over unequal holding periods are not comparable. Estimates follow a strict priority: the project’s own realized exits, then realized comparables in the same district, then price-position inference. Inferred estimates are dampened toward neutral and earn zero coverage credit, because they mechanically correlate with the entry-value score.
Resale condo scorecard (rubric 0.3)
The resale-condo variant rates the secondary private market on observed transactions, not developer pricing. Its weights are Entry Price vs Peers 20% (24-month median $psf as a percentile within the project’s district and tenure-class peers — leasehold compared with leasehold, freehold with freehold), Realized Price Trend 20% (the project’s own annualized %/yr, first-12 versus last-12 observed months, scored as a percentile of the resale universe; p25/median/p75 = 2.8/5.2/7.4 %/yr), Transaction Liquidity 15% (trailing-12-month resale volume; p25/median/p75 = 3/6/14 txns — thin markets price badly), Location & Connectivity 15% (the same MRT-walk anchors as new launches), Lease Profile 15% (freehold-class scores a flat 5; otherwise a remaining-years ladder at 90/80/70/60/50, reflecting that bank-financing friction starts below 60 years), Layout & Product 5% (partial — unit mix inferred from the transaction-area distribution, since floor plans aren’t in the database) and Sentiment Signal 10% (manual).
The two alternative lenses re-weight the same sub-scores. The Value lens is Entry Price vs Peers 60% plus a 40% discount-vs-district-new-launch-$psf term — how much cheaper the resale is than today’s new supply in the same district. The Investment lens is Realized Price Trend 50%, Transaction Liquidity 25% and Lease Profile 25% — the durability of the compounder, not its current price.
Window censoring is flagged
URA’s transaction feed is a rolling 5-year window. A project whose first observed new-sale month sits at the edge of that window actually launched earlier — its observed “launch” price is late-phase pricing, not day-one pricing. Censored subjects and comparables are labelled CENSORED directly on the scorecard rather than silently treated as clean data.
Below-breakeven is a flag, not a markdown
A developer selling below estimated breakeven with a fast sell-down is passing cheap land to buyers — discipline, not distress. Selling below breakeven amid slow absorption is distress, and costs a point on Investment Profile. The trigger is absorption velocity: ≥60% of units sold in the first three months counts as strong.
Source classes & the coverage %
Every sub-score carries one of four source classes, and every scorecard prints a coverage percentage — the share of the rating’s weight that is actually measured — so a placeholder is never mistaken for a measurement:
- computedFully measured from source data. Full coverage credit.
- partialA real but proxy signal (e.g. unit mix derived from transaction areas instead of floor plans). Half coverage credit.
- inferredAn estimate, dampened toward neutral. Zero coverage credit; drawn hatched on the scorecard.
- manual · awaiting dataA neutral 3.0 placeholder awaiting data. Zero coverage credit; greyed out on the scorecard.
The publish gate
No rating is published below roughly 75% coverage, and private ratings publish only once location & connectivity data is computed — it is the single strongest appreciation driver, so a rating without it would be hollow. Anything below the gate stays internal and provisional.
Sentiment is a signal, labelled as such
The sentiment category is a manual, aggregated, anonymized editorial overlay — never automated scraping, and never anonymous forum opinion presented as fact. Until it is populated for a given rating, it sits at the neutral placeholder and earns no coverage credit.
Versioning
This is rubric v0.2: scoring mechanics were locked in June 2026 after calibration against a live transaction archive, the 60-pair appreciation study and external domain research. Category weights are unchanged from v0.1; a weight review is deferred until at least 20 projects carry full data — we don’t upweight the weakest-measured category first.
See a score you disagree with? Check the basis lines and the anchors — then check our data sources. If the data is wrong, the score is wrong, and we’ll fix both.