Skip to content

Metrics

Every Trakkr score, ratio, stage state and window, with the formula behind it and the thresholds the product actually uses.

32 min read
On this pageVisibility metrics

Most Trakkr scores run 0 to 100, and a few are plain counts. None has a universal good number. A visibility score of 40 can be strong in a category with fifty rivals and weak in a niche you should own outright.

Read every score against three things: your own number from last week, the tracked competitors beside it, and the slice you care about. A headline number covers one market and combines every prompt and AI in it, which hides most of what matters. Start with the per-model split, because scoring 80 on Claude and 30 on Perplexity is normal rather than alarming.

This page is the formula and definition lookup. If you need to decide what to do with an empty value or a zero, start with Zero and missing scores. For the mental model first, read Core concepts.

Visibility metrics

Visibility score

How often AIs name a brand when people ask, and how high in the answer. From 0 to 100.

Example numbers
Visibility
49.5
Named in
54of 168
Points
412of 1,680
On this pageWhat it counts

What it counts

On each scan, Trakkr collects an answer from every AI you track for each of your prompts. In each answer we find the highest place your brand is named, and count it once. First place earns 10 points, second earns 9, and so on down to tenth at 1. Lower than tenth, or not named, earns 0.

A request that fails isn’t an answer, so it doesn’t count either way. It never shows up as a zero.

The example brand has 21 prompts, so its scan on Oct 8 read 168 answers. It was named in 54 of them, and first in 14.

Place in the answerAnswersPoints
First, 10 points each14140
Second or third, 9 or 818154
Fourth or fifth, 7 or 61066
Sixth to tenth, 5 to 11252
Not named1140
Example, Oct 8168412 / 1,680
The example’s 168 answers on Oct 8, one square each: 21 prompts across, every AI down. Darker squares earned more points.

How it’s worked out

Add up the points, divide by the most the answers could have earned, then take the square root. The Dashboard’s Visibility figure is worked out this way; when its answers are on hand, opening it shows the sum.

points = 11 − place, for places 1 to 10, else 0
raw    = points ÷ (answers × 10) × 100
score  = 100 × √(raw ÷ 100)
With the example’s numbers, Oct 8
raw    = 412 ÷ (168 × 10) × 100 = 24.52
score  = 100 × √(24.52 ÷ 100)    = 49.5

Why the square root

Raw scores bunch near the bottom, because few brands are named first in most answers. The root stretches that end, so a real gain for a small brand is a change you can see. It lifts low scores more than high ones, and it never changes who is ahead.

raw 4 → 20raw 16 → 40raw 49 → 70Example,raw 24.52 → 49.5raw 0raw 1000100without the root
The score is the curve. Without the root, a brand at raw 4 would read 4 rather than 20.

What the root doesn’t do is reward being steady. That comes from the denominator: every answer counts, named or not, so a brand named in only a few answers scores low however high it places in them.

Is a change real?

Visibility moves a little from scan to scan, because AIs rarely answer the same way twice. So each brand gets a usual range, learned from its own recent scans: the average of its last 7 readings, give or take how far the score normally strays. A figure turns green or red only outside it, and the bell waits until it stays outside two scans in a row, on the same side.

Example brand’s Visibility, last 28 daysSep 11 to Oct 8 · Example
Sep 11: 48.8, still learning, day 8 of 21
Sep 12: 49.9, still learning, day 9 of 21
Sep 13: 48.2, still learning, day 10 of 21
Sep 14: 47.0, still learning, day 11 of 21
Sep 15: 48.6, still learning, day 12 of 21
Sep 16: 49.3, still learning, day 13 of 21
Sep 17: 47.8, still learning, day 14 of 21
Sep 18: 48.1, still learning, day 15 of 21
Sep 19: 49.7, still learning, day 16 of 21
Sep 20: 48.4, still learning, day 17 of 21
Sep 21: 47.2, still learning, day 18 of 21
Sep 22: 48.9, still learning, day 19 of 21
Sep 23: 49.4, still learning, day 20 of 21
Sep 24: 47.9, still learning, day 21 of 21
Sep 25: 48.3, inside its usual range of 46.5 to 50.5
Sep 26: 49.0, inside its usual range of 46.5 to 50.5
Sep 27: 47.5, inside its usual range of 46.4 to 50.4
Sep 28: 48.7, inside its usual range of 46.3 to 50.3
Sep 29: 49.8, inside its usual range of 46.5 to 50.5
Sep 30: 48.2, inside its usual range of 46.7 to 50.7
Oct 1: 47.6, inside its usual range of 46.5 to 50.5
Oct 2: 48.5, inside its usual range of 46.4 to 50.4
Oct 3: 49.2, inside its usual range of 46.5 to 50.5
Oct 4: 48.0, inside its usual range of 46.5 to 50.5
Oct 5: 48.8, inside its usual range of 46.6 to 50.6
Oct 6: 47.9, inside its usual range of 46.6 to 50.6
Oct 7: 48.6, inside its usual range of 46.3 to 50.3
Oct 8: 49.5, inside its usual range of 46.4 to 50.4
±2.0
Example brand's usual range
+1.1
Oct 8, against its 7-day average (48.4)
Inside the range
all 14 days inside it
Our side first: all 168 answers came back on Oct 8, so the move isn’t missing answers.

One AI at a time

Each AI gets its own score from its own answers. The overall score adds every AI’s points and answers first, then takes the root once. Averaging the AI scores instead would give a different, wrong number.

  • Grok44 of 210 points45.8
  • Meta AI40 of 210 points43.6
  • Claude55 of 210 points51.2
  • DeepSeek36 of 210 points41.4
  • Gemini62 of 210 points54.3
  • ChatGPT78 of 210 points60.9
  • Perplexity70 of 210 points57.7
  • AI Overviews27 of 210 points35.9
  • Overall412 of 1,680 points, one root49.5

The average of the AI scores above is 48.9. That’s why it’s never used.

Where you’ll see it

DashboardFirst figure

The first figure on the page. When its answers are on hand, opening it shows the sum.

PromptsPer prompt

One score per prompt, from its own answers, worked out the same way.

CompetitorsEvery brand

Every brand gets a score from the same answers, so they line up fairly.

ReportsEach scan

Each scan’s score is this sum. A range shows the average of its days.

Sentiment does not enter this formula. Branded prompts are not automatically excluded from the position score, so mixing them into a discovery baseline changes its meaning. Use Prompts to choose a fair set and tags to compare it.

Presence rate

In the live dashboard, individual reports and Data Explorer, presence is the share of usable AI answers that mention you, whatever the position. Failed requests do not count as answers where you were absent. Check collection coverage beside the score: a smaller or different sample can still change the result. With no usable answers, presence is unavailable.

Historical app values use this same calculation where exact answer counts are saved. Older values without those counts are unavailable. Existing external API fields, frozen monthly archives and previously generated reports retain their original calculation, which includes failed attempts in the denominator. Do not compare those percentages directly with app presence.

Good is 50% or more, excellent is 75% or more, and near 100% is a reason to review whether your prompt set fairly tests category discovery. Branded questions can inflate it. Presence is breadth, visibility is depth: a brand named tenth in every answer has 100% presence and 31.6 visibility.

Average position

The mean answer position, counted only in answers that mentioned you, so prompts where you never appear push presence down rather than average position up. Excellent is 1 to 2, good is 3 to 4. A strong average position next to a weak presence rate means you only show up in your easiest prompts.

Mentions

Answers that named your brand, at any place, counted once per answer, across all prompts and models in the period. One scan a day counts (the day's latest), as everywhere: the Dashboard's figure is the last 7 days summed, Reports shows a daily average, and a scan's own page shows that scan. Mention share is the same count as a proportion: your mentions divided by all brand mentions in the same model, tag, market, prompt and time scope.

Competitive metrics

Rank

Your place among the brands AI named, ordered by Visibility on the latest scan, and "of N" is how many brands that is. Each brand counts once: a product AI names on its own ("Puma Ultra Nitro 7") counts with its brand when the brand has a saved group, and so does a name that differs only by case. A product isn't added to its brand's score until you save it to the group in Manage. On one AI's page and the Competitors AIs tab, the rank counts the brands that AI named. A month-end rank on Reports and Perception's rank say their own sets.

Share of voice

Check which share the page labels. On Explore, Share of voice is answer presence. On Competitors, Share is your share of all brand mentions in the same scope. Named first (earlier called Recommended first) is a different figure: how often you were the first brand named in an answer. Compare either over the same scope.

Win rate

How often you rank above one competitor in answers where you both appear: on Competitors, shared answers where you rank higher divided by shared answers, over the last 14 days. Winning is 55% or more, dominant is 70% or more. It ignores answers where you never appear, so check presence before trusting a high number.

On Competitors, use the Filter to compare the same tags and AI.

Competitive gap

The difference in points between your visibility score and one competitor's. Positive means you are ahead. It presents two scores you already have, not a new measurement.

Head-to-head

The competitor detail view, opened from any competitor row: your wins, their wins and ties across every shared prompt, plus a per-model breakdown.

Citation metrics

Citations

Every time an answer cited a page, on any site, over the last 30 days. The Dashboard and the Citations page show the same number. Two counts sit beside it and never take its name: cited pages (each different page once) and sources (each site once). A source's own tile or row is in citations too, so no tile is ever bigger than the total.

Domain Rating

Ahrefs' 0 to 100 estimate of a domain's backlink authority. It belongs to the domain, not to your brand, so treat it as a supporting signal rather than a ranking. High is 70 or more, medium is 40 to 69, low is below 40. Look for the Ahrefs attribution and read the available source date; a domain rating is not a live measurement of citation performance.

Citation quality

The average authority of the sources citing you. In the product, authority is read per domain as Domain Rating in the Source explorer rather than as one rolled-up site score, so judge the mix of domains rather than chasing a single figure.

Source type

Every citing domain is classified into one of eight types.

TypeWhat it covers
MediaNews and editorial publications
InstitutionsGovernment, education and research sites
ReviewsReview platforms
YoursYour own sites
SocialUser-generated content, including community threads
Rivals’ own sitesCompetitor sites
Press releasesPress distribution services
OtherSources outside the other categories

Citation intent

The buyer intent behind the queries that produced each citation. Coverage per cluster is the queries where your brand appears divided by the queries in that cluster.

IntentWhat it captures
Comparison"X vs Y" queries
Alternative"Alternatives to X" queries
Best For"Best X for use case Y" queries
Discovery"What is X" and definition queries
Recommendation"Recommend me something for X"

Heavy Discovery coverage and nothing on Comparison means buyers know you exist but you are not in the shortlist.

Citation sentiment

Whether each citing page discusses your brand positively, neutrally or negatively, judged with your brand as the subject. Use the tone filter on Sources to narrow by sentiment. The split bar shows pages naming you, only rivals, or other pages, which is not sentiment.

Perception metrics

Overall perception

How positively AI models describe your brand, as one 0 to 100 score across 20 attributes in five categories. It averages the ratings the AIs give your brand on the latest weekly read. Excellent is 75 or more, good is 60 to 74, below 60 needs work.

The five categories

Each category averages four attributes. The Perception page shows the full grid plus a per-model breakdown.

CategoryAttributesTop brands
Trust & ReliabilityOverall trust, Reliability score, Transparency level, Safety perception70+
Quality & PerformanceOverall quality, Problem resolution, Responsiveness, User satisfaction72+
Value & ExperienceValue for money, Ease of interaction, Accessibility, Necessity level68+
Market PositionBrand recognition, Professional image, Recommendation likelihood, Uniqueness70+
Innovation & AppealForward thinking, Adaptability, Likability, Confidence inspiring65+

Prompt demand metrics

Demand score

A 0 to 100 estimate of how likely people are to ask a question in AI chat. It blends measured search demand with LLM affinity, which is how naturally the query fits a conversation rather than a search box, then deducts points for very long and narrow phrasing. The output is compressed with a floor of 20, so a quiet prompt never sits at zero and an outlier never pins the chart.

High is 70 or more, medium is 40 to 69, niche is below 40. It is a bucket, not a rank: 72 against 68 is a coin flip.

AI volume

The estimated number of times people ask AI platforms about a topic each month. Platforms do not publish query volume, so Trakkr runs a waterfall and takes the highest-confidence source available. Hover any volume to see its tier.

TierLabelWhere the number comes from
HighMeasuredPanel data from AI search platforms
MediumCalibratedSearch volume plus learned per-category ratios
MediumInterpolatedMeasured prompts elsewhere in your own set
LowProjectedTopic classification, with no search data

Estimates carry a ~ prefix and round conservatively. High is 10K or more, medium is 1K to 10K, niche is below 1K.

The platform split uses fixed market-share estimates: ChatGPT 72%, Gemini 12%, Claude 6%, Perplexity 5%, Microsoft Copilot 3%, everything else 2%. It is then skewed by query type, and every prompt is classified as comparison, recommendation, how_to, factual, navigational, creative or technical. Those shares estimate volume only, which is why Microsoft Copilot appears; the AIs your answers come from are listed on Core concepts.

Crawler and visitor metrics

The Crawlers page counts requests, not outcomes. A matching request proves a signature reached the page, and nothing beyond that: not that the content was parsed, retained, indexed or cited.

CardWhat it counts
Total requestsAI bot requests over the last 30 days, every purpose
ConversationsUser-triggered fetchers such as ChatGPT-User
AgentsAgent and coding-tool signatures such as Claude Code
IndexingSearch-class crawlers such as OAI-SearchBot
TrainingCrawlers classified for training or bulk collection

Conversations

A strong leading signal, because a user-triggered fetch is usually someone's question leading an AI to your page. Pages with search-class requests and no citations are an investigation set, not a verdict.

AI Visitors

Real people landing on your site from an AI referrer, read from your connected Google Analytics 4 or PostHog property. The registry covers ChatGPT, Perplexity, Claude, Gemini, Microsoft Copilot, Meta AI, You.com, Phind, Poe and a generic bucket. Crawler hits record a matching request; AI visitors record an attributable session, though the referrer rarely names the answer behind the click.

Reddit metrics

Reddit citation score

A 0 to 100 estimate used to rank threads worth investigating. It considers the title, discussion depth (when the scan could count the replies; otherwise that factor is left out), recency and relevance to your category. It is not a measured probability that a model will learn from or cite the thread. Vote popularity and community authority are not fully measured, so inspect the thread and its community rules yourself. The score drives the citation band filter and the Reddit work ranking.

Reddit draft grade

The quality of a drafted reply, scored 0 to 10 on four weighted dimensions plus a disclosure check.

DimensionWeightWhat it grades
Helpfulness30%Does it answer the question
Specificity25%Concrete and actionable, or generic
Reddit tone25%Reads like a person, not a brand
Non-spammy20%Product mentions stay proportionate
DisclosureFlagIs the affiliation stated plainly

Outreach metrics

These rank the citation gaps worth chasing and power the Outreach tab in Citations. Everything here is computed from the citation snapshot; no model grades a publisher.

Impact

How much tracked-prompt visibility a publisher is costing you, 0 to 100. Under the number is a visibility-leak score that multiplies how often the engine pulled the page, how many of your tracked prompts and queries it answers, how many rivals are cited on it, and the site's Domain Rating. Pages you cannot realistically pitch (Reddit, Wikipedia, Amazon and similar) and pages a competitor owns are scaled down. Raw leaks are compressed so your biggest gap reads about 100 and the long tail stays legible. Impact is the default order in every Outreach lens.

Difficulty

How hard the publisher is likely to be, graded against your own gap set rather than absolute thresholds.

GradeWhen it applies
HighCompetitor-owned or unpitchable, Domain Rating 80 or more, or the top tenth of your gap set by appearances
MediumDomain Rating 55 or more, or the top 40%
LowEverything else

The estimate is corrected later by the dossier, which checks whether the site actually accepts contributions.

Tier and Quick win

Each publisher also gets a relative tier by rank inside your own set: the top quarter is high, down to 60% is medium, the rest is low. Ranking rather than thresholding keeps the spread useful when one publisher dwarfs the others. A Quick win is a high-tier publisher with Low difficulty, the rare "do this first" flag shown on the row until you contact them.

Retired: Fit score and quadrants

Earlier versions of Outreach ranked publishers by a fit score and sorted them into Quick Wins, Worth It, Low Priority and Skip quadrants. Both were replaced by Impact, Difficulty and the tier above.

Journey stage states

Every Page moves through six stages. Ok, Degraded and Stalled are deterministic rules, never a model's opinion. Relevant is inferred and always carries an Estimated label.

StageOkDegradedStalled
Available200 and indexableHTTP warning or canonical mismatchHTTP or robots fails, or indexing blocked
Reached5 or more fetches in 30 days, one from a search crawler1 to 4 fetches, or no search crawler0 fetches in 30 days
UnderstoodPassed the text-volume check against the browser baselineIt gets 30% to 60% of the text, or extra contentIt is blocked or gets a thin shell
Relevant2 or more detected queries match tracked prompts, or Search Console overlaps themSome signal, below the barNo topical signal
SelectedCited by an AI answer in the last 30 daysCited before, not in the last 30 daysNever cited
VisitedAn AI-referral click, or clicks above the brand's page medianImpressions without clicks, or clicks under itNo arrivals

A stage reads Not measured when the source or check is missing, not when the page failed. At site level, Bottleneck marks the observed stage that loses the largest share of measured pages, and Relevant can never be the bottleneck because it is inferred.

Results metrics

Results measures finished work against a window fixed before the work started. Work state and outcome stay separate: an action can be done while its result is still Measuring, and done never means Earned.

Earn rate

The share of judged results that earned.

Text
Earn rate = Earned / (Earned + Below the bar + Coincided with a drop) × 100

Couldn't measure is excluded from the denominator, because Trakkr did not have the evidence to judge it, and that count is always shown beside the rate. With 6 earned, 4 below the bar and 3 unmeasured, the earn rate is 60% and the three stay visible.

The earned bar

A result earns when its frozen primary metric clears both a relative and an absolute gain.

Text
after ≥ max(before × 1.25, before + 3)

Both halves matter: 2 to 3 is a 50% rise but one extra event, and 100 to 103 adds three but is only 3%. Google impressions use an absolute floor of 50 rather than 3 because they are noisier. The metric, target page, window and rule are frozen when the work starts, so the bar cannot move once the result is known.

The drop threshold

Coincided with a drop is deliberately harder to fire than Earned. The window has to be at least 28 days, the fall has to clear the mirrored 25% and absolute bar, and the weekly fall has to beat normal variance across the four earlier weeks.

The absolute floors are 5 for crawler fetches and clicks, 2 for citations and 50 for impressions, and the before value has to be at least four times its floor. If variance history is missing, the fleet guard cannot be checked, or suspect data falls inside the window, no drop verdict fires. Even when one does, Trakkr describes timing, never cause.

Measurement windows

The work type sets the after period, and the baseline uses the same number of days immediately before the work finished. Slower work gets a longer window: a technical fix is read after 14 days, while content and outreach get 42 to 70.

Work typeWindow
Technical fix14 days
Page improvement28 days
Content refresh42 days
New content42 days
Outreach draft42 days
Reply draft42 days
Campaign70 days
SetupNot measured

Variance and short history

For count-based journey stages, a dip does not move a stage away from Ok unless the current seven-day total also sits more than max(absolute floor, 2 × standard deviation) from the mean of the four earlier weekly totals. The floors are 5 fetches for Reached, 2 citations for Selected and 5 clicks for Visited. The hold needs at least 28 days of history.

Suspect data

When crawler fetches across the whole Trakkr fleet fall by more than 40% from one day to the next, that day is marked suspect. A page stage never falls because of a suspect window, and a drop verdict cannot fire for a window containing a suspect day.

Periods and the monthly archive

The dashboard headline is one day's report. A rolling window such as the last 30 days is recomputed from today every time it is asked, so the same question answers differently on the 3rd and the 9th. Neither belongs in a monthly report, so Trakkr keeps a frozen monthly archive that the API and Agent read wherever a month is asked for by name. Reports computes its headline monthly figures from the scans in its current scope.

Why a closed month is frozen

After each month ends, hourly batches write one row per brand to the archive and retry any brand that did not finish. The row holds every reportable metric for the month, formed from the daily reports, the weekly perception scans, the citation snapshots and the site audits that fell inside it. A closed month stays fixed unless a correction is recorded: the figure you publish in September for August is the figure you can fetch again in December, and it changes only if a correction is recorded.

SourceWhat it isWhen it changes
Dashboard headlineThe latest single day's reportAfter a completed scan
Rolling window (days=30)Recomputed over the last 30 days from todayEvery day, and differently depending on the day you ask
Period (period=2026-08)The archived row for the calendar monthNever, except by a recorded restatement

The open month is computed month to date and is labelled status: open. It is not archived and will change until the month closes. Every period response says where each figure came from: archive for a frozen month, computed for the open month or for a closed month archived on demand, derived_from_months for a quarter, and missing when the archive holds nothing for that brand and month.

Period keys and quarters

A month is YYYY-MM, so August 2026 is 2026-08. A quarter is YYYY-Qn, so July to September 2026 is 2026-Q3. Either key is a scoping parameter, not a date filter: it names the row to read rather than a range to recompute over.

A quarter is derived from its three months by a rule per metric:

  • Averages (visibility, presence, average rank, perception) are weighted by the days measured or the scans completed in each month, so a month with 30 reports counts for more than a month with 12.
  • Counts (mentions, citations, days measured, scans) are summed.
  • End-of-period figures (rank, competitors tracked, pages citing the brand, site health) are taken from the last archived month in the quarter.
  • Rank by average visibility is not derived for a quarter: a quarter's average ranking would need every brand's quarter average, which the archive does not keep.
  • Lists are merged by page or domain with their citation counts summed, or taken from the last month, depending on the metric.

A quarter with a month still open reads status: open and says so in its notes.

Restatements

An archived figure only changes when a month is recomputed, and a recompute that changes a stored figure records a restatement instead of silently overwriting it. Each restatement keeps the date, a note saying why, the pipeline version before and after, and every field that changed with its old and new value. The original freeze date is kept, and restated_at marks the latest restatement. A period response carries the full list in period.restatements, so a report can say that August was restated on September 14 and mentions went from 812 to 815, rather than showing a different number with no explanation.

Two things are not restatements. Adding a breakdown to an older month that was archived before the full report set existed extends the row without changing any figure already on it. And the open month changes freely until it closes, because nothing about it is frozen yet.

Where to get a period

  • Reports, Months tab. Up to 12 closed months and the current month so far, each compared with the month before. Opening a month shows its rank both on the last measured day and on the month's average.
  • API. GET /get-period-summary?brand_id=BRAND_ID&period=2026-08 returns the whole month: every metric with its prior value, delta and direction, plus the breakdowns. Add period= to /get-scores, /get-rankings, /get-models, /get-competitor-data, /get-citations, /get-perception or /get-audits to read that endpoint's own shape from the archive. GET /get-metrics returns the definitions below. See the Periods endpoint page.
  • MCP. The get_period_summary tool, and the trakkr://brand/{id}/period/{period} and trakkr://metrics resources.
  • Agent. Ask for a month by name, such as how August compared with July, and the Agent reads the same archive through its get_monthly_history tool.

The API and Agent read this archive row for a period. Reports builds its figures from the scans in its current scope, so they can differ from the archived figures. The metrics below are the archive's vocabulary, in the order a report reads them. Each entry gives the definition, then how the month is formed and how two periods compare.

Visibility

How often and how prominently the brand shows up in AI answers.

  • Visibility average: How prominently AI models mention the brand across every tracked prompt and model, weighted by where it appears in the answer, averaged over each measured day in the period. 0 to 100. (mean of daily values; compared in points)
  • Presence average: The share of tracked prompt and model requests where the brand appears at all, whatever the position, averaged over each measured day in the period. (mean of daily values; compared in points)
  • Mentions: How many times AI models named the brand in answers to the tracked prompts during the period. Counts occurrences, not distinct sources. (sum of daily values; compared as a percentage change)
  • Lowest daily visibility: The lowest single-day visibility score in the period. Read it with the average to see whether a dip was one day or a trend. (lowest daily value; not compared)
  • Highest daily visibility: The highest single-day visibility score in the period. A high far above the average is a spike, not the month. (highest daily value; not compared)
  • Days measured: Days in the period with at least one completed report. (count of measured days; not compared)
  • Visibility by model: Average visibility and presence per AI model over the period, from the same daily reports as the headline. The strongest and weakest model are read from here. (mean of daily values per model; compared in points)

Competitors

Where the brand sits among every brand AI names for its prompts.

  • Rank at month end: The brand's position at the end of the period in the list of every brand observed in AI answers to its prompts. Brands are ordered by their visibility on the last measured day of the period, not by the period average. Always read it with the pool size. (rebuilt from the retained raw answers when the month closed; compared in positions, where a positive number is an improvement)
  • Average rank: The average of the daily rank readings recorded during the period, on the days the rankings were computed. (mean of daily values; compared in positions)
  • Rank by average visibility: The brand's position in the same pool as Rank at month end, with every brand ordered by its average daily visibility over the month instead of the last measured day, so one day does not decide it. Each brand's figure comes from the same ranking data, so the brand's own average can differ slightly from the visibility headline. Months archived before October 2026 do not have it. Not derived for a quarter. (rebuilt from the retained raw answers when the month closed; compared in positions, where a positive number is an improvement)
  • Competitors tracked: How many distinct brands AI answers named alongside the brand over the period. A rank means nothing without it, and the pool grows and shrinks as answers change. (rebuilt from the retained raw answers when the month closed; compared as a percentage change)
  • Top competitors: The most visible other brands at the end of the period, with their rank and their visibility on the last measured day of the period, which is what the rank is ordered by. The brand's own figure for that day is kept alongside, so it can be compared on the same basis; the visibility headline is the period average instead. Who gained ground is read by comparing this list with the prior period. (rebuilt from the retained raw answers when the month closed; not compared as one number, each entry carries its prior rank and visibility)
  • Top competitors by average visibility: The most visible other brands over the month, ordered by their average daily visibility, with their rank on that basis and the brand's own average kept alongside. This is the table behind Rank by average visibility. Not derived for a quarter. (rebuilt from the retained raw answers when the month closed; not compared as one number, each entry carries its prior rank and visibility)

Citations

Where AI models are learning from, and which of those sources name the brand.

  • Citations: New citations observed across every source AI models used for the tracked prompts during the period, whether or not the page names the brand. Market activity, not the brand's own. (sum of new activity between daily snapshots; compared as a percentage change)
  • Brand mentions in citations: Source pages naming the brand that AI models cited for the first time during the period. Each page counts once however often it was cited, so this measures new sources, not citation volume. (sum of new activity between daily snapshots; compared as a percentage change)
  • Pages citing the brand, all time: The running total of distinct source pages that name the brand, as it stood at the end of the period. This is the archive's all-time figure. The Citations page may show a rolling 30-day count, which can fall. (value at the end of the period; compared as a percentage change)
  • Citation days: Days in the period with a citation snapshot. (count of measured days; not compared)
  • Source domains: Distinct domains AI models had drawn on for the tracked prompts, as of the end of the period. (value at the end of the period; compared as a percentage change)
  • Source domains naming the brand: Of those domains, how many had at least one cited page that names the brand, as of the end of the period. (value at the end of the period; compared as a percentage change)
  • Share of source domains naming the brand: Source domains naming the brand divided by all source domains, at the end of the period. Of everything AI draws on, how much of it mentions the brand. (derived from the two figures above; compared in points)
  • Top pages citing the brand: The source pages naming the brand that AI models cited most during the period, with how often and by which models. The assets carrying the brand into AI answers. (sum of new activity between daily snapshots; not compared, new entries are flagged against the prior period)
  • Top source domains not naming the brand: The domains AI models drew on most during the period where no cited page names the brand. Outreach targets. (sum of new activity between daily snapshots; not compared, new entries are flagged against the prior period)

Prompts

Which questions the visibility comes from, and which it does not.

  • Prompts measured: Tracked prompts with at least one successful model response in the period. (value at the end of the period; not compared)
  • Prompts with visibility: Tracked prompts where the brand appeared at least once during the period. (value at the end of the period; compared as a percentage change)
  • Prompt coverage: The share of measured prompts where the brand appeared at all during the period. The headline for how many questions the brand is in the room for. (derived from the two figures above; compared in points)
  • Top prompts: The tracked prompts with the highest average visibility over the period. A prompt new to this list is called out against the prior period. (mean of daily values per prompt; not compared, new entrants are flagged)
  • Visibility by tag: Average visibility per prompt tag over the period, with how many of its prompts scored zero. Tags are the brand's own grouping, such as service lines. (mean of daily values per tag; not compared as one number, each tag carries its prior visibility)

Perception

How AI models describe the brand.

  • Perception average: The average of the weekly perception scores from scans completed in the period. Perception scores how AI models describe the brand, 0 to 100. (mean of the weekly scans in the period; compared in points)
  • Perception categories: Average score per category (trust, quality, value, market position, innovation) over the weekly scans in the period. (mean of the weekly scans per category; compared in points)
  • Perception by competitor: Average perception score per tracked competitor over the weekly scans in the period, the brand included. Each scan's figure is the mean of the twenty perception metrics, the same basis for every brand, so it can differ slightly from the headline perception average, which averages the measured model ratings. (mean of the weekly scans per competitor; not compared as one number, each entry carries its prior score)
  • Descriptors at period end: The words AI models used most to describe the brand in the last perception scan of the period, with the descriptors that emerged and faded. (taken from the last weekly scan in the period; not compared)
  • Perception scans: Weekly perception scans that completed inside the period. (count of scans; not compared)

Site health

How well the site is built for AI visibility.

  • Site health score: The overall score of the newest completed site audit at the end of the period, 0 to 100. Site scans are weekly; a period with no scored audit falls back to the most recent one within 90 days. (value at the end of the period; compared in points)
  • Open audit issues: Issues open in that audit, across all severities. (value at the end of the period; compared as a percentage change)
  • Site scans: Site scans that completed inside the period. (count of scans; not compared)

Trends compare the latest value against the most recent reading from before the window: 7-day change against a reading over 7 days old, 30-day change against one over 30 days old.

Window choices depend on the surface. The Dashboard offers 7 and 30 days. Competitors offers 7, 30 and 90-day presets, This month and custom dates. Crawlers offers 24 hours, 7, 30 and 90 days. Visitors offers 7, 30 and 90-day presets. Comparison labels vary by page; Competitors offers Nothing, The period before and The same period last year.

A change turns green or red only when the figure lands outside its usual range; inside it, it stays grey. When nothing comes before the window, it reads No prior data.

Inspect sustained changes and large movements, but do not infer a cause from their size alone. Compare per-model results, prompt changes, coverage and cited sources in the same scope. A competitor's new source or a provider change is a hypothesis to investigate, not a diagnosis from the chart.

Benchmarks

Industry percentile ranks your perception score against a stored benchmark for your industry, built from the 25th, 50th, 75th and 90th percentiles of brands in it. It renders as a band, not a number: Top 10%, Top 25%, Above Median, Below Median or Bottom 25%. The current Perception page does not show it.

vs competitor average compares one of your category scores against the mean of that score across tracked competitors, so a Market Position reading of +6.8 puts you almost seven points above them.

Site and storyline scores

Checks score

Your site's 0 to 100 checks score from Optimize, weighted by AI attention and shown as Health in the page bar with its change since the last audit. Use it for trend, then read the verdict and the checks to decide what to fix.

Storyline score

For any storyline you track, a 0 to 100 score that averages how kindly the AIs tell it on the latest weekly read. Visibility asks how often you appear; this asks what AI says about one theme.

Common questions

Why is my visibility score lower than my presence rate?

Presence asks whether you were mentioned at all. Visibility weights where you landed and divides by every successful response in the slice, not only the ones you appeared in. A brand mentioned in every answer but always last shows full presence and low visibility.

Why did my score move when I changed nothing?

Reports can change as the observed answers, provider behavior, prompt set or available coverage change. Check the report date and per-model evidence first, then compare the same market and prompt group. A pattern across models helps narrow the investigation but does not establish its cause.

Why is a result still Measuring after the work is done?

Work state and outcome are separate. When work starts, Trakkr saves a window for its kind of work, from 14 days for a technical fix to 70 for a campaign, and waits for the full window after it is done before judging.

Why does my month-over-month figure change depending on the day I ask?

A rolling window such as the last 30 days is recomputed from today, so on the 3rd it covers different days than on the 9th. Anything that will be compared month to month should read a period instead: period=2026-08 returns the archived row for August, as it stood when the month closed. The same figures come back however later you ask, unless a correction is recorded, so check the row's restatement details when you reproduce a past figure. The API, MCP and the Agent read that row. Reports calculates its figures from the scans in its current scope.

Why does Trakkr say a page has crawler hits but no citations?

A crawler hit records that a matching request reached the page. It does not prove the content was parsed, retained or used in an answer. Treat those pages as an investigation set: check prompt relevance, access, the canonical URL and who else is cited.