Atul Iwale · Project 11 · Real estate sales with machine learning

Which bookings will cancel, and what will unsold flats fetch?

A residential developer's sales CRM: 8 launches, 2,159 bookings and 760 unsold flats. Seven classifiers predict which new bookings will cancel within a year. An XGBoost model prices every unsold flat after the discount the market demands. K-means finds the buyer segments behind it all. The logistic model and the XGBoost pricer run live in your browser.

Logistic Regression · KNN · SVM · Naive Bayes · Decision Tree · Random Forest · XGBoostXGBoost price regressionK-means segments

CRM call list: active bookings at risk

#BookingRiskRF riskValue

Risk = probability of cancelling within a year of booking, from the logistic model (live in this page). RF = Random Forest, the best model on the test half-year, scored in Python.

Pricing unsold flats

Every unsold flat is priced at the August 2026 price list. The model predicts the rate per sq ft it will actually achieve, after the discount this kind of deal usually needs.

FlatCarpetList ₹/sq ftModel ₹/sq ftDiscount

Unsold inventory by project

Model value assumes a standard deal: walk-in, construction-linked plan, end user. Broker or down-payment deals need bigger discounts. Try them in the flat view above.

How the models compare

Cancellation classifiers (test: bookings Jan to Aug 2025)

Recall @20% = share of cancellations found by calling the riskiest fifth of bookings. Value found = share of the cancelled agreement value inside that fifth.

Price models (test: bookings Jul 2025 to Aug 2026)

The baseline is the price list less the average historical discount. It is a strong baseline because developers price carefully.

Buyer segments (K-means on buying behaviour)

Buyer type was not an input. Cash buyers turn out to be mostly investors and NRIs anyway.

What drives cancellation (logistic odds ratios)

Odds multiplier for a 1-standard-deviation increase (numbers) or for that group (categories), holding everything else fixed.

How it works

  • Timing: a booking is scored 45 days after booking, once the first instalment is due. Only facts known by then are used.
  • Split by date: train on bookings before Jul 2024, tune on Jul to Dec 2024, test on Jan to Aug 2025, a period that includes a market slowdown.
  • Pricing: learns the achieved ₹/sq ft from the price list, floor rise, view premium, deal type, project age and market trend.
  • Segments: K-means on income, age, ticket size, loan share, EMI burden, booking amount, site visits and days to decide.
  • In this page:

Honest limits

  • The data is synthetic, built on realistic Indian residential sales patterns.
  • With under 900 training bookings the model ranking is fragile. Logistic regression, Naive Bayes and Random Forest are within noise of each other.
  • A risk score says who to call, not what the call achieves. Retention impact needs an A/B test.
  • Model prices are estimates for a standard deal, not a price list.