DEV Community

Olive Same
Olive Same

Posted on

Luxury Apartments in Gurgaon: Price It Like Data

Comparing luxury apartments in Gurgaon by the headline price is like comparing laptops by box size. Two homes at the same price can give you very different usable space.

The fix is simple: convert everything to price per sq ft of carpet area, add the fixed charges, and then look at what the numbers cannot show. A dozen lines of pandas does the first part.

This works well if you live abroad and are comparing projects from listings and PDFs. You need clean numbers, not a site visit, for the first pass.

Three areas, one apartment

Indian listings use three area terms:

  • Carpet area: the usable floor inside your walls
  • Built-up area: carpet plus wall thickness and balconies (definitions vary)
  • Super built-up area: built-up plus a share of lobbies, lifts, stairs and clubhouse

The Real Estate (Regulation and Development) Act, 2016 defines carpet area in Section 2(k), and project filings must state carpet area per unit. You can read the Act on India Code.

The gap between super area and carpet area is called "loading." Loading varies widely between projects, which is exactly why you should measure it instead of assuming it.

The sample data

The numbers below are made up to show the method. Do not read them as real prices.

import pandas as pd

df = pd.DataFrame({
    "listing":     ["A", "B", "C"],
    "price_cr":    [6.8, 6.5, 7.2],      # all-in quoted price, crore
    "carpet_sqft": [2900, 2500, 3300],
    "super_sqft":  [4100, 3900, 4400],
    "extras_lakh": [35, 60, 20],         # parking, club, PLC, etc.
})
Enter fullscreen mode Exit fullscreen mode

The script

df["total_inr"] = df["price_cr"] * 1e7 + df["extras_lakh"] * 1e5
df["per_carpet_sqft"] = (df["total_inr"] / df["carpet_sqft"]).round(0)
df["per_super_sqft"] = (df["total_inr"] / df["super_sqft"]).round(0)
df["loading_pct"] = ((df["super_sqft"] / df["carpet_sqft"] - 1) * 100).round(1)

print(df[["listing", "per_super_sqft", "per_carpet_sqft", "loading_pct"]]
      .sort_values("per_carpet_sqft"))
Enter fullscreen mode Exit fullscreen mode

Run it and the ranking often flips. A listing that looks cheap per super sq ft can turn out to be the most expensive per carpet sq ft, because a big slice of what you pay for is lobby.

The extras_lakh column matters too. Parking, club membership and preferred location charges are sometimes quoted apart from the base price. Put them in, or the comparison is not fair.

What the numbers miss

Price per carpet sq ft is a good first filter. It is a poor final answer. Add these columns before you shortlist:

Density

Units per acre tells you how crowded the site will feel. If the RERA filing gives total units and land area, compute it. Lower density usually means more open space per home.

Delivery date

Use the completion date in the RERA filing, not the brochure. If they differ, trust the filing and ask why.

Fit and finish

Specs like flooring, windows and kitchen fittings change the real value. They resist a number, so keep a notes column and score them after a visit or video walkthrough.

A worked reference

Estate 361 in Sector 36A, Gurugram, is a useful test case for this model. The site covers 18.23 acres, homes start at ₹6.65 Cr, and the HARERA registration is RC/REP/HARERA/GGM/1012/744/2025/115.

To compare it fairly, take the carpet area from the agreement or the RERA filing, add any charges quoted separately, and run it through the same script as every other option. The Estate 361 project page is the place to start for unit details.

A note for NRI buyers

If you earn in dollars or dirhams, add one more column: the price in your home currency at a few exchange rates.

for rate in [83, 86, 89]:   # INR per USD, your own scenarios
    df[f"usd_at_{rate}"] = (df["total_inr"] / rate / 1e6).round(2)
Enter fullscreen mode Exit fullscreen mode

Payments on under-construction homes are spread over months or years, so the rate you pay at will move. A simple range is more honest than a single number.

For more on how Gurugram's premium micro-markets compare, the Max Estates blog and the Delhi NCR Properties guide both have region-level reading.

Top comments (0)