Skip to content

Inventory vs Views Correlation Analysis

Date: 2026-01-14 Data Period: 2024-2025 Analyst: Claude Code


This analysis examines the correlation between listing inventory and views across Aqar’s top 5 property categories, with district-level granularity. Key findings:

  1. Platform-wide correlation is weak (0.18) - adding more listings doesn’t proportionally increase views
  2. Optimal inventory range: 140K-160K active listings platform-wide for maximum views/listing
  3. Villa for Sale experiencing market-wide demand collapse (-30-40% YoY across all top districts)
  4. Rental categories showing growth - Apartment for Rent and Villa for Rent are expanding
  5. Geographic shift: Jeddah apartment sales growing while Riyadh declining

Part 1: Historical Correlation (2020-2025)

Section titled “Part 1: Historical Correlation (2020-2025)”
Year New Listings Total Views Avg Views/Listing Active Users
2020 808,832 672,973,495 678.89 N/A
2021 1,088,216 714,033,854 547.43 N/A
2022 1,178,584 622,827,389 445.38 1,406,625
2023 603,129 438,941,972 478.35 1,661,736
2024 392,380 437,583,087 868.29 1,875,887
2025 482,424 421,725,270 695.23 2,014,084
  1. Listings dropped 67% from 2022 peak (1.18M) to 2024 low (392K)
  2. Avg views/listing nearly doubled from 445 (2022) to 868 (2024)
  3. Active users grew 43% from 2022 to 2025 despite inventory decline
  4. 2023 regulatory changes caused the dramatic listing drop (REGA licensing enforcement)

Metric Value
Pearson Correlation (Listings ↔ Views) 0.178 (Weak)
Avg Monthly Listings 155,893
Avg Monthly Views 35.8M
Inventory Range Months Avg Views/Listing Engagement/Listing
< 140K 7 231 6.6
140K-160K 6 275 8.96
160K-180K 7 226 9.58
180K+ 4 181 8.81

Optimal Platform Inventory: 140,000 - 160,000 active listings

At 180K+ listings, views per listing drop by 34% compared to optimal range.


Category Districts Correlation Avg District Views Interpretation
Land for Sale 310 0.978 237K Linear scaling
Villa for Rent 89 0.960 266K Strong demand
Apartment for Rent 280 0.930 1.08M Growth headroom
Villa for Sale 217 0.915 677K Matched supply/demand
Apartment for Sale 173 0.661 405K Saturated segments
Category Peak Month Peak Views 2024→2025 Trend
Apartment for Rent Aug 2024 18.5M Growing (+21%)
Villa for Sale Aug 2024 9.5M Declining (-36%)
Land for Sale Aug 2024 5.3M Declining (-27%)
Apartment for Sale Aug 2024 4.4M Stable
Villa for Rent Aug 2024 1.7M Growing (+12%)

Apartment for Rent - Top Districts by Total Views

Section titled “Apartment for Rent - Top Districts by Total Views”
Rank City District Total Views YoY % Trend
1 الرياض النرجس 11.4M +9.7% Stable
2 الرياض الملقا 8.5M –7.7% Stable
3 الرياض العارض 8.3M –5.8% Stable
4 الرياض ظهرة لبن 8.2M +8.4% Stable
5 الرياض المونسية 7.7M +4.3% Stable

Fastest Growing (Apartment for Rent):

  • الرياض - السليمانية: +53.2% YoY
  • الخبر - الحمرا: +34.8% YoY
  • الدمام - الشعلة: +28.8% YoY

Villa for Sale - Top Districts (DECLINING)

Section titled “Villa for Sale - Top Districts (DECLINING)”
Rank City District Total Views YoY % Trend
1 الرياض النرجس 7.2M –29.9% Declining
2 الرياض العارض 5.6M –31.5% Declining
3 الرياض الرمال 5.6M –29.0% Declining
4 الرياض المهدية 5.2M –39.4% Declining
5 الرياض طويق 4.3M –38.7% Declining

Critical Finding: Every top Villa for Sale district shows 29-40% YoY decline.

Rank City District Total Views YoY % Trend
1 الرياض بنبان 4.0M –22.2% Declining
2 الرياض النرجس 3.2M –51.4% Declining
3 الرياض الشرق 2.9M –30.9% Declining
District Total Views YoY %
الرياض - الجنادرية 0.5M +100.6%
الرياض - مطار الملك خالد 0.7M +61.3%
الدمام - الشعلة 0.3M +52.0%

Marginal Views per Listing by Inventory Size

Section titled “Marginal Views per Listing by Inventory Size”
Category < 500 500-1K 1K-2K 2K-5K 5K+ Optimal
Apt for Rent 1,606 1,457 1,483 1,246 866 < 2K
Villa for Sale 1,382 1,188 850 1,018 705 < 1K
Villa for Rent 998 775 513 609 – < 500
Apt for Sale 871 504 499 425 171 < 500
Land for Sale 510 520 516 577 514 Any
Section titled “Recommended Optimal Inventory per District”
Category Optimal per District Rationale
Apartment for Rent 1,000-2,000 Diminishing returns above 2K
Villa for Sale 500-1,000 Sharp decline above 1K
Villa for Rent 200-500 Premium market, small inventory
Apartment for Sale 300-500 Saturated in many districts
Land for Sale Any Linear returns (distribute evenly)

Part 6: Oversupplied vs Undersupplied Districts

Section titled “Part 6: Oversupplied vs Undersupplied Districts”
Category City District Current Optimal Oversupply
Apt for Sale الرياض الجنادرية 209 12 +1,643%
Apt for Sale الدمام الشاطئ الغربي 132 10 +1,220%
Apt for Sale الرياض المهدية 794 75 +959%
Apt for Rent الدمام السيف 107 13 +720%
Category City District Current Optimal Gap
Apt for Rent ابها درة المنسك 38 73 –49%
Apt for Rent جدة الفروسية 37 55 –34%
Apt for Rent جدة الشاطئ 47 61 –23%
Apt for Rent الدمام طيبة 44 57 –23%

  1. Reduce Villa for Sale inventory in Riyadh by 20-30% - market-wide demand decline
  2. Expand Apartment for Rent in growing districts:
    • السليمانية (+53% growth)
    • الحمرا in Khobar (+35% growth)
    • الشعلة in Dammam (+29% growth)
  3. Redistribute Land for Sale from النرجس (-51%) to more stable areas
Category Strategy Target Inventory
Apartment for Rent Expand 25K → 30K
Villa for Sale Contract 28K → 20K
Land for Sale Redistribute Maintain 28K, shift geography
Apartment for Sale Shift to Jeddah Maintain 32K
Villa for Rent Focus premium Maintain 5K
  1. Views per listing threshold: Maintain above 500 platform-wide
  2. Listings per active user ratio: Target 0.20-0.22
  3. District saturation: Alert when oversupply exceeds 200%

WITH
monthly_data AS (
SELECT
toYear(toDate(day_time)) AS YEAR,
toMonth(toDate(day_time)) AS MONTH,
COUNT(DISTINCT id) AS listings,
SUM(views) AS views
FROM
sadb_stats_listings_stats FINAL
WHERE
day_time > 0
AND _peerdb_is_deleted = 0
AND toYear(toDate(day_time)) >= 2024
AND toYear(toDate(day_time)) <= 2025
GROUP BY
YEAR,
MONTH
)
SELECT
ROUND(corr(listings, views), 4) AS correlation_listings_views,
ROUND(avg(listings), 0) AS avg_monthly_listings,
ROUND(avg(views), 0) AS avg_monthly_views
FROM
monthly_data
SELECT
d.city_name,
d.district_name,
SUM(s.views) AS total_views_2024_2025,
SUM(
CASE
WHEN toYear(toDate(s.day_time)) = 2024 THEN s.views
ELSE 0
END
) AS views_2024,
SUM(
CASE
WHEN toYear(toDate(s.day_time)) = 2025 THEN s.views
ELSE 0
END
) AS views_2025,
ROUND(
(views_2025 - views_2024) / NULLIF(views_2024, 0) * 100,
1
) AS yoy_growth_pct
FROM
sadb_stats_listings_stats s FINAL
JOIN sadb_listings l FINAL ON s.id = l.id
JOIN sadb_districts d FINAL ON l.district_id = d.district_id
WHERE
s.day_time > 0
AND s._peerdb_is_deleted = 0
AND l._peerdb_is_deleted = 0
AND l.category = 1 -- Apartment for Rent
AND toYear(toDate(s.day_time)) >= 2024
GROUP BY
d.city_name,
d.district_name
ORDER BY
total_views_2024_2025 DESC
WITH
district_stats AS (
SELECT
l.category,
l.district_id,
SUM(s.views) AS total_views,
COUNT(DISTINCT s.id) AS total_listings
FROM
sadb_stats_listings_stats s FINAL
JOIN sadb_listings l FINAL ON s.id = l.id
WHERE
toYear(toDate(s.day_time)) >= 2024
GROUP BY
l.category,
l.district_id
HAVING
total_listings >= 50
)
SELECT
c.name_en AS category,
CASE
WHEN total_listings < 500 THEN '< 500'
WHEN total_listings < 1000 THEN '500-1K'
WHEN total_listings < 2000 THEN '1K-2K'
ELSE '2K+'
END AS inventory_bucket,
COUNT(*) AS districts,
ROUND(SUM(total_views) / SUM(total_listings), 0) AS marginal_views_per_listing
FROM
district_stats
JOIN sadb_categories c ON category = c.category_id
GROUP BY
c.name_en,
inventory_bucket

  • Data Period: 2024-01-01 to 2025-12-31
  • Filter Applied: _peerdb_is_deleted = 0 and FINAL modifier
  • Minimum Thresholds:
    • District analysis: ≥50 listings
    • Correlation analysis: ≥100 listings
  • Caveat: Pre-2024 data excluded due to regulatory changes affecting comparability