Rent vs Booking Apartment User Overlap
Rent vs Booking Apartment User Overlap Analysis
Date: 2026-02-16
Analysis Period: Nov 17, 2025 – Feb 16, 2026 (limited by sadb_user_listing_event_logs retention)
Data Source: sadb_user_listing_event_logs (logged-in user views only)
Executive Summary
This analysis examines the overlap between logged-in users who view Apartments for Rent (category 1, monthly rental listings) and Apartments for Booking (category 101, short-term bookable units). The goal is to understand whether these are distinct audiences or the same users exploring both options.
Key Findings
| Metric | Value |
|---|---|
| Apartment for Rent viewers | 701,882 |
| Apartment for Booking viewers | 67,363 |
| Overlap (viewed both) | 53,316 |
| % of booking viewers who also view rent | 79.2% |
| % of rent viewers who also view bookings | 7.6% |
The booking audience is largely a subset of the rent audience. Nearly 4 in 5 users who browse bookable apartments also browse traditional rental listings, while booking is a niche interest for rent viewers.
User Segments
| Segment | Users | % of Total |
|---|---|---|
| Rent Only | 648,566 | 90.6% |
| Both (Overlap) | 53,316 | 7.4% |
| Booking Only | 14,047 | 2.0% |
Only ~14K users exclusively browse booking apartments without also looking at rental listings. The “booking-only” audience is very small.
Overlap by City
| City | Rent Users | Booking Users | Overlap | % Booking→Rent | % Rent→Booking |
|---|---|---|---|---|---|
| الرياض (Riyadh) | 410,981 | 37,100 | 27,509 | 74.1% | 6.7% |
| جدة (Jeddah) | 133,697 | 11,848 | 7,580 | 64.0% | 5.7% |
| الخبر (Khobar) | 68,277 | 5,892 | 3,041 | 51.6% | 4.5% |
| الدمام (Dammam) | 79,402 | 4,948 | 3,475 | 70.2% | 4.4% |
| المدينة المنورة (Madinah) | 31,578 | 3,378 | 1,767 | 52.3% | 5.6% |
| بريدة (Buraydah) | 16,259 | 2,538 | 1,051 | 41.4% | 6.5% |
| مكة المكرمة (Makkah) | 22,499 | 1,754 | 957 | 54.6% | 4.3% |
| الطائف (Taif) | 9,160 | 1,111 | 458 | 41.2% | 5.0% |
| ابها (Abha) | 11,844 | 904 | 497 | 55.0% | 4.2% |
| الهفوف (Hofuf) | 13,872 | 752 | 535 | 71.1% | 3.9% |
Notable patterns:
- Riyadh dominates booking demand with 55% of all booking viewers
- Al Jubail has the highest overlap rate at 75.1% — suggesting booking supply doesn’t meet demand there
- Buraydah and Taif have the lowest overlap (~41%) — indicating more distinct booking-focused audiences, likely driven by tourism/recreation
User Journey Direction
Among the 53,316 overlap users, which category did they explore first?
| Journey | Users | % |
|---|---|---|
| Rent first → then Booking | 27,440 | 51.5% |
| Same day | 16,480 | 30.9% |
| Booking first → then Rent | 9,396 | 17.6% |
Over half of overlap users start with rental browsing and later discover bookings. This suggests bookings are a secondary consideration for most users — they come to Aqar for rentals and then explore short-term options.
Engagement Depth by Segment
| Metric | Rent Only | Both | Booking Only |
|---|---|---|---|
| Users | 648,566 | 53,316 | 14,047 |
| Avg views | 81.3 | 170.1 | 32.7 |
| Avg phone actions | 2.04 | 4.00 | 0.57 |
| Avg WhatsApp actions | 3.35 | 6.29 | 0.72 |
| Avg 30s+ sessions | 21.27 | 42.63 | 8.80 |
| % making any contact | 37.9% | 51.5% | 57.1% |
Key observations:
- Overlap users are power users — 2x the views, 2x the contact actions, and 2x the session depth vs rent-only users
- Booking-only users have the highest contact rate (57.1%) but lowest absolute engagement — they tend to be purpose-driven with fewer but more targeted views
- Overlap users are the most valuable segment with both high volume and high conversion
Engagement Patterns Among Overlap Users
| Pattern | Users | % | Avg Rent Views | Avg Booking Views |
|---|---|---|---|---|
| Heavy Rent, Light Booking | 32,682 | 61.3% | 118.5 | 2.6 |
| Light Both | 13,995 | 26.2% | 4.2 | 2.4 |
| Heavy Both (10+ each) | 5,200 | 9.8% | 170.2 | 26.3 |
| Light Rent, Heavy Booking | 1,439 | 2.7% | 4.1 | 21.9 |
61% of overlap users are primarily rental browsers who casually explore bookings (averaging just 2.6 booking views). Only ~10% are deeply engaged with both categories.
Weekly Trends
| Week | Rent Viewers | Booking Viewers | Booking as % of Rent |
|---|---|---|---|
| Nov 16, 2025 | 117,284 | 9,601 | 8.2% |
| Nov 23 | 138,489 | 12,162 | 8.8% |
| Nov 30 | 144,133 | 11,281 | 7.8% |
| Dec 7 | 138,844 | 9,900 | 7.1% |
| Dec 14 | 139,538 | 5,987 | 4.3% |
| Dec 21 | 148,454 | 5,591 | 3.8% |
| Dec 28 | 144,660 | 4,993 | 3.5% |
| Jan 4, 2026 | 142,787 | 4,720 | 3.3% |
| Jan 11 | 145,447 | 4,207 | 2.9% |
| Jan 18 | 155,522 | 4,649 | 3.0% |
| Jan 25 | 150,487 | 4,515 | 3.0% |
| Feb 1 | 147,406 | 5,999 | 4.1% |
| Feb 8 | 143,402 | 4,953 | 3.5% |
Notable: Booking viewership peaked in late November 2025 and declined through January — this could be seasonal (post-holiday travel demand) or related to supply changes.
Booking Conversion Rates by Segment
Note on booking status classification:
CLOSED_NOT_PAIDrepresents a booking attempt where payment was never completed. These are counted as attempted bookings, not actual bookings. OnlyCONFIRMEDandCOMPLETEDare counted as actual bookings.
Full Funnel: View → Attempt → Booking
| Stage | Overlap | Booking Only |
|---|---|---|
| Booking listing viewers | 53,713 | 14,114 |
| Attempted booking (CLOSED_NOT_PAID) | 1,530 (2.85%) | 586 (4.15%) |
| Actual booking (CONFIRMED/COMPLETED) | 176 (0.33%) | 89 (0.63%) |
| Attempt → Booking conversion | 11.5% | 15.2% |
Booking-only users convert at ~2x the rate at every stage of the funnel. They are 1.5x more likely to attempt a booking (4.15% vs 2.85%), and among those who attempt, they are 1.3x more likely to successfully complete payment (15.2% vs 11.5%).
Booking Attempts vs Actual Bookings
The vast majority of booking interactions are attempted bookings that fail at payment:
| Metric | Total | Overlap | Booking Only | Other* |
|---|---|---|---|---|
| Attempted bookings (CLOSED_NOT_PAID) | 2,722 users | 1,530 (56%) | 586 (22%) | 606 (22%) |
| Actual bookings (CONFIRMED/COMPLETED) | 332 users | 176 (53%) | 89 (27%) | 67 (20%) |
*Other = users with rent-only views or no booking category views in event logs
For every user who successfully books, roughly 8 users attempt but fail at payment. This ratio is consistent across segments, making the payment funnel the single largest conversion bottleneck.
Conversion by City
| City | Segment | Viewers | Attempters | Bookers |
|---|---|---|---|---|
| الرياض (Riyadh) | Overlap | 27,646 | 865 (3.1%) | 127 (0.46%) |
| Booking Only | 9,651 | 321 (3.3%) | 60 (0.62%) | |
| جدة (Jeddah) | Overlap | 7,608 | 277 (3.6%) | 20 (0.26%) |
| Booking Only | 4,291 | 109 (2.5%) | 15 (0.35%) | |
| الدمام (Dammam) | Overlap | 3,491 | 89 (2.5%) | 2 (0.06%) |
| Booking Only | 1,475 | 16 (1.1%) | 3 (0.20%) | |
| المدينة المنورة (Madinah) | Overlap | 1,776 | 86 (4.8%) | 9 (0.51%) |
| Booking Only | 1,635 | 48 (2.9%) | 4 (0.24%) | |
| الخبر (Khobar) | Overlap | 3,054 | 84 (2.8%) | 8 (0.26%) |
| Booking Only | 2,872 | 27 (0.9%) | 3 (0.10%) |
Riyadh dominates with 70%+ of all booking attempts and completions. The booking-only advantage in actual booking rate is consistent in Riyadh (0.62% vs 0.46%) and Jeddah (0.35% vs 0.26%).
Implications
-
Cross-sell opportunity is real but asymmetric — 79% of booking users already browse rentals, but only 7.6% of rental users explore bookings. There’s a large untapped pool of rental browsers who could be surfaced booking options.
-
Overlap users are the most engaged and valuable — they view 2x more listings and make 2x more contacts. Identifying and nurturing this segment could drive significant engagement gains.
-
Most overlap is casual — 61% of overlap users are heavy rental browsers who glance at bookings (avg 2.6 views). Better booking discovery within the rental journey could convert these casual explorers.
-
Booking-only users are purpose-driven — small audience (14K) but highest contact rate (57.1%). These users know what they want and convert efficiently.
-
City-level variation matters — tourism/recreation cities (Buraydah, Taif) have more distinct booking audiences, while business cities (Riyadh, Dammam) show higher overlap, suggesting different use cases.
-
Booking-only users convert at 2x the rate — 0.63% vs 0.33% successful booking rate. They’re purpose-driven and more prepared to complete transactions.
-
Payment failure is the #1 conversion blocker — for every successful booking, ~8 users attempt but fail at payment (
CLOSED_NOT_PAID). Fixing the payment funnel would have a far greater impact on bookings than improving discovery or user targeting.
SQL Queries Used
User segment counts
SELECT CASE WHEN viewed_rent AND viewed_booking THEN 'Both' WHEN viewed_rent THEN 'Rent Only' ELSE 'Booking Only' END as segment, count() as usersFROM ( SELECT user_id, countIf(category = 1) > 0 as viewed_rent, countIf(category = 101) > 0 as viewed_booking FROM sadb_user_listing_event_logs WHERE type = 'view' AND category IN (1, 101) AND toDate(createdAt) >= '2024-01-01' AND user_id > 0 AND _peerdb_is_deleted = 0 GROUP BY user_id)GROUP BY segmentPer-city overlap
SELECT city_name, countIf(viewed_rent AND viewed_booking) as overlap_users, countIf(viewed_rent) as total_rent_users, countIf(viewed_booking) as total_booking_users, round(countIf(viewed_rent AND viewed_booking) / countIf(viewed_booking) * 100, 1) as pct_booking_also_rentFROM ( SELECT e.user_id, e.city_id, countIf(e.category = 1) > 0 as viewed_rent, countIf(e.category = 101) > 0 as viewed_booking FROM sadb_user_listing_event_logs e WHERE e.type = 'view' AND e.category IN (1, 101) AND toDate(e.createdAt) >= '2024-01-01' AND e.user_id > 0 AND e._peerdb_is_deleted = 0 GROUP BY e.user_id, e.city_id) subJOIN (SELECT DISTINCT city_id, city_name FROM sadb_districts FINAL WHERE _peerdb_is_deleted = 0) cities ON sub.city_id = cities.city_idGROUP BY city_nameHAVING total_booking_users > 100ORDER BY total_booking_users DESCBooking conversion by segment
-- Attempted bookings = CLOSED_NOT_PAID (payment never completed)-- Actual bookings = CONFIRMED or COMPLETED only-- Step 1: classify bookers/attempters by their viewer segmentSELECT CASE WHEN viewed_rent AND viewed_booking THEN 'Overlap' WHEN viewed_booking THEN 'Booking Only' WHEN viewed_rent THEN 'Rent Only' ELSE 'No booking category views' END as segment, count() as usersFROM ( SELECT b.user_id, countIf(e.category = 1 AND e.type = 'view') > 0 as viewed_rent, countIf(e.category = 101 AND e.type = 'view') > 0 as viewed_booking FROM ( SELECT DISTINCT user_id FROM sadb_daily_renting_listing_bookings WHERE _peerdb_is_deleted = 0 AND user_id > 0 AND status IN ('CONFIRMED', 'COMPLETED') -- or 'CLOSED_NOT_PAID' for attempts AND toDate(createdAt) >= '2025-11-17' ) b LEFT JOIN sadb_user_listing_event_logs e ON b.user_id = e.user_id AND e._peerdb_is_deleted = 0 GROUP BY b.user_id)GROUP BY segment
-- Step 2: compute rates using viewer segment counts as denominatorsJourney direction
SELECT CASE WHEN first_rent < first_booking THEN 'Rent first → Booking' WHEN first_booking < first_rent THEN 'Booking first → Rent' ELSE 'Same day' END as journey_direction, count() as usersFROM ( SELECT user_id, minIf(toDate(createdAt), category = 1) as first_rent, minIf(toDate(createdAt), category = 101) as first_booking FROM sadb_user_listing_event_logs WHERE type = 'view' AND category IN (1, 101) AND toDate(createdAt) >= '2024-01-01' AND user_id > 0 AND _peerdb_is_deleted = 0 GROUP BY user_id HAVING countIf(category = 1) > 0 AND countIf(category = 101) > 0)GROUP BY journey_direction