{
  "name": "Front Range AI Visibility Index",
  "edition": "2026-q3",
  "url": "https://novasapienlabs.com/research/front-range-ai-visibility-index",
  "licence": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/"
  },
  "datePublished": "2026-09-09",
  "dateModified": "2026-09-13",
  "fieldwork": {
    "from": "2026-06-12",
    "to": "2026-06-16"
  },
  "batches": 7,
  "totals": {
    "businessesAudited": 70,
    "sellable": 66,
    "weak": 33,
    "excluded": 4,
    "distinctVerdictStrings": 30
  },
  "scope": {
    "allAudited": {
      "csvScope": "all_audited",
      "n": 70,
      "appliesTo": [
        "totals.businessesAudited",
        "totals.distinctVerdictStrings",
        "tierDistribution[].n",
        "recoding[].n"
      ],
      "note": "Every business the seven batches audited, benchmarks included."
    },
    "sellableAfterRuleB": {
      "csvScope": "sellable_after_rule_b",
      "n": 66,
      "appliesTo": [
        "totals.sellable",
        "totals.weak",
        "tierDistribution[].sellable",
        "byVertical[]",
        "byCity[]"
      ],
      "note": "The headline denominator: audited businesses minus the rows Rule B removes."
    },
    "excludedByRuleB": {
      "csvScope": "excluded_by_rule_b",
      "n": 4,
      "appliesTo": [
        "excluded[]"
      ],
      "note": "The rows Rule B removes. Named, because the denominator depends on them."
    }
  },
  "tierDefinitions": [
    {
      "tier": "Dominant",
      "defined": true,
      "definition": "Named first or second in effectively every answer the batch ran, on the strongest review volume and rating in its market. In each batch this is the business every other one is measured against."
    },
    {
      "tier": "Strong",
      "defined": true,
      "definition": "Named in most answers, well positioned — but not the name the answer leads with."
    },
    {
      "tier": "Moderate",
      "defined": true,
      "definition": "Named sometimes, mid-list. Present in the answer, never the recommendation."
    },
    {
      "tier": "Partial",
      "defined": true,
      "definition": "Inconsistent: present on some phrasings of the question and absent on others, or visible for a niche term and missing from the obvious one."
    },
    {
      "tier": "Compromised",
      "defined": true,
      "definition": "Named, but alongside a signal working against it — a listing marked closed, conflicting addresses, contradictory facts. Discoverable, and the data is doing damage."
    },
    {
      "tier": "Invisible",
      "defined": true,
      "definition": "Did not appear in any answer the batch ran."
    },
    {
      "tier": "Visible",
      "defined": false,
      "note": "\"Visible\" is not one of the six tiers the scan protocol defines. It appears once, in batch 1, whose own write-up files that business under Strong. We kept it as its own row rather than promote it, and we will not write a definition for a label the protocol never had. Recoded as Strong it would make Strong 16, and no headline on this page would move: it is in neither the weak set nor the excluded set."
    }
  ],
  "tierDistribution": [
    {
      "tier": "Partial",
      "n": 16,
      "sellable": 16
    },
    {
      "tier": "Strong",
      "n": 15,
      "sellable": 15
    },
    {
      "tier": "Moderate",
      "n": 15,
      "sellable": 15
    },
    {
      "tier": "Invisible",
      "n": 12,
      "sellable": 12
    },
    {
      "tier": "Dominant",
      "n": 6,
      "sellable": 2
    },
    {
      "tier": "Compromised",
      "n": 5,
      "sellable": 5
    },
    {
      "tier": "Visible",
      "n": 1,
      "sellable": 1
    }
  ],
  "byVertical": [
    {
      "key": "Breweries",
      "n": 28,
      "weak": 15
    },
    {
      "key": "Fitness",
      "n": 9,
      "weak": 5
    },
    {
      "key": "Law offices",
      "n": 10,
      "weak": 5
    },
    {
      "key": "Restaurants",
      "n": 9,
      "weak": 4
    },
    {
      "key": "Salons & spas",
      "n": 10,
      "weak": 4
    }
  ],
  "byCity": [
    {
      "key": "Boulder",
      "n": 38,
      "weak": 17
    },
    {
      "key": "Fort Collins",
      "n": 9,
      "weak": 6
    },
    {
      "key": "Golden",
      "n": 10,
      "weak": 5
    },
    {
      "key": "Longmont",
      "n": 9,
      "weak": 5
    }
  ],
  "recoding": [
    {
      "source": "⚠️ Partial",
      "tier": "Partial",
      "n": 12
    },
    {
      "source": "✅ Moderate",
      "tier": "Moderate",
      "n": 10
    },
    {
      "source": "❌ Invisible",
      "tier": "Invisible",
      "n": 8
    },
    {
      "source": "✅ Strong",
      "tier": "Strong",
      "n": 6
    },
    {
      "source": "🛑 Compromised",
      "tier": "Compromised",
      "n": 4
    },
    {
      "source": "🏆 Dominant (benchmark)",
      "tier": "Dominant",
      "n": 3
    },
    {
      "source": "🟡 Moderate",
      "tier": "Moderate",
      "n": 3
    },
    {
      "source": "❌ Invisible for Boulder",
      "tier": "Invisible",
      "n": 2
    },
    {
      "source": "⚠️ Compromised",
      "tier": "Compromised",
      "n": 1
    },
    {
      "source": "⚠️ Partial (German niche)",
      "tier": "Partial",
      "n": 1
    },
    {
      "source": "⚠️ Partial (enthusiast only)",
      "tier": "Partial",
      "n": 1
    },
    {
      "source": "⚠️ Partial (enthusiast)",
      "tier": "Partial",
      "n": 1
    },
    {
      "source": "⚠️ Partial / fragile",
      "tier": "Partial",
      "n": 1
    },
    {
      "source": "⚠️ Partial/Invisible",
      "tier": "Invisible",
      "n": 1
    },
    {
      "source": "✅ Highly Visible",
      "tier": "Strong",
      "n": 1
    },
    {
      "source": "✅ Moderate→Strong",
      "tier": "Moderate",
      "n": 1
    },
    {
      "source": "✅ Strong (#2)",
      "tier": "Strong",
      "n": 1
    },
    {
      "source": "✅ Strong (Yelp best-of)",
      "tier": "Strong",
      "n": 1
    },
    {
      "source": "✅ Strong (brand split)",
      "tier": "Strong",
      "n": 1
    },
    {
      "source": "✅ Strong (broken booking)",
      "tier": "Strong",
      "n": 1
    },
    {
      "source": "✅ Strong (broken site)",
      "tier": "Strong",
      "n": 1
    },
    {
      "source": "✅ Strong (contested)",
      "tier": "Strong",
      "n": 1
    },
    {
      "source": "✅ Strong (niche)",
      "tier": "Strong",
      "n": 1
    },
    {
      "source": "✅ Strong (site-throttled)",
      "tier": "Strong",
      "n": 1
    },
    {
      "source": "✅ Visible",
      "tier": "Visible",
      "n": 1
    },
    {
      "source": "❌ Partial/Invisible",
      "tier": "Invisible",
      "n": 1
    },
    {
      "source": "🏆 Dominant",
      "tier": "Dominant",
      "n": 1
    },
    {
      "source": "🏆 Dominant (independent)",
      "tier": "Dominant",
      "n": 1
    },
    {
      "source": "🏆 Dominant (macro-owned)",
      "tier": "Dominant",
      "n": 1
    },
    {
      "source": "🟡 Moderate (PI)",
      "tier": "Moderate",
      "n": 1
    }
  ],
  "excluded": [
    {
      "name": "Avery Brewing",
      "grade": "🏆 Dominant (macro-owned)"
    },
    {
      "name": "Frasca Food and Wine",
      "grade": "🏆 Dominant (benchmark)"
    },
    {
      "name": "Odell Brewing",
      "grade": "🏆 Dominant (benchmark)"
    },
    {
      "name": "Longmont Climbing Collective",
      "grade": "🏆 Dominant (benchmark)"
    }
  ],
  "rules": {
    "A": [
      {
        "id": "A1",
        "text": "\"Highly Visible\" is Batch 1's own wording for the top of the sellable range and maps to Strong. \"Visible\", also Batch 1's, is kept as its own tier — it appears once and we do not silently promote it."
      },
      {
        "id": "A2",
        "text": "A cell naming a trajectory (\"Moderate→Strong\") is coded at the CURRENT tier — the one named first, as written."
      },
      {
        "id": "A3",
        "text": "A cell naming two tiers (\"Partial/Invisible\") is coded at the WORSE of the two. Where the text and the status emoji disagree, the text wins."
      },
      {
        "id": "A4",
        "text": "Parenthetical qualifiers (\"(niche)\", \"(broken booking)\", \"(site-throttled)\") describe the cause, not the grade, and do not change the tier."
      }
    ],
    "B": [
      {
        "id": "B1",
        "text": "A numbered row is excluded if its verdict cell or business name marks it as a benchmark, macro-owned, a chain, or explicitly not a target."
      },
      {
        "id": "B2",
        "text": "A row explicitly marked \"(independent)\" is RETAINED even when graded Dominant — an independent business that already wins is a real result, not a benchmark."
      },
      {
        "id": "B3",
        "text": "The three unnumbered comparison rows (New Belgium, Woodhouse Spa, and the Burnham/Zinda/Sloat group) were never targets and are excluded before counting. 73 glance rows − 3 unnumbered = 70 audited businesses."
      }
    ]
  },
  "dimensions": [
    "1. Website Quality",
    "2. SEO Basics",
    "3. Social Media Presence — except in the law batch, where it is Authority & Content (60 files vs 10)",
    "4. Review Profile",
    "5. GEO Visibility Check",
    "6. Top 3 Gaps",
    "7. Opportunity Estimate"
  ],
  "prompts": [
    {
      "batch": 1,
      "city": "Golden",
      "vertical": "Breweries",
      "queries": [
        "best breweries in Golden Colorado",
        "best craft beer in Golden"
      ]
    },
    {
      "batch": 2,
      "city": "Boulder",
      "vertical": "Breweries",
      "queries": [
        "best breweries in Boulder Colorado",
        "best craft beer in Boulder"
      ]
    },
    {
      "batch": 3,
      "city": "Fort Collins",
      "vertical": "Breweries",
      "queries": [
        "best breweries in Fort Collins Colorado",
        "best craft beer in Fort Collins"
      ]
    },
    {
      "batch": 4,
      "city": "Boulder",
      "vertical": "Restaurants",
      "queries": [
        "best restaurants in Boulder",
        "best Italian/sushi/brunch in Boulder",
        "best places to eat in Boulder",
        "romantic/date-night dinner Boulder"
      ]
    },
    {
      "batch": 5,
      "city": "Longmont",
      "vertical": "Fitness",
      "queries": [
        "best gyms in Longmont",
        "best yoga in Longmont",
        "best CrossFit Longmont",
        "best Pilates/barre Longmont",
        "personal training Longmont"
      ]
    },
    {
      "batch": 6,
      "city": "Boulder",
      "vertical": "Salons & spas",
      "queries": [
        "best hair salon Boulder",
        "best spa Boulder",
        "best med spa Boulder",
        "best nail salon Boulder",
        "best barber Boulder",
        "best massage Boulder"
      ]
    },
    {
      "batch": 7,
      "city": "Boulder",
      "vertical": "Law offices",
      "queries": [
        "best [practice] lawyer in Boulder — run across family, personal injury, estate planning, criminal/DUI, immigration and real estate"
      ]
    }
  ],
  "limits": [
    "This is a census of 70 businesses we chose, not a random sample. Businesses were selected as plausible clients in a target city and vertical, so the distribution describes the owner-led Front Range field we sell into — not all Front Range businesses.",
    "Grades came out of the NSL Growth Snapshot pipeline — a documented six-stage process run batch by batch over three working days in June 2026 — and no individual is recorded as the grader of any row. It is not a repeatable automated harness: answer engines are non-deterministic, the prompt set was not uniform across the seven batches, and a re-run would not reproduce every row.",
    "The underlying scans record which businesses answer engines named. They do not record which URLs the engines cited. That is the more valuable question and we have not yet answered it — it needs a column the pipeline does not currently capture.",
    "Review counts in the source scans lean on Yelp, Avvo, Birdeye and other proxies where Google counts were not retrievable, and are labelled as estimates in the batch files.",
    "Five of the 70 are in towns next to the city their batch's prompts named — two in Golden's brewery batch, three in Boulder's — because the pipeline widens a batch when a city is short of targets. All five graded weak on prompts naming Golden or Boulder, and they are counted in those cities, so read the Golden and Boulder figures with that in mind.",
    "The scans do not record which engine or search surface produced each answer. The pipeline's protocol asks for the businesses named in AI-generated answers, but no scan file names the engine, and many of the notes also describe search-result snippets, map results and best-of lists.",
    "No market-size or opportunity figure appears anywhere in this Index. We have no measured supply ceiling for any of these markets, and the per-batch target of ten businesses is a pipeline default, not a finding."
  ]
}
