HomeBusiness & Marketing › Ad Revenue Calculator (RPM)

Ad Revenue Calculator (RPM)

Estimates publisher ad earnings per day, month (365/12 days) and year from page views and RPM (revenue per 1,000 impressions), optionally with several ad units per page and a fill rate, and solves for the page views needed to reach a target monthly revenue.

When to use

You run a website, app or video channel and want to project ad income from traffic and RPM, or find how much traffic a revenue goal requires.

Do not use when: You are the advertiser buying impressions (use ad-metrics for CPM/CPC/CPA) or need revenue from sales rather than ads (use conversion-rate or roas).

Formula

impressions = page_views_per_day × ads_per_page × fill_rate_percent/100; daily = impressions × rpm / 1000; monthly = daily × 365/12; yearly = daily × 365; required_page_views_per_day = target_monthly_revenue / (365/12) / effective_page_rpm × 1000

A month is taken as 365/12 = 30.42 days so that 12 months equal one year. RPM already includes the platform's revenue share (AdSense for content pays publishers 80 % of net revenue, about 68 % of what advertisers spend).

Inputs

ParameterTypeUnitRequiredDescription
page_views_per_daynumberyesAverage daily page views (or sessions / video views, as long as rpm uses the same unit). Range: ≥ 0, ≤ 1000000000000
rpmnumberyesRevenue per 1,000 impressions. With the defaults (1 ad per page, 100 % fill) this is page RPM; set ads_per_page and fill_rate_percent to treat it as ad RPM / eCPM per ad impression. Range: ≥ 0, ≤ 1000000
ads_per_pagenumberdefault 1Ad impressions served per page view. Range: ≥ 0, ≤ 50
fill_rate_percentnumber%default 100Share of ad requests that are filled with a paid ad. Range: ≥ 0, ≤ 100
target_monthly_revenuenumbernoOptional revenue goal per month; returns the page views needed at this RPM. Range: > 0, ≤ 1000000000000

Outputs

OutputTypeUnitDescription
ad_impressions_per_daynumberpage_views_per_day × ads_per_page × fill_rate.
effective_page_rpmnumberRevenue per 1,000 page views = rpm × ads_per_page × fill_rate.
daily_revenuenumberad_impressions_per_day × rpm / 1000.
monthly_revenuenumberdaily_revenue × 365/12.
yearly_revenuenumberdaily_revenue × 365.
required_page_views_per_daynumberDaily page views needed for target_monthly_revenue (only when given).
required_page_views_per_monthnumberMonthly page views needed for target_monthly_revenue (only when given).

Example

10,000 views/day, page RPM 5, target 3,000/month: {"page_views_per_day":10000,"rpm":5,"target_monthly_revenue":3000}{"ad_impressions_per_day":10000,"effective_page_rpm":5,"daily_revenue":50,"monthly_revenue":1520.83,"yearly_revenue":18250,"required_page_views_per_day":19726,"required_page_views_per_month":600000}

50,000 views/day, ad RPM 2.50, 3 ads/page, 80 % fill: {"page_views_per_day":50000,"rpm":2.5,"ads_per_page":3,"fill_rate_percent":80}{"ad_impressions_per_day":120000,"effective_page_rpm":6,"daily_revenue":300,"monthly_revenue":9125,"yearly_revenue":109500}

GET https://tttkmbb.com/api/v1/calculate/ad-revenue?page_views_per_day=10000&rpm=5&target_monthly_revenue=3000

Machine access

Sources

FAQ

Page RPM or ad RPM?

Page RPM is revenue per 1,000 page views; ad RPM (eCPM) is per 1,000 ad impressions. Enter page RPM with the default 1 ad per page, or ad RPM together with ads_per_page and fill_rate_percent.

Why does the monthly figure use 30.42 days?

365/12 keeps monthly × 12 = yearly. Multiply daily revenue by the actual number of days for a specific calendar month.

Related calculators