Skip to content

How Citeon AI measures: 21 words, one definition each, from the code

Every number on Citeon AI is one of 30 words, and every word has one definition, taken from the code that computes it. This page prints those definitions as they stand in the method document, with the place in the code where each is computed. The dashboard's tooltips and its Settings > Method page use the same words; the build fails if the lists drift.

In short
  • 30 words, one definition each, each with the file or table that computes it.
  • A missing measurement is no answer, never a zero; an engine that showed nothing is not shown, never 0.
  • A re-read answer can change its verdict, never its text, and every re-read is written to a corrections ledger.

The question and the answer

Question (prompt)
A buyer question asked to each AI engine, in its own language, from the workspace's country. Every question is asked every second scan (two halves on alternate days); a new or missed question joins the next scan.Computed in engine/rotation.py, lib/scan-schedule.ts
Answer
One engine's reply to one question in one scan. Stored in full with the sources it cites. An attempt that returned nothing is stored as an attempt with its reason, never as an answer.Computed in engine/store_snapshot.py, prompt_results, prompt_attempts
No answer
The latest attempt for that question got nothing back from the engine: a timeout, an error, or Google showing no AI Overview for that search. Never counted as absent, never as zero.Computed in prompt_attempts, lib/prompt-stats.ts

The four verdicts on an answer

Named (product)
A product's or collection's full title appears in an answer, whole words only; a one word title needs eight letters or more and navigation labels never count. Written when the answer is stored, with the sentence as evidence.Computed in engine/catalog.py hits_for_answer
Cited (product)
An answer links that product's or collection's page (locale prefix and query ignored). Cited pages are stored since 8 October 2026; earlier answers cannot show it.Computed in engine/catalog.py, prompt_results.urls
Absent
The engine answered, and the brand is neither named nor cited.Computed in lib/prompt-stats.ts

The rates and the score

Mention rate
Answers that name the brand, as a share of all answers in the window. The score tooltip calls it "how often AI engines name you".Computed in engine/audit.py (per scan), engine/rollup.py (rolling)
Recommendation rate
Answers that recommend the brand, as a share of all answers in the window.Computed in same
AI visibility score
0 to 100: 60% of the mention rate plus 40% of the recommendation rate, over the scans of the last 28 days, each day in the window weighted equally. Not the GEO score.Computed in engine/audit.py line "score = round(100 * (0.6 * mention_rate + 0.4 * rec_rate))", engine/rollup.py
Engine score
The same formula on one engine's answers only. Engines are independent scores, not shares of one total. An engine with no answer shows "not shown" (Google showed nothing) or "no answer", never 0.Computed in engine/rollup.py engine_scores

Against the competitors

Share of voice
Of every time an answer named one of the tracked brands (the brand and its tracked competitors), the share that named this brand. Example: the brand named 4 times, rivals 12 times in total, share 25%. It is a share of names, not a share of answers.Computed in engine/audit.py _share_of_voice
Rank (share of voice)
The brand's place among the tracked brands by share of voice, 1 = most named. Unknown when nobody was named in the scan; last when rivals were named and the brand was not.Computed in engine/audit.py _share_of_voice
Position
Among the tracked competitors named in the same answer, how many are named before the brand, plus one. 1 = named first. Only exists when at least one tracked rival is named in that answer.Computed in engine/matcher.py position
Rank among every brand named
The same count over every brand the judge listed in the answer, not only tracked rivals (Peec's documented rule). Shown on the row from ten ranked answers.Computed in lib/prompt-stats.ts rankAmongNamed

Citations

Citations
How many times the brand's own pages were cited across the scan's answers. Per engine on the Citations page.Computed in engine/audit.py client_citations

Time, corrections and storage

Window
28 days unless the page says otherwise. The Prompts page offers 7, 14 and 28.Computed in lib/prompt-stats.ts, app/dashboard/[section]/page.tsx
Restart
When the workspace's country is set or changed, the days asked from another country leave the average; the chart marks the day.Computed in engine/market.py comparable
Restatement
A stored answer re-read with the current method or names; the verdict can change, the answer text never does. Every restatement writes a line to the corrections ledger with the number of answers that changed.Computed in engine/cutover_v2.py, metric_corrections
Retention
Answers keep their verdict, their judge quote, their cited pages and domains for good. The answer text is kept for 120 days, then cleared; attempts are deleted after 120 days. An answer without text is never re-read.Computed in engine/store_snapshot.py, engine/cutover_v2.py

The site, not the answers

GEO score
The site audit's grade of the site's readiness for AI search (crawlability, structured data, content), on the Reports page. Not the visibility score: that one measures the answers.Computed in engine/geo_audit.py

Also defined

Catalogue
The shop's own collections and products, read from the shop each week (Shopify's public listing first). Collections a shopper can reach come first; merchandising and app collections are kept but never shown.Computed in engine/catalog.py, Prompts
Readiness (product)
Which of the fields the shopping surfaces need a product page's own markup gives: the OpenAI product feed's required fields and Google's merchant listing fields, required and recommended, with Google's title and description length rules. Read by the monthly site audit for the product pages in its sample; a product not in a sample yet says not checked. The shop's own name meets the feed's seller name.Computed in engine/product_readiness.py
Cross check (traffic)
GA4's AI Assistant channel shown beside Citeon's own tracking over GA4's own window, never instead of it. When the two differ by more than a third the page says why: GA4 can be blocked by browsers and extensions, app visits land in GA4's Direct, and GA4 key events are whatever the site defines where Citeon leads are contacts only.Computed in components/dashboard/TrafficPage.tsx
What AI sends people to
The pages AI visitors landed on, grouped by kind (products, collections, articles, home, other). A catalogue page shows its title, the stored answers that cite it and the tracked question with the most answers that touches it; a page outside the catalogue shows a dash for those two, not a zero.Computed in lib/landing-kinds.ts, Traffic
Authority
DataForSEO's backlinks rank on its 0 to 100 scale (based on the number of referring domains) and the referring domains count, for the site and up to ten rivals, measured monthly. One vendor's model of links; Google's representatives said in 2020, as reported by Search Engine Journal, that Google does not use domain authority. A domain the vendor has never crawled says so instead of showing 0. In Ahrefs' study of 75,000 brands in AI Overviews (26 May 2025, Spearman), branded web mentions correlated 0.664 with being shown and Domain Rating 0.326: a correlation, not a cause.Computed in engine/authority.py, AuthorityCard
Visited (product)
An AI session, by the tracking's session rule, landed on that page in the window. A dash when tracking is not installed; a real zero when it is and nobody landed there.Computed in lib/pulse.ts aiLanding
Asked (product)
A tracked question shares a word with the item's title (the same rule as the win plan), shown with the share of those questions' answers that name the brand. A dash when no question touches it.Computed in lib/catalog-signals.ts

Why the words are published

A score you cannot reproduce is a score you cannot trust. Every figure in the dashboard, in a free audit report and on the data page is one of these words applied to stored answers, and every answer keeps its verdict, its judge quote and its cited pages so the figure can be opened to the sentence it came from. When a definition changes, the stored answers are re-read and the change is logged with the number of answers it moved; the answer text is never edited.

One word, one definition, one place in the code. Not measured is empty, never zero.

Citeon AI, the method rule

Questions people ask

What is the AI visibility score?

0 to 100: 60% of the mention rate plus 40% of the recommendation rate, over the scans of the last 28 days, each day in the window weighted equally. Not the GEO score.

When does an answer count as naming a business?

A product's or collection's full title appears in an answer, whole words only; a one word title needs eight letters or more and navigation labels never count. Written when the answer is stored, with the sentence as evidence.

What happens when an engine gives no answer?

The latest attempt for that question got nothing back from the engine: a timeout, an error, or Google showing no AI Overview for that search. Never counted as absent, never as zero.

Is share of voice a share of answers?

Of every time an answer named one of the tracked brands (the brand and its tracked competitors), the share that named this brand. Example: the brand named 4 times, rivals 12 times in total, share 25%. It is a share of names, not a share of answers.

Is the GEO score the same as the visibility score?

The site audit's grade of the site's readiness for AI search (crawlability, structured data, content), on the Reports page. Not the visibility score: that one measures the answers.

How long are answers kept?

Answers keep their verdict, their judge quote, their cited pages and domains for good. The answer text is kept for 120 days, then cleared; attempts are deleted after 120 days. An answer without text is never re-read.

Sources

  1. docs/METHOD.md in the Citeon AI repository. the document this page is built from, checked against the code on 7 October 2026
  2. Settings > Method in the Citeon AI dashboard. the same words, phrased to the workspace owner; the build fails if the two lists differ
  3. Citeon AI measurements, 24 August to 7 October 2026. 7,552 answers scored with these definitions