← Prefero

How the score is calculated

A full account of what Prefero crawls, how it scores, and what the number means — and does not mean — for your store.

What we crawl

When you submit a store URL, Prefero runs four crawl jobs in parallel. Each has a hard timeout so the pipeline completes in under 60 seconds.

  • SitemapWe fetch /sitemap.xml (or /sitemap_index.xml) and extract product page URLs. We sample up to 5 product pages — enough to compute a representative schema score without hammering the server.
  • Product pagesFor each sampled URL we extract JSON-LD Product schema, Open Graph metadata, and HTML microdata. We record what's present and what's missing against the Schema.org Product specification.
  • Crawlability signalsWe fetch robots.txt and check whether AI bots (GPTBot, Google-Extended, PerplexityBot) are allowed. We also probe for llms.txt and agents.md — machine-readable intent files that help AI shoppers understand your catalog.
  • Policy pagesWe detect shipping, returns, and warranty pages. We check whether key signals (delivery window, free-returns threshold) are machine-readable or buried in prose.

We do not execute JavaScript, log in, or follow pagination. Content visible only after user interaction is outside our detection window (see Limitations).

The score formula

The Agent Commerce Readiness score is a weighted average of three category scores, each 0–100.

Structured data40%
40
Crawlability20%
20
AI preference40%
40
Total (example: all at 50)50 / 100

Structured data (40%). Averaged across the sampled product pages. Each page is scored on the presence of required fields (name, offers, price, priceCurrency) and recommended fields (description, image, brand, availability, aggregateRating, gtin/sku). Missing required fields cause a larger deduction than missing recommended fields.

Crawlability (20%). Binary signals summed and normalised: robots.txt does not block AI bots (+25), llms.txt present (+40), agents.md present (+20), AI-bot user-agents explicitly allowed (+15). A blocked robots.txt overrides most gains.

AI preference (40%). Derived from the buyer simulation (see below). The win rate — the fraction of simulated personas who chose your product over the competitor — maps directly to this category score. When no competitor URL is provided the category defaults to 50, reflecting a neutral outcome.

AI buyer simulation

When a competitor URL is supplied, Prefero runs a head-to-head simulation. We sample up to 3 of your product pages and select the competitor product that most closely matches each by keyword similarity (to avoid comparing unrelated products).

For each pair we prompt a language model as several buyer personas, each with a distinct priority — price sensitivity, return policy, brand trust, delivery speed. The model receives both product pages' structured data and signals and must choose one, with a brief rationale.

Example persona prompt (redacted)

You are a budget-conscious shopper. You care primarily
about price and clear shipping costs. You are buying
[PRODUCT CATEGORY] as a gift.

Given these two products:

Product A: [MERCHANT PRODUCT DATA]
Product B: [COMPETITOR PRODUCT DATA]

Which would you choose, and why? Answer with:
{"winner": "A" | "B", "reasoning": "...", "confidence": 0-1}

We use a language model to simulate buyer decisions. The model and persona count are periodically updated as we improve simulation accuracy. We run 2 personas per product pair. The win rate is the share of runs where the merchant wins.

The simulation is honest about its limits: a model making a purchase choice on structured data is not the same as a real shopper. It is a proxy for how clearly your product data communicates value to an AI agent — which is increasingly the first filter before a human sees your product at all.

What this score predicts

A high score means your product data is structured, machine-readable, and competitive against a chosen rival. AI shopping agents — ChatGPT shopping mode, Perplexity product answers, browser agents like Claude and Gemini — rely on exactly this signal layer when deciding which products to surface, recommend, or purchase.

A low score does not mean your store is failing. It means AI buyers have less information to work with, and are more likely to default to competitors who have invested in structured data and clear policy signals.

The score does not predict organic search rankings, human conversion rate, or return on ad spend. It is a single-purpose diagnostic: readiness for the AI buyer channel.

Limitations

  • JavaScript-rendered schema. If your theme injects JSON-LD via client-side JavaScript, Prefero will not see it — we do not run a browser.
  • Login-gated content. Products behind authentication are not crawled.
  • Dynamic pricing. We capture the price at crawl time; flash sales and personalised pricing are invisible to us.
  • Image quality and visual content. We do not evaluate product photography, video, or any visual signal.
  • Redirect chains and staging environments. Deep redirect chains may cause timeout failures; always submit your canonical production URL.
  • Sitemap coverage. If your sitemap is absent or incomplete, we fall back to the URLs you provide manually. Coverage may be partial.
  • Language and locale. We crawl the URL as-is. International stores with locale-prefixed URLs should submit the primary locale.

Questions about the methodology? hello@prefero.me