DEV Community

Cover image for On-page GEO explains 2.8% of citation variation. Retrieval explains 32%. My null result was not a fluke
Juan Camilo Auriti
Juan Camilo Auriti

Posted on

On-page GEO explains 2.8% of citation variation. Retrieval explains 32%. My null result was not a fluke

Last week I published a calibration study showing that my tool's GEO score does not predict whether Perplexity cites a page. The odds ratio was 0.9625, p = 0.7172. Null result, pre-registered, 341 pages.

A paper published on arxiv 10 days earlier found the same thing at a completely different scale. University of Toronto researchers Mahe Chen and Nick Koudas analyzed 158,099 ChatGPT answers and 468,037 citations across two 90-day collection windows. Their finding: on-page content properties (FAQ blocks, structured data, summary boxes, page speed) explain only 2.8% of citation variation within a website on ChatGPT. Retrieval, which pages the engine's own search returns for its rewritten sub-queries, explains 32%. Over 11 times more.

My null result was not a fluke. It was a small-scale confirmation of a large-scale finding.

What the Toronto paper measured

The researchers collected 158,099 ChatGPT answers across two 90-day windows, yielding 468,037 citations. They decomposed what drives a citation into three layers:

  1. Retrieval (32% of variation): which pages ChatGPT's internal search returns when it rewrites the user's query into sub-queries. Every page ChatGPT cites was first retrieved by its own search. Those sub-queries "rarely coincide with Google's or Bing's results." ChatGPT writes its own queries, runs its own search, and cites from what comes back.

  2. Content properties (2.8% of variation): FAQ blocks, structured data, summary boxes, page speed, and other on-page signals. The things most GEO tools audit. The things my rubric checks. They explain less than 3% of why one page gets cited and another does not, within the same site.

  3. Brand recognition (significant but unquantified): the model writes brand names it already knows into its search queries, and names brands without any supporting page. Controlled experiments showed that brand names reorder rankings of products with identical facts. A brand the model knows gets cited even when the page is no better than an unknown brand's page.

Why this confirms the calibration study

My calibration study tested whether a 0-to-100 GEO score (measuring robots.txt access, schema, content structure, llms.txt, metadata, brand entity, Google AI readiness) predicts whether Perplexity cites a page. It did not. Odds ratio 0.9625, p = 0.7172.

The Toronto paper explains why. The GEO score measures on-page content properties. Those explain 2.8% of citation variation. A score that measures 2.8% of the variance cannot predict the other 97.2%. The null result was not a limitation of my sample size or my methodology. It was a correct measurement of a factor that is nearly irrelevant.

The 32% that matters, retrieval, is not something an on-page audit can measure. Retrieval depends on what ChatGPT's internal search returns for its rewritten queries. That depends on the engine's index, its query rewriting logic, and the brand recognition the model carries in its parametric memory. An audit tool that checks your page cannot see any of this.

What this means for GEO advice

The entire on-page GEO advice stack, "add FAQ schema, write answer blocks, structure your content, add llms.txt," targets the 2.8%. It is not wrong. FAQ schema and answer blocks are good practice. But they are not the lever that moves citations. The lever is retrieval: being in the pool of pages the engine's search returns for the queries it rewrites.

This is why two pages with identical on-page optimization get different citation outcomes. One is in the retrieval pool. The other is not. The on-page signals do not determine which pool you are in. The engine's search logic does.

The practical implication: on-page GEO is necessary (if the crawler cannot read your page, you cannot be retrieved) but it is not the lever. The lever is being retrievable by the engine's internal search, which requires understanding what queries the engine rewrites and ensuring your pages match those rewritten queries.

The brand recognition problem

The Toronto paper's most uncomfortable finding is that ChatGPT writes brand names it already knows into its search queries. It does not search for "best CRM for startups." It searches for "Notion vs Linear vs Asana" because it already knows those brands. A brand the model has never seen does not get searched for, does not get retrieved, and does not get cited.

This is the consensus signal problem I wrote about two weeks ago. The Erlin data showed brands with 5+ source types get 78% AI coverage. The Toronto paper shows the mechanism: the model writes known brands into its queries. Brand awareness, built through third-party mentions, reviews, and coverage, determines whether the model searches for you at all.

An audit tool cannot fix this. An audit tool can tell you if your page is readable. It cannot make the model know your brand name.

What I am doing about it

The calibration study and this paper are pushing the tool in a specific direction. The on-page audit is the foundation. It checks whether AI crawlers can reach and parse your page. That is the 2.8%. It is necessary. If the crawler cannot read you, retrieval is impossible.

The next layer, which the GeoReady platform is building toward, is retrieval diagnostics: what queries does the engine rewrite for your topic, does your page appear in the retrieval pool for those queries, and if not, what is missing. That is the 32%. It requires running prompts through the engine and analyzing the retrieved sources, not auditing the page itself.

The audit is the photograph. The retrieval diagnostic is the video. The Toronto paper tells us the video is 11 times more important than the photograph.

The limitation

The Toronto study covers ChatGPT only. Perplexity, Google AI Overviews, and Gemini may have different decomposition. My calibration study covered Perplexity and found the same null result, which suggests the pattern holds across engines. But I need to run the study on Google and ChatGPT to confirm.

The study also measures within-site variation, not between-site. Between-site differences (domain authority, backlink profile, site popularity) may explain more of the citation variation than the 32% retrieval figure. The 2.8% is the within-site effect of content properties. A site with high authority may get cited despite poor on-page signals, because retrieval favors authoritative domains.

Try it

If you want to check whether AI crawlers can read your page, run a free audit on geoready.dev. It checks the 2.8%. It is necessary. If your score is low, fix it first. If your score is high and you are still not cited, your gap is in the 32% (retrieval) or the unquantified brand recognition layer. No audit tool can fix those for you.

The CLI is on GitHub, MIT licensed, 1,137 stars. The calibration study data is at github.com/Auriti-Labs/geo-optimizer-skill/tree/main/research/calibration-2026-10.

Top comments (0)