Home › Business & 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
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
page_views_per_day | number | yes | Average daily page views (or sessions / video views, as long as rpm uses the same unit). Range: ≥ 0, ≤ 1000000000000 | |
rpm | number | yes | Revenue 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_page | number | default 1 | Ad impressions served per page view. Range: ≥ 0, ≤ 50 | |
fill_rate_percent | number | % | default 100 | Share of ad requests that are filled with a paid ad. Range: ≥ 0, ≤ 100 |
target_monthly_revenue | number | no | Optional revenue goal per month; returns the page views needed at this RPM. Range: > 0, ≤ 1000000000000 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
ad_impressions_per_day | number | page_views_per_day × ads_per_page × fill_rate. | |
effective_page_rpm | number | Revenue per 1,000 page views = rpm × ads_per_page × fill_rate. | |
daily_revenue | number | ad_impressions_per_day × rpm / 1000. | |
monthly_revenue | number | daily_revenue × 365/12. | |
yearly_revenue | number | daily_revenue × 365. | |
required_page_views_per_day | number | Daily page views needed for target_monthly_revenue (only when given). | |
required_page_views_per_month | number | Monthly 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
- API:
GET https://tttkmbb.com/api/v1/calculate/ad-revenue(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/ad-revenue · Markdown: https://tttkmbb.com/business/ad-revenue.md · JSON definition: https://tttkmbb.com/business/ad-revenue.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="ad-revenue" - OpenAPI operationId:
estimate_ad_revenue - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- Google AdSense Help – Revenue per thousand impressions (RPM) (reference)
- Google AdSense Help – AdSense revenue share (reference)
- Wikipedia – Cost per mille (reference)
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
- Ad Metrics Calculator (CPM, CPC, CTR, CPA) — Advertiser-side CPM, CPC and CPA.
- Conversion Rate Calculator — Traffic needed for a target number of conversions instead of ad revenue.