---
title: "Build SEO forecasts that hold up when executives question them"
description: "Discount SEO forecasts for competition, search result features, and execution risk, then present ranges and explain variance before the budget is cut."
canonical: "https://scalewithsearch.com/articles/seo-forecasting-executive-scrutiny"
date: "2026-03-20"
modified: "2026-09-25"
---
## Site navigation

- [Scale With Search](https://scalewithsearch.com/)
- Real estate
  - Real estate
    - [Real estate](https://scalewithsearch.com/for/real-estate)
- Work
  - Start here
    - [Send your brief](https://scalewithsearch.com/work#send-your-brief)
    - [Prepare your six-question brief](https://scalewithsearch.com/work#prepare-your-six-question-brief)
  - Build
    - [Site build, content library with SEO, signal desk](https://scalewithsearch.com/work)
- For your business
  - Trades and home services
    - [Auto body and collision shops](https://scalewithsearch.com/for/auto-body-and-collision-shops)
    - [Foundation and home repair contractors](https://scalewithsearch.com/for/foundation-and-home-repair)
    - [Garage door and fencing contractors](https://scalewithsearch.com/for/garage-door-and-fencing-contractors)
    - [HVAC contractors](https://scalewithsearch.com/for/hvac-contractors)
    - [Janitorial and commercial cleaning companies](https://scalewithsearch.com/for/janitorial-and-commercial-cleaning)
    - [Locksmiths](https://scalewithsearch.com/for/locksmiths)
    - [Moving companies](https://scalewithsearch.com/for/moving-companies)
    - [Pest control companies](https://scalewithsearch.com/for/pest-control-companies)
    - [Plumbing and electrical contractors](https://scalewithsearch.com/for/plumbing-and-electrical-contractors)
    - [Restoration and water or fire damage companies](https://scalewithsearch.com/for/restoration-and-water-fire-damage)
    - [Roofing companies](https://scalewithsearch.com/for/roofing-companies)
    - [Towing companies](https://scalewithsearch.com/for/towing-companies)
    - [Tree services and landscaping companies](https://scalewithsearch.com/for/tree-services-and-landscaping)
    - [Solar installers](https://scalewithsearch.com/for/solar-installation)
    - [General contractors](https://scalewithsearch.com/for/general-contractors-and-construction)
    - [Paving, concrete, and flooring contractors](https://scalewithsearch.com/for/paving)
  - Practices and professional services
    - [Bookkeeping and tax practices](https://scalewithsearch.com/for/bookkeeping-and-tax-practices)
    - [Dental practices](https://scalewithsearch.com/for/dental-practices)
    - [Family and criminal defense law firms](https://scalewithsearch.com/for/family-and-criminal-defense-law-firms)
    - [Med spas and aesthetics practices](https://scalewithsearch.com/for/med-spas-and-aesthetics)
    - [Personal injury law firms](https://scalewithsearch.com/for/personal-injury-law-firms)
    - [Veterinary clinics](https://scalewithsearch.com/for/veterinary-clinics)
    - [Gyms and fitness studios](https://scalewithsearch.com/for/fitness)
    - [Therapy and outpatient health practices](https://scalewithsearch.com/for/therapy-and-outpatient-health)
    - [Medical billing companies](https://scalewithsearch.com/for/medical-billing)
    - [Insurance agencies](https://scalewithsearch.com/for/insurance-agencies)
    - [Financial advisors](https://scalewithsearch.com/for/financial-advisors)
    - [Property management companies](https://scalewithsearch.com/for/property-management)
    - [Recruiting and staffing agencies](https://scalewithsearch.com/for/recruiting-and-staffing)
    - [Architects and interior designers](https://scalewithsearch.com/for/architects-and-interior-designers)
    - [Logistics and supply chain companies](https://scalewithsearch.com/for/logistics-and-supply-chain)
  - Agencies, MSPs, and manufacturing
    - [IT and managed service providers](https://scalewithsearch.com/for/it-and-managed-service-providers)
    - [Machine shops and precision manufacturers](https://scalewithsearch.com/for/machine-shops-and-precision-manufacturing)
    - [Marketing agencies and freelancers](https://scalewithsearch.com/for/marketing-agencies-and-freelancers)
    - [SEO agencies and consultants](https://scalewithsearch.com/for/seo-agencies-and-consultants)
    - [Small manufacturers and fabricators](https://scalewithsearch.com/for/small-manufacturers-and-fabricators)
  - Restaurants, shops, studios, and nonprofits
    - [Restaurants and hospitality businesses](https://scalewithsearch.com/for/restaurants-and-hospitality)
    - [Retail stores and ecommerce sellers](https://scalewithsearch.com/for/retail-and-ecommerce)
    - [Photographers, event planners, and travel agents](https://scalewithsearch.com/for/photographers)
    - [Churches and nonprofits](https://scalewithsearch.com/for/churches-and-nonprofits)
  - [All industries](https://scalewithsearch.com/for/)
- Learn
  - For your office
    - [Office job guides](https://scalewithsearch.com/guides/)
    - [Browser calculators](https://scalewithsearch.com/tools/)
  - Start here
    - [How it works](https://scalewithsearch.com/how-it-works)
    - [Free Starter Kit](https://scalewithsearch.com/kit/business-memory-starter-kit.zip)
    - [Synthetic specimen](https://scalewithsearch.com/specimen/working-session-specimen.zip)
  - Guides
    - [The Complete Guide to Business Memory for AI Agents](https://scalewithsearch.com/articles/business-memory-for-ai-agents-guide)
    - [The Complete Small-Business Guide to AI Agent Governance](https://scalewithsearch.com/articles/ai-agent-governance-guide-small-business)
    - [The Complete Guide to Leaving Vendor AI Memory](https://scalewithsearch.com/articles/leaving-vendor-ai-memory-guide)
  - Articles by cluster
    - [Business memory](https://scalewithsearch.com/articles/business-memory-for-ai-agents-guide)
    - [Agent governance](https://scalewithsearch.com/articles/ai-agent-governance-guide-small-business)
    - [Migration and ownership](https://scalewithsearch.com/articles/leaving-vendor-ai-memory-guide)
  - For machines
    - [llms.txt](https://scalewithsearch.com/llms.txt)
    - [llms-full.txt](https://scalewithsearch.com/llms-full.txt)
    - [Machine view](https://scalewithsearch.com/?view=machine)
- Company
  - Evidence
    - [Proof](https://scalewithsearch.com/proof)
  - Company
    - [About](https://scalewithsearch.com/about)

# Build SEO forecasts that hold up when executives question them.

The forecast said organic traffic would double in 6 months. It did not. Now you must explain why the projection was wrong, and why leadership should not cut the budget.

Many SEO forecasts are built to win approval, not to inform a decision. They survive the first meeting and fail the second. A forecast that survives board review states its uncertainty openly. This page shows you how to build that forecast, present it, and correct it when the numbers drift.

## Find out why most SEO forecasts fail

Most failed forecasts share three errors. Check your own model for each one before anyone else does.

### Ranking predictions ignore competition

Search rankings are zero-sum. Page one holds a limited number of organic positions. When your page moves up, another page moves down. The owner of that page does not stay still. Competitors publish, build links, and fix their technical problems while you work on yours.

A forecast that says "we will reach position 3 for 40 keywords" assumes that nobody else acts. It must instead assume that some competitors defend their positions. The stronger the competitors, the larger that effect.

### CTR models assume the search results page does not change

Many forecasts multiply search volume by an industry click-through rate (CTR) curve. Those curves are averages across millions of queries. Your keywords do not match the average.

Search result features change the click share at every position. An AI Overview, a featured snippet, or a shopping, local, or video block can push the first organic result far down the page. A position 1 ranking under an AI Overview can earn a fraction of the clicks that the same position earns on a plain results page.

### Traffic forecasts ignore execution risk

A forecast usually assumes that every planned page ships, every technical fix deploys, and every link campaign runs on schedule. That rarely happens. Engineering priorities change. Writers leave. Legal review delays a page by a quarter.

If 30% of the planned work does not ship, 30% of the projected gain cannot occur. The forecast must discount for the chance that the work ships.

## Build a conservative projection

Replace industry averages with your own data, and add explicit discounts for each risk.

### Start from your own ranking velocity

Export 12 months of Google Search Console data. For the pages you worked on in that period, measure how fast they moved:

- The average number of positions gained per month after the work shipped.
- The share of target keywords that moved from page 2 to page 1 within 6 months.
- The median time from publication to the first page 1 ranking.

This is your historical ranking velocity. Use it as the baseline for new work. It already includes your site's authority, your content quality, and your competitors' responses. A forecast that projects faster movement than your history needs a written reason.

### Model CTR by position and search result feature

Build the CTR curve from your own Search Console data, not from a generic benchmark. Then split it by search result feature. Use a rank tracker that records which features appear for each keyword.

Group your queries into segments, such as:

- Plain results with no major feature.
- Results with an AI Overview.
- Results with a featured snippet that you do not hold.
- Results with a shopping, local, or video block.

Calculate CTR by position inside each segment. When you forecast a keyword, use the curve for the features that keyword's results page shows today.

### Apply discount factors for competition

Use keyword difficulty scores to set a competitive discount between 0% and 70%. Start with example bands such as these, and then calibrate them against your own history:

| Keyword difficulty | Competitive discount |
|---|---|
| 0 to 20 | 0 to 10% |
| 21 to 40 | 20% |
| 41 to 60 | 40% |
| 61 and above | 60 to 70% |

To calibrate, compare past forecasts with actual results in each band. If your forecasts for difficulty 41 to 60 keywords reached half of the projected traffic, the discount for that band is 50%.

### Apply an execution discount

Give each planned item a probability of shipping on time:

- Work your team fully controls, such as content you write and publish: high probability.
- Work that needs another team, such as template changes that need engineering time: medium probability.
- Work that depends on approvals outside marketing, such as legal review or a site migration: low probability.

Multiply each item's projected traffic by its probability. Use your delivery record from past quarters to set the values.

### Worked example

This example uses hypothetical numbers to show the method.

A team plans a content cluster of 40 keywords. The unadjusted forecast, from search volume and a generic CTR curve, is 10,000 visits each month after 6 months.

1. Replace the generic CTR with the team's own curves. Half of the keywords show an AI Overview, where the team's CTR at the target positions is about half of the plain-results CTR. The forecast falls to 7,500.
2. Apply the competitive discount. Most keywords fall in the 41 to 60 band, with a 40% discount. The forecast falls to 4,500.
3. Apply the execution discount. Content ships with high probability, but the cluster's hub page needs a template change from engineering. The team rates the combined chance at 0.8. The forecast falls to 3,600.

The conservative forecast is 3,600 visits each month, not 10,000. The team presents 3,600 as the planning baseline. It shows 10,000 as the result if every assumption breaks in its favor. The team does not present 10,000 as the target.

## Present the forecast to leadership

### Give three scenarios

Present a range, not a point estimate. Give leadership a best case, a likely case, and a worst case, and let them choose the planning basis.

- Worst case: full competitive and execution discounts, plus one negative algorithm update.
- Likely case: the conservative projection from the method above.
- Best case: lighter discounts, all work ships, and no negative update.

Leadership teams often budget against the likely or worst case and treat the best case as a stretch goal. That choice belongs to them. Your job is to make each case explicit. For the statistical models behind the range, read [SEO traffic forecasting models](/articles/seo-forecasting-models).

### Show the assumptions

Put the assumptions on the slide, not in an appendix. Write down four types:

| Assumption type | Example entry |
|---|---|
| Ranking | Pages gain positions at the trailing 12-month rate |
| CTR | Keywords with an AI Overview earn half the plain-results CTR |
| Execution | The hub template ships by the end of month 2 |
| Competitive | The two main competitors keep their current publishing rate |

A visible assumption can be tested and discussed. A hidden assumption becomes a surprise later. When a result misses, this table tells everyone which assumption failed.

### Connect traffic to revenue

Executives decide on revenue, not visits. Translate the traffic forecast through the conversion chain:

1. Organic visits.
2. Conversion rate from visit to lead or order.
3. Rate from lead to customer, if you sell through a sales team.
4. Average revenue per customer.

Use your own historical rates for each step. Each step adds uncertainty, so carry the range through the whole chain. The revenue range is wider than the traffic range. For a template that puts these numbers in front of the board, read [the executive SEO reporting template](/articles/executive-seo-reporting-template).

## Walk back a forecast before it becomes a surprise

### See the miss early

Traffic lags behind the work. Monitor the leading indicators that move first:

- Impressions for the target keywords in Search Console.
- Ranking movement for the target keywords.
- Indexed pages for the new content.
- Work shipped compared with the plan.

When the indicators fall behind the path the forecast needs, flag the risk at once. A risk flagged in month 2 is a planning input. The same miss announced in month 6 is a surprise.

### Explain the variance without defense

Use a four-part structure. The quoted lines continue the hypothetical example above.

1. State the variance. "Organic traffic is 18% below the likely case."
2. Name the drivers. "Two causes: the hub template shipped 7 weeks late, and a core update reduced visibility on 12 of the 40 keywords."
3. Quantify each driver. "The late template accounts for about two thirds of the gap. The update accounts for the rest."
4. Explain what changes. "We moved the template work into the current sprint. We now apply a separate discount to keywords in the categories that the update affected."

This structure answers four questions in order: how large, why, how much each, and what next. It points at the assumptions table, not at people.

### Reset expectations mid-project

Do not wait for the quarterly review to announce a miss. A revised forecast in the middle of the quarter gives leadership time to adjust budgets and plans. A miss revealed at the review removes that option, and it damages trust in every later forecast.

When you reset, show the original forecast, the revised forecast, and the assumption that changed. Keep the original on the chart so that each revision stays visible. For the timeline errors that cause many of these resets, read [executive SEO timeline mistakes](/articles/executive-seo-timeline-mistakes).

----

```text
                  .|########||.                                       .|########||.                                       .|########||.
               |##||.      .||##|.                                 |##||.      .||##|.                                 |##||.      .||##|.
             |#|.              .|#|.                             |#|.              .|#|.                             |#|.              .|#|.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
        .#.                          .#|                    .#.                          .#|                    .#.                          .#|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
      |#             ......             #|                |#             ......             #|                |#             ......             #|
     .#           ||#########|           #|              .#           ||#########|           #|              .#           ||#########|           #|
    .#.         |######||######|.        .#.            .#.         |######||######|.        .#.            .#.         |######||######|.        .#.
    #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#
   ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||
   #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #
 ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||
 #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#
 #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.
.|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||
||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||
#.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#
#    .||####|###########################|.     #    #    .||####|###########################|.     #    #    .||####|###########################|.     #
#      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #
#      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #
#      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #
#      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #
#   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #
#. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#
|| |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||
|| ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||
.# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.
 #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#
 ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||
  #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.
   ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||
    #.        .######|#|#########|        .#            #.        .######|#|#########|        .#            #.        .######|#|#########|        .#
    .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.
     |#           ||########||           #.              |#           ||########||           #.              |#           ||########||           #.
      |#             ......             #|                |#             ......             #|                |#             ......             #|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
        |#.                          .#.                    |#.                          .#.                    |#.                          .#.
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
            .|#|.              .|#|.                            .|#|.              .|#|.                            .|#|.              .|#|.
               |##||.      .||##|                                  |##||.      .||##|                                  |##||.      .||##|
                 .||########||.                                      .||########||.                                      .||########||.

Scale With Search  2026  [scalewithsearch.com](https://scalewithsearch.com)
```
