← All articles日本語で読む →

Ad revenue seasonality: what moves, when, and how not to panic

June 30, 2026 · 7 min read · Mediation One team

Ad revenue follows a seasonal rhythm — a Q4 peak, a January cliff, a Q1 trough. How to tell a seasonal move (broad, across breakdowns) from a real problem (concentrated in one slice), and why slashing floors in January leaks revenue all year.

Ad revenue has a strong seasonal rhythm, and not knowing it leads to two opposite errors: panicking over a drop that's just January, or congratulating yourself for a Q4 lift that was the calendar, not your work. Here is what actually moves, when, and how to tell seasonality apart from a real problem.

The pattern most apps see

It varies by geo and vertical

Seasonality isn't uniform. It follows where your advertisers' calendar sits, which tracks your users' geos. Western markets peak hard in December; other regions peak around their own shopping festivals and holidays. If your traffic is concentrated in one region, your seasonal curve is that region's, not a global average.

How to tell seasonality from a real problem

The key test: seasonality is broad; a real problem is narrow. A seasonal move shows up as eCPM shifting roughly together across most countries, units, and sources — because advertiser demand moved everywhere at once. A real problem (a dead source, a stale floor, a policy action, an app bug) concentrates in one slice. So when revenue moves, break it down: if the change is spread evenly across breakdowns and lines up with the calendar, it's probably seasonal — don't fight it. If it concentrates in one country, one unit, or one source, it's a problem to fix regardless of the season.

What to do about it

For genuine seasonality: don't over-react. Don't slash floors in January because eCPM fell — the market will recover, and floors cut in panic get forgotten and leak revenue all year. Instead, compare year-over-year (this January vs last January), not just month-over-month, so the seasonal baseline is built in. Plan UA and release timing around the Q4 peak if you can. And keep a record of your own seasonal curve so next January's dip is expected, not alarming.

Separating "the whole market moved" from "one of my segments broke" is exactly the breadth-vs-concentration check Mediation One runs for you: upload your CSV and it flags whether a change is broad (seasonal) or concentrated (a real, fixable cause). The free audit is one CSV upload — no SDK, no signup, nothing stored.

Try the free 60-second audit

Upload a 14-day AdMob, MAX or LevelPlay CSV and we'll email you the diagnosis. No SDK, no signup.

Run my free audit