Inspiration
In Singapore, 88,400 residents aged 65 and over live alone, more than double the 41,200 of ten years ago. Social isolation is a stronger predictor of early death than obesity or smoking, yet outreach by the Silver Generation Office and Active Ageing Centres is still planned largely by hand. We kept asking one question: if a volunteer coordinator has 50 hours this month, which neighbourhood should get them first? Nobody has a shared, data-backed answer.
What it does
Our proposed platform will score every HDB town on isolation risk and give community workers:
- A risk map of towns, ranked by a composite score
- A top-10 outreach list, with a plain-language "why flagged" breakdown for each town
- A Genie space for questions such as "which towns have many seniors living alone and low centre coverage?"
How we built it
We are at the proposal stage. So far we have explored the 11 open datasets, designed the model and planned the architecture. The build will run end-to-end on Databricks: open data from data.gov.sg and SingStat will land in a Unity Catalog volume, Lakeflow pipelines will move it through Bronze, Silver, and Gold Delta tables, the model will be tracked in MLflow, and the output will be an AI/BI dashboard.
The model is designed in four steps:
- Estimate need. Multiply the number of seniors in each age group by the national living-alone rate for that group, giving an estimate of seniors living alone in each town.
- Measure access. Look at how many seniors share each centre within walking distance. One centre serving many seniors means a coverage gap.
- Blend into one score. Put living alone, age 80+, rental housing, limited mobility and coverage gap on the same scale, weight them by importance, and add them into a single risk score.
- Stress-test the ranking. Rerun the scoring 1,000 times with slightly different weights and report how often each town stays in the top 10.
Challenges we ran into
Found during data exploration:
- No labels, aggregated data. No dataset says who is isolated, so supervised learning is off the table. We are treating this as an index-construction problem that prioritises areas, not individuals.
- Mismatched geography* Only one of the 11 datasets is at town level; the rest are national. We will need to project national rates onto each town and bring in planning-area data.
- Dirty source data. The town file lists Hougang twice and omits Woodlands in every survey year.
- Stale survey years. The HDB survey data ends in 2018, so current estimates must be anchored on 2025 SingStat figures.
Expected during the build:
- Matching HDB towns to planning-area boundaries
- Keeping the dashboard simple enough for non-technical users
Accomplishments that we're proud of
- A scoped, realistic design that fits a two-week sprint
- A method that works with the data that actually exists, instead of assuming labels we do not have
- Spotting a labelling error in an official dataset before building anything on it
What we learned
- Ten of 26 towns hold 58% of HDB seniors, so targeting matters more than we expected.
- The next wave of seniors lives in different towns from today's: Tampines has 41,000 residents aged 55–64 against 31,000 aged 65+.
- With 26 towns and no labels, a simple and transparent index is easier to defend than a complex model.
- Checking what level each dataset is published at should come before choosing a model.
What's next for Predicting social isolation risk across Singapore
The two-week sprint
- Week 1: ingest all datasets to Gold tables, build the town-level indicator table and the coverage score
- Week 2: build the risk index with the stability test, the dashboard and the Genie space
- Stretch: a Databricks App that simulates adding a new centre
Beyond the sprint
- Subzone and block-level scores for finer targeting
- Forecasting risk five to ten years out from the 55–64 cohort
- An optimiser that recommends where the next Active Ageing Centre would best reach at-risk seniors
- Validation against Silver Generation Office referral data
Built With
- data.gov.sg
- databricks
- databricks-sql
- delta-lake
- genie
- geojson
- geopandas
- h3
- lakeflow
- mlflow
- pandas
- pyspark
- python
- scikit-learn
- singstat
- sql
- unity-catalog
Log in or sign up for Devpost to join the conversation.