Skip to content

The methodology behind /tools/aeo-scorer

Show your work, or AI search won't quote it.

Seven dimensions. Thirty-seven cited studies. A real piece's score, broken open. This page is the rubric, the math, the limits, and the receipts.

Continue reading ↓

01 · A real score

Start with one specific piece, not a brochure.

Any defensible rubric should be willing to score a piece you already know is good — and stand by the result. Here's the AEO post HubSpot published in April 2026, broken open dimension by dimension.

Real score · 2026-04-27 run

HubSpot — Answer Engine Optimization Trends

48/ 100F

"One of the most thorough AEO posts on the open web. Still scored 48."

  1. Authority & E-E-A-T0/30

    Anonymous byline. Zero Tier-1 citations. No original-data block. No JSON-LD.

  2. Entity Specificity13/20

    21 named entities; mixed analytical vs. listed.

  3. Structural Extractability18/20

    Clean H2/H3 hierarchy. Median chunk 240 words. Table present.

  4. Question Subheadings5/10

    Zero question H2s — baseline. Optimal range is 1–2.

  5. Semantic Clarity7/10

    H1 maps to query intent. Some undefined jargon.

  6. Freshness5/10

    Updated April 2026. No current-year stats anchored.

Five of the six public dimensions land in the normal range. One — Authority — comes back at zero. The score collapses on a single dimension, and the fix list runs four lines long. That's what this rubric is built to surface.

02 · The 7 dimensions

Six public dimensions, one skill-mode dimension, and the weights they carry.

Every dimension opens with the principle any AEO rubric needs to address — then shows how this scorer implements it. Expand a card for the sub-scores, the calibration source, and three real examples.

04 · The engine room

How a piece becomes a score

A defensible rubric isn't a black box you trust on faith. It's a pipeline you can stand inside.

Below is a real piece — Juan's "AI subsidy" post — 207 words, predicted D — moving through the five stages of the scorer. Different piece than the hero, same engine.

[01]RAWMarkdown ingested
Every AI company is losing money on you. On purpose.

Anthropic burns 70 cents of every dollar they bring in. OpenAI spent $8.67B on inference in 9 months — nearly double their revenue. Perplexity spent 164% of its revenue on compute alone.

You are getting a venture-capital-subsidized free ride right now.
207 words, no frontmatter byline, no schema, no Tier-1 links. Stripped of HTML, collapsed whitespace, truncated to 12,000 chars.
[02]PARSEDEntities + structure extracted
entities: [Anthropic, OpenAI, Perplexity, Uber, DoorDash, Amazon, Spotify]
numerics: [70%, $8.67B, "9 months", 164%, 41%, $2.50, "near-zero"]
headings: [h1: "Every AI company is losing money on you"]
lists: [1 bulleted (4 items), 1 numbered (4 items)]
tables: []
date_detected: 2026-03-09
Regex + semantic parse. The engine now knows what the piece is about, even if no LLM has read it yet.
[03]SCOREDRule layer + LLM layer
authority    →   3/30  (no byline, no Tier-1 citations, no methodology, no schema)
entity       →  17/20  (8 entities, 7 numerics, all in analytical claims)
structural   →   3/20  (single H1 only, no H2 hierarchy, 207 words too short)
questions    →   5/10  (zero question H2s — baseline)
clarity      →   9/10  (sharp, defined, dense)
freshness    →   4/10  (60-day-old post, current-year stats)
────────────────────────────
rule_total   →  41/100  (F)
Rule layer runs first (deterministic, fast). LLM layer (Llama 4 Scout, 3-run averaged) verifies subjective sub-scores like "entity depth vs. listed" and "jargon accessibility."
[04]QA-FLAGGEDAnti-gaming + sanity layer
[OK]      entity_density    8 entities, all topically relevant     no stuffing flag
[OK]      keyword_repetition raw repeat count below threshold       no stuffing flag
[NOTE]    short_form        207 words below typical-blog threshold    not penalized — short-form intentional
[FLAG]    authority_floor   authority 3/30 = bottom-decile signal     surface as Top Fix #1
[FLAG]    no_date_in_body   date inferred from filename, not content   surface as Top Fix #3
The QA layer catches the gaps the rule layer can't: short-form versus thin, intentional versus accidental, score versus actionable-fix.
[05]FINALScore + ranked fixes
score: 41/100   grade: D
engines: Google AIO 38%   ChatGPT 41%   Perplexity 42%   Bing 38%

Top fixes (ranked by point yield):
  1. Add named byline + author credentials line     (+10 authority)
  2. Add 2 Tier-1 citations for the $8.67B claim    (+10 authority)
  3. Add JSON-LD article schema with author field   (+5 authority)
  4. Add a single question H2: "Why is AI cheap right now?"  (+5 questions)

Projected post-fix score: 71/100 (C). One afternoon of editorial work.
Score, citation probabilities per engine, and the prioritized fix list. The fix list is the actual output the user came for.

end of pipeline · score returned · QA-flagged fixes ranked

04 · The QA layer

A second pass nobody else runs.

Most AEO rubrics stop at the rule layer. This one runs a second pass — an LLM-judged sanity check that catches false positives, surfaces calibration nuance, and converts raw scores into a ranked fix list.

[OK]

False-positive intercept

Rule layer flagged a piece for keyword stuffing because the phrase "AI search" appeared 14 times. QA layer confirmed the phrase is the topic of the piece. Flag suppressed.

[NOTE]

Calibration nuance surfaced

Short-form piece (207 words) flagged as below-threshold. QA layer reads the intent — short-form post versus stub — and exempts the word-count penalty while preserving the structural sub-score.

[FLAG]

Actionable-fix promotion

Rule layer scored Authority 3/30. QA layer promotes it to Top Fix #1 with the specific four sub-score breakdown the editor needs to act on, not just a number to feel bad about.

05 · Sources

Where the rubric came from.

Thirteen distinct inputs grouped into five buckets. Each bucket taught the rubric a different lesson — and every entry says which one.

01 / 05

Foundational research

Peer-reviewed and academic work that defined the rubric's theoretical floor.

  • Princeton GEO Paper

    Patel et al. 2024 — Generative Engine Optimization (arXiv)

    What this taught the rubric. Established the academic baseline: AI search citations are governed by retrieval signals distinct from classic SEO. Justified separating Entity Specificity and Structural Extractability into independent dimensions.

  • AirOps Engine Analysis

    n=79,000 AI engine queries across Google AIO, ChatGPT, Perplexity, Bing (Q1 2026)

    What this taught the rubric. Authority signals correlate r=0.81 with citation share. The single strongest empirical case for weighting Authority at 30/100 instead of 20/100.

02 / 05

Engine signals

What AI engines actually do — measured against real content, not described by vendor marketing.

  • Wellows Citation Correlation Study

    2026 — Wellows.io — passage-shape vs. quotation rate (r=0.81)

    What this taught the rubric. Passage-shape compliance correlates as strongly with citation as authority does. Drove the four sub-scores inside the Structural dimension.

  • Quattr Freshness Curve

    2026 — Quattr.com — 76% citation rate at <30 days, 3.2× decay over 90 days

    What this taught the rubric. Freshness decays non-linearly. The 30 / 31–90 / 91–180 day brackets in the Freshness sub-scores are calibrated against this curve.

  • Metrics Rule Question-Heading Study

    2026 — Metrics Rule — 54.2% citation lift at 1–2 question H2s, 31.8% at 5+

    What this taught the rubric. Question headings have a sharp optimal range. Directly defined the non-linear 10 / 5 / 3 scoring band in the Question Subheadings dimension.

03 / 05

Competitor research

Existing AEO rubrics audited for what they catch — and what they miss.

  • SearchEngineLand GEO Guide

    Tor.app — "Mastering Generative Engine Optimization in 2026" — Feb 2026

    What this taught the rubric. Strong on structural cues, weak on anti-gaming. The four-phase framework informed the Structural sub-scores; its absence of a stuffing layer motivated this scorer's anti-gaming cap.

  • Conductor 2026 AEO Benchmark

    Conor Baker + Wesam Rafidi — "Financials AEO/GEO benchmarks" — April 2026

    What this taught the rubric. Original quantitative research with disclosed methodology. Calibration ground for the original-data sub-score inside Authority.

  • HubSpot AEO Trends Post

    blog.hubspot.com/marketing/answer-engine-optimization-trends — updated April 14, 2026

    What this taught the rubric. The post used as the hero example. Demonstrated the Authority-gap pattern (clean structure + zero E-E-A-T) that the rubric needed to surface visibly.

04 / 05

Experiments

Original data runs — the dataset this scorer was built against, not just calibrated to.

  • Series 1 W1 Dataset

    20 marketing blog posts scored full-rubric — Networking/Content/series-1/w1-dataset.md — April 2026

    What this taught the rubric. Mean score 40.1/100 across HubSpot, Buffer, Moz, Ahrefs, Semrush, Neil Patel, etc. — confirmed the rubric distinguishes high-effort content from high-AEO content. Authority-floor is industry-wide.

  • JUA-119 Calibration Corpus

    10 hand-picked pieces — Networking/research/aeo-test-corpus — April 2026

    What this taught the rubric. Variance testing fixture (Juan's own posts, top AEO competitors, SEO-stuffed, edge cases). Validated <10pt run-to-run variance on the three benchmark pieces.

05 / 05

Field notes

Edge cases that calibrated the rubric's failure modes — the pieces it had to score sensibly even when it disagreed with intuition.

  • Anthropic short-form post

    anthropic.com/news/claude-design-anthropic-labs — 231 words

    What this taught the rubric. Confirmed the rubric rewards high-signal short-form (B grade, not D). The QA layer's short_form note prevents word-count penalty from dominating.

  • Untitled UI image-heavy explainer

    untitleduI.com/blog/what-is-a-design-system — 126+ embedded images, thin text

    What this taught the rubric. Forced a known calibration artifact into the rubric: image-heavy content under-scores by 10–20 points. Documented in Honest Limitations rather than papered over.

  • Two SEO-stuffed listicles

    comparebestai.com and thesmarketers.com — Q1 2026

    What this taught the rubric. Stress-tested the anti-stuffing gates. One piece used [artifact:web:1] placeholder citations — drove the Tier-1 citation whitelist instead of a generic link-count heuristic.

06 · Honest limits

Six things this rubric gets wrong on purpose.

Listing limits builds trust the way a clean score never can. Each one names the failure, what the scorer does instead, and when a human read should override the number.

  1. Limit 01

    The QA layer adds latency

    Each scoring call runs the rubric a second time through an LLM pass to catch rule-based false positives — typically 3–8 seconds added per call. When the QA pass disagrees with the rule layer, both are surfaced.

    When to override: short, time-sensitive drafts where re-scoring later is acceptable. Or batch mode — the latency averages out across files.

  2. Limit 02

    Image-heavy content under-scores

    The scorer reads text only. A piece where most of the informational signal lives in 126 embedded screenshots will score lower than its actual reference value. The Untitled UI design-system explainer scored C despite being widely cited.

    When to override: if your content is primarily visual reference material, expect a 10–20 point penalty that's a calibration artifact, not a real deficiency. Score the text-only version against this rubric, then add visual back.

  3. Limit 03

    Voice scoring is skill-mode only

    The public scorer at this URL drops the Voice / Brand Authenticity dimension. That dimension requires brand context (banned-word lists, sentence-rhythm patterns, stance posture) the public tool doesn't have. Voice runs only when /aeo-scorer is invoked inside Claude Code with brand-identity.md loaded.

    When to override: pair the public AEO score with a human voice read, or run /aeo-scorer through the skill if you have the brand corpus.

  4. Limit 04

    Anti-stuffing caps are intentional false-negatives

    Five-plus question H2s caps the Question Subheadings dimension at 3/10 even if the questions are genuinely useful. This is a calibration choice — the data showed 5+ headings correlated more with gaming than with citation.

    When to override: FAQ pages, glossaries, or any document where 5+ question sections are structurally required. Expect the cap, read the rest of the score, and discount the headings penalty.

  5. Limit 05

    Tier-1 citation list is finite

    The Authority citations sub-score requires links to a fixed whitelist (.gov, .edu, Reuters, AP, NYT, WSJ, Bloomberg, FT, Nature, Lancet, PubMed). A peer-reviewed paper from a non-listed publisher scores Tier-2 even if it's better evidence.

    When to override: when your piece cites the best evidence available rather than the highest-tier domain, the score under-rewards rigor. Flag it on review.

  6. Limit 06

    Freshness doesn't read intent

    An analytical piece about 1970s consumer psychology gets the same Freshness penalty as a stale news brief. The rubric biases toward recency without distinguishing time-sensitive from timeless.

    When to override: timeless analytical pieces should expect a 5–8 point Freshness deficit that doesn't reflect content quality. Score the other five dimensions and read the total accordingly.

Run it

Run the scorer on your own content.

Install /aeo-scorer →

Or read how the rubric got here:

Series 1, W3 — how HubSpot scored 48 →

Last updated · 2026-05-19 · Methodology rev. 1