Skip to content

Daily Rentals Bookings Analysis

Date: 2026-01-20 Analysis Period: 2024-01-01 onwards Data Source: sadb_daily_renting_listing_bookings, sadb_users, sadb_listings

Important: Each record in sadb_daily_renting_listing_bookings represents a booking attempt, not a completed booking. The status field indicates the outcome:

  • COMPLETED = Successfully paid and completed booking
  • CLOSED_NOT_PAID = Booking attempt that was not converted (abandoned)
  • CANCELED_BY_ADMIN / CANCELED_BY_HOST = Cancelled bookings

This analysis examines the daily rentals marketplace performance, focusing on booking conversion, revenue drivers, and user behavior patterns.

Metric Value
Total Booking Attempts (2024+) 35,068
Completed Bookings 3,968 (11.3% conversion)
Total Revenue SAR 7.42M
Avg Booking Value SAR 1,870
Finding Impact
IAM Verification 10x higher conversion (20.8% vs 2.1%)
Referral Program 4.7x higher conversion, 2x higher value
Long-stay Bookings 14% of bookings = 52% of revenue
First Attempt Problem Only 6.5% convert on first attempt
Last-minute Bookings 55% of attempts, highest conversion (14.6%)

Status Count % Description
CLOSED_NOT_PAID 29,314 83.6% Abandoned attempts
COMPLETED 3,968 11.3% Successful bookings
CANCELED_BY_ADMIN 1,764 5.0% Platform cancellations
CANCELED_BY_HOST 17 0.05% Host cancellations

Insight: 83.6% of booking attempts are abandoned before payment completion. This represents the primary conversion opportunity.

SELECT
status,
count() AS attempts,
round(count() * 100.0 / sum(count()) OVER (), 2) AS percentage
FROM
sadb_daily_renting_listing_bookings FINAL
WHERE
_peerdb_is_deleted = 0
AND toDate(createdAt) >= '2024-01-01'
GROUP BY
status
ORDER BY
attempts DESC

Period Attempts Completed Conversion Revenue (SAR) Avg Value (SAR)
H1 2024 5,225 573 11.0% 902K 1,575
H2 2024 6,876 1,005 14.6% 1.63M 1,620
H1 2025 9,478 1,147 12.1% 2.37M 2,064
H2 2025 12,574 1,180 9.4% 2.37M 2,006

Trends:

  • Booking attempts grew 2.4x from H1 2024 to H2 2025
  • Revenue grew 2.6x over the same period
  • Average booking value increased from ~SAR 1,575 to ~SAR 2,000
  • Conversion rate peaked at 17.7% (Jan 2025) but has declined in recent months
Year Completed Bookings Revenue (SAR) Platform Revenue (SAR) Take Rate
2024 1,578 2,531,264 521,204 20.6%
2025 2,327 4,739,921 1,195,774 25.2%
SELECT
toYear(createdAt) AS YEAR,
count() AS completed_bookings,
round(sum(total_amount), 2) AS gross_booking_value,
round(sum(host_share), 2) AS host_earnings,
round(sum(total_amount) - sum(host_share), 2) AS platform_revenue,
round(
(sum(total_amount) - sum(host_share)) * 100.0 / nullIf(sum(total_amount), 0),
2
) AS platform_take_rate
FROM
sadb_daily_renting_listing_bookings FINAL
WHERE
_peerdb_is_deleted = 0
AND toDate(createdAt) >= '2024-01-01'
AND status = 'COMPLETED'
GROUP BY
YEAR

IAM Verified Attempts Completed Conversion Avg Value (SAR) Revenue (SAR)
Yes 17,310 3,599 20.8% 1,819 6,546,508
No 17,758 369 2.1% 2,359 870,486

Key Findings:

  • IAM-verified users convert at 10x the rate of non-verified users
  • Verified users generate 88% of total revenue
  • Non-verified users have higher avg value when they do complete (possibly corporate/high-value users who bypass verification?)
SELECT
u.iam_verified,
count() AS attempts,
countIf (b.status = 'COMPLETED') AS completed,
round(
countIf (b.status = 'COMPLETED') * 100.0 / count(),
2
) AS conversion_rate,
round(avgIf (b.total_amount, b.status = 'COMPLETED'), 2) AS avg_booking_value,
round(sumIf (b.total_amount, b.status = 'COMPLETED'), 2) AS total_revenue
FROM
sadb_daily_renting_listing_bookings b FINAL
JOIN sadb_users u FINAL ON b.user_id = u.user_id
WHERE
b._peerdb_is_deleted = 0
AND u._peerdb_is_deleted = 0
AND toDate(b.createdAt) >= '2024-01-01'
AND b.user_id > 0
GROUP BY
u.iam_verified

Source Attempts Completed Conversion Avg Value (SAR) Revenue (SAR)
Organic 33,986 3,455 10.2% 1,636 5,653,356
Referral 1,082 513 47.4% 3,438 1,763,637

Key Findings:

  • Referral conversion is 4.7x higher than organic
  • Referral booking value is 2.1x higher (SAR 3,438 vs SAR 1,636)
  • Referrals = 3% of attempts but 24% of revenue
SELECT
is_referral,
count() AS attempts,
countIf (status = 'COMPLETED') AS completed,
round(
countIf (status = 'COMPLETED') * 100.0 / count(),
2
) AS conversion_rate,
round(avgIf (total_amount, status = 'COMPLETED'), 2) AS avg_booking_value,
round(sumIf (total_amount, status = 'COMPLETED'), 2) AS total_revenue
FROM
sadb_daily_renting_listing_bookings FINAL
WHERE
_peerdb_is_deleted = 0
AND toDate(createdAt) >= '2024-01-01'
GROUP BY
is_referral

Category Attempts Completed Conversion Avg Value (SAR) Revenue (SAR)
Apartment 21,577 2,414 11.2% 2,299 5,549,088
Studio 7,954 1,166 14.7% 1,136 1,325,083
Chalet 4,720 326 6.9% 1,084 353,268
Villa 528 32 6.1% 5,048 161,551
Tent 181 19 10.5% 742 14,095
Farm 87 8 9.2% 1,602 12,816

Key Findings:

  • Apartments dominate (61% of attempts, 75% of revenue)
  • Studios have highest conversion (14.7%)
  • Villas have highest value (SAR 5,048 avg) but lowest conversion (6.1%)
  • Chalets underperform on conversion (6.9%) despite volume
SELECT
c.name_en AS category_name,
count() AS attempts,
countIf (b.status = 'COMPLETED') AS completed,
round(
countIf (b.status = 'COMPLETED') * 100.0 / count(),
2
) AS conversion_rate,
round(avgIf (b.total_amount, b.status = 'COMPLETED'), 2) AS avg_booking_value,
round(sumIf (b.total_amount, b.status = 'COMPLETED'), 2) AS total_revenue
FROM
sadb_daily_renting_listing_bookings b FINAL
LEFT JOIN sadb_listings l FINAL ON b.listing_id = l.id
LEFT JOIN sadb_categories c FINAL ON l.category = c.category_id
WHERE
b._peerdb_is_deleted = 0
AND toDate(b.createdAt) >= '2024-01-01'
GROUP BY
c.name_en
ORDER BY
completed DESC

Duration Bookings % Avg Value (SAR) Revenue (SAR) Revenue %
1 day 1,960 49% 406 795,323 11%
2-3 days 728 18% 921 670,149 9%
4-7 days 429 11% 1,989 853,315 12%
8-14 days 195 5% 3,512 684,848 9%
15-28 days 105 3% 5,321 558,684 8%
29+ days 551 14% 6,996 3,854,675 52%

Key Finding: Long-stay bookings (29+ days) represent only 14% of booking volume but generate 52% of revenue.

SELECT
CASE
WHEN dateDiff('day', start_date, end_date) <= 1 THEN '1 day'
WHEN dateDiff('day', start_date, end_date) <= 3 THEN '2-3 days'
WHEN dateDiff('day', start_date, end_date) <= 7 THEN '4-7 days'
WHEN dateDiff('day', start_date, end_date) <= 14 THEN '8-14 days'
WHEN dateDiff('day', start_date, end_date) <= 28 THEN '15-28 days'
ELSE '29+ days'
END AS stay_duration,
count() AS bookings,
round(avg(total_amount), 2) AS avg_value,
round(sum(total_amount), 2) AS total_revenue
FROM
sadb_daily_renting_listing_bookings FINAL
WHERE
_peerdb_is_deleted = 0
AND toDate(createdAt) >= '2024-01-01'
AND status = 'COMPLETED'
GROUP BY
stay_duration
ORDER BY
bookings DESC

Lead Time Attempts Completed Conversion Avg Value (SAR)
0-1 days 19,443 2,839 14.6% 1,396
2-7 days 8,763 821 9.4% 2,618
8-14 days 3,015 150 5.0% 4,147
15-30 days 2,454 122 5.0% 4,149
30+ days 1,387 34 2.5% 5,181

Key Findings:

  • 55% of attempts are last-minute (0-1 day lead time)
  • Last-minute converts best (14.6%) but has lowest value
  • Longer lead time = higher value but lower conversion
  • Users booking 30+ days ahead pay 3.7x more but convert at 6x lower rate
SELECT
CASE
WHEN dateDiff('day', createdAt, start_date) <= 1 THEN '0-1 days ahead'
WHEN dateDiff('day', createdAt, start_date) <= 7 THEN '2-7 days ahead'
WHEN dateDiff('day', createdAt, start_date) <= 14 THEN '8-14 days ahead'
WHEN dateDiff('day', createdAt, start_date) <= 30 THEN '15-30 days ahead'
ELSE '30+ days ahead'
END AS lead_time,
count() AS attempts,
countIf (status = 'COMPLETED') AS completed,
round(
countIf (status = 'COMPLETED') * 100.0 / count(),
2
) AS conversion_rate,
round(avgIf (total_amount, status = 'COMPLETED'), 2) AS avg_booking_value
FROM
sadb_daily_renting_listing_bookings FINAL
WHERE
_peerdb_is_deleted = 0
AND toDate(createdAt) >= '2024-01-01'
GROUP BY
lead_time
ORDER BY
attempts DESC

Attempt # Attempts Completed Conversion Avg Value (SAR)
1st attempt 21,110 1,378 6.5% 1,701
2nd-3rd attempt 8,792 1,557 17.7% 1,976
4th-5th attempt 2,325 524 22.5% 2,066
6+ attempt 2,841 509 17.9% 1,794

Key Finding: First-time bookers convert at only 6.5%. Users who return for 4th-5th attempt convert at 22.5% - a 3.5x improvement.

Account Age Attempts Completed Conversion Avg Value (SAR)
Day 0 (new) 3,480 405 11.6% 1,865
1-7 days 2,147 265 12.3% 2,175
8-30 days 1,575 207 13.1% 2,236
1-3 months 1,815 254 14.0% 2,320
3-12 months 3,710 454 12.2% 1,816
12+ months 22,341 2,383 10.7% 1,766

Key Finding: Accounts 1-3 months old have the best conversion (14.0%) and highest average value (SAR 2,320).


Bookings Users % Avg Lifetime Value (SAR)
1 2,351 81% 1,931
2 327 11% 4,213
3 105 4% 5,353
4 38 1% 9,336
5+ 65 2% 8,500+

Key Findings:

  • 81% of customers book only once
  • Users who book twice have 2.2x higher lifetime value
  • Power users (5+ bookings) have 4.4x higher lifetime value

Rank Host ID Bookings Revenue (SAR) Avg Value (SAR) Listings
1 3211823 49 381,026 7,776 6
2 760534 57 161,228 2,829 13
3 2768013 35 152,288 4,351 6
4 174533 4 132,362 33,091 2
5 141550 6 91,907 15,318 3

The top 10 hosts generate SAR 1.32M (18% of total revenue).


  1. Require IAM verification for booking

    • Verified users convert 10x better
    • Non-verified attempts have 98% abandonment rate
    • Gate booking at IAM step, not payment
  2. Fix first-attempt conversion

    • 6.5% conversion for first attempts is the biggest funnel leak
    • Add onboarding, trust signals, first-booking incentives
    • Consider “guaranteed” bookings for first-timers
  3. Scale referral program

    • 4.7x better conversion, 2.1x higher value
    • Currently only 3% of attempts
    • Invest in referral incentives and marketing
  1. Target long-stay guests

    • 14% of bookings = 52% of revenue
    • Create dedicated long-stay marketing
    • Offer monthly rates and discounts
  2. Improve Studio conversion further

    • Already highest conversion (14.7%)
    • Lower value (SAR 1,136) - room to increase
    • Optimize supply in this category
  3. Address Chalet underperformance

    • High volume (4,720 attempts) but only 6.9% conversion
    • Investigate pricing, photos, descriptions
    • May have expectation mismatch
  1. Why do later lead-time bookings have lower conversion?

    • Are these “browsers” vs committed bookers?
    • Can we identify and nurture them differently?
  2. Why do accounts 12+ months old have lower conversion?

    • Are these dormant accounts?
    • Do they need re-engagement before booking?

City Attempts Completed Conversion Avg Value (SAR) Revenue (SAR)
الرياض (Riyadh) 21,952 3,023 13.77% 1,936 5,852,772
جدة (Jeddah) 5,533 448 8.10% 1,798 805,426
الخبر (Khobar) 1,193 90 7.54% 1,371 123,425
الدمام (Dammam) 1,085 54 4.98% 2,474 133,584
المدينة المنورة (Madinah) 1,085 70 6.45% 2,214 154,962
الهفوف (Al Hofuf) 240 39 16.25% 390 15,210

Key Findings:

  • Riyadh dominates with 63% of all booking attempts and 79% of total revenue
  • Riyadh conversion (13.77%) is 1.7x the national average outside Riyadh
  • Al Hofuf has exceptional conversion (16.25%) despite low volume - potential underserved market
  • Dammam has highest avg value (SAR 2,474) but lowest conversion (4.98%)
District Attempts Completed Conversion Avg Price/Day Revenue (SAR)
العقيق (Al-Aqiq) 2,297 480 20.9% 251 1,116,245
الملقا (Al-Malqa) 1,847 317 17.2% 1,009 761,283
النرجس (Al-Narjis) 1,210 202 16.7% 495 364,243
اليرموك (Al-Yarmouk) 974 118 12.1% 324 98,484
الرمال (Al-Ramal) 901 90 10.0% 457 107,932

High-Conversion Districts (min 50 attempts)

Section titled “High-Conversion Districts (min 50 attempts)”
City District Attempts Completed Conversion Avg Value (SAR)
الهفوف العويمرية 60 31 51.67% 192
الرياض الاندلس 54 20 37.04% 1,631
الرياض الغدير 142 44 30.99% 933
الرياض جرير 53 16 30.19% 1,013
الرياض الشهداء 221 54 24.43% 1,147
الرياض الضباط 316 77 24.37% 614

Low-Conversion Districts (min 50 attempts)

Section titled “Low-Conversion Districts (min 50 attempts)”
City District Attempts Completed Conversion
الطائف الخالدية 57 0 0%
جدة الاجاويد 63 0 0%
الدمام ضاحية الملك فهد 54 0 0%
الرياض العريجاء الغربية 92 0 0%
الرياض السلام 76 0 0%
City District Active Listings Attempts Attempts/Listing Conversion
الرياض الضباط 5 316 63.2 24.37%
الرياض النسيم الغربي 3 182 60.7 12.09%
الدمام النزهة 3 126 42.0 0.79%
الرياض الفيحاء 4 133 33.3 9.02%

Key Finding: Some districts have extreme supply-demand imbalance. الضباط (Al-Dhubat) has 63 booking attempts per listing - significant unmet demand.

-- District performance query
WITH
district_listings AS (
SELECT
district_id,
count() AS total_listings
FROM
sadb_listings FINAL
WHERE
_peerdb_is_deleted = 0
AND daily_rentable = 1
AND status IN (0, 4)
AND published = 1
AND hidden = 0
GROUP BY
district_id
)
SELECT
d.city_name,
d.district_name,
dl.total_listings AS active_listings,
count() AS booking_attempts,
countIf (b.status = 'COMPLETED') AS completed,
round(
countIf (b.status = 'COMPLETED') * 100.0 / count(),
2
) AS conversion_rate,
round(count() * 1.0 / dl.total_listings, 2) AS attempts_per_listing
FROM
sadb_daily_renting_listing_bookings b FINAL
LEFT JOIN sadb_listings l FINAL ON b.listing_id = l.id
LEFT JOIN sadb_districts d FINAL ON l.district_id = d.district_id
LEFT JOIN district_listings dl ON l.district_id = dl.district_id
WHERE
b._peerdb_is_deleted = 0
AND toDate(b.createdAt) >= '2024-01-01'
GROUP BY
d.city_name,
d.district_name,
dl.total_listings
HAVING
booking_attempts >= 100
AND active_listings > 0
ORDER BY
attempts_per_listing DESC

Metric Value
Average daily price SAR 1,446
Median daily price SAR 360
Min price SAR 0.92
Max price SAR 1,099,999
Listings with pricing 7,607
Price Tier (SAR/day) Attempts Completed Conversion Avg Booking Value
Under 150 11,401 1,154 10.12% 1,748
150-250 5,824 804 13.80% 1,297
250-350 6,003 738 12.29% 1,658
350-500 4,358 534 12.25% 1,831
500-750 3,107 313 10.07% 2,428
750-1000 1,559 163 10.46% 2,747
1000-1500 1,360 119 8.75% 4,724
1500-2500 728 60 8.24% 2,802
2500+ 728 83 11.40% 2,630

Key Finding: The SAR 150-250/day price point has the highest conversion rate (13.8%). Conversion drops for both budget (<150) and premium (>1000) listings.

City Group Price Tier Attempts Completed Conversion
Riyadh Budget (<300) 13,261 1,844 13.91%
Riyadh Mid-range (300-600) 5,326 761 14.29%
Riyadh Premium (700+) 3,365 418 12.42%
Other Cities Budget (<300) 7,273 533 7.33%
Other Cities Mid-range (300-600) 3,417 275 8.05%
Other Cities Premium (700+) 2,426 137 5.65%

Key Finding: Riyadh has ~2x higher conversion than other cities at every price tier. Premium listings (700+ SAR) struggle outside Riyadh (5.65% conversion).

City Avg Daily Price Median Price Conversion
الدرعية (Diriyah) 1,960 1,678 13.23%
الرياض (Riyadh) 872 245 13.77%
الخبر (Khobar) 722 232 7.54%
ابها (Abha) 631 350 4.82%
الدمام (Dammam) 612 256 4.98%
جدة (Jeddah) 447 272 8.10%

Key Finding: Diriyah has the highest average price (SAR 1,960/day) while maintaining 13.23% conversion - indicating premium market positioning is viable in select areas.

Premium Districts in Riyadh (700+ SAR/day)

Section titled “Premium Districts in Riyadh (700+ SAR/day)”
District Avg Price Attempts Completed Conversion Revenue (SAR)
الملقا 2,402 683 121 17.72% 500,368
الحمراء 906 21 4 19.05% 132,362
الياسمين 821 135 25 18.52% 80,736
الازدهار 960 23 4 17.39% 68,020
حطين 996 88 16 18.18% 54,925

Key Finding: Premium districts maintain high conversion (17-19%) despite high prices, suggesting price-insensitive demand in upscale areas.

-- Price tier analysis
WITH
listing_prices AS (
SELECT
listing_id,
round(avg(price), 2) AS avg_daily_price
FROM
sadb_daily_renting_listing_register FINAL
WHERE
_peerdb_is_deleted = 0
AND price > 0
AND toDate(day_date) >= '2024-01-01'
GROUP BY
listing_id
)
SELECT
CASE
WHEN lp.avg_daily_price < 150 THEN '01. <150'
WHEN lp.avg_daily_price < 250 THEN '02. 150-250'
WHEN lp.avg_daily_price < 350 THEN '03. 250-350'
-- ... additional tiers
ELSE '09. 2500+'
END AS price_range,
count() AS attempts,
countIf (b.status = 'COMPLETED') AS completed,
round(
countIf (b.status = 'COMPLETED') * 100.0 / count(),
2
) AS conversion_rate
FROM
sadb_daily_renting_listing_bookings b FINAL
LEFT JOIN listing_prices lp ON b.listing_id = lp.listing_id
WHERE
b._peerdb_is_deleted = 0
AND toDate(b.createdAt) >= '2024-01-01'
GROUP BY
price_range
ORDER BY
price_range

  1. Prioritize supply acquisition in high-demand districts

    • الضباط (Al-Dhubat): 63 attempts per listing
    • النسيم الغربي: 61 attempts per listing
    • Focus on Riyadh districts with supply-demand imbalance
  2. Investigate zero-conversion districts

    • 5 districts with 50+ attempts have 0% conversion
    • May indicate pricing, quality, or trust issues specific to these areas
  3. Expand outside Riyadh strategically

    • Focus on cities with proven conversion: Al Hofuf (16.25%)
    • Jeddah underperforms relative to volume - investigate why
  1. Optimize pricing around the SAR 150-250/day sweet spot

    • Highest conversion (13.8%)
    • Consider promotional pricing to this tier
  2. Premium pricing works in Riyadh only

    • 12.42% conversion for 700+ SAR in Riyadh
    • Only 5.65% outside Riyadh
    • Adjust pricing recommendations by city
  3. Support premium district positioning

    • Districts like Al-Malqa maintain 17.72% conversion at SAR 2,400/day
    • Don’t push price reductions in proven premium markets