What Is the eCPM & Fill Rate Calculator?
For ad publishers — whether you run a mobile app, a website, or a connected TV channel — three metrics define your monetization health: eCPM, fill rate, and rCPM. This calculator computes all three from your raw ad server numbers: revenue, ad requests, and impressions served.
eCPM (effective cost per mille) tells you how much revenue you are earning per thousand impressions actually delivered. It is the publisher's equivalent of a yield rate — higher is better, assuming fill holds up.
Fill rate tells you what percentage of your ad requests are being answered with an actual ad. A request that goes unfilled is a monetization opportunity lost to no-bid, blocked demand, or inventory configuration errors.
rCPM (request CPM, also called effective request RPM) is the metric that holds both together. It measures revenue per thousand requests — not per thousand impressions. rCPM punishes unfilled requests by folding them into the denominator, making it the single most honest signal of total monetization efficiency.
Publishers who optimize eCPM alone often chase premium rates at the cost of fill, ending up with a lower rCPM than a moderate-eCPM/high-fill competitor. This calculator makes that tradeoff visible.
For deeper background, see the guides on eCPM, fill rate, and RPM.
All three metrics derive from three inputs: Revenue, Ad Requests, and Impressions Served.
| Metric | Formula | What It Measures |
|---|
| eCPM | Revenue ÷ Impressions × 1,000 | Revenue per 1,000 ads delivered |
| Fill Rate | Impressions ÷ Requests × 100 | % of requests answered with an ad |
| rCPM | Revenue ÷ Requests × 1,000 | Revenue per 1,000 ad requests |
The relationship between the three is clean and important:
rCPM = eCPM × Fill Rate ÷ 100
This formula is the key insight. If your eCPM is $10 and your fill rate is 60%, your rCPM is only $6.00. A competitor with a $7 eCPM and 90% fill earns $6.30 rCPM — more total revenue per request despite a lower rate card.
Worked example: An app receives 1,000,000 ad requests in a day, serves 750,000 impressions, and earns $3,000 in revenue.
- eCPM = 3,000 / 750,000 × 1,000 = $4.00
- Fill Rate = 750,000 / 1,000,000 × 100 = 75.0%
- rCPM = 3,000 / 1,000,000 × 1,000 = $3.00
Verification: $4.00 × 75.0 / 100 = $3.00 ✓
Industry Benchmarks
Fill Rate
| Fill Rate | Assessment |
|---|
| 90%+ | Excellent — demand is strong and configuration is clean |
| 70–89% | Healthy — typical for well-optimized multi-network setups |
| 50–69% | Moderate — investigate floor prices, network coverage gaps, or timeout issues |
| Below 50% | Problematic — likely a configuration error, geo mismatch, or demand shortage |
A fill rate below 70% almost always indicates a solvable problem: overly aggressive price floors, networks not configured for key geographies, excessively short bid timeouts, or SDK adapter failures. Audit methodically before assuming low demand is the cause.
eCPM Benchmarks by Vertical (Global Average, 2025)
| Vertical | Rewarded Video | Interstitial | Banner |
|---|
| Mobile Games (Casual) | $8–$20 | $3–$8 | $0.30–$0.80 |
| Mobile Games (Midcore) | $15–$35 | $5–$12 | $0.50–$1.20 |
| Utility Apps | $4–$10 | $2–$5 | $0.20–$0.50 |
| News & Content | $3–$8 | $1.50–$4 | $0.30–$0.70 |
| Shopping / Retail Apps | $10–$25 | $4–$10 | $0.40–$1.00 |
| Finance Apps | $20–$60 | $8–$20 | $1.00–$3.00 |
Geography matters enormously. US/CA/AU/UK eCPMs run 3–8× higher than LATAM or Southeast Asia for the same format and vertical. Segment your reporting by tier-1 vs. tier-2 markets to avoid blended rates masking regional problems.
rCPM Healthy Ranges
- Casual games (global blended): $1.50–$6.00
- Midcore games (global blended): $4.00–$12.00
- Content apps: $1.00–$4.00
How to Use This Calculator
- Enter your total revenue for the measurement period (day, week, or month).
- Enter total ad requests — the number of times your app or site asked for an ad. This comes from your ad server or mediation platform's request count, not your analytics tool.
- Enter total impressions served — the number of ads actually delivered and counted. Some platforms call this "filled impressions" or "matched requests."
- Click Calculate — eCPM, fill rate, and rCPM appear instantly.
- Interpret the results: If rCPM is significantly below eCPM × expected fill, investigate fill rate first. If eCPM is below benchmark for your vertical and geo, review your demand waterfall and floor price settings.
For context on mediation setup that drives fill rate, see the eCPM fill rate calculator alongside your mediation dashboard.
FAQ
What is the difference between eCPM and CPM?
CPM is a price agreed between buyer and seller before delivery — what an advertiser agrees to pay per thousand impressions. eCPM is an effective rate calculated backward from actual revenue after delivery. A publisher running multiple demand sources at different rates will have an eCPM that reflects the blended outcome, not any single rate card.
Why is my fill rate low even though I have many ad networks connected?
Common causes: (1) Price floors set too high for certain geographies — networks will not bid below your floor, so requests go unfilled. (2) Bid timeout settings too short — demand sources need time to respond, and if you cut them off too early, fill suffers. (3) SDK adapter errors — a network whose adapter is silently failing returns no bids. (4) Geographic gaps — not all networks have strong demand in every country. Check each network's fill contribution individually in your mediation dashboard.
Should I chase the highest eCPM or the highest fill rate?
Chase rCPM. It is the only metric that accounts for both. Optimizing eCPM alone by raising floors often reduces fill disproportionately, and the rCPM math confirms whether the trade was worth it. The goal is to maximize revenue per request, not revenue per delivered impression.
How does rCPM relate to ARPDAU?
rCPM is a supply-side rate metric; ARPDAU is a user-level revenue metric. Both matter. rCPM tells you how efficiently you are monetizing your available inventory. ARPDAU tells you how much revenue each daily active user generates. A high rCPM combined with low ad session depth (few requests per user per session) still produces weak ARPDAU. Optimize both together.
What causes eCPM to drop suddenly?
Seasonal demand shifts (Q1 is the weakest quarter; Q4 is the strongest), network algorithm changes, SDK version updates with adapter bugs, geo-mix shifts in your user base, or format degradation (banner ads generally decline in eCPM over time as user blindness increases). Correlate eCPM drops with the date of any SDK release, network policy change, or significant user acquisition push into new markets.