Skip to content

Daily Rentals Bookings Analysis

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

Data Model

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

Executive Summary

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

Key Metrics

MetricValue
Total Booking Attempts (2024+)35,068
Completed Bookings3,968 (11.3% conversion)
Total RevenueSAR 7.42M
Avg Booking ValueSAR 1,870

Top Insights

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%)

1. Booking Funnel

Attempt Status Distribution

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

2. Revenue & Growth

Monthly Performance

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

Annual Summary

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

3. IAM Verification Impact (Critical)

Conversion by Verification Status

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

4. Referral Program Performance

Referral vs Organic

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

5. Property Category Performance

Bookings by Category

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

6. Stay Duration Analysis

Completed Bookings by Stay Length

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

7. Booking Lead Time

Lead Time vs Conversion

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

8. User Behavior Analysis

First vs Repeat Attempts

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 Age at Attempt

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).


9. Customer Retention

Repeat Booking Behavior (Completed Only)

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

10. Top Hosts

Top 10 Hosts by Revenue

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).


Recommendations

High Priority

  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

Medium Priority

  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

To Investigate

  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?

11. Location Analysis

City Performance

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%)

Top Districts by Volume (Riyadh)

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)

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)

CityDistrictAttemptsCompletedConversion
الطائفالخالدية5700%
جدةالاجاويد6300%
الدمامضاحية الملك فهد5400%
الرياضالعريجاء الغربية9200%
الرياضالسلام7600%

Supply-Demand Imbalance

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

12. Pricing Analysis

Price Distribution

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 Performance

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.

Riyadh vs Other Cities by Price Tier

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).

City Pricing Comparison

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)

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

Updated Recommendations

Location-Based

  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

Pricing-Based

  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