Back to Guides

How We Calculate SaaS Revenue & Ad Spend

All data comes from public advertising transparency regulations. We aggregate public observations and apply models to support your research.

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 HourlyEstimation assumptions disclosed

Our Formulas

These simplified examples explain the model assumptions. Advertising observations are separate from inferred spend and revenue.

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?

The benchmark uses 1.5× as a modeling assumption, not an observed return for each company. Actual ROAS can vary substantially, and sustained advertising does not establish profitability.

3

Total Monthly Revenue Estimate

Estimating full monthly revenue

Est. Monthly Revenue = Paid Revenue × Channel Multiplier

Channel Multiplier: Organic, direct, and other channels are not measured by Meta advertising data. A multiplier such as 1.5× is an illustrative scenario, not a measured channel mix or a reliable total-revenue estimate.

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. Monthly Revenue (×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.

Important modeling assumptions

  • Reach is not impressions. CPM is priced per thousand impressions. Using reach as a proxy assumes a viewing frequency; summing ad-level reach can also count the same person more than once.
  • Geographic extrapolation. The niche and competitor tools scale estimated EU daily spend by 10 for a modeled global daily figure, then by 30 days for a monthly figure. Applying 1.5× ROAS produces a revenue scenario. Those multipliers are assumptions, not observed global spend or actual company revenue.
  • Benchmark scope. Overall benchmarks include non-SaaS advertisers. Use category-specific coverage and the subset with spend estimates when interpreting a SaaS comparison.
  • Monthly revenue and MRR differ. Revenue inferred from advertising does not show subscription renewals, churn, non-recurring sales, or gross margin.

Validation & Confidence

Treat model outputs as directional research signals. A numerical accuracy guarantee would require a published validation sample, matched reporting periods, and a defined error measure; none is provided here.

Modeled
Spend and revenue estimates
Variable
Accuracy depends on assumptions
14,500+
SaaS tracked
Hourly
Data refresh

How to Cross-Check an Estimate

  • ✓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. Our 1.5× assumption is not a measured return.

Interpretation: Actual revenue may be higher or lower than the estimate. Advertising data alone does not establish recurring revenue, profitability, or a minimum revenue floor.

See the data for 14,500+ SaaS

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