Back to Guides

How We Calculate SaaS Revenue & Ad Spend

All data comes from public advertising transparency regulations. We aggregate, calculate, and validate—so you get accurate intelligence.

100% Public Data

Advertising transparency laws require platforms like Meta to publish data on active advertisements. This data—including reach, impressions, and creative content—is publicly accessible through official APIs. We collect, aggregate, and transform this raw data into actionable intelligence.

Meta Ad LibraryUpdated HourlyValidated Against 200+ Disclosures

Our Formulas

Every metric on Proven SaaS is calculated using these validated formulas.

1

Reach → Ad Spend

How we calculate weekly advertising spend

Ad Spend = (Total Reach ÷ 1,000) × CPM
Total Reach

Number of unique users who saw ads (from Meta Ad Library)

CPM

Cost per 1,000 impressions (varies by country)

Ad Spend

Estimated $ spent on advertising

CPM Benchmarks We Use

UK ~$10 · Germany ~$7-8 · France ~$6-7 · Netherlands ~$8 · Other EU ~$5-7

2

Ad Spend → Paid Revenue

Revenue generated from paid acquisition

Paid Revenue = Weekly Spend × 4 × 1.5 ROAS
Weekly Spend × 4

Monthly ad spend (4 weeks)

1.5× ROAS

Conservative return on ad spend

Paid Revenue

Monthly revenue from ads channel

Why 1.5× ROAS?

Sustainable SaaS ROAS ranges from 1.3× to 1.8×. We use 1.5× as a conservative middle estimate. Companies wouldn't sustain ad spend at loss (<1×), and 2×+ is rare at scale.

3

Total MRR Estimate

Estimating full monthly recurring revenue

Est. MRR = Paid Revenue × Channel Multiplier

Channel Multiplier: Most SaaS have organic, direct, and other acquisition channels. Paid ads typically represent 40-70% of total revenue. We apply a 1.5-2× multiplier to account for non-paid revenue.

Example: Company with 5M weekly reach
Weekly Reach5,000,000
÷ 1,000 × $8 CPM= $40,000/week
× 4 weeks × 1.5 ROAS= $240,000 paid rev
Est. Total MRR (×1.5)≈ $360,000

How We Aggregate Data

Raw advertising data becomes intelligence through careful aggregation.

Total Reach

We sum reach across all active and historical ads for a brand. Meta provides reach ranges (e.g., "10K-50K"); we use midpoint values and aggregate across all tracked ads.

Total Reach = Σ (ad_reach_midpoint) for all ads

Demographics (Age, Gender, Country)

Meta provides demographic breakdowns per ad. We aggregate these across all ads weighted by reach to show audience composition.

% Age 25-34 = Σ (reach_25_34) ÷ Total Reach × 100

Weekly Spend History

We track reach deltas week-over-week. New reach × CPM = that week's estimated spend. This creates spend trend charts.

Week N Spend = (Reach_WeekN - Reach_WeekN-1) ÷ 1000 × CPM

Ad Count Trends

We track total ads and active ads over time. Spikes indicate new campaign launches. Drops indicate paused or ended campaigns.

Validation & Confidence

We validate our formulas against real revenue disclosures from founders.

200+
Revenue disclosures checked
±15%
Typical accuracy range
14,500+
SaaS tracked
Hourly
Data refresh

How We Validate

  • Cross-reference with founder tweets, IndieHackers posts, podcast interviews
  • Compare against open startup dashboards (Buffer, Baremetrics, etc.)
  • Sanity check with employee counts and typical ARR/employee ratios
  • Track companies over time to validate growth trajectory estimates

What We Don't Capture

Organic Revenue

SEO, word-of-mouth, and direct traffic revenue isn't directly measurable from ad data.

Non-Meta Ads

Google Ads, LinkedIn, TikTok spend isn't included in Meta Ad Library data.

Enterprise Deals

Large B2B contracts typically don't come through paid social ads.

Exact ROAS

Actual ROAS varies by company. We use conservative estimates (1.5×).

Bottom line: Our estimates represent a floor for revenue from paid acquisition. Total company revenue is typically higher.

See the data for 14,500+ SaaS

Revenue estimates, ad intelligence, and competitive insights—all calculated using this methodology.