Position-1 CTR isn't 30% anymore β what AI Overviews actually do to your clicks (+ a free calculator)
Architecting Accurate Traffic Projections for Modern Search Results
Current Situation Analysis
Search traffic forecasting has historically relied on a static multiplier model: take monthly search volume, apply a position-based click-through rate (CTR), and project monthly clicks. For over a decade, the industry standard assumed position 1 organic captured roughly 30% of available clicks. This heuristic worked when search engine results pages (SERPs) followed a predictable, ten-blue-links layout.
The model is now fundamentally broken. Modern SERPs are dynamic, multi-layered interfaces that actively satisfy user intent before organic results are reached. AI Overviews now render synthesized answers above the fold for the majority of informational queries. Featured snippets continue to intercept definitional and procedural searches. People Also Ask (PAA) clusters expand inline, consuming 6-8 vertical inches of viewport space. On commercial-intent queries, sponsored carousels and shopping modules frequently push the first organic result below the initial scroll threshold, particularly on mobile devices.
The consequence is a severe decoupling between search volume and actual click potential. In 2026, position 1 organic CTR for informational keywords averages 8-15%. For commercial queries featuring both an AI Overview and a sponsored carousel, position 1 organic CTR compresses to 3-6%. Teams that continue planning content using the legacy 30% baseline are generating forecasts that deviate from actual performance by a factor of 3-10x. This variance creates misaligned resource allocation: high-volume informational keywords appear artificially lucrative, while lower-volume, high-intent commercial keywords are prematurely deprioritized despite offering superior conversion potential.
The problem persists because most planning workflows treat keywords as isolated data points rather than context-dependent assets. SERP composition varies by query intent, device type, geographic region, and temporal trends. Without a classification layer that maps keywords to their actual SERP environment, traffic projections remain mathematically precise but practically useless.
WOW Moment: Key Findings
The breakthrough in modern traffic forecasting isn't a new algorithm; it's contextual segmentation. When you classify each keyword by its actual SERP layout before applying CTR multipliers, forecast accuracy improves dramatically. The following table demonstrates how position 1 and position 2-3 CTR baselines shift across four distinct SERP archetypes observed in 2026.
| SERP Archetype | Position 1 CTR | Position 2-3 CTR | Primary Click Suppression Factor |
|---|---|---|---|
| Plain Organic | 28-35% | 12-18% | None (baseline layout) |
| Organic + PAA | 18-24% | 8-12% | Inline question expansion |
| Organic + AI Overview | 8-15% | 3-7% | Direct answer rendering |
| Organic + AI Overview + Sponsored Carousel | 3-6% | 1-3% | Commercial intent displacement + AI answer |
This data reveals a critical operational insight: traffic potential is no longer a function of ranking position alone. It is a product of SERP composition. A keyword ranking at position 1 in an AI Overview + carousel environment yields fewer clicks than a keyword ranking at position 3 in a plain organic layout. Recognizing this shifts content strategy from volume-chasing to intent-matching. Teams can now accurately model expected traffic, allocate production resources proportionally, and identify undervalued keywords that traditional spreadsheets would discard.
Core Solution
Building a reliable traffic projection system requires decoupling keyword data from SERP context, then recombining them through a deterministic classification pipeline. The architecture below implements this approach using TypeScript, emphasizing type safety, range-based forecasting, and modular SERP detection.
Step 1: Define SERP Context & CTR Ranges
Instead of fixed percentages, model CTR as bounded ranges to account for natural SERP volatility. Use strict typing to prevent invalid position or archetype assignments.
export type SERPArchetype =
| 'PLAIN_ORGANIC'
| 'ORGANIC_WITH_PAA'
| 'ORGANIC_WITH_AI_OVERVIEW'
| 'ORGANIC_WITH_AI_AND_SPA';
export interface CTRRange {
min: number;
max: number;
expected: number;
}
export interface PositionCTRMap {
position1: CTRRange;
position2To3: CTRRange;
}
export const SERP_CTR_BASELINES: Record<SERPArchetype, PositionCTRMap> = {
PLAIN_ORGANIC: {
position1: { min: 0.28, max: 0.35, expected: 0.315 },
position2To3: { min: 0.12, max: 0.18, expected: 0.15 },
},
ORGANIC_WITH_PAA: {
position1: { min: 0.18, max: 0.24, expected: 0.21 },
position2To3: { min: 0.08, max: 0.12, expected: 0.10 },
},
ORGANIC_WITH_AI_OVERVIEW: {
position1: { min: 0.08, max: 0.15, expected: 0.115 },
position2To3: { min: 0.03, max: 0.07, expected: 0.05 },
},
ORGANIC_WITH_AI_AND_SPA: {
position1: { min: 0.03, max: 0.06, expected: 0.045 },
position2To3: { min: 0.01, max: 0.03, expected: 0.02 },
},
};
Step 2: Implement SERP Classification Logic
Classification should be decoupled from calculation. In production, this layer consumes SERP API responses, HTML parsing results, or third-party SEO platform data. The example below uses a deterministic classifier for demonstration.
export interface SERPFeatures {
hasAIOverview: boolean;
hasSponsoredCarousel: boolean;
hasPAA: boolean;
hasFeaturedSnippet: boolean;
}
export function classifySERPLayout(features: SERPFeatures): SERPArchetype {
if (features.hasAIOverview && features.hasSponsoredCarousel) {
return 'ORGANIC_WITH_AI_AND_SPA';
}
if (features.hasAIOverview) {
return 'ORGANIC_WITH_AI_OVERVIEW';
}
if (features.hasPAA || features.hasFeaturedSnippet) {
return 'ORGANIC_WITH_PAA';
}
return 'PLAIN_ORGANIC';
}
Step 3: Build the Projection Engine
The engine consumes monthly volume, target position, and classified SERP context to output a traffic range with an expected value. It includes validation, range interpolation, and device segmentation hooks.
export interface TrafficProjection {
keyword: string;
monthlyVolume: number;
targetPosition: 1 | 2 | 3;
archetype: SERPArchetype;
minClicks: number;
maxClicks: number;
expectedClicks: number;
}
export class TrafficProjectionEngine {
private validateVolume(volume: number): void {
if (!Number.isFinite(volume) || volume < 0) {
throw new Error('Monthly volume must be a non-negative finite number.');
}
}
public project(keyword: string, volume: number, position: 1 | 2 | 3, archetype: SERPArchetype): TrafficProjection {
this.validateVolume(volume);
const ctrMap = SERP_CTR_BASELINES[archetype];
const ctr = position === 1 ? ctrMap.position1 : ctrMap.position2To3;
const minClicks = Math.round(volume * ctr.min);
const maxClicks = Math.round(volume * ctr.max);
const expectedClicks = Math.round(volume * ctr.expected);
return {
keyword,
monthlyVolume: volume,
targetPosition: position,
archetype,
minClicks,
maxClicks,
expectedClicks,
};
}
}
Architecture Decisions & Rationale
- Range-Based CTR Modeling: Fixed percentages ignore SERP volatility, seasonal shifts, and algorithm updates. Bounding CTR as
min/max/expectedprovides realistic confidence intervals for stakeholder reporting. - Decoupled Classification: Separating SERP detection from projection allows the system to ingest data from multiple sources (SERP APIs, log analysis, third-party platforms) without modifying the calculation core.
- Strict Position Typing: Limiting positions to
1 | 2 | 3reflects practical SEO focus. Positions 4+ typically fall below meaningful CTR thresholds for planning purposes, reducing noise in forecasting models. - Pure Function Projection: The
projectmethod contains no side effects, making it trivial to unit test, parallelize, and integrate into batch processing pipelines for large keyword sets.
Pitfall Guide
1. Applying Uniform CTR Across All Keywords
Explanation: Treating informational, navigational, and commercial queries with the same multiplier ignores SERP composition. A keyword with an AI Overview will consistently underperform against a plain organic baseline. Fix: Always run SERP classification before projection. Implement automated layout detection in your keyword ingestion pipeline.
2. Using Point Estimates Instead of Ranges
Explanation: Reporting a single projected click count creates false precision. SERP layouts shift, and CTR fluctuates based on device, geography, and query refinement. Fix: Adopt min/max/expected ranges. Communicate forecasts as intervals to stakeholders, and track actuals against the expected value for model calibration.
3. Ignoring Device Segmentation
Explanation: Mobile SERPs compress vertical space more aggressively than desktop. Sponsored carousels and AI Overviews occupy a larger viewport percentage on mobile, further suppressing organic CTR. Fix: Maintain separate CTR baselines for mobile and desktop. Weight projections by your audience's device distribution or model both scenarios independently.
4. Over-Indexing on Informational Volume
Explanation: High-volume informational keywords often trigger AI Overviews or PAA clusters, yielding low organic CTR. Prioritizing them for traffic goals creates a volume illusion without conversion impact. Fix: Apply intent weighting. Commercial and transactional keywords with lower volume but higher CTR stability and conversion rates should receive disproportionate resource allocation.
5. Static Forecasting Without SERP Monitoring
Explanation: SERP layouts are not permanent. Google frequently tests new modules, rolls out AI features regionally, and adjusts carousel placement. A classification from six months ago may be obsolete. Fix: Schedule periodic SERP reclassification (monthly or quarterly). Implement change detection alerts when a keyword's archetype shifts, triggering forecast recalculation.
6. Assuming AI Overviews Always Suppress Clicks
Explanation: While AI Overviews reduce clicks for direct-answer queries, they can increase brand visibility and click-through for complex, multi-step, or comparison queries where the overview links to sources. Fix: Track source attribution within AI Overviews. If your domain is frequently cited, model a secondary visibility multiplier alongside organic CTR.
7. Neglecting Zero-Click Query Dynamics
Explanation: Many modern queries resolve entirely within the SERP. Focusing exclusively on click projections misses engagement signals like dwell time, brand recall, and direct navigation spikes. Fix: Supplement click forecasting with impression share, brand search lift, and direct traffic correlation. Use these as secondary success metrics for AI-heavy SERPs.
Production Bundle
Action Checklist
- Classify SERP archetype: Run each target keyword through an automated SERP detector before planning.
- Map position to CTR range: Replace fixed multipliers with min/max/expected bounds per archetype.
- Segment by device: Maintain separate baselines for mobile and desktop traffic patterns.
- Implement range forecasting: Output projections as intervals, not point estimates, for stakeholder alignment.
- Schedule reclassification: Set monthly SERP audits to catch layout shifts and update forecasts.
- Track actual vs expected: Log real traffic against projected ranges to calibrate CTR baselines quarterly.
- Weight by intent: Prioritize commercial/transactional keywords with stable SERP layouts over high-volume informational terms.
Decision Matrix
| Scenario | Recommended Approach | Why | Cost Impact |
|---|---|---|---|
| High-volume informational keyword | Model with AI Overview + PAA baselines; track brand lift instead of clicks | SERP likely suppresses organic CTR; value shifts to awareness | Low production cost, high measurement complexity |
| Low-volume commercial keyword | Apply AI + Sponsored Carousel baselines; prioritize for conversion tracking | Stable intent, higher conversion rate despite low CTR | Moderate production cost, high ROI potential |
| Branded navigational query | Use Plain Organic baselines; monitor direct traffic correlation | Users already know the destination; SERP layout has minimal impact | Low cost, high retention value |
| Emerging technical query | Classify dynamically; use conservative ranges until SERP stabilizes | Layouts shift rapidly during feature rollout phases | High monitoring cost, strategic positioning benefit |
Configuration Template
Use this TypeScript configuration to bootstrap a forecasting pipeline. It includes archetype definitions, device segmentation, and calibration hooks.
// src/config/forecasting.config.ts
import { SERPArchetype, PositionCTRMap } from '../types/serp.types';
export const FORECASTING_CONFIG = {
deviceMultiplier: {
desktop: 1.0,
mobile: 0.85, // Adjust based on historical mobile suppression data
},
calibrationWindow: 90, // Days to track actuals before adjusting baselines
archetypeOverrides: {
// Example: Force a specific archetype for known brand terms
'brand:*': 'PLAIN_ORGANIC',
},
baselineOverrides: {
// Example: Adjust for regional SERP variations
'region:EU': {
ORGANIC_WITH_AI_OVERVIEW: {
position1: { min: 0.10, max: 0.18, expected: 0.14 },
position2To3: { min: 0.04, max: 0.09, expected: 0.065 },
},
},
},
outputFormat: 'range' as const, // 'range' | 'expected' | 'p95'
};
export type ForecastConfig = typeof FORECASTING_CONFIG;
Quick Start Guide
- Install dependencies: Ensure your project supports TypeScript 5+. No external libraries are required for the core engine.
- Copy the type definitions and engine: Paste the
SERPArchetype,CTRRange,classifySERPLayout, andTrafficProjectionEnginecode into your forecasting module. - Integrate SERP data: Connect your classifier to a SERP API or log parser. Map raw feature flags (
hasAIOverview,hasSponsoredCarousel, etc.) to theSERPFeaturesinterface. - Run batch projections: Feed your keyword list into
TrafficProjectionEngine.project(). Export results as CSV/JSON for stakeholder review. - Calibrate quarterly: Compare projected ranges against actual analytics data. Adjust
expectedvalues inSERP_CTR_BASELINESto reflect observed performance.
Traffic forecasting in the AI-first SERP era requires abandoning legacy multipliers in favor of context-aware modeling. By classifying SERP layouts, applying range-based CTR baselines, and continuously calibrating against actual performance, teams can transform speculative projections into reliable planning instruments. The shift isn't just mathematical; it's strategic. Prioritize keywords where the SERP environment aligns with your business objectives, and let accurate forecasting guide resource allocation instead of volume illusions.
Mid-Year Sale β Unlock Full Article
Base plan from just $4.99/mo or $49/yr
Sign in to read the full article and unlock all tutorials.
Sign In / Register β Start Free Trial7-day free trial Β· Cancel anytime Β· 30-day money-back
