Documentation
CTR Curve Modeling: expected CTR for each position
Fits a click-through curve to your own queries, flags the ones clicked less than their position predicts and estimates the clicks they leave behind.
CTR Curve Modeling learns how often your site gets clicked at each position from 1 to 20, using your own queries instead of an industry average, then scores every query against that curve. Queries clicked well below what their position predicts are marked under-performing, with an estimate of the clicks they would gain by matching the curve. It is the quickest way to find titles and snippets worth rewriting.
How the curve is fitted
- Every query with at least 10 impressions and an average position of 20 or better is rounded to the nearest whole position.
- Each position gets one CTR: its total clicks divided by its total impressions, so large queries weigh more than small ones.
- Two shapes are fitted to those points by impression-weighted least squares on a log scale: a power law,
CTR = a × position^b, and an exponential,CTR = a × e^(b × position). - With Model on Auto (best R²), the shape with the higher R² wins. You can force Power law or Exponential instead, which runs the fit again. The Model fit panel shows the formula and both candidates.
A position where none of your queries got a click cannot go on a log scale, so it is left out of the fit. The report needs at least three positions with clicks; with fewer, it tells you no curve could be fitted and suggests a longer range or looser filters.
How each query is scored
- Expected CTR: the curve's value at the query's average position, kept between 0.05% and 95%.
- Gap: actual CTR minus expected CTR.
- z-score: the gap divided by how much CTR normally varies between your queries at that position (an impression-weighted standard deviation, or the spread pooled over all positions when a position has fewer than two queries).
- Status: Underperforming at a z-score of −1 or below, Outperforming at +1 or above, Expected in between.
- Potential clicks: impressions × (expected CTR − actual CTR) for a query below the curve, zero for one above it.
The Expected CTR per position table is stricter about noise. Its z-score divides the gap by the standard error of the position's average, and a position counts as Above expected or Below expected only when your CTR differs from the curve by at least a tenth of the expected value.
Reading the results
- The cards give Queries analysed, Best-fit model, R² of the fit, Under-performing queries and Potential added clicks.
- Your CTR vs expected CTR plots both lines for positions 1-20. Fitted curve shows each query as a dot under the dashed model, red for under-performing. CTR gap per position shows the difference in percentage points.
- Queries vs the curve is sorted by potential clicks, with tabs for All, Under-performing and Out-performing. Click a query to open its detail page.
A low R² means CTR on your site hardly follows position. Branded and navigational searches are the usual cause, since people click their target whatever the position. Choose Non-branded only in the filter panel and run it again before you trust the curve; the brand terms come from Property Setup.
What it assumes, and what it cannot see
- Position is treated as the main driver of CTR. Ads, AI answers, maps and other features above your result lower clicks at the same position, and Search Console data does not show them.
- Your own curve is the yardstick, so a site that is clicked poorly everywhere only sees its worst queries stand out. CTR Benchmark builds a similar curve but falls back to a published market benchmark at positions where your data is thin, and CTR Curve in the main navigation compares the curves of all your properties.
- Average position is Google's average of the topmost position your site held per search, so a query that jumps around is smoothed into one number.
- Potential clicks is a ceiling, not a forecast. It assumes the query could be clicked like your typical query at the same position.
What to do with an under-performing query
Look at the results page for the query first. If your listing is plain next to richer ones, or the title promises something other than what people are searching for, rewrite the title and the description so they answer that search; Google's title link guidance explains what it uses. Then give the change a few weeks and run the report again over the new period.
For articles AutoPSEO manages, this check runs on its own: once a week the content engine queues an optimisation for an article at positions 8-20 that is clicked under 60% as often as that position usually is. See keeping articles fresh. Related reports: Opportunity Scoring for queries that need a better ranking rather than a better snippet.