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.

MetricValue
Total Booking Attempts (2024+)35,068
Completed Bookings3,968 (11.3% conversion)
Total RevenueSAR 7.42M
Avg Booking ValueSAR 1,870
FindingImpact
IAM Verification10x higher conversion (20.8% vs 2.1%)
Referral Program4.7x higher conversion, 2x higher value
Long-stay Bookings14% of bookings = 52% of revenue
First Attempt ProblemOnly 6.5% convert on first attempt
Last-minute Bookings55% of attempts, highest conversion (14.6%)

StatusCount%Description
CLOSED_NOT_PAID29,31483.6%Abandoned attempts
COMPLETED3,96811.3%Successful bookings
CANCELED_BY_ADMIN1,7645.0%Platform cancellations
CANCELED_BY_HOST170.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

PeriodAttemptsCompletedConversionRevenue (SAR)Avg Value (SAR)
H1 20245,22557311.0%902K1,575
H2 20246,8761,00514.6%1.63M1,620
H1 20259,4781,14712.1%2.37M2,064
H2 202512,5741,1809.4%2.37M2,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
YearCompleted BookingsRevenue (SAR)Platform Revenue (SAR)Take Rate
20241,5782,531,264521,20420.6%
20252,3274,739,9211,195,77425.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 VerifiedAttemptsCompletedConversionAvg Value (SAR)Revenue (SAR)
Yes17,3103,59920.8%1,8196,546,508
No17,7583692.1%2,359870,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

SourceAttemptsCompletedConversionAvg Value (SAR)Revenue (SAR)
Organic33,9863,45510.2%1,6365,653,356
Referral1,08251347.4%3,4381,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

CategoryAttemptsCompletedConversionAvg Value (SAR)Revenue (SAR)
Apartment21,5772,41411.2%2,2995,549,088
Studio7,9541,16614.7%1,1361,325,083
Chalet4,7203266.9%1,084353,268
Villa528326.1%5,048161,551
Tent1811910.5%74214,095
Farm8789.2%1,60212,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

DurationBookings%Avg Value (SAR)Revenue (SAR)Revenue %
1 day1,96049%406795,32311%
2-3 days72818%921670,1499%
4-7 days42911%1,989853,31512%
8-14 days1955%3,512684,8489%
15-28 days1053%5,321558,6848%
29+ days55114%6,9963,854,67552%

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 TimeAttemptsCompletedConversionAvg Value (SAR)
0-1 days19,4432,83914.6%1,396
2-7 days8,7638219.4%2,618
8-14 days3,0151505.0%4,147
15-30 days2,4541225.0%4,149
30+ days1,387342.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 #AttemptsCompletedConversionAvg Value (SAR)
1st attempt21,1101,3786.5%1,701
2nd-3rd attempt8,7921,55717.7%1,976
4th-5th attempt2,32552422.5%2,066
6+ attempt2,84150917.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 AgeAttemptsCompletedConversionAvg Value (SAR)
Day 0 (new)3,48040511.6%1,865
1-7 days2,14726512.3%2,175
8-30 days1,57520713.1%2,236
1-3 months1,81525414.0%2,320
3-12 months3,71045412.2%1,816
12+ months22,3412,38310.7%1,766

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


BookingsUsers%Avg Lifetime Value (SAR)
12,35181%1,931
232711%4,213
31054%5,353
4381%9,336
5+652%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

RankHost IDBookingsRevenue (SAR)Avg Value (SAR)Listings
1321182349381,0267,7766
276053457161,2282,82913
3276801335152,2884,3516
41745334132,36233,0912
5141550691,90715,3183

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?

CityAttemptsCompletedConversionAvg Value (SAR)Revenue (SAR)
الرياض (Riyadh)21,9523,02313.77%1,9365,852,772
جدة (Jeddah)5,5334488.10%1,798805,426
الخبر (Khobar)1,193907.54%1,371123,425
الدمام (Dammam)1,085544.98%2,474133,584
المدينة المنورة (Madinah)1,085706.45%2,214154,962
الهفوف (Al Hofuf)2403916.25%39015,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%)
DistrictAttemptsCompletedConversionAvg Price/DayRevenue (SAR)
العقيق (Al-Aqiq)2,29748020.9%2511,116,245
الملقا (Al-Malqa)1,84731717.2%1,009761,283
النرجس (Al-Narjis)1,21020216.7%495364,243
اليرموك (Al-Yarmouk)97411812.1%32498,484
الرمال (Al-Ramal)9019010.0%457107,932

High-Conversion Districts (min 50 attempts)

Section titled “High-Conversion Districts (min 50 attempts)”
CityDistrictAttemptsCompletedConversionAvg Value (SAR)
الهفوفالعويمرية603151.67%192
الرياضالاندلس542037.04%1,631
الرياضالغدير1424430.99%933
الرياضجرير531630.19%1,013
الرياضالشهداء2215424.43%1,147
الرياضالضباط3167724.37%614

Low-Conversion Districts (min 50 attempts)

Section titled “Low-Conversion Districts (min 50 attempts)”
CityDistrictAttemptsCompletedConversion
الطائفالخالدية5700%
جدةالاجاويد6300%
الدمامضاحية الملك فهد5400%
الرياضالعريجاء الغربية9200%
الرياضالسلام7600%
CityDistrictActive ListingsAttemptsAttempts/ListingConversion
الرياضالضباط531663.224.37%
الرياضالنسيم الغربي318260.712.09%
الدمامالنزهة312642.00.79%
الرياضالفيحاء413333.39.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

MetricValue
Average daily priceSAR 1,446
Median daily priceSAR 360
Min priceSAR 0.92
Max priceSAR 1,099,999
Listings with pricing7,607
Price Tier (SAR/day)AttemptsCompletedConversionAvg Booking Value
Under 15011,4011,15410.12%1,748
150-2505,82480413.80%1,297
250-3506,00373812.29%1,658
350-5004,35853412.25%1,831
500-7503,10731310.07%2,428
750-10001,55916310.46%2,747
1000-15001,3601198.75%4,724
1500-2500728608.24%2,802
2500+7288311.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 GroupPrice TierAttemptsCompletedConversion
RiyadhBudget (<300)13,2611,84413.91%
RiyadhMid-range (300-600)5,32676114.29%
RiyadhPremium (700+)3,36541812.42%
Other CitiesBudget (<300)7,2735337.33%
Other CitiesMid-range (300-600)3,4172758.05%
Other CitiesPremium (700+)2,4261375.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).

CityAvg Daily PriceMedian PriceConversion
الدرعية (Diriyah)1,9601,67813.23%
الرياض (Riyadh)87224513.77%
الخبر (Khobar)7222327.54%
ابها (Abha)6313504.82%
الدمام (Dammam)6122564.98%
جدة (Jeddah)4472728.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)”
DistrictAvg PriceAttemptsCompletedConversionRevenue (SAR)
الملقا2,40268312117.72%500,368
الحمراء90621419.05%132,362
الياسمين8211352518.52%80,736
الازدهار96023417.39%68,020
حطين996881618.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