Six chips appear on a typical property card. Each one is a number we compute from real data — RERA filings, transaction medians, builder track records. No hidden ranks, no paid placements. Here is the exact formula for every single one.
A one-line verdict chip that combines five signals into a single recommendation. You see this at the top of every property card.
Start at 50. Add or subtract points from five inputs:
| Signal | Points | Source |
|---|---|---|
| RERA verified by BharatLocal admin | +15 | rera_projects table |
| RERA missing / rejected | −15 | rera_projects table |
| Builder reputation ≥ 80 | +15 | builder_reputation view |
| Builder reputation 60-79 | +5 | builder_reputation view |
| Builder reputation < 60 | −15 | builder_reputation view |
| Priced below area median | +15 | Fair Price calc (see §3) |
| Priced above area median | −10 | Fair Price calc (see §3) |
| High delivery confidence (≥ 75%) or already delivered | +10 | Delivery confidence (see §6) |
| Low delivery confidence (< 50%) | −15 | Delivery confidence (see §6) |
| Owner KYC verified (Aadhaar-matched) | +8 | owner_verified flag |
Final score is clamped to 0-100. Unknown signals contribute zero (no penalty, no bonus). Source: app/modules/property_intel.py · overall_verdict()
A weighted six-factor score giving a finer-grained answer than the three-band verdict above. Tap the badge on any property to see the per-factor breakdown.
| Factor | Weight | What it actually measures |
|---|---|---|
| Price Fairness | 25% | How far above/below the locality median ₹/sqft this property is priced. |
| Builder Reputation | 20% | The builder's track-record score from §4 (RERA filings + delays + complaints). |
| Growth Potential | 15% | Locality YoY appreciation %. 0% → 50pts, 8% → 85pts, 15%+ → 100pts. |
| Connectivity | 15% | Proximity to metro stations, highways, ORR exits. Distance buckets. |
| Risk Factors | 15% | RERA status + owner KYC + listed-by tier + open complaints. |
| Rental Yield | 10% | Annualised rent ÷ price ratio vs locality median yield. |
Final score is a weighted sum:
| Score | Label | Meaning |
|---|---|---|
| 85-100 | Strong Buy | All signals point to a great purchase. |
| 70-84 | Good Buy | Solid choice with a few minor caveats. |
| 55-69 | Negotiate | Mixed signals — push on price before deciding. |
| 0-54 | Be Cautious | Multiple red flags — investigate before proceeding. |
Source: app/modules/property_intel.py · compute_ai_buy_score()
Compares this listing's ₹/sqft to the median ₹/sqft of currently-active listings of the same type and bedroom count in the same locality.
price ÷ area_sqft (rupees per square foot) of those properties.| This 3 BHK in Kompally is listed at | ₹65L for 900 sqft | = ₹7,222/sqft |
| Median ₹/sqft of other active 3 BHKs in Kompally | ₹8,600/sqft | — |
| Difference | ₹7,222 − ₹8,600 = −₹1,378 | −16.0% |
| Chip shown | 16% below area average | |
If the locality has fewer than 3 comparable listings, we widen the comparison set in order:
A 0-100 score per builder, computed from their RERA-filed project history. The chip on the property card shows this number next to the builder's name.
| Input | Source | Why it matters |
|---|---|---|
| avg_completion_pct | RERA Form-A completion percentage | How far along the average project is. |
| avg_complaints_per_project | Open RERA complaints on portal | Disputes filed by past buyers. |
| avg_delay_months | (today − expected_completion) for ongoing projects past their date | How often they miss deadlines. |
| total_projects | Count of RERA-registered projects | Scale gives a small confidence boost. |
| Score | Band | Chip colour |
|---|---|---|
| ≥ 80 | Excellent | Green |
| 60-79 | Good | Amber |
| < 60 | Poor | Red |
| Base | 70 |
| + Completion bonus (avg 73% complete: (73−50) × 0.6) | +13.8 |
| − Complaints penalty (0.1 complaints/project × 5) | −0.5 |
| − Delay penalty (avg 1.2 months late × 2) | −2.4 |
| + Scale bonus (8 projects × 0.5) | +4.0 |
| Final score | ≈ 85 → rounded display 82 |
The view auto-refreshes after every new RERA project is added. Source: DB/builder_reputation_migration.sql
A 0-100 score for the locality this property sits in, aggregating price growth, project density, builder reputation, amenities, and upcoming infrastructure within 2 km.
| Score | Band | Meaning |
|---|---|---|
| ≥ 80 | Excellent | Established, well-connected, growing. |
| 60-79 | Good | Solid choice, mostly mature. |
| < 60 | Developing | Earlier-stage area — upside but more risk. |
| Base | 50 |
| + Growth (12% YoY × 0.8) | +9.6 |
| + Active RERA projects (24 capped × 0.4) | +9.6 |
| + Builder quality nudge ((78 − 50) × 0.25) | +7.0 |
| + Kiranas within 2km (20 capped × 0.3) | +6.0 |
| + Hospitals within 2km (8 × 0.5) | +4.0 |
| + Upcoming infra (Metro Phase 3 × 1.5) | +1.5 |
| Final score | ≈ 87 → display 85 |
Refreshed nightly + after every new property posted. Source: DB/locality_intelligence_migration.sql
A percentage that estimates the probability this project finishes on or near its expected completion date. Based on the builder's actual on-time track record across their RERA-filed projects.
| Confidence | Band | What it means |
|---|---|---|
| ≥ 75% | High | Builder has a strong on-time history. |
| 50-74% | Medium | Mixed history — small chance of 3-6 month delay. |
| < 50% | Low | History suggests significant delay risk. |
| — | Already delivered | Project complete — no estimate needed. |
Possession delays are one of the biggest pain points in Indian real estate. RERA itself was created largely because of chronic delays. This chip surfaces the actual statistical risk so a buyer knows what they're signing up for.
Source: app/modules/property_intel.py · derived from rera_projects table
A four-state badge showing whether this property's RERA registration is verified against the state RERA portal.
| State | Label | What it means |
|---|---|---|
| ✓ RERA Verified | Green | Admin compared the RERA number with the state portal and matched it. |
| RERA Claimed · Not Verified | Amber | Seller filled in a RERA number but admin hasn't verified it yet. |
| RERA Exempt | Grey | Project is below RERA's 500 sqm / 8-unit threshold and legally exempt. |
| No RERA Registration | Red | Seller didn't provide a RERA number — treat with caution. |
Source: app/modules/rera.py · BADGES table
A green pill that appears next to the listing's title when the seller has completed Aadhaar-OTP KYC and uploaded ownership-document proof.
users.kyc_verified_at and properties.owner_verified get set.Source: app/modules/owner_verification
An estimated value of this exact property at four future horizons, with a confidence band around each estimate. Shown on the property detail screen.
Net 5-year ROI also accounts for: registration cost (7% one-time), maintenance (₹3/sqft/month), property tax (0.1% of value/year), opportunity cost of down-payment at 7% bond yield. Returned in the price_prediction object on every property detail response.
Source: app/modules/property_intel.py · predict_future_value()
A chip that shows what this property will actually cost you to own per month, including everything most listings hide.
Tap the chip on the property card to see the full break-down with each line item.
The orange ribbon over the hero photo. Shows the year the seller expects to hand over the keys.
For under-construction projects this comes from the RERA Form-C expected_completion date. For ready properties it shows "READY TO MOVE" instead. If the date is past today + 6 months and the project isn't marked complete, we also show a "DELAYED" stamp next to it.
A blue callout box that names the closest upcoming infrastructure project + the historical appreciation delta we've measured around comparable projects.
Honesty note: this is a historical comparison, not a guarantee. Past metro phases delivered ~15-25% extra appreciation in the 2km belt around them. Future phases may behave similarly or not.
A small green chip showing how the median ₹/sqft in this locality moved over the last 12 months. This is observed history, not a prediction.
Big numbers like "+92%" usually indicate a locality that was previously undervalued (e.g. far suburb that just got a metro announcement). They are not a projection — past growth is no guarantee of future growth.
A red or amber banner that appears on the property detail screen when the plot's GPS coordinates fall inside a Full Tank Level (FTL) lake boundary or a 30-metre buffer zone — both of which carry HMDA construction restrictions in Hyderabad.
ST_Within check against the property's lat/lng.Four small dots — Water · Electricity · Sewage · Fire — showing whether the builder has obtained the required No-Objection Certificates from each utility department.
| Dot colour | Meaning |
|---|---|
| Green | NOC obtained, document on file. |
| Amber | NOC application submitted, decision pending. |
| Red | NOC explicitly rejected or expired. |
| Grey | No NOC data declared — buyer should ask builder. |
A buyer's safety net for spotting structural problems in legal documents before they hand over money. Read this whole section carefully — what the feature does and what it does NOT do are both important.
document_verifications table against your user ID + property — you can re-open it any time from your profile.A per-document-type checklist that asks the vision model to confirm or flag the presence/absence of:
| Document type | The AI checks |
|---|---|
| Sale Deed | Registration number visible · Sub-registrar stamp · Both party names + signatures · Schedule of property · Stamp duty value · Witness signatures · Date |
| Encumbrance Certificate (EC) | Issuing authority name · Period covered · Each registered transaction line · Any mortgage / lien entries · Officer signature + seal |
| Agreement of Sale | Token / advance amount · Final consideration · Both party signatures · Witness signatures · Property schedule · Default clauses |
| Occupancy Certificate (OC) | Issuing municipal body · Building permit reference · Structural-safety certification · Date issued · Authorized-signatory seal |
| RERA Form-A | RERA registration number · Promoter declaration · Project details match the listing · Authorised-signatory sign-off |
| Mutation / Khata | Current property-tax-payer name match · Mutation entry date · Survey number |
| Score | Band | Suggested action |
|---|---|---|
| 0-25 | Looks clean | Doc shows all expected markers. Still get a lawyer to confirm with the registry office. |
| 26-50 | Some concerns | Specific fields are missing or unclear — ask the seller for a clearer copy or the original. |
| 51-100 | High risk | Major markers absent (no registration number / signatures / seal). Do not proceed without legal review. |
We want every buyer to understand this clearly so you don't rely on AI for things AI cannot do:
In a future release we plan to: (a) extract the document number + year as structured fields, (b) deep-link from the result screen to the IGRS / MeeBhoomi site with the number pre-filled so you can manually cross-check in one tap, (c) offer a paid Legal Validation pack where one of our partner lawyers does the registry check for you within 48 hours. Those flows do not exist yet — we'll announce them on this page when they ship.
Source: app/modules/doc_verification.py · app/integrations/ai_groq.py · DB/doc_verification_migration.sql
When a builder or seller signs up they upload identity + business documents to earn the green Verified badge. Same honest disclosure applies here as for buyer-side docs above: everything below is admin-reviewed manually. We do not query GST.gov.in, NSDL, the income-tax portal, or any state RERA portal automatically.
| Role | Document | What admin checks for |
|---|---|---|
| Builder (for Verified Builder ✓ badge) |
RERA registration certificate | Number readable · matches builder name · still in valid period |
| GST certificate | GSTIN readable · legal name matches builder name · address consistent | |
| PAN card (company / proprietor) | PAN format valid · holder name matches builder name | |
| Director Aadhaar (front page) | Name + DOB readable · masked digits visible · matches director-on-record | |
| Company website / LinkedIn (optional URL) | Live site · matches name & address claimed in form | |
| Individual seller (for Owner Verified ✓ pill) |
Aadhaar number + OTP (UIDAI) | OTP delivered to Aadhaar-linked phone is the only auto-check we do; everything else is manual |
| 15-second selfie video | Live face match against PAN/Aadhaar photo · single attempt only | |
| Property ownership proof (tax receipt OR sale deed OR EC) | Owner name on doc matches the seller's KYC name; survey number matches the listing's locality | |
| Kirana / Service partner (for Verified Partner badge) |
GST number (typed) + GST cert image | Stored as text · cert image admin-reviewed manually for legibility |
| FSSAI / Shops & Establishment licence | Visual check for licence number, address, validity |
builder_verification_requests (or property.owner_verification_video_url for sellers).verified_builders / users.kyc_verified_at / properties.owner_verified gets set → green badge appears.gst.gov.in's public search API to confirm the GSTIN is active. A revoked or fake GSTIN with a plausible-looking certificate image could pass.Live verification needs Aadhaar e-KYC (KUA licence + AUA), DigiLocker API integration, GST public-search endpoint, and the RERA scraper (currently CAPTCHA-blocked on Telangana). Those integrations are on our pre-production checklist and will roll out before we shift to LIVE payment mode. Until then the green Verified badge means human-eyeballed, not government-database-verified.
Source: app/modules/builder_verification.py · app/modules/verified_owner.py · app/modules/partners.py
Shows how fast a builder typically replies to buyer enquiries on BharatLocal and what fraction of enquiries they actually answer.
Only computed when the builder has received ≥ 5 inquiries in the last 30 days — otherwise the chip is hidden to avoid noisy stats from small samples.