{
  "slug": "not-ranked-keywords",
  "name": "Not-ranked keywords",
  "aliases": [
    "Not-ranked bucket",
    "Absent keywords"
  ],
  "definition": "Tracked keywords where at least one competitor ranks and you have no observed rank at all.",
  "category": "Competitive keywords",
  "type": "raw measure",
  "unit": "keywords",
  "direction": "lower-better",
  "verification": "verified",
  "calculation": "A keyword falls into the not-ranked bucket when a tracked competitor ranks on it and your own rank is null. Up to 25 rows are returned; the bucket total is reported separately and is not capped.",
  "aggregation": "A count of keywords, partitioning with the winning and losing buckets. Keywords on which no tracked competitor ranks never enter the comparison at all.",
  "grain": "One tracked segment × the date range.",
  "dimensions": [
    "query",
    "competitor domain",
    "segment"
  ],
  "requiredFilters": [
    "segment_id",
    "date range"
  ],
  "sources": [
    "rank-tracking"
  ],
  "reports": [
    "competitor-search-report",
    "search-opportunity-report"
  ],
  "skills": [
    "keyword-gap-audit",
    "ai-prompt-coverage-gaps",
    "competitor-deep-dive"
  ],
  "verbs": [
    "seo_keyword_gap_analysis"
  ],
  "rungs": [
    "R2"
  ],
  "levers": [
    "L5",
    "L2"
  ],
  "questions": [
    "Which keywords do competitors rank for that we do not?",
    "Where are we completely absent in this segment?",
    "What should we target next versus our rivals?"
  ],
  "interpretation": "Absence, which reads very differently from a poor position: there is nothing to nudge, so the lever is coverage rather than refinement. It feeds the net-new content conversation, which is the most expensive lever and the one that gets reviewed hardest before it is pulled.",
  "caveats": [
    "Not-ranked means no observed rank in this segment and window, it is not proof a page cannot rank, and it is not proof the page does not exist.",
    "Not-ranked is not a build order: intent alignment is reviewed before recommending new content, because coverage for its own sake is the named anti-pattern here.",
    "Because the client and competitor ranks are read separately, a bug in that split would inflate this bucket, the separate read exists precisely because a single combined read did.",
    "Segment-scoped: absence outside the tracked segment is not measured at all."
  ],
  "freshness": "~1 day behind, daily observation, available the following day.",
  "failureModes": [
    "Turning the bucket straight into a content brief without an intent review.",
    "Reading an inflated not-ranked count as a coverage collapse when it is a data-fetch artifact."
  ],
  "notSameAs": [],
  "related": [
    "losing-keywords",
    "winning-keywords",
    "our-rank"
  ],
  "workflows": [],
  "lastVerified": "2026-08-04"
}