Every registered metric, its eligible population and its N/A rule — generated from the governed metric registry.
Mention rate
Share of valid answers that mention the brand, deduplicated per answer and averaged inside each prompt cell before weighting.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(valid_answer_weight) == 0
- Always shown with:
- answer_cell_coverage, capture_coverage, status_distribution
Owned citation rate
Share of valid answers citing a domain verified as owned by the brand.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(valid_answer_weight) == 0
- Always shown with:
- status_distribution
Competitor-owned citation rate
Share of valid answers citing a domain owned by a competitor.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(valid_answer_weight) == 0
- Always shown with:
- status_distribution
MaxQ-controlled citation rate
Share of valid answers citing a source controlled by MaxQ or the customer’s delivery network; shown separately, never as earned authority.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(valid_answer_weight) == 0
- Always shown with:
- status_distribution
Independent-entity citation rate
Share of valid answers citing a third-party page verified to discuss the brand.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(valid_answer_weight) == 0
- Always shown with:
- status_distribution
Unrelated third-party citation rate
Share of valid answers citing a third party that does not discuss the brand.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(valid_answer_weight) == 0
- Always shown with:
- status_distribution
Share of voice (fixed set)
The brand’s weighted mentions divided by all deduplicated mentions across the frozen competitor set; the set version is always shown.
- Unit:
- share
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(set_mention_weight) == 0
- Always shown with:
- mention_rate, status_distribution, capture_coverage
AI Overview trigger rate
Valid eligible Google results that showed an AI Overview out of all valid eligible results, including non-triggers.
- Unit:
- ratio
- Eligible population:
- aio_eligible
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(eligible_result_weight) == 0
- Always shown with:
- aio_conditional_presence, aio_unconditional_presence, status_distribution
AIO presence when shown
Brand mentions inside captured AI Overviews out of captured AI Overviews; always read together with the trigger rate.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(analysed_overview_weight) == 0
- Always shown with:
- aio_trigger_rate, aio_unconditional_presence
AIO presence overall
Brand mentions inside AI Overviews out of all valid eligible Google results.
- Unit:
- ratio
- Eligible population:
- aio_eligible
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(analysed_eligible_weight) == 0
- Always shown with:
- aio_trigger_rate, aio_conditional_presence
Recommendation share
Share of valid answers with an explicit positive recommendation under the separately evaluated rubric; mere occurrence is not a recommendation.
- Unit:
- share
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(valid_answer_weight) == 0
- Always shown with:
- status_distribution
Ordered position
Mean rank when an actual ordered list exists; empty for prose without a real order.
- Unit:
- rank
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(ordered_answers) == 0
- Always shown with:
- reciprocal_rank
Reciprocal-rank prominence
1/rank for an ordered recommendation and zero when absent, over the labelled ordered-answer population.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(ordered_answers) == 0
- Always shown with:
- ordered_position
Mention sentiment
Distribution of mention-level sentiment labels; a brand that is not mentioned is N/A, never neutral.
- Unit:
- distribution
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(labelled_mentions) == 0
- Always shown with:
- status_distribution
Factual accuracy ratio
Verified supported claims out of claims with sufficient authoritative evidence; the uncheckable share is shown separately.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(checkable_claims) == 0
- Always shown with:
- factual_uncheckable_share, status_distribution
Uncheckable claim share
Share of extracted claims that cannot be checked against authoritative evidence.
- Unit:
- share
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(claims) == 0
- Always shown with:
- factual_accuracy_ratio
Status distribution
The full mix of observation statuses next to every conditional metric, so exclusions can never inflate reach.
- Unit:
- distribution
- Eligible population:
- all_statuses
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- none (diagnostic)
- N/A when:
- sum(observations) == 0
- Always shown with:
- capture_coverage, answer_cell_coverage
Refusal rate
Real refusals or non-answers out of completed captures; a refusal is disclosed, never a failed collection.
- Unit:
- ratio
- Eligible population:
- completed_captures
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(completed_captures) == 0
- Always shown with:
- status_distribution, capture_coverage
Capture coverage
Completed valid captures (answers, no-overview results and refusals with verified locale and valid parsing) out of planned supported slots.
- Unit:
- ratio
- Eligible population:
- completed_captures
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(planned_supported_slots) == 0
- Always shown with:
- answer_cell_coverage, status_distribution
Answer coverage
Weighted share of planned prompt cells that produced a valid answer.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(planned_eligible_weight) == 0
- Always shown with:
- capture_coverage, status_distribution
Verified-locale share
Share of completed captures whose effective locale could be verified.
- Unit:
- share
- Eligible population:
- capture_disclosure
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(locale_checked) == 0
- Always shown with:
- status_distribution, capture_coverage
Cited-source share
Share of valid answers carrying at least one citation.
- Unit:
- share
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(valid_answer_weight) == 0
- Always shown with:
- status_distribution
Replica agreement
How often repeated observations of the same cell agree; sentinel replicas feed this metric only.
- Unit:
- ratio
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- sum(replica_pairs) == 0
- Always shown with:
- status_distribution
First seen
First captured date on which the brand was observed.
- Unit:
- timestamp
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- none (diagnostic)
- N/A when:
- eligible_mentions == 0
- Always shown with:
- last_seen
Last seen
Most recent captured date on which the brand was observed.
- Unit:
- timestamp
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- none (diagnostic)
- N/A when:
- eligible_mentions == 0
- Always shown with:
- first_seen
Composite (equal weights)
Opt-in view averaging surfaces with predeclared equal weights; missing surface weight is shown, never redistributed.
- Unit:
- share
- Eligible population:
- answer_metrics
- Minimum sample:
- 30 families · 7 days · 90% coverage
- Interval:
- cluster_block_bootstrap · 2000 draws · 95% level
- N/A when:
- eligible_surfaces == 0
- Always shown with:
- status_distribution, capture_coverage