The Reach Bureau

SEO Revenue Forecast: Building One You Can Defend

Building an SEO revenue forecast you can defend

Most SEO forecasts are a single number arrived at by working backwards from what someone wanted to hear. They are defensible for exactly as long as nobody asks how the number was produced.

A forecast you can defend has three properties: every input is either measured or an explicitly stated assumption, the output is a range rather than a point, and it names the conditions under which it becomes wrong. That is harder to produce and much harder to argue with.

The inputs, and where each comes from

A forecast is a chain. Each link needs a source, and the source matters more than the arithmetic.

Search volume — from a keyword tool, not a model. This is the input most often invented, and an invented volume propagates through everything downstream.

Current position — from Search Console, averaged over a sensible window, per page rather than per site.

Expected position — the assumption doing most of the work. Justify it from what actually ranks now: your authority relative to the current top five, the page type Google is rewarding for that query, and whether you have ever ranked in that band before.

Click-through rate at that position — use your own Search Console CTR by position for that page type. Public curves are averages across the whole web and are wrong for ecommerce category pages specifically.

Conversion rate — your own, for that landing-page type, segmented by device. Not site-wide.

Average order value — your own, for the products those pages sell.

Seasonality — your own history, applied monthly.

Time to effect — from the speed class of the change: days for repairs, weeks for on-page, months for new pages ranking.

The pattern: almost every input should come from your own data. Only volume comes from outside, and it is the one people most often guess.

The forecast chain, where each input comes from, and which one people invent

Why ranges, not numbers

Multiply five uncertain inputs and the uncertainty compounds. If each is roughly ±20%, the output can be off by a factor of two in either direction — and a single number hides that entirely.

Build three cases from the same chain:

  • Conservative — position gains at the low end, current conversion rate, no seasonality help.
  • Expected — the position gain you actually believe, current conversion, normal seasonality.
  • Optimistic — the gain if everything lands, with a modest conversion improvement.

Present the range. If someone insists on one number, give the conservative case, because that is the one you will be held to.

What makes a forecast dishonest

Not malice, usually. These are the specific moves that make a forecast unfalsifiable.

  • Assuming position one. For anything competitive this is the assumption that inflates everything.
  • Using a public CTR curve instead of your own by position and page type.
  • Site-wide conversion rate applied to a category page that converts at a third of it.
  • Summing volume across a keyword set as if one page captures all of it.
  • Ignoring cannibalisation — forecasting a new page's traffic while an existing page loses the same queries.
  • No time dimension. "This is worth £400k" without saying over what period, starting when.
  • Model-supplied volume. A confident number that was never retrieved from anywhere.
  • No stated failure conditions. A forecast that cannot be wrong cannot be evaluated.

Building it, step by step

1. Pick the pages, not the keywords. Forecast per page, because a page ranks for a set of queries and captures a share of the set. 2. For each page, list its query set and total realistic volume — the queries that page could plausibly serve, not everything topically related. 3. Record current average position from Search Console. 4. Set a target band and justify it in one sentence you would be comfortable reading aloud. 5. Apply your own CTR for that band and page type. 6. Apply that page type's conversion rate and AOV. 7. Spread over the timeline by speed class, not evenly. 8. Subtract cannibalisation where a new page takes queries from an existing one. 9. Produce three cases. 10. Write the assumptions down in the same document as the number. This is the step that makes it defensible six months later.

When not to forecast

Sometimes the honest answer is that a forecast would be theatre.

  • New domain, no history. No CTR data, no conversion data, no position baseline. Forecast the leading indicators instead.
  • Post-penalty or post-update recovery. Timing depends on Google, and no input you hold predicts it.
  • A replatform. The realistic goal is not losing ground; a growth forecast during migration is fiction.
  • Brand-new category with no volume data. Say so, and propose a test instead.
  • When the request is really about justifying a decision already made. Give a range and the conditions, and be explicit that a point estimate would be invented.

Saying "I can forecast the first two quarters and not the third" is more credible than producing four quarters of numbers, and it survives contact with reality.

Three cases from one chain — and the assumptions that decide which one happens

Checking the forecast afterwards

A forecast nobody reviews teaches nothing.

  • Compare at the stated horizon, not monthly. Monthly comparison produces noise-driven panic.
  • Check which input was wrong, not just whether the total missed. Usually it is the position assumption.
  • Record it. Over a year you learn your own bias, which is the single biggest improvement available to your next forecast.
  • Re-baseline when measurement changes. Consent changes and tracking fixes move the denominator.

The checklist

  • Forecast built per page, not per keyword
  • Volume from a keyword tool, never from a model
  • Current position from Search Console per page
  • Target position band justified in one written sentence
  • Own CTR by position and page type, not a public curve
  • Own conversion rate for that page type and device
  • Own AOV for the relevant products
  • Seasonality from your own history
  • Timeline spread by speed class, not evenly
  • Cannibalisation subtracted explicitly
  • Three cases presented, conservative case quoted if pressed
  • Assumptions written in the same document as the number
  • Failure conditions stated
  • Review scheduled at the stated horizon
  • Which input was wrong recorded after review

Sources

Frequently Asked Questions

Per page, not per keyword: take the page’s realistic query set and volume, its current position from Search Console, a justified target band, your own CTR for that band and page type, and your own conversion rate and AOV. Spread it over time by speed class and subtract cannibalisation.
Because five uncertain inputs compound. If each is roughly ±20%, the output can be wrong by a factor of two either way, and a single number conceals that. Present conservative, expected and optimistic cases from the same chain.
The position assumption — usually assuming position one for a competitive term. It is the input with the largest effect on the total and the one least often justified from what actually ranks now.
Public curves are averages across the whole web and are wrong for ecommerce category pages in particular. Your own Search Console CTR by position and page type is available and much closer to reality.
On a new domain with no history, during recovery from a penalty or update, through a replatform, or in a brand-new category with no volume data. Forecast leading indicators or propose a test instead — “I can forecast two quarters, not four” is more credible than inventing the rest.
Compare at the stated horizon rather than monthly, identify which specific input was wrong rather than only whether the total missed, and record it. Over a year that reveals your own bias, which is the biggest available improvement to the next forecast.

Want this run against your store? Book a call with The Reach Bureau.

Share with AI

One-minute takeaway Summarize Explain like I'm a kid

Share this article

LinkedIn X Facebook Pinterest Email

Related articles

View all articles

Ready to scale your e-commerce?

Let's discuss your project and how we can help you achieve your growth goals.

Book a discovery call
Book a call with me, here is my schedule →