{
  "slug": "ranked-keyword-count",
  "name": "Ranked keywords per competitor",
  "aliases": [
    "Competitor ranked-keyword count"
  ],
  "definition": "How many tracked keywords a given domain holds a ranking for, counted per competitor on the rank-tracking dataset.",
  "category": "Competitive SERP",
  "type": "raw measure",
  "unit": "tracked keywords",
  "direction": "higher-better",
  "verification": "review",
  "aggregation": "Would be a count per domain and period; not summable across domains, since the same keyword is counted for each domain that ranks on it.",
  "grain": "One domain × segment × period × medium.",
  "dimensions": [
    "competitor domain",
    "intent",
    "brand",
    "country",
    "device"
  ],
  "requiredFilters": [
    "segment_id",
    "selected_period",
    "source_medium"
  ],
  "sources": [
    "rank-tracking"
  ],
  "reports": [
    "competitor-search-report"
  ],
  "skills": [
    "serp-feature-watch",
    "keyword-gap-audit",
    "competitor-deep-dive"
  ],
  "verbs": [
    "competitive_overview",
    "competitive_trends"
  ],
  "rungs": [
    "R2"
  ],
  "levers": [
    "L2",
    "L5"
  ],
  "questions": [
    "How many tracked keywords does this rival rank for?",
    "Is a competitor's ranked footprint growing faster than ours?"
  ],
  "caveats": [
    "The per-competitor rows were recovered and confirmed live on the rank-tracking dataset, so the data exists; it is the customer-side measure that is unreconciled, and the family is gated in both verbs because of it.",
    "The measure counts DISTINCT keywords on the rank-tracking dataset's rows. The position predicate that would restrict it to keywords actually holding a rank is written into the semantic layer but commented out, so what it counts is row coverage rather than ranked coverage.",
    "The customer-side measure name is carried in the registry as a hypothesis.",
    "A different, verified count of your own ranked keywords is available from the keyword ranking verb, do not treat the two as the same number."
  ],
  "freshness": "~1 day behind, Daily observation, available the following day.",
  "failureModes": [
    "Comparing your own computed ranked-keyword coverage against this per-competitor measure as if they shared a definition.",
    "Reading a larger ranked footprint as a larger share of demand."
  ],
  "notSameAs": [
    {
      "slug": "ranked-keyword-coverage",
      "why": "Coverage is computed in the MCP from your own returned rows and is published; this is a per-competitor measure on the ranking explore that is currently withheld. Same words, different numbers."
    },
    {
      "slug": "ranked-page-count",
      "why": "One counts keywords a domain ranks on, the other counts that domain's ranking URLs; a single page can carry many keywords."
    }
  ],
  "related": [
    "ranked-page-count",
    "ranked-keyword-coverage",
    "avg-rank-vs-competitors"
  ],
  "workflows": [],
  "lastVerified": "2026-08-04"
}