In this historical sample, December earned more per pageview than January even though its traffic index was lower. Separating the rate from the traffic helps you plan without assuming a strong revenue month means a larger audience.

The two curves move in opposite directions

Each business is scored against its own normal month, so 1.00 is that site's usual level and 1.142 is 14.2% above it:

MonthEarned per pageviewPageviews
January0.8551.041
February0.9810.980
March1.0031.019
April0.9650.993
May0.9711.012
June1.0091.000
July0.9581.040
August0.9961.000
September1.0540.988
October1.0100.992
November1.1370.973
December1.1420.990

December has the lower traffic index in this sample. The ratio of the displayed month indices is about 0.95 for pageviews and 1.34 for revenue per pageview. This does not describe every publisher or establish that December demand is weak for your subject.

The observed per-pageview revenue indices differ; this dataset does not directly observe the bids that caused them. The audience is quietly walking the other way — which means the revenue jump you feel is smaller than the price jump actually is.

What that changes

A seasonal rate scenario is not a publishing schedule. Work that reaches interested readers before a relevant season may be useful, but these records do not measure the effect of publishing in September rather than December. They cannot tell you when a new page will rank or attract an audience.

Prepare for January using your own costs and audience. Its rate index is the lowest in this historical table, while its traffic index is the highest. The December-to-January rate comparison implies about a quarter less per pageview in the reverse direction. That is a sample association, not a guaranteed drop for your site.

The comparison group, which limits the claim

Businesses that earn through Amazon, worked out the same way over 744 listings, show a December-to-January ratio of 1.303 for what each pageview earned — against display's 1.336. Nearly identical.

So "display advertising is unusually seasonal" is not supportable, and we are not claiming it. The similar observed ratios suggest that the historical rate pattern was not unique to the selected display businesses. Two selected groups do not establish a universal pattern for all online selling.

What IS specific to display is the shape. Amazon businesses get about the same December traffic as January (0.996), while display sites fall to 0.951. The Amazon traffic ratio is close to one, while display traffic is lower in December. These are group summaries. Neither traffic nor earnings rates are fully under a publisher's control.

Revenue has two main inputs: Traffic volume; Rate per traffic unit; Resulting revenue.
Revenue has two main inputs. Traffic volume → Rate per traffic unit → Resulting revenue.

Why flattening the trend matters

A listing can cover a business that grows during its reporting window. Take a plain calendar-month average without accounting for that trend, and higher values can land in whichever months appear toward the end. The comparison may then mix growth with calendar effects.

Publish that and you have reported a seasonal effect that is really an effect of who ends up in your sample. So each business is flattened against its own twelve months first, and what is reported is what is left over after the chosen smooth trend has been removed. Abrupt business changes can still affect the residuals.

What would weaken this

Pageviews come only from listings that had analytics connected. So this is the checkable part of the market, not all display sites. Revenue is what the seller reported and the broker vetted, not an export from the ad network. The flattening assumes steady growth, so a business that jumped once mid-window leaks a little of that jump into the monthly figures. And each business contributes one twelve-month window, so some calendar years are represented more than others.

Grade this B: the method is sound, it can be re-run, and the comparison group is real — but this is 99 businesses, and the inputs are the seller's own accounts rather than platform data.

Earlier publication note, 19 October 2026: the original page published seven historical per-pageview rate indices, with traffic held constant in the tool. Five monthly indices were omitted at that time. The complete historical series was rechecked and published on 23 October, as explained below; it still does not establish auction causes or forecast an individual site’s earnings.

Publication update, 23 October 2026: we reran the original calculation against the existing cached source records and confirmed 99 businesses with twelve consecutive comparable months. All seven previously published indices match. The five previously omitted monthly indices are now published in the table and tool, with a downloadable twelve-month CSV. The earlier seven-value publication did not establish that the other months had no underlying observations. This is a completed publication of the historical study, not a new sample or a current earnings forecast.

What the indices mean in an ordinary budget

An index compares a month with the same business's modeled normal level. It is not a dollar RPM. A December value of 1.142 does not mean the business earned $1.142 per thousand pageviews, and it is not a 14.2% return on investment.

For one explicitly chosen scenario, take a normal page RPM of $10 and hold monthly traffic at 100,000 pageviews. Applying the displayed January rate index gives an $8.55 page RPM and $855 revenue. Applying December's rate index gives $11.42 and $1,142. The difference is $287 under fixed traffic.

These inputs illustrate the index; they are not another measured business. If instead you change traffic too, state the additional assumption. With a normal level of 100,000 pageviews, the displayed January traffic index would give 104,100 pageviews and December would give 99,000. Multiplying the illustrative rate and traffic values gives about $890.06 for January and $1,130.58 for December.

That second scenario is roughly a 27% revenue difference, rather than a 34% difference, because the traffic assumptions offset some of the rate change. It shows the identity that total revenue depends on both rate and volume.

There is an important statistical limit: the rate and traffic columns are separately aggregated medians of detrended values. Their product is not automatically the median revenue index across businesses. Nor is the ratio of month medians automatically the median of business-level month ratios. The scenario is valid as an explicitly constructed calculation, not as a newly observed group revenue statistic.

Why per-page revenue is not an auction price

Google defines RPM from earnings and the relevant count. A page RPM can change with what each ad impression earns, how many impressions a page produces and which visits are monetized. It can also reflect different audiences and consent conditions.

Our historical listing records have monthly revenue and pageviews. They do not include a complete auction log, matched requests, viewable impressions, bids, consent states or individual user sessions. We therefore cannot attribute the observed seasonal rate pattern entirely to advertiser bids.

Mediavine's January and July guidance discusses advertiser budgets and the number of impressions served as possible contributors to seasonal revenue patterns. SHE Media's January explanation also describes seasonal demand and campaign timing. Those are providers' explanations of their markets, not independent validation of the cause in our records.

The sources support investigating seasonal advertising demand. They do not license a claim that every publisher will experience the same percentage change. Your country mix, subject, advertiser demand and ad implementation can differ from both the providers' examples and our selected sample.

Compare your own months before using this pattern

Start with complete monthly pageviews and ad revenue using the same site scope and dates. Keep session-based rates separate. A change in the analytics setup can move a traffic count without representing a change in actual reading.

Calculate your page RPM for each period and inspect total earnings beside it. Compare the same months across years where records exist, while noting changes in the site, network, consent setup and content mix. Year-over-year comparisons help with recurring calendar patterns but do not remove all other differences.

If you launched ads in November, your first January is not a clean before-and-after network test. Launch effects, different days in the month, traffic mix and seasonality all overlap. If you changed networks between December and January, the comparison has the same difficulty. A lower rate afterward does not by itself identify the cause.

Keep a dated note of major releases. If a large drop begins immediately after an ad-code change, investigate the implementation rather than dismiss it as ordinary seasonality. If the decline is concentrated in a country or device group, examine that segment. A historical pattern should guide questions, not silence evidence of a current fault.

Separate cash planning from a seasonal revenue curve

A strong earned-revenue month is not necessarily the month the cash reaches your account. Payment schedules, thresholds and adjustments can shift receipts. Keep the dates of earnings and expected payments separate when preparing a cash budget.

List committed costs next to conservative revenue scenarios. Hosting, essential software, contractor commitments and owner drawings may not fall when page RPM does. A fixed expense can therefore consume a larger share of a lower-revenue month.

Do not multiply a holiday peak by twelve to describe annual income. Build a plan from complete periods and distinguish observed history from assumptions about next year. If you have little history, show more than one scenario rather than present this sample as a personalized seasonal forecast.

A traffic-loss stress test can be useful alongside the rate curve, but it answers another conditional question. Holding the rate constant while reducing traffic describes one scenario. Changing both is possible, provided you label both assumptions. It does not establish the probability of either event.

Missing months remain unknown: Measured observation; Unobserved month; No automatic interpolation.
Missing months remain unknown. Measured observation → Unobserved month → No automatic interpolation.

What would improve this research

A stronger seasonal study would include more years per business, a wider source frame, current network reports and information about the audiences and ad setups behind each month. Multiple years would help distinguish a recurring calendar pattern from a one-off business event.

Alternative trend models would test the sensitivity of the result. The current log-trend removal assumes a smooth underlying path within each business's window. A sudden migration, ranking loss or traffic spike can leave residual patterns that resemble seasonality. Removing a trend is an assumption-based adjustment, not a guarantee that all growth bias disappeared.

We would also want uncertainty estimates and cohort comparisons that preserve the paired structure of each business's data. More rows from the same selected source can improve precision for that source while leaving selection bias unresolved. A bigger file is not automatically a more representative view of publishers.

For now, use the published twelve-month table and seasonality tool as historical context. Keep the original measurement date and sample limits beside any scenario you share. Your next operational step should come from your own matched reports, not from treating this curve as a promise about the coming quarter.

A practical seasonal review worksheet

Use one row per complete month. Record the pageview count, earned ad revenue, calculated page RPM, the data source and the date the export was taken. Add a short note for known measurement or business changes. Keep estimated and finalized earnings in separate columns if both are available rather than overwrite one without a record.

Next, choose a comparison you can defend. A December-to-January check asks about two adjacent months. A January-to-January check asks about the same calendar month in different years. A comparison of complete daily averages reduces the effect of different day counts, but still does not equalize weekdays, audiences or reporting behavior.

For each comparison, write three observations: the traffic change, the rate change and the revenue change. Check that they reconcile arithmetically. If traffic rises ten percent and the rate falls twenty percent, revenue is multiplied by 1.10 × 0.80, or 0.88. It falls twelve percent, not ten percent. This is an identity under matched definitions, not a causal explanation.

Then list plausible explanations and the evidence that would distinguish them. A country-mix change calls for country reporting. A missing ad placement calls for implementation inspection. A broad demand explanation calls for more than a single page or a single day's result. Leave explanations unresolved when the evidence cannot separate them.

Finish with a small action and a review date. You might repair a broken placement immediately, ask the network about an unexplained reporting gap or postpone a large recurring expense until the cash outlook is clearer. The historical study cannot choose that action for you, but it can stop you from treating a revenue curve as a pure traffic curve.

Questions that this table cannot answer

It cannot tell you whether to change networks this week. It cannot estimate how many extra articles will bring new readers before a holiday. It cannot say that a future January will repeat this historical rate, or that a business with a different language, audience and geography shares the same pattern.

It also cannot establish a trading or investment forecast. A listing's seasonal earnings need to be reviewed with actual costs, longer history and the terms of the transaction. A median index does not turn incomplete marketplace information into a verified valuation.

Those boundaries keep the finding useful. The measured result is a difference between historical rate and traffic indices in a stated sample. The practical lesson is to examine both in your own records before deciding what changed and what to do next.