{
 "name": "Douglas County AI Visibility Dataset, August 2026",
 "description": "Two linked datasets from Douglas County, Oregon. (1) A readability audit of 58 local business websites. (2) A pre-registered pilot testing whether the audit's 0-100 score predicts how often an AI assistant names the business, across 34 assistant runs in five trades. The pilot found no association and was not powerful enough to prove there is none.",
 "version": "2026-08-17",
 "license": "https://creativecommons.org/licenses/by/4.0/",
 "citation": "GridSignal (The Roseburg Plug LLC), Douglas County AI Visibility Dataset, August 2026. https://gridsignal.app/research",
 "publisher": {
  "name": "GridSignal",
  "parentOrganization": "The Roseburg Plug LLC",
  "url": "https://gridsignal.app",
  "location": "Roseburg, Oregon, United States"
 },
 "built_by": "ops/score-validity/publish.mjs",
 "built_at": "2026-08-17T18:56:06.926Z",
 "redaction": {
  "rule": "We never publish a named local business as scoring badly.",
  "applied": [
   "Business-level rows carry score, hits and runs only. No name, domain, city, letter grade or trade.",
   "The trade label is withheld because it re-identifies: one tested trade holds only four businesses.",
   "The 29 never-named businesses are all 0/6 and are therefore mutually indistinguishable here.",
   "runs.json is verbatim. Every business named in it was named BY AN ASSISTANT, which is public and favourable, and no GridSignal score is attached to any name in it.",
   "In the exploratory probes, businesses the assistant did NOT name have their names stripped."
  ],
  "cost": "The post-hoc sensitivity analysis in section 6 of the source document needs the trade label and therefore cannot be recomputed from this file. Stated rather than hidden."
 },
 "county_audit": {
  "source": "ops/social/stats.json, written only by a live query against gridsignal-db",
  "queried_at": "2026-08-17",
  "population": "Douglas County prospects, first scan per domain, gridsignal.app excluded",
  "excluded_outside_county": {
   "Sherwood": 1
  },
  "n": 58,
  "mean_score": 57.3,
  "lowest": 20,
  "highest": 85,
  "graded_d_or_f": 33,
  "graded_a": 0,
  "grades": {
   "B": 8,
   "C": 17,
   "D": 27,
   "F": 6
  },
  "pillar_means": {
   "Performance": 86.8,
   "Technical": 85.7,
   "Entity & Authority": 61.4,
   "Structured data": 62,
   "Conversion": 46.9,
   "Content": 32.2
  },
  "check_failures": {
   "reviews_schema": {
    "label": "Review/rating schema",
    "fails": 56,
    "total": 58
   },
   "localbiz": {
    "label": "LocalBusiness / service schema",
    "fails": 39,
    "total": 58
   },
   "trust_signals": {
    "label": "Visible trust signals",
    "fails": 38,
    "total": 58
   },
   "contact_form": {
    "label": "On-page contact/lead form",
    "fails": 34,
    "total": 58
   },
   "org": {
    "label": "Organization entity",
    "fails": 33,
    "total": 58
   },
   "h1": {
    "label": "Exactly one H1",
    "fails": 30,
    "total": 58
   },
   "click_to_call": {
    "label": "Tap-to-call phone link",
    "fails": 30,
    "total": 58
   },
   "metadesc": {
    "label": "Meta description",
    "fails": 27,
    "total": 58
   },
   "sitemap_xml": {
    "label": "sitemap.xml present & valid",
    "fails": 26,
    "total": 58
   },
   "jsonld": {
    "label": "Valid JSON-LD structured data",
    "fails": 25,
    "total": 58
   },
   "robots_txt": {
    "label": "robots.txt present & doesn't block crawlers",
    "fails": 21,
    "total": 58
   },
   "sameas": {
    "label": "Real social / sameAs profiles",
    "fails": 20,
    "total": 58
   },
   "cta_present": {
    "label": "Clear call-to-action",
    "fails": 20,
    "total": 58
   },
   "canonical": {
    "label": "Canonical URL",
    "fails": 17,
    "total": 58
   },
   "og": {
    "label": "OpenGraph tags",
    "fails": 16,
    "total": 58
   },
   "offer": {
    "label": "Pricing modeled as Offer/Product schema",
    "fails": 16,
    "total": 58
   },
   "img_loading": {
    "label": "Images use loading hints (lazy/priority)",
    "fails": 15,
    "total": 50
   },
   "ssr": {
    "label": "Content present in raw HTML (SSR)",
    "fails": 11,
    "total": 58
   },
   "nap": {
    "label": "Phone / NAP in page",
    "fails": 10,
    "total": 58
   },
   "site_consistency": {
    "label": "Inner pages are also optimized",
    "fails": 9,
    "total": 12
   },
   "title": {
    "label": "Title tag",
    "fails": 8,
    "total": 58
   },
   "lang": {
    "label": "Lang attribute",
    "fails": 8,
    "total": 58
   },
   "viewport": {
    "label": "Mobile viewport",
    "fails": 7,
    "total": 58
   },
   "page_weight": {
    "label": "Page weight within budget",
    "fails": 6,
    "total": 55
   },
   "links_resolve": {
    "label": "Outbound & profile links resolve",
    "fails": 6,
    "total": 43
   },
   "image_sizes": {
    "label": "No oversized images (>1 MB)",
    "fails": 5,
    "total": 55
   },
   "schema_complete": {
    "label": "Business entity is complete (name + address + phone)",
    "fails": 4,
    "total": 58
   },
   "social_live": {
    "label": "sameAs profiles are live & specific",
    "fails": 2,
    "total": 12
   },
   "https": {
    "label": "HTTPS",
    "fails": 2,
    "total": 58
   },
   "form_friction": {
    "label": "Short, low-friction form",
    "fails": 2,
    "total": 24
   },
   "edge_allows_ai_ua": {
    "label": "Server serves requests that identify as an AI crawler",
    "fails": 2,
    "total": 57
   },
   "low_contrast": {
    "label": "No obviously low-contrast inline text",
    "fails": 1,
    "total": 58
   },
   "indexable": {
    "label": "Indexable (no rogue noindex)",
    "fails": 0,
    "total": 58
   },
   "ai_training_bots": {
    "label": "AI training-crawler policy (informational)",
    "fails": 0,
    "total": 35
   },
   "ai_search_bots_allowed": {
    "label": "AI answer crawlers allowed in robots.txt",
    "fails": 0,
    "total": 58
   }
  }
 },
 "pilot": {
  "preregistered": true,
  "design_fixed_before_first_query": true,
  "stopping_rule": "Run all 30 Perplexity runs, report whatever comes out. No early stop, no runs added after seeing results.",
  "dates": "2026-08-16",
  "engines": [
   "perplexity (web interface, fresh search thread per run)",
   "chatgpt (web interface)"
  ],
  "engines_not_measured": [
   "Google AI Mode: 0 runs. Chrome intercepted udm=50 into an internal page the automation could not read. Not measured, so not claimed."
  ],
  "outcome_definitions": {
   "NAMED": "Business name appears in the assistant's visible answer prose as a listed or recommended provider. Normalised match: lowercase, strip LLC/INC/CO/CORP/COMPANY/THE, strip punctuation, collapse whitespace, substring match either direction. PRIMARY outcome.",
   "LINKED": "The business's registrable domain appears in the answer's citation tokens or source list. Secondary.",
   "CITED": "NAMED or LINKED. Recorded, not used as primary.",
   "not_counted": "Appearing only inside a Places sidebar was NOT counted as NAMED. It is a map widget, not the answer."
  },
  "population_rule": "Start from gridsignal-db.prospects, current scores. Drop rows whose notes record an invalid score, drop rows whose notes record a failed rescan, drop rows outside Douglas County. Applied by script before any query.",
  "population_n": 55,
  "excluded_n": 4,
  "excluded_reasons": [
   "notes: rescan FAILED, stored score stale",
   "notes: score INVALID, do not quote",
   "notes: score INVALID, do not quote",
   "notes: score INVALID, do not quote"
  ],
  "score_source": "Latest scan score per domain, not prospects.score, because prospects.score was stale for 5 of 55 rows after a rescan wrote new scans rows without updating prospects. Both were computed and the conclusion is identical either way.",
  "vertical_rule": "A trade qualified only if it held at least 3 analysable businesses AND a max-minus-min score spread of at least 15 points. Six qualified, five were tested.",
  "prompts": [
   {
    "id": "X1",
    "trade": "excavation",
    "text": "who is a good excavation contractor in Roseburg Oregon"
   },
   {
    "id": "X2",
    "trade": "excavation",
    "text": "best excavating company near Roseburg OR"
   },
   {
    "id": "H1",
    "trade": "hvac",
    "text": "best HVAC company near Roseburg OR"
   },
   {
    "id": "H2",
    "trade": "hvac",
    "text": "who should I call for furnace repair in Roseburg Oregon"
   },
   {
    "id": "E1",
    "trade": "electrical",
    "text": "who is a good electrician in Roseburg Oregon"
   },
   {
    "id": "E2",
    "trade": "electrical",
    "text": "best electrical contractor near Roseburg OR"
   },
   {
    "id": "C1",
    "trade": "construction",
    "text": "who is a good general contractor in Roseburg Oregon"
   },
   {
    "id": "C2",
    "trade": "construction",
    "text": "best home builder near Roseburg OR"
   },
   {
    "id": "R1",
    "trade": "restaurant",
    "text": "what are the best restaurants in Roseburg Oregon"
   },
   {
    "id": "R2",
    "trade": "restaurant",
    "text": "where should I eat dinner in Roseburg OR"
   }
  ],
  "runs_total": 34,
  "runs_perplexity": 30,
  "runs_chatgpt": 4,
  "businesses_in_scope": 34,
  "business_run_trials": 204,
  "results": {
   "spearman_rho_score_vs_appearance": 0.069,
   "spearman_rho_95ci": [
    -0.256,
    0.36
   ],
   "appearance_high_scorers": {
    "threshold": "score >= 59",
    "businesses": 19,
    "trials": 114,
    "rate_pct": 11.4,
    "ci95_pct": [
     6.1,
     17.5
    ]
   },
   "appearance_low_scorers": {
    "threshold": "score < 59",
    "businesses": 15,
    "trials": 90,
    "rate_pct": 8.9,
    "ci95_pct": [
     3.3,
     15.6
    ]
   },
   "delta_pp": 2.5,
   "delta_95ci_pp": [
    -5.7,
    10.6
   ],
   "delta_ci_source": "ops/score-validity/power.mjs, which bootstraps the difference directly rather than subtracting two point estimates",
   "clears_noise_floor": false,
   "noise_floor_pp": 6,
   "pooled_appearance_pct": 10.3,
   "pooled_ci_width_pp": 8.3,
   "interval_source": "ops/score-validity/results.txt, regenerated byte-identically by ops/score-validity/analyse.mjs"
  },
  "power": {
   "note": "A null result from an underpowered study is an absence of a finding, not a finding. These are the bounds, computed by ops/score-validity/power.mjs.",
   "minimum_detectable_delta_pp_at_80_power": 15,
   "product_noise_floor_pp": 6,
   "implication": "This pilot could not have detected an effect at the size GridSignal's own engine calls the smallest one worth reporting.",
   "runs_per_prompt_run": 3,
   "runs_per_prompt_for_plus_minus_10pp": 97,
   "runs_per_prompt_for_plus_minus_6pp": 267,
   "runs_per_prompt_for_plus_minus_5pp": 385
  },
  "businesses": [
   {
    "id": 1,
    "score": 85,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 2,
    "score": 84,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 3,
    "score": 78,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 4,
    "score": 77,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 5,
    "score": 75,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 6,
    "score": 74,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 7,
    "score": 70,
    "named_in_runs": 5,
    "runs": 6
   },
   {
    "id": 8,
    "score": 68,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 9,
    "score": 67,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 10,
    "score": 65,
    "named_in_runs": 5,
    "runs": 6
   },
   {
    "id": 11,
    "score": 64,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 12,
    "score": 64,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 13,
    "score": 62,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 14,
    "score": 61,
    "named_in_runs": 3,
    "runs": 6
   },
   {
    "id": 15,
    "score": 60,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 16,
    "score": 59,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 17,
    "score": 59,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 18,
    "score": 59,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 19,
    "score": 59,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 20,
    "score": 57,
    "named_in_runs": 4,
    "runs": 6
   },
   {
    "id": 21,
    "score": 56,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 22,
    "score": 55,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 23,
    "score": 54,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 24,
    "score": 54,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 25,
    "score": 52,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 26,
    "score": 49,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 27,
    "score": 49,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 28,
    "score": 47,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 29,
    "score": 46,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 30,
    "score": 45,
    "named_in_runs": 4,
    "runs": 6
   },
   {
    "id": 31,
    "score": 41,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 32,
    "score": 41,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 33,
    "score": 37,
    "named_in_runs": 0,
    "runs": 6
   },
   {
    "id": 34,
    "score": 28,
    "named_in_runs": 0,
    "runs": 6
   }
  ],
  "runs": [
   {
    "run": 1,
    "vertical": "excavation",
    "prompt": "X1",
    "q": "who is a good excavation contractor in Roseburg Oregon",
    "named": [
     "Manx Contracting LLC",
     "Cradar Enterprises Inc",
     "Black Pearl Paving & Excavation"
    ],
    "cites": [
     "manxcontracting"
    ],
    "places": [
     [
      "Manx Contracting, LLC",
      5,
      5
     ],
     [
      "Cradar Enterprises Inc",
      5,
      3
     ],
     [
      "Black Pearl Paving & Excavation",
      3.8,
      9
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 2,
    "vertical": "excavation",
    "prompt": "X1",
    "q": "who is a good excavation contractor in Roseburg Oregon",
    "named": [
     "Claus Construction Company LLC",
     "Manx Contracting LLC",
     "Cradar Enterprises Inc"
    ],
    "cites": [
     "roseburgexcavation"
    ],
    "places": [
     [
      "Claus Construction Company, LLC",
      5,
      16
     ],
     [
      "Black Pearl Paving & Excavation",
      3.8,
      9
     ],
     [
      "H3 General Contractors LLC",
      5,
      6
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 3,
    "vertical": "excavation",
    "prompt": "X1",
    "q": "who is a good excavation contractor in Roseburg Oregon",
    "named": [
     "Cradar Enterprises Inc",
     "Manx Contracting LLC",
     "Black Pearl Paving & Excavation"
    ],
    "cites": [],
    "places": [
     [
      "Black Pearl Paving & Excavation",
      3.8,
      9
     ],
     [
      "H3 General Contractors LLC",
      5,
      6
     ],
     [
      "T 3 Construction LLC",
      5,
      1
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 4,
    "vertical": "excavation",
    "prompt": "X2",
    "q": "best excavating company near Roseburg OR",
    "named": [
     "Claus Construction Company LLC",
     "The Bratcher Company",
     "Cradar Enterprises Inc",
     "Manx Contracting LLC"
    ],
    "cites": [],
    "places": [
     [
      "Claus Construction Company, LLC",
      5,
      16
     ],
     [
      "Cradar Enterprises Inc",
      5,
      3
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 5,
    "vertical": "excavation",
    "prompt": "X2",
    "q": "best excavating company near Roseburg OR",
    "named": [
     "Claus Construction Company LLC",
     "Cradar Enterprises Inc",
     "Manx Contracting LLC",
     "Black Pearl Paving & Excavation"
    ],
    "cites": [
     "roseburgexcavation"
    ],
    "places": [
     [
      "Claus Construction Company, LLC",
      5,
      16
     ],
     [
      "Cradar Enterprises Inc",
      5,
      3
     ],
     [
      "Manx Contracting, LLC",
      5,
      5
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 6,
    "vertical": "excavation",
    "prompt": "X2",
    "q": "best excavating company near Roseburg OR",
    "named": [
     "Claus Construction Company LLC",
     "The Bratcher Company LLC",
     "Cradar Enterprises Inc",
     "Manx Contracting LLC"
    ],
    "cites": [
     "roseburgexcavation"
    ],
    "places": [
     [
      "Claus Construction Company, LLC",
      5,
      16
     ],
     [
      "Black Pearl Paving & Excavation",
      3.8,
      9
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 7,
    "vertical": "hvac",
    "prompt": "H1",
    "q": "best HVAC company near Roseburg OR",
    "named": [
     "Addcox Heating Center",
     "Alpha Heating & Air Roseburg",
     "Roseburg Refrigeration Mechanical Contractors"
    ],
    "cites": [
     "addcox"
    ],
    "places": [
     [
      "Addcox Heating Center",
      4.9,
      889
     ],
     [
      "Pacific Air Comfort Inc",
      4.3,
      50
     ],
     [
      "Roseburg Refrigeration Mechanical Contractors, Inc",
      4.5,
      35
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 8,
    "vertical": "hvac",
    "prompt": "H1",
    "q": "best HVAC company near Roseburg OR",
    "named": [
     "Addcox Heating Center",
     "Roseburg Refrigeration Mechanical Contractors",
     "Pacific Air Comfort",
     "Just Ductless"
    ],
    "cites": [
     "addcox"
    ],
    "places": [
     [
      "Addcox Heating Center",
      4.9,
      889
     ],
     [
      "Pacific Air Comfort Inc",
      4.3,
      50
     ],
     [
      "Roseburg Refrigeration Mechanical Contractors, Inc",
      4.5,
      35
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 9,
    "vertical": "hvac",
    "prompt": "H1",
    "q": "best HVAC company near Roseburg OR",
    "named": [
     "Addcox Heating Center",
     "Roseburg Refrigeration Mechanical Contractors",
     "Pacific Air Comfort",
     "Just Ductless"
    ],
    "cites": [
     "addcox"
    ],
    "places": [
     [
      "Addcox Heating Center",
      4.9,
      889
     ],
     [
      "Pacific Air Comfort Inc",
      4.3,
      50
     ],
     [
      "Roseburg Refrigeration Mechanical Contractors, Inc",
      4.5,
      35
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 10,
    "vertical": "hvac",
    "prompt": "H2",
    "q": "who should I call for furnace repair in Roseburg Oregon",
    "named": [
     "Victory Heating & Cooling",
     "Alpha Heating & Air Roseburg",
     "Addcox Heating Center",
     "Roseburg Refrigeration Mechanical Contractors"
    ],
    "cites": [
     "victoryheatncool"
    ],
    "places": [
     [
      "Victory Heating & Cooling",
      4.8,
      38
     ],
     [
      "Alpha Heating & Air - Roseburg",
      4.6,
      147
     ],
     [
      "Addcox Heating Center",
      4.9,
      889
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 11,
    "vertical": "hvac",
    "prompt": "H2",
    "q": "who should I call for furnace repair in Roseburg Oregon",
    "named": [
     "Victory Heating & Cooling",
     "Alpha Heating & Air Roseburg",
     "Addcox Heating Center",
     "Mahalo Heating & Air Conditioning",
     "Roseburg Refrigeration Mechanical Contractors",
     "Pacific Air Comfort"
    ],
    "cites": [
     "victoryheatncool",
     "addcox",
     "mahaloheatingandairconditioning",
     "roseburgrefrigeration"
    ],
    "places": [
     [
      "Victory Heating & Cooling",
      4.8,
      38
     ],
     [
      "Alpha Heating & Air - Roseburg",
      4.6,
      147
     ],
     [
      "Addcox Heating Center",
      4.9,
      889
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 12,
    "vertical": "hvac",
    "prompt": "H2",
    "q": "who should I call for furnace repair in Roseburg Oregon",
    "named": [
     "Victory Heating & Cooling",
     "Alpha Heating & Air Roseburg",
     "Addcox Heating Center",
     "Mahalo Heating & Air Conditioning",
     "Roseburg Refrigeration Mechanical Contractors"
    ],
    "cites": [
     "victoryheatncool"
    ],
    "places": [
     [
      "Victory Heating & Cooling",
      4.8,
      38
     ],
     [
      "Alpha Heating & Air - Roseburg",
      4.6,
      147
     ],
     [
      "Roseburg Refrigeration Mechanical Contractors, Inc",
      4.5,
      35
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 13,
    "vertical": "electrical",
    "prompt": "E1",
    "q": "who is a good electrician in Roseburg Oregon",
    "named": [
     "North River Electric Inc",
     "Archer Industries"
    ],
    "cites": [],
    "places": [
     [
      "Platt Electric Supply",
      4.6,
      7
     ],
     [
      "Sims Electric Inc",
      3.6,
      22
     ],
     [
      "Powerhouse Electric",
      5,
      8
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 14,
    "vertical": "electrical",
    "prompt": "E1",
    "q": "who is a good electrician in Roseburg Oregon",
    "named": [
     "North River Electric Inc",
     "Powerhouse Electric",
     "C&E Consolidated"
    ],
    "cites": [],
    "places": [
     [
      "Platt Electric Supply",
      4.6,
      7
     ],
     [
      "Sims Electric Inc",
      3.6,
      22
     ],
     [
      "Powerhouse Electric",
      5,
      8
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 15,
    "vertical": "electrical",
    "prompt": "E1",
    "q": "who is a good electrician in Roseburg Oregon",
    "named": [
     "North River Electric Inc",
     "C&E Consolidated",
     "Archer Industries",
     "Powerhouse Electric"
    ],
    "cites": [
     "northriverelectricinc"
    ],
    "places": [
     [
      "North River Electric Inc",
      4.8,
      85
     ],
     [
      "Powerhouse Electric",
      5,
      8
     ],
     [
      "C&E Consolidated",
      5,
      15
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 16,
    "vertical": "electrical",
    "prompt": "E2",
    "q": "best electrical contractor near Roseburg OR",
    "named": [
     "North River Electric Inc",
     "Archer Industries",
     "C&E Consolidated",
     "Cascade Electric"
    ],
    "cites": [
     "northriverelectricinc"
    ],
    "places": [
     [
      "North River Electric Inc",
      4.8,
      85
     ],
     [
      "C&E Consolidated",
      5,
      15
     ],
     [
      "Cascade Electric",
      4.6,
      20
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 17,
    "vertical": "electrical",
    "prompt": "E2",
    "q": "best electrical contractor near Roseburg OR",
    "named": [
     "North River Electric Inc",
     "C&E Consolidated",
     "Archer Industries",
     "Cascade Electric",
     "Powerhouse Electric"
    ],
    "cites": [
     "northriverelectricinc"
    ],
    "places": [
     [
      "North River Electric Inc",
      4.8,
      85
     ],
     [
      "Sims Electric Inc",
      3.6,
      22
     ],
     [
      "Platt Electric Supply",
      4.6,
      7
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 18,
    "vertical": "electrical",
    "prompt": "E2",
    "q": "best electrical contractor near Roseburg OR",
    "named": [
     "North River Electric Inc",
     "C&E Consolidated",
     "Cascade Electric",
     "Powerhouse Electric",
     "Archer Industries"
    ],
    "cites": [
     "northriverelectricinc",
     "ceconsolidated",
     "cascadeelectricinc",
     "powerhouseelec"
    ],
    "places": [
     [
      "North River Electric Inc",
      4.8,
      85
     ],
     [
      "C&E Consolidated",
      5,
      15
     ],
     [
      "Cascade Electric",
      4.6,
      20
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 19,
    "vertical": "construction",
    "prompt": "C1",
    "q": "who is a good general contractor in Roseburg Oregon",
    "named": [
     "Madrigal Builders Corp",
     "H3 General Contractors LLC",
     "Zerbach Construction",
     "Blacktail Builders LLC",
     "Keith A. Cortes Construction LLC"
    ],
    "cites": [],
    "places": [
     [
      "H3 General Contractors LLC",
      5,
      6
     ],
     [
      "Madrigal Builders Corp General Contractor",
      4.5,
      35
     ],
     [
      "Keith A Cortes Construction LLC.",
      4.3,
      20
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 20,
    "vertical": "construction",
    "prompt": "C1",
    "q": "who is a good general contractor in Roseburg Oregon",
    "named": [
     "Madrigal Builders Corp",
     "Blacktail Builders LLC",
     "Zerbach Construction",
     "H3 General Contractors LLC",
     "Keith A. Cortes Construction LLC"
    ],
    "cites": [
     "madrigalbuilderscorporation"
    ],
    "places": [
     [
      "Madrigal Builders Corp General Contractor",
      4.5,
      35
     ],
     [
      "Blacktail Builders LLC",
      4.7,
      29
     ],
     [
      "Zerbach Construction",
      5,
      12
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 21,
    "vertical": "construction",
    "prompt": "C1",
    "q": "who is a good general contractor in Roseburg Oregon",
    "named": [
     "Blacktail Builders LLC",
     "Madrigal Builders Corp",
     "Zerbach Construction",
     "H3 General Contractors LLC",
     "Keith A. Cortes Construction LLC"
    ],
    "cites": [],
    "places": [
     [
      "H3 General Contractors LLC",
      5,
      6
     ],
     [
      "Madrigal Builders Corp General Contractor",
      4.5,
      35
     ],
     [
      "Keith A Cortes Construction LLC.",
      4.3,
      20
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 22,
    "vertical": "construction",
    "prompt": "C2",
    "q": "best home builder near Roseburg OR",
    "named": [
     "Tyler Otis Construction Inc",
     "Bateson Built Construction"
    ],
    "cites": [],
    "places": [
     [
      "L Lee Building Co",
      5,
      2
     ],
     [
      "Bateson Built Construction",
      5,
      13
     ],
     [
      "Keith A Cortes Construction LLC.",
      4.3,
      20
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 23,
    "vertical": "construction",
    "prompt": "C2",
    "q": "best home builder near Roseburg OR",
    "named": [
     "Tyler Otis Construction Inc",
     "Bateson Built Construction",
     "Blacktail Builders LLC"
    ],
    "cites": [
     "otisconstruction"
    ],
    "places": [
     [
      "Tyler Otis Construction Inc",
      5,
      11
     ],
     [
      "Bateson Built Construction",
      5,
      13
     ],
     [
      "Blacktail Builders LLC",
      4.7,
      29
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 24,
    "vertical": "construction",
    "prompt": "C2",
    "q": "best home builder near Roseburg OR",
    "named": [
     "Bateson Built Construction",
     "Tyler Otis Construction",
     "Blacktail Builders LLC"
    ],
    "cites": [],
    "places": [
     [
      "HiLine Homes of Roseburg",
      4.4,
      25
     ],
     [
      "L Lee Building Co",
      5,
      2
     ],
     [
      "Bateson Built Construction",
      5,
      13
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 25,
    "vertical": "restaurant",
    "prompt": "R1",
    "q": "what are the best restaurants in Roseburg Oregon",
    "named": [
     "True | Kitchen + Bar",
     "Brix Grill",
     "Hacienda Vieja",
     "Jersey Lilly",
     "Two-Shy Brewing"
    ],
    "cites": [
     "truekitchenandbar",
     "brixgrillroseburg"
    ],
    "places": [
     [
      "True | Kitchen + Bar",
      4.7,
      973
     ],
     [
      "Hacienda Vieja",
      4.4,
      320
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 26,
    "vertical": "restaurant",
    "prompt": "R1",
    "q": "what are the best restaurants in Roseburg Oregon",
    "named": [
     "True | Kitchen + Bar",
     "Brix Grill",
     "Jersey Lilly",
     "Two-Shy Brewing"
    ],
    "cites": [
     "southernoregon"
    ],
    "places": [
     [
      "Jime's Hotdogs",
      4.8,
      41
     ],
     [
      "True | Kitchen + Bar",
      4.7,
      973
     ],
     [
      "Topp-It Express",
      4.8,
      125
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 27,
    "vertical": "restaurant",
    "prompt": "R1",
    "q": "what are the best restaurants in Roseburg Oregon",
    "named": [
     "True | Kitchen + Bar",
     "Brix Grill",
     "Old Soul Pizza",
     "Jersey Lilly",
     "Two-Shy Brewing",
     "Topp-It Express"
    ],
    "cites": [],
    "places": [
     [
      "True | Kitchen + Bar",
      4.7,
      973
     ],
     [
      "Topp-It Express",
      4.8,
      125
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 28,
    "vertical": "restaurant",
    "prompt": "R2",
    "q": "where should I eat dinner in Roseburg OR",
    "named": [
     "Jersey Lilly",
     "True | Kitchen + Bar",
     "Old Soul Pizza",
     "Brix Grill",
     "Two-Shy Brewing"
    ],
    "cites": [
     "jerseylilly",
     "truekitchenandbar",
     "oldsoulpizza",
     "brixgrillroseburg",
     "twoshy"
    ],
    "places": [
     [
      "True | Kitchen + Bar",
      4.7,
      973
     ],
     [
      "Old Soul Pizza",
      4.8,
      878
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 29,
    "vertical": "restaurant",
    "prompt": "R2",
    "q": "where should I eat dinner in Roseburg OR",
    "named": [
     "Jersey Lilly",
     "Brix Grill"
    ],
    "cites": [
     "jerseylilly"
    ],
    "places": [
     [
      "Hacienda Vieja",
      4.4,
      320
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 30,
    "vertical": "restaurant",
    "prompt": "R2",
    "q": "where should I eat dinner in Roseburg OR",
    "named": [
     "Jersey Lilly",
     "7 Seven Thai Restaurant",
     "Brix Grill",
     "Old Soul Pizza"
    ],
    "cites": [
     "jerseylilly",
     "7seventhai",
     "brixgrillroseburg",
     "oldsoulpizza"
    ],
    "places": [
     [
      "7 Seven Thai Restaurant",
      4.6,
      896
     ]
    ],
    "engine": "perplexity"
   },
   {
    "run": 101,
    "engine": "chatgpt",
    "vertical": "hvac",
    "prompt": "H1",
    "q": "best HVAC company near Roseburg OR",
    "named": [
     "Addcox Heating Center",
     "Roseburg HVAC Solutions",
     "Alpha Heating & Air - Roseburg",
     "Roseburg Refrigeration Mechanical Contractors, Inc"
    ],
    "cites": [],
    "places": []
   },
   {
    "run": 102,
    "engine": "chatgpt",
    "vertical": "excavation",
    "prompt": "X1",
    "q": "who is a good excavation contractor in Roseburg Oregon",
    "named": [
     "The Bratcher Company, LLC",
     "Claus Construction Company, LLC",
     "Dig N Haul Excavation"
    ],
    "cites": [
     "thebratchercompany"
    ],
    "places": [
     [
      "The Bratcher Company, LLC",
      5,
      22
     ],
     [
      "Claus Construction Company, LLC",
      5,
      16
     ]
    ]
   },
   {
    "run": 103,
    "engine": "chatgpt",
    "vertical": "restaurant",
    "prompt": "R1",
    "q": "what are the best restaurants in Roseburg Oregon",
    "named": [
     "True Kitchen + Bar",
     "Old Soul Pizza",
     "Alexander's Greek Cuisine",
     "Best Taste Of India Roseburg",
     "Burrito Vaquero Mexican Restaurant",
     "Dino's Ristorante Italiano",
     "Brix Grill",
     "Ami Japanese Restaurant"
    ],
    "cites": [
     "tripadvisor.com",
     "travelsouthernoregon.com",
     "amisushi"
    ],
    "places": []
   },
   {
    "run": 104,
    "engine": "chatgpt",
    "vertical": "construction",
    "prompt": "C1",
    "q": "who is a good general contractor in Roseburg Oregon",
    "named": [
     "L&M Custom Builders",
     "Blacktail Builders LLC",
     "Bateson Built Construction"
    ],
    "cites": [],
    "places": [
     [
      "L&M Custom Builders",
      5,
      10
     ],
     [
      "Blacktail Builders LLC",
      4.7,
      29
     ],
     [
      "Bateson Built Construction",
      5,
      13
     ]
    ]
   }
  ],
  "exploratory": {
   "label": "POST-HOC. Not in the pre-registered plan, not folded into any statistic above. Run after seeing the top scorers at 0/6, to test whether they were invisible or merely mismatched to a broad query.",
   "finding": "It exposed a real flaw in the pre-registered design: the construction bucket held 18 heterogeneous businesses probed with general-contractor queries, so some 0/6 results were query mismatch rather than invisibility.",
   "probes": [
    {
     "query": "who does custom metal fabrication in Roseburg Oregon",
     "engine": "perplexity",
     "assistant_named": [
      "Bradley Fabrication",
      "H4 Fab Works Inc",
      "Performance Fab",
      "Built By Steele",
      "Con-Vey"
     ],
     "ours_named": [
      {
       "name": "Bradley Fabrication LLC",
       "score": 84,
       "google_reviews": 21,
       "google_rating": 4.8
      },
      {
       "name": "Built By Steele LLC",
       "score": 77,
       "google_reviews": 3,
       "google_rating": 5
      }
     ],
     "ours_not_named_scores": [],
     "competitor_rating_and_reviews": null
    },
    {
     "query": "who installs hot tubs and swimming pools in Roseburg Oregon",
     "engine": "perplexity",
     "assistant_named": [
      "Preference Pools & Spas LLC",
      "Waterscapes Spas & Pool",
      "Hot Tub Factory Outlet"
     ],
     "ours_named": [
      {
       "name": "WaterScapes Spas & Pools (Breez INC)",
       "score": 68,
       "google_reviews": 66,
       "google_rating": 4.8
      }
     ],
     "ours_not_named_scores": [],
     "competitor_rating_and_reviews": [
      [
       "Preference Pools & Spas LLC",
       4.2,
       52
      ],
      [
       "Hot Tub Factory Outlet",
       4.7,
       63
      ]
     ]
    },
    {
     "query": "who is a good home inspector near Roseburg Oregon",
     "engine": "perplexity",
     "assistant_named": [
      "Happy Endings Home Inspections LLC"
     ],
     "ours_named": [],
     "ours_not_named_scores": [
      46
     ],
     "competitor_rating_and_reviews": [
      [
       "Happy Endings Home Inspections LLC",
       4.8,
       25
      ]
     ]
    },
    {
     "query": "who is a good house painter in Roseburg Oregon",
     "engine": "perplexity",
     "assistant_named": [
      "Roseburg Precision Painting LLC",
      "Ingvalson Painting LLC",
      "Heritage Painting & Fine Finishing",
      "Kens Painting LLC"
     ],
     "ours_named": [],
     "ours_not_named_scores": [
      64
     ],
     "competitor_rating_and_reviews": [
      [
       "Roseburg Precision Painting LLC",
       5,
       33
      ],
      [
       "Ingvalson Painting LLC",
       5,
       34
      ],
      [
       "Heritage Painting & Fine Finishing",
       4.5,
       15
      ],
      [
       "Kens Painting LLC",
       4.4,
       7
      ]
     ]
    }
   ]
  }
 },
 "provenance": {
  "reproduce": [
   "node ops/score-validity/design.mjs   # rebuilds the population, pre-measurement",
   "node ops/score-validity/analyse.mjs  # prints every figure in the write-up",
   "node ops/score-validity/power.mjs    # prints the bounds on what the pilot could detect",
   "node ops/score-validity/publish.mjs  # rebuilds this file"
  ],
  "statistics": "bootstrapCI, prevalence, runsForMarginOfError, clearsNoiseFloor and NOISE_FLOOR_PP are imported from the shipped @trp/aeo measure.ts through the real TypeScript compiler, not reimplemented, so these are the functions the product uses. Bootstrap seeding is mulberry32(20260816), so every interval reproduces exactly.",
  "manual_adjudications": [
   "'C&E Consolidated' resolved to Construction And Electric Consolidated LLC. Confirmed independently: one run cited that business's stored domain token.",
   "'Claus Construction Company, LLC' resolved to our Claus Construction row. Confirmed by three runs citing its stored domain token.",
   "Both were adjudicated in the direction that makes the score look BETTER, since both businesses counted as named."
  ],
  "known_limits": [
   "n=58 is a convenience sample of the businesses we could reach, not a random sample of the county.",
   "34 assistant runs against the 385 per prompt the shipped runsForMarginOfError asks for at +/-5pp.",
   "Two engines. Google AI Mode, the surface with the most local query volume, is entirely unmeasured.",
   "All prompts were plain local discovery. Informational and hybrid queries were not tested.",
   "Review counts are observable only for businesses an engine surfaced, so no review-count correlation can be computed and none is claimed.",
   "Observational. Score correlates with business size, age and review count, and no observational design separates them. Only a randomised intervention would."
  ]
 }
}