{
  "slug": "keyword-rank-gap",
  "name": "Keyword rank gap",
  "aliases": [
    "Rank gap",
    "Gap to best competitor"
  ],
  "definition": "How many positions separate you from the best-ranked tracked competitor on a keyword.",
  "category": "Competitive keywords",
  "type": "derived metric",
  "unit": "positions (positive means the competitor sits above you)",
  "direction": "lower-better",
  "verification": "verified",
  "calculation": "gap = our rank − best competitor rank, rounded to one decimal, and null when we do not rank at all. A positive gap means the best tracked competitor sits above you; zero or negative means you are level or ahead.",
  "aggregation": "Per keyword. Gaps are not averaged into a segment-level gap, the bucket counts and the share metrics carry that job.",
  "grain": "One keyword × the date range, inside one tracked segment.",
  "dimensions": [
    "query",
    "competitor domain",
    "segment"
  ],
  "requiredFilters": [
    "segment_id",
    "date range"
  ],
  "sources": [
    "rank-tracking"
  ],
  "reports": [
    "competitor-search-report",
    "search-opportunity-report"
  ],
  "skills": [
    "keyword-gap-audit",
    "competitor-deep-dive",
    "striking-distance-sprint"
  ],
  "verbs": [
    "seo_keyword_gap_analysis"
  ],
  "rungs": [
    "R2"
  ],
  "levers": [
    "L2",
    "L5"
  ],
  "questions": [
    "How far behind are we on the keywords we lose?",
    "Which losing keywords have the smallest gap to close?",
    "Where do competitors beat us by the most positions?"
  ],
  "interpretation": "The size of each battle, used to sort the losing list from widest gap down. A small gap is a nearer target, not a cheaper one, the effort behind a position is not in this number, and neither is the demand behind the keyword.",
  "caveats": [
    "Both sides are impression-weighted averages over the window, so a gap under a position is inside the noise of the averaging rather than a visible difference on a results page.",
    "A gap is positions, not traffic, a wide gap on negligible demand outranks nothing worth having, which is why the worklist is weighted by demand before it is acted on.",
    "Null wherever we do not rank; those keywords belong to the not-ranked bucket instead and have no gap by definition."
  ],
  "freshness": "~1 day behind, daily observation, available the following day.",
  "failureModes": [
    "Prioritising by gap size alone and building a worklist of keywords nobody searches.",
    "Reading a sub-one-position gap as a real difference."
  ],
  "notSameAs": [
    {
      "slug": "search-market-share",
      "why": "A rank gap is a per-keyword position difference; search market share is a CTR-modeled share of tracked demand across the whole segment. Closing gaps on low-demand keywords can leave share unchanged, and share can move with no gap changing at all."
    }
  ],
  "related": [
    "our-rank",
    "best-competitor-rank",
    "losing-keywords"
  ],
  "workflows": [],
  "lastVerified": "2026-08-04"
}