Skip to content

SOV 7-Day Fixed Pricing Simulator

Date: 2026-05-14 Baseline: Trailing 12 months of chargeable SOV activity (sadb_sov_daily_biddings, status = 4, non_chargeable = false) Source: ClickHouse

This simulator estimates the platform-wide SOV revenue impact of replacing the current daily-bid system with a fixed 7-day package. Adjust the per-category base price, city multipliers, conversion mechanic, and adoption assumptions to explore scenarios live.

How the mechanics work

  • Ceil-blocks — Every existing campaign is re-priced as ceil(days / 7) 7-day blocks. Assumes 100% retention and that buyers willingly round up.
  • One 7-day buy per campaign — Each existing campaign becomes exactly one 7-day purchase. Models a simplification where users buy the package once per intent.
  • Adoption + uplift — Apply an adoption % (what fraction of current campaigns convert at all) and an optional new-buyer uplift % (extra buyers attracted by simpler pricing). Built on top of one of the two base mechanics above.

Loading simulator…

Assumptions & caveats

  • All amounts on this page are in SAR. ClickHouse stores budget in halalahs (1 SAR = 100 halalahs), so the embedded baseline divides by 100. User-entered category prices and city multipliers are interpreted as SAR.
  • Baseline counts only chargeable campaigns (status = 4, non_chargeable = false) — free/internal promotions are excluded.
  • Campaign duration is summed by sov_campaign_id across calendar days; gaps in a campaign are treated as paused days and not double-counted.
  • The ceil-blocks mechanic assumes a buyer who currently runs 8 days would buy two 7-day packages. In reality some will downsize to one. The adoption mechanic is the lever for that.
  • City multipliers apply to all categories uniformly. Realistic pricing would differentiate further (e.g. Riyadh apartments vs Riyadh land) — extend the model if that becomes important.
  • The simulation is a static re-pricing of the T12M campaign mix. It does not model second-order effects: bid competition disappearing, listings hiding behind cheaper SOV, or supply-side reaction.
  • “Other cities” rolls up ~90 long-tail cities holding ~5% of revenue.

Source query

WITH campaigns AS (
SELECT
sov_campaign_id,
any(listing_category) AS listing_category,
any(city_id) AS city_id,
count() AS days_active,
sum(budget) AS total_spend
FROM sadb_sov_daily_biddings FINAL
WHERE _peerdb_is_deleted = 0
AND status = 4
AND non_chargeable = false
AND toDate(start_datetime) >= today() - INTERVAL 365 DAY
GROUP BY sov_campaign_id
),
classified AS (
SELECT
listing_category,
multiIf(
city_id = 21, 'riyadh',
city_id = 66, 'jeddah',
city_id = 12, 'khobar',
city_id = 18, 'dammam',
city_id = 41, 'madinah',
city_id = 94, 'mecca',
'other'
) AS city_tier,
days_active,
total_spend
FROM campaigns
)
SELECT
listing_category,
city_tier,
count() AS campaigns,
sum(days_active) AS days,
round(sum(total_spend) / 100, 2) AS revenue_sar, -- halalahs → SAR
sum(ceil(days_active / 7)) AS blocks_7d
FROM classified
GROUP BY listing_category, city_tier
ORDER BY listing_category, city_tier;