Pau Analytics · Case Study · Property Rental Analytics

Which channel finds your tenant?

A rental agency was spending RM1,510 a month across five lead channels with no idea which ones produced tenants. We built a lead source intelligence system that tracked 1,140 enquiries to their outcomes, and the answer changed where every ringgit goes.

1,140enquiries tracked
5lead channels
10listings
7tenancies attributed
RM 0 – ∞cost per tenancy range
The problem

Five doors, no doorman

A Klang Valley agency managing 10 rental listings received enquiries through PropertyGuru chats, Mudah messages, Google and Meta ad leads, WhatsApp referrals, and phone calls. Each platform reported its own numbers. None of them could answer the only question that matters: which source produces signed tenancies, and at what cost?

The hidden costs were worse than the visible ones. Enquiries arriving after 8pm, when renters actually browse, were going unanswered three times more often than daytime ones. A premium listing was quietly going stale while its marketing budget kept running. And the channel generating the most enquiries had never produced a single tenant.

The headline result

Cost per tenancy, by source

Six months of data, every enquiry tagged with its source and followed to its outcome. Volume means nothing until it converts.

SourceEnquiriesQualified rateTenanciesCost per tenancyVerdict
WhatsApp referral10167%2RM 0Champion
PropertyGuru29341%2RM 1,350Workhorse
Google Ads11550%2RM 1,800Quality engine
Meta Ads17227%1RM 2,400Rooms only
Mudah.my45915%0UndefinedVolume trap
The cheapest enquiries produced zero tenants. The most expensive enquiries were the second-cheapest tenancies.
The findings

Eight things the data revealed

1

The Mudah inversion. 40% of all enquiry volume, a 15% qualified rate, and zero tenancies in six months. High volume disguised as performance.

2

Pay more, get tenants. Google Ads had the highest cost per enquiry at RM31, but half its leads were qualified and it signed two tenants at RM1,800 each.

3

The invisible champion. Referrals were 9% of volume, 67% qualified, and produced two tenancies at zero cost. Recommendation: a formal referral ask at every signing.

4

The stale listing. A RM3,400 unit's enquiry velocity collapsed 70% after week two while a comparable RM2,999 unit nearby kept moving and signed. The system's stale flag caught it; the recommendation was a price review, not more ad spend.

5

The after-hours leak. One in five enquiries arrived after 8pm or on weekends, and those went unanswered at 20% versus 7% in office hours, roughly RM700 of paid leads dropped.

6

Channel x segment. Meta Ads converted for budget rooms only; Google Ads converted for whole units and studios. Running every listing on every channel was burning both budgets.

7

The benchmark. The best-performing listing signed in 23 days via Google Ads, setting the healthy-velocity standard every other listing is measured against.

8

Success creates its own problem. Monthly volume fell from 299 to 64 as seven of ten listings signed. The insight layer flagged a restock warning before the agent felt the empty pipeline.

The system

One data model, two audiences

Internal dashboard · for the agent

  • Source comparison with cost per tenancy
  • Listing velocity and automatic stale flags
  • Lead quality and mismatch analysis
  • Response time and after-hours leak tracking
  • Monthly insight notes, AI-drafted, agent-edited

Owner report · for each landlord

  • One page, plain language, no jargon
  • Enquiries, serious prospects, viewings held
  • What we did for your property this month
  • One clear recommendation with reasoning
  • White-label: agency branding swaps via a single CSS block

Every enquiry carries two separate labels: its source (where the lead came from) and its contact method (how it arrived: portal chat, WhatsApp, phone call, lead form). That separation is what turns a pile of messages into attribution, including the phone calls that standard analytics never sees.

Cloneability

Built to be repeated

Add a listing: one new row in the listings table, and every dashboard page, KPI, and stale check absorbs it automatically.

Add an owner: the report template generates per listing; a new landlord gets their branded one-pager with no rebuild.

Add an agency: the entire white-label skin is one CSS variable block: brand color, accent, agency name. Swap it, and the same system serves a different firm.

Stack: Python data pipeline · Power BI internal dashboard · HTML white-label reports · threshold-driven insight engine with AI-drafted monthly notes. Demonstration data is synthetic and fully documented; the architecture is production-ready for live portal exports and WhatsApp Business data.

Explore the build

See it working

Every number on this page is computed from the same synthetic dataset of 1,140 enquiries. Open the live pieces below.