{
  "slug": "serp-mention-polarity",
  "name": "Mention polarity counts",
  "aliases": [
    "Positive, negative and neutral mentions"
  ],
  "definition": "The split of a brand's results-page mentions into positive, negative and neutral counts.",
  "category": "Competitive SERP",
  "type": "raw measure",
  "unit": "mentions in each polarity class",
  "direction": "neutral",
  "verification": "review",
  "aggregation": "Would be three counts that together account for the total mention count for one domain and period.",
  "grain": "One domain × polarity class × segment × period × medium.",
  "dimensions": [
    "competitor domain",
    "intent",
    "brand",
    "country",
    "device"
  ],
  "requiredFilters": [
    "segment_id",
    "selected_period",
    "source_medium"
  ],
  "sources": [
    "rank-tracking"
  ],
  "reports": [],
  "skills": [
    "serp-feature-watch",
    "competitor-deep-dive"
  ],
  "verbs": [
    "competitive_overview",
    "competitive_trends"
  ],
  "rungs": [
    "R4"
  ],
  "levers": [
    "L6"
  ],
  "questions": [
    "How much of what is said about us on these results pages is negative?",
    "Did negative mentions rise this period?"
  ],
  "caveats": [
    "Direction is class-dependent, more positive mentions is not the same kind of good as more negative mentions is bad, so a single direction cannot be stamped on the family.",
    "The three counts are opt-in sub-metrics of a gated family; both verbs refuse the whole family before any read.",
    "Each measure name is carried in the registry as a hypothesis, unreconciled against the product. The semantic layer does define all three as sums of the corresponding mention columns, so the open question is the reconciliation, not whether the fields exist.",
    "The three classes are summed from a validated-visible column with a legacy fallback, and they are not guaranteed to add up to the separately defined total-mentions measure."
  ],
  "freshness": "~1 day behind, Daily observation, available the following day.",
  "failureModes": [
    "Summing the three classes and presenting the total as the mention count without checking they reconcile.",
    "Reading a zero class as an absence of sentiment rather than an absence of data."
  ],
  "notSameAs": [
    {
      "slug": "serp-sentiment-share",
      "why": "Counts are volumes; the sentiment percentages are proportions of the same population, and one cannot be inferred from the other without the total."
    },
    {
      "slug": "serp-brand-mentions",
      "why": "This is the total; polarity counts split the same population by tone and are separate measures with their own reconciliation status.",
      "mirroredFrom": "serp-brand-mentions"
    }
  ],
  "related": [
    "serp-brand-mentions",
    "serp-sentiment-share"
  ],
  "workflows": [],
  "lastVerified": "2026-08-04"
}