{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "metric": "Share of Map",
  "abbreviation": "SoM",
  "version": "1",
  "published": "2026",
  "url": "https://shareofmap.com/",
  "developer": {
    "name": "Heady",
    "url": "https://useheady.com/"
  },
  "license": "Published methodology. Free to implement and cite with attribution.",
  "definition": "Share of Map is a 0 to 100 score for how much of the available demand a business captures across the markets and categories it competes in, adjusted for whether it keeps the customers it wins.",
  "range": {
    "min": 0,
    "max": 100
  },
  "unit_of_measurement": {
    "name": "cell",
    "definition": "One product category in one local market. A single line in a single metro. A format in one trade area.",
    "note": "Cells are weighted by demand and strategic value before roll-up."
  },
  "formula": {
    "plain_text": "Effective Share of Map = min(100, (0.40 * grid_share + 0.35 * longtail_share + 0.25 * capture_rate) * clamp(repeat_rate / category_benchmark, 0.50, 1.25))",
    "position_score": {
      "expression": "0.40 * grid_share + 0.35 * longtail_share + 0.25 * capture_rate",
      "range": {
        "min": 0,
        "max": 100
      }
    },
    "retention_factor": {
      "expression": "clamp(repeat_rate / category_benchmark, 0.50, 1.25)",
      "operation": "multiplies the position score; it is never averaged into it",
      "floor": 0.5,
      "cap": 1.25
    },
    "ceiling": {
      "value": 100,
      "note": "Position is already a share of a finite surface, so the result is capped at 100. A retention factor above benchmark closes the distance to the ceiling faster but cannot push a company past it."
    }
  },
  "pillars": [
    {
      "key": "grid_share",
      "name": "Grid share",
      "weight": 0.4,
      "unit": "percent",
      "definition": "Share of the visible slots across a geographic grid, on every surface that behaves like a map in the category: the local map pack plus the marketplaces and directories buyers actually browse.",
      "note": "For companies that sell through others, this is presence across the listings that carry them, multiplied by position within those listings."
    },
    {
      "key": "longtail_share",
      "name": "Long-tail share",
      "weight": 0.35,
      "unit": "percent",
      "definition": "Share of the full category query universe by market, including brand and product searches and citations in AI answers to questions of the form 'where do I buy X in Y'."
    },
    {
      "key": "capture_rate",
      "name": "Capture rate",
      "weight": 0.25,
      "unit": "percent",
      "definition": "Share of detected opportunities where a company reached the top three in that cell within 45 days.",
      "window_days": 45,
      "opportunity_types": [
        "open cell",
        "competitor delisting",
        "new category",
        "demand spike"
      ]
    },
    {
      "key": "retention_factor",
      "name": "Retention factor",
      "weight": null,
      "operation": "multiplier",
      "unit": "ratio",
      "definition": "Repeat rate divided by category benchmark, clamped between 0.50 and 1.25.",
      "rationale": "Repeat purchase is structurally low in some categories and high in others, so the comparison is relative to a category benchmark rather than to 100 percent."
    }
  ],
  "failure_modes": [
    {
      "code": "no_listing",
      "name": "No listing",
      "definition": "The cell does not exist for the company. Not in the index for that category in that trade area.",
      "fix": "Create the listing or the localized page",
      "relative_cost": "lowest",
      "payback": "days to weeks"
    },
    {
      "code": "thin_listing",
      "name": "Thin listing",
      "definition": "Present but incomplete: missing categories, hours, attributes, product feed or images.",
      "fix": "Complete the record and keep it fed",
      "relative_cost": "low",
      "payback": "weeks"
    },
    {
      "code": "no_content",
      "name": "No content",
      "definition": "Nothing on the site resolves the intent behind the query.",
      "fix": "A page that answers the question",
      "relative_cost": "medium",
      "payback": "one to two quarters"
    },
    {
      "code": "no_reviews",
      "name": "No reviews",
      "definition": "Present in the cell but losing the click on social proof.",
      "fix": "A review system rather than a review campaign",
      "relative_cost": "medium, ongoing",
      "payback": "compounds"
    },
    {
      "code": "absent_from_browse",
      "name": "Absent from browse",
      "definition": "Ranking for the search but absent from the marketplaces and directories buyers browse.",
      "fix": "Distribution, feeds and placement",
      "relative_cost": "varies by surface",
      "payback": "immediate on placement"
    },
    {
      "code": "no_repeat_purchase",
      "name": "No repeat purchase",
      "definition": "The cell is won and the customer is lost. Position is real and rented.",
      "fix": "Retention systems: lifecycle, loyalty, reorder",
      "relative_cost": "highest to build",
      "payback": "largest, and it multiplies"
    }
  ],
  "worked_example": {
    "note": "Illustrative. Six locations, three metros, twelve categories, roughly 1,000 cells.",
    "inputs": {
      "grid_share": 38,
      "longtail_share": 24,
      "capture_rate": 61,
      "repeat_rate": 22,
      "category_benchmark": 26
    },
    "steps": {
      "weighted_grid": 15.2,
      "weighted_longtail": 8.4,
      "weighted_capture": 15.3
    },
    "position_score": 38.9,
    "retention_factor": 0.85,
    "effective_share_of_map": 33,
    "upside_at_benchmark": "+6 points with no new visibility work"
  },
  "data_sources": {
    "first_party": [
      "analytics",
      "search console",
      "point of sale",
      "CRM"
    ],
    "external": [
      "search visibility data",
      "competitive listing data",
      "marketplace and directory presence",
      "AI answer citations"
    ]
  },
  "interpretation_bands": {
    "note": "Interpretive only. Not part of the formula.",
    "bands": [
      {
        "range": "0-20",
        "label": "Renting"
      },
      {
        "range": "21-40",
        "label": "Contested"
      },
      {
        "range": "41-60",
        "label": "Holding"
      },
      {
        "range": "61-80",
        "label": "Commanding"
      },
      {
        "range": "81-100",
        "label": "Saturated"
      }
    ]
  },
  "citation": "Share of Map (v1, 2026). Developed by Heady. https://shareofmap.com",
  "applies_to": "Any business that sells in more than one place: multiple locations, multiple metros, multiple categories, or a product line carried by other retailers. Vertical-neutral."
}
