---
title: "Forecast organic growth from keywords, rankings, and scenarios you can defend"
description: "Build SEO forecasts from time series, keyword opportunity, ranking trajectories, Monte Carlo scenarios, and attribution, with accuracy checks at each step."
canonical: "https://scalewithsearch.com/articles/seo-forecasting-models-data-analysts"
date: "2026-03-20"
modified: "2026-10-02"
---
## 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)

# Forecast organic growth from keywords, rankings, and scenarios you can defend.

You are a data analyst, and a stakeholder asks: "How much traffic will this SEO investment generate?" Organic search is less predictable than most systems you model. Google's ranking systems are closed, and competitor actions, seasons, and platform changes move the result.

You can still give a useful answer. A forecast that states its uncertainty supports budget decisions and sets expectations. Build it from historical traffic patterns, keyword opportunity scores, ranking trajectories, and scenarios. For the statistical model types in code, read [SEO traffic forecasting models](/articles/seo-forecasting-models).

## Set the baseline with time series analysis

Use an unchanged-traffic and seasonal baseline before you add keyword gains. Separate branded and non-branded clicks, record the date range, and check whether an existing archive gives you enough seasonal history. Standard Search Console reporting alone does not provide two full years.

The top-down forecasting companion covers decomposition, regression, SARIMA, feature encoding, and interval calibration. Keep that model as a comparison line here. This page traces the additional traffic to named keywords, successful ranking states, and achievement assumptions.

### Backtest every model

Hold back the most recent months. Fit on earlier data, forecast the held-back period, and record MAPE and RMSE. A 15-to-20% MAPE band is an unverified planning example, not an SEO accuracy standard. Replace it with your own rolling-backtest errors at each horizon. Check absolute error when actual traffic is near zero.

## Forecast traffic bottom-up from keywords

A bottom-up forecast estimates traffic from each keyword opportunity. It shows which keywords drive the projected growth, and it helps you set priorities.

### Convert positions to clicks

A CTR curve converts a ranking position into traffic. Older aggregate studies put position 1 near 28% CTR, position 3 near 11%, and position 10 near 2%. Query type, search result features, and AI Overviews change these numbers. Treat industry curves as placeholders only. Calculate your own CTR by position from Google Search Console.

Calculate expected traffic for each keyword:

`Expected Traffic = Monthly Search Volume × Expected CTR × Achievement Probability`

Achievement probability is the chance that you reach the target position.

Here is a worked example with hypothetical inputs. A keyword has 2,000 monthly searches. You target position 3, where your own Search Console data shows 11% CTR. You score the achievement probability at 0.4. Expected traffic is 2,000 × 0.11 × 0.4, which is 88 visits each month.

### Score achievement probability

Score the chance from three factors:

1. Current position. A keyword that already ranks in positions 11 to 20 has a higher chance than one that starts at position 50 or lower.
2. Authority compared with competitors. A site 10 points below the top-ranking competitors on a third-party authority score has a lower chance than a site with equal authority.
3. Content investment. A complete, well-sourced page outranks a thin page.

### Aggregate with simulation

Add the probability-weighted expected clicks for all target keywords. That sum already gives expected total traffic. It does not assume that every keyword succeeds. Adding successful-state clicks without probabilities gives the all-success ceiling instead.

For a range, sample each keyword's success once in each Monte Carlo run. Multiply that zero-or-one result by its unweighted successful-state clicks. Multiplying by achievement probability again would count uncertainty twice and bias the forecast downward.

Here is an illustrative two-keyword calculation:

| Keyword | Successful-state monthly clicks | Achievement probability | Expected clicks |
|---|---:|---:|---:|
| A | 2,000 searches × 11% CTR = 220 | 0.4 | 88 |
| B | 1,000 searches × 10% CTR = 100 | 0.6 | 60 |
| Total | 320 if both succeed | Separate assumptions | 148 |

Under independent success assumptions, the possible totals are 0, 100, 220, and 320 clicks. Their probabilities are 0.24, 0.36, 0.16, and 0.24. The analytic mean is 148 clicks.

```python
import numpy as np

rng = np.random.default_rng(42)
successful_clicks = np.array([220.0, 100.0])
probabilities = np.array([0.4, 0.6])
success = rng.binomial(1, probabilities, size=(100_000, 2))
totals = (success * successful_clicks).sum(axis=1)
analytic_mean = np.dot(successful_clicks, probabilities)
print('Analytic mean:', analytic_mean)
print('Simulated mean:', totals.mean())
print('Central 80% range:', np.quantile(totals, [0.10, 0.90]))
# Sampling error shrinks with more runs; investigate a persistent mean gap.
assert abs(totals.mean() - analytic_mean) < 2.0
```

[NumPy's binomial sampler](https://numpy.org/doc/stable/reference/random/generated/numpy.random.Generator.binomial.html) with one trial draws that success state. The seeded mean should be near 148, with an 80% range of 0 to 320 for these discrete outcomes. Independence is illustrative. Related keywords can move together after a sitewide change; model that shared risk when your history supports it.

### Spread gains over time

Keywords rarely rank at once. Your own ranking history shows the usual timeline. One unverified planning example puts first rankings at 2 to 4 weeks, page 1 at 3 to 6 months, and top 3 at 6 to 12 months. These are not measured timelines. Replace them with dated outcomes from comparable pages before you use the curves in a budget.

## Model ranking trajectories

A keyword that already ranks below its target often follows a measurable path when you optimize the page. Ranking trajectory analysis forecasts those position gains.

### Measure the baseline

Export current rankings for the target keywords from Ahrefs or Semrush. Track positions daily for at least 30 days. Some keywords move 3 to 5 positions a day; others stay stable. This baseline separates an optimization gain from normal movement.

### Measure competitive velocity

For each target keyword, check how long the current top 10 pages have held their positions. Use Ahrefs Rank Tracker history or manual checks in the Wayback Machine. A keyword whose top results have not changed for 12 months or more has low ranking velocity. A keyword whose top 10 changes each month has high velocity. Low-velocity keywords need longer timelines.

### Calibrate from your own past work

Use past optimizations to predict new ones. When you optimized pages with similar starting positions, how far did they move in 30, 60, and 90 days? Build a lookup table. For example, your records might show that pages at positions 15 to 20 gained an average of 7 positions in 90 days. Pages at positions 21 to 30 gained 5. Apply these measured gains to the new forecast.

### Fit S-curves

Rankings rarely improve in a straight line. They accelerate as a page gains relevance, and then they level off near the best position the page can hold. Fit a logistic or Gompertz curve to your historical ranking data. Project the month when each page reaches its plateau.

### Buffer for algorithm updates

Google releases several core updates each year. Widen the confidence interval to match your site's historical volatility during updates. State the result as a range, such as "80% confidence interval of 45,000 to 65,000 monthly sessions".

You cannot predict the direction of an update, but past volatility sets the range. If your traffic moved ±25% during past core updates, widen the interval by 25% around the likely update periods. Add three update scenarios: worst case -25%, expected 0%, and best case +15%.

## Adjust for seasons and trend

Adjust for seasonal patterns before you project a trend.

A seasonal index compares each month with the annual average. Divide the average traffic for each month by the average for all months. If January averages 20% above the overall monthly average, its index is 1.20. If December averages 15% below, its index is 0.85. Apply the indices to the trend forecast to get monthly values.

Year-over-year comparison removes the seasonal effect. Compare January 2026 with January 2025, not with December 2025. Average the monthly year-over-year rates to separate sustained growth from temporary changes.

To project the trend, fit a linear regression to the seasonally adjusted monthly traffic. Extend the line forward, and then apply the seasonal indices. This method works when growth stays consistent.

### Watch leading indicators

Organic traffic lags behind the work by weeks or months. These indicators move first:

| Leading indicator | Illustrative, unverified lead time before traffic changes |
|---|---|
| Indexed pages | 2 to 6 weeks |
| Ranking position changes | 1 to 4 weeks |
| New quality backlinks | 4 to 12 weeks |

Track these indicators weekly and correlate them with the traffic changes that follow. Build a regression model that predicts traffic N weeks ahead from current indicator values. You can then adjust the forecast, and explain slow months, before traffic data shows the change.

### Remove non-SEO effects

Other activities change organic traffic:

- Paid brand campaigns increase branded searches.
- Press coverage causes short search surges.
- Product launches create new search demand.
- A competitor's site problems can send you traffic for a time.

Separate these effects from SEO growth before you attribute the change.

## Plan scenarios and test sensitivity

A single forecast suggests false precision. The achievement bands below are illustrative planning assumptions. Build three scenarios and replace the bands with your own results:

| Scenario | Keywords that reach target | Ranking gains | External factors |
|---|---|---|---|
| Conservative | 20 to 30% | Low end of the historical range | Neutral to negative |
| Moderate | About 50% | Typical velocity | Neutral |
| Aggressive | 70 to 80% | High end of the historical range | Favorable |

### Run a Monte Carlo simulation

Define a probability distribution for each key variable:

- Keyword achievement rate: beta distribution.
- Ranking gain: normal distribution.
- Traffic from a ranking, the CTR input: triangular distribution.

Run 10,000 or more simulations. In each run, draw an achievement probability if you model its uncertainty, then draw success once from that probability. Draw conditional CTR or ranking gains only for the successful state. Do not multiply the successful-state clicks by probability again. Derive the stated interval from the resulting quantiles, and check the mean against the analytic expectation.

### Find the inputs that matter

Sensitivity analysis shows which variables move the forecast most. Change one input at a time, such as achievement rate, ranking gain, or CTR, and hold the others constant. Measure how much the forecast changes for each unit of change. Spend your data collection effort on the inputs with the highest sensitivity.

A tornado diagram shows the result. Each variable is a horizontal bar whose length is the forecast range when that variable moves across its plausible range. The widest bars show stakeholders which assumptions matter most.

### Calculate breakeven

Breakeven analysis finds the minimum performance that justifies the SEO program. Add up the program costs: tools, labor, and content. Use conversion rate and customer lifetime value to find the traffic that produces equal revenue. Then find the combinations of achievement rate and average position that reach that traffic.

This frames the risk in one sentence. For example: "We need 40% keyword achievement at an average position of 6 to break even. Our history shows 55% achievement at an average position of 4.8."

## Attribute conversions to organic search

Organic traffic attribution decides how much conversion credit SEO gets when a user touches several channels before converting. Last-click attribution consistently undervalues SEO, because search often starts the journey.

Position-based attribution gives 40% of the credit to the first touch, 40% to the last touch, and 20% across the middle touches. Organic search often acquires the user, who then returns through direct or social channels to convert. Position-based credit captures that pattern better than last click.

Time decay attribution gives more credit to touches near the conversion. An example set of multipliers:

- 2× for a touch within 1 day of the conversion.
- 1.5× within 3 days.
- 1.0× within 7 days.
- 0.5× for older touches.

Google removed the first-click, linear, time decay, and position-based models from GA4 in 2023. To use them now, calculate them yourself from the GA4 BigQuery export or from another analytics platform.

Data-driven attribution, now the GA4 default, uses machine learning on your conversion paths to assign credit. On a site with low conversion volume, treat its credit split with caution.

Markov chain attribution calculates the removal effect of each channel. Model the conversion probability across all journey paths. Remove one channel, such as organic search, and calculate the probability again. The drop is the value of that channel. This method is rigorous, but it needs a large data volume and custom code.

Assisted conversion analysis shows organic influence beyond the last click. The GA4 conversion paths report shows how often organic search appears in a path without the last-click credit. Calculate the assist ratio: organic assisted conversions divided by organic last-click conversions. A ratio above 1.0 means organic search often helps conversions that other channels get credit for. For more on the models, read [SEO attribution models for marketing](/articles/seo-attribution-models-marketing).

## Forecast content output and topical authority

Content volume and topic coverage affect ranking speed and the traffic ceiling.

### Test publishing velocity

Analyze the correlation between articles per month and organic growth on your site. Compare months of steady publishing with irregular months. Run the regression on your own data, because sites gain different amounts from a high publishing rate.

### Model diminishing returns

The first articles on a topic have the largest effect, because they establish authority. Later articles add less as coverage becomes complete. Fit a logarithmic curve to your history. For example: the first 5 articles in a cluster bring X traffic, articles 6 to 10 bring 0.7X, and articles 11 and later bring 0.4X. Use the curve to decide when to start a new topic instead of adding depth to the current one. For the underlying concept, read [what topical authority is](/articles/what-is-topical-authority).

### Measure keyword coverage

Export every keyword your site ranks for in a topic from Ahrefs or Semrush. Export the same list for your competitors. Compare the two. If competitors rank for 500 keywords and you rank for 200, you cover 40% of the opportunity in that topic. Forecast the traffic effect of coverage at 60%, 80%, and 100%.

### Plan content depth by difficulty

High-difficulty keywords (keyword difficulty 60 or more) usually need a complete guide of about 2,500 words or more, supporting articles, and strong backlinks. Low-difficulty keywords (0 to 30) can rank with 800 to 1,200 words. Word count is not a ranking factor, so use these figures to plan effort, not length.

### Plan refresh work

News, trends, and fast-moving topics need frequent updates. Evergreen instructions can rank for years without changes. An industry news blog needs a monthly refresh calendar; a technical documentation site needs a quarterly audit. Include refresh labor in long-term content return projections.

## Set the horizon and the method

Forecasts of 6 to 12 months are reasonably reliable. Past 12 months, small errors in month 1 grow large by month 18. Algorithm updates, competitor changes, and new search technology make multi-year forecasts speculative. For plans of 2 years or more, use scenarios, not traffic numbers.

For a 6-to-12-month forecast, 15-to-25% MAPE, under 15%, and over 30% are unverified planning bands. They do not establish good or exceptional performance. Compare error with your unchanged-traffic baseline and prior rolling backtests. Always present a calibrated range such as "85,000 to 115,000 sessions", with the assumptions and observed coverage.

Start with statistical methods: regression, ARIMA, and exponential smoothing. They give results you can explain, and they work with the limited data of most SEO programs. Neural networks and random forests need much more training data, often years of daily observations, and they overfit small SEO data sets. Machine learning becomes practical for a large site with more than 1 million monthly sessions, years of detailed data, and a data science team. Most organizations should use statistical forecasting.

----

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

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