Inspiration
“Can buy or not?” is a simple question with a complicated answer for first-time HDB buyers. Beyond finding a suitable home, buyers need to understand whether its price is reasonable and whether it fits their budget.
We were inspired to make public housing data easier to interpret. CanBuyOrNot? brings together resale comparisons, affordability insights and machine learning price estimates to help buyers make informed offers with confidence.
What it does
CanBuyOrNot? is a proposed HDB resale analytics platform designed to help first-time buyers:
- Compare resale prices across towns, flat types and property characteristics.
- Assess affordability using income benchmarks and clearly stated budget assumptions.
- Explore ML-powered price estimates based on features such as location, floor area, storey range and remaining lease.
- Compare a target price with the model estimate to identify differences worth investigating.
One planned affordability indicator is the price-to-income ratio:
Price-to-income ratio = Flat price / Annual household income
This provides a simple comparison of purchase price against income. A fuller affordability assessment will also need to consider savings, financing and household expenses.
How we built it
Our project is currently at the concept and planning stage. We have defined a workflow using Databricks, Python and SQL to turn public datasets into an interactive decision tool.
The planned build has five stages:
- Collect data: Use public HDB resale transactions and supporting income datasets.
- Prepare data: Standardise formats, handle missing values and create useful property features.
- Explore patterns: Analyse resale prices by town, flat type, floor area and remaining lease.
- Develop the model: Train a resale price estimation model and evaluate it on later transactions.
- Present insights: Combine comparisons, affordability indicators and model estimates in a dashboard.
We plan to measure prediction error using mean absolute error:
MAE = (1/n) * sum(|actual price - predicted price|)
Here, actual price is the transaction price, predicted price is the model's estimate, and n is the number of test transactions. MAE expresses the average absolute error in dollars.
Challenges we ran into
During planning, we identified several challenges:
- Combining datasets: Transaction-level housing data and aggregated income statistics have different levels of detail.
- Comparing properties fairly: Differences in location, size, storey and remaining lease need to be considered.
- Evaluating future performance: Testing on later transactions will help us assess how well the model generalises over time.
- Communicating uncertainty: Model estimates need to be presented with their limitations and supporting comparisons.
- Keeping the scope achievable: Our initial prototype will focus on the core buyer questions before adding more features.
Accomplishments that we're proud of
At this stage, we are proud of turning a broad housing analytics idea into a focused project with:
- A clear target user: first-time HDB resale buyers.
- Three connected functions: price comparison, affordability assessment and price estimation.
- A defined data-to-dashboard workflow.
- A practical prototype scope centred on decisions buyers need to make before submitting an offer.
What we learned
Our planning has highlighted that market price and personal affordability answer different questions. A flat may be reasonably priced compared with similar transactions while still exceeding a household’s budget.
We also recognised that useful analytics requires more than a prediction. Buyers need clear comparisons, understandable assumptions and evidence of model performance to interpret the results.
What's next for CanBuyOrNot?
Our next step is to build and evaluate a working prototype in Databricks.
We plan to:
We plan to:
- Prepare the resale transaction dataset.
- Build an initial dashboard for exploring prices.
- Develop and evaluate a baseline price estimation model.
- Add an affordability view with transparent assumptions.
- Gather feedback on whether users can understand and apply the insights.
Our goal is to help first-time buyers move from “Can buy or not?” to a clearer understanding of their options, budget and potential offer.
Log in or sign up for Devpost to join the conversation.