Jabodetabek House Prices — VINIX7 Data Science
An analysis of what drives prices across 11,338 house listings in Greater Jakarta, with a Looker Studio dashboard. The final project of my Junior Data Scientist internship & independent study at VINIX7.
- Role
- Junior Data Scientist (team of 5)
- Period
- Aug–Dec 2025
- Tools
-
- Python
- Pandas
- Looker Studio
- Google Colab
- Matplotlib
- Seaborn
The challenge
This was the final project of the MSIB Batch 3 internship & independent study programme at VINIX7, in the Junior Data Scientist division. The question was simple but the data was messy: what drives house prices in Greater Jakarta (Jabodetabek)? We broke it into five research questions: price differences between cities, the effect of building size and condition, whether property size relates to price linearly, the effect of distance to the city centre, and the effect of the ownership certificate.
My role
I was one of five members of Group 13, alongside Christopher Joshua Dimas Prasetyo, Faiz Hilmi Aziz, Kenneth Matthew Priono, and Muhammad Akbar Zulkarnaen. My part covered data cleaning and feature engineering, the Looker Studio dashboard, and the final report and presentation to our mentor.
Process
We followed CRISP-DM, from business understanding to deployment, using the Jabodetabek House Price dataset of 11,338 rows in Google Colab. Prices stored as text became numbers, coordinates became floats so they could be mapped, and the electricity column lost its units. Missing room counts (about 1%) were filled with the median per city, while missing condition, certificate, and furnishing values were labelled “unknown” instead of guessed.
Outliers weren’t removed globally. IQR bounds were calculated per district from the price per m², so expensive houses in elite areas stayed in, and logic rules caught prices that made no sense for their land size. I then added derived features: price per m², distance to Bundaran HI using the Haversine formula, five distance zones (city centre to development area), and land size buckets of 500 m².
Solution
- An analysis-ready dataset: consistent data types, missing values handled per column, and outliers filtered per district.
- Location features: distance to the city centre and distance zones, so accessibility could be compared in numbers.
- A Looker Studio dashboard: summary cards, a map of the listings, and one chart per research question, with city, land size, zone, and certificate filters.
- Report and presentation: findings turned into recommendations for developers, investors, and home buyers.
Results
| Question | Finding |
|---|---|
| Most expensive city | Central Jakarta averages Rp20.7 billion; Bekasi and Depok Rp1.3 billion |
| Distance to the centre | Rp21.8 billion in the central zone, down to Rp2.4 billion in the suburbs |
| Building condition | Highest median for “excellent” at Rp3.5 billion; “new” only Rp1.2 billion |
| Land vs building size | Not linear; above 2,000 m² it becomes the premium segment |
| Certificate type | Top price for SHM Rp250 billion, HGB Rp50 billion, PPJB Rp35 billion |
- The final project scored 88, and the programme transcript averages 93.3 across 11 competencies.
- The dashboard and report were presented to our mentor at the programme’s final review.
Lessons
Removing outliers globally turned out to be risky for property data, because a house above Rp100 billion in a premium district is normal, not a typo. Setting bounds per district and then rechecking the highest prices kept the data honest. I also learned that a good dashboard starts from questions, not charts: every chart here answers one research question. This analysis is still descriptive. The next step is a regression model that uses the distance and zone features we built, so it can actually estimate house prices.
Assignments during the programme
Over four months (August–December 2025) we completed one assignment per module. All of them were group work and can be opened on Google Drive (in Indonesian).
- Module 1: YouTube viewing patterns from watch history. PDF
- Module 2: data acquisition, the Netflix Movies & TV Shows dataset from Kaggle. PDF
- Module 3: cleaning the Netflix data (7,789 rows). PDF
- Module 4: exploratory analysis, descriptive statistics, and distributions. PDF
- Module 5: visualising the Netflix data with Plotly. PDF
- Module 6: hypothesis testing with Welch’s t-test (p < 0.05) and simple regression. PDF
- Module 7: an Auto-MPG BI dashboard in Looker Studio. PDF
- Module 8: Linear Regression vs Random Forest for predicting MPG (Random Forest R² 0.857). PDF
- Module 9: mall customer segmentation with K-Means (K = 4, silhouette 0.298). PDF
- Module 10: data storytelling and a Netflix infographic. PDF
- Final project: the full report and presentation slides. PDF
Documentation
-
Average price per city. The gap between the centre and the satellite cities is almost 16x. -
Distance to Bundaran HI uses the Haversine formula, grouped into five zones. -
A one-page dashboard with city, land size, zone, and certificate filters. -
The bigger the building, the higher the price. -
Building condition matters, but less than location. -
Land size and building size don't grow in a straight line. -
The top SHM (freehold) price is five times the top HGB price.