{
  "releaseId": "bor-jax-roofing-review-signals-v1",
  "version": "v1",
  "sourceRelease": {
    "id": "jacksonville-roofing-evidence-v3",
    "status": "frozen",
    "frozenAt": "2026-07-19T14:05:19.567Z",
    "manifestSha256": "ec3347b4e9050b5355d50c9ade9b4bffda4df2350c480f64615cacfe8460baf4",
    "artifactSetSha256": "283b286cc72d86d002e97ba8f282b336a8cde7f6558215f7e4c53480801f48cb"
  },
  "title": "BasedOnReputation Jacksonville Roofing Review Signals",
  "publisher": "BasedOnReputation",
  "author": "BasedOnReputation Research Department",
  "publishedAt": "2026-09-01",
  "modifiedAt": "2026-09-01",
  "geography": "Jacksonville, Florida",
  "period": {
    "start": "2013-03-11",
    "end": "2026-05-27"
  },
  "reviewSet": {
    "reviewRecords": 11552,
    "writtenReviews": 10339,
    "businessProfiles": 122,
    "scoreEligibleEvidenceSegments": 35214,
    "acceptedEvidenceSegments": 52931
  },
  "method": "Software-assisted passage labels followed by rule-based checks.",
  "selectionRules": {
    "positiveSignals": "Top five positive signals by distinct written-review count.",
    "negativeSignals": "Top six negative signals by distinct written-review count."
  },
  "definitions": {
    "writtenReview": "A review record that contains written text.",
    "distinctWrittenReviewCount": "The number of separate written reviews in which a topic appeared at least once.",
    "taggedPassage": "A short part of a written review that software assigned to a topic before rule-based checks.",
    "businessProfile": "A roofing business profile represented in the frozen Jacksonville source set."
  },
  "limitations": [
    "Topics can overlap.",
    "Counts are not percentages of homeowners.",
    "Counts are not company rankings, defect rates, or predictions.",
    "A tagged passage is not a person, job, complaint, or full review."
  ],
  "claims": [
    {
      "id": "BOR-JAX-RR-v1-C01",
      "label": "Positive crew-treatment signal",
      "distinctWrittenReviews": 5085
    },
    {
      "id": "BOR-JAX-RR-v1-C02",
      "label": "Positive install-quality signal",
      "distinctWrittenReviews": 4251
    },
    {
      "id": "BOR-JAX-RR-v1-C03",
      "label": "Positive communication and responsiveness signal",
      "distinctWrittenReviews": 2876
    },
    {
      "id": "BOR-JAX-RR-v1-C04",
      "label": "Most common negative signal: communication and responsiveness",
      "distinctWrittenReviews": 225
    }
  ],
  "positiveSignals": [
    { "label": "Crew treatment", "distinctWrittenReviews": 5085 },
    { "label": "Install quality", "distinctWrittenReviews": 4251 },
    { "label": "Communication and responsiveness", "distinctWrittenReviews": 2876 },
    { "label": "Customer guidance", "distinctWrittenReviews": 2312 },
    { "label": "Timeline kept", "distinctWrittenReviews": 2227 }
  ],
  "negativeSignals": [
    { "label": "Communication and responsiveness", "distinctWrittenReviews": 225 },
    { "label": "Customer burden", "distinctWrittenReviews": 168 },
    { "label": "Install quality", "distinctWrittenReviews": 99 },
    { "label": "Aftercare and resolution", "distinctWrittenReviews": 99 },
    { "label": "Property damage", "distinctWrittenReviews": 95 },
    { "label": "Timeline kept", "distinctWrittenReviews": 82 }
  ],
  "downloads": [
    { "label": "Aggregate JSON", "url": "/blog-v3/data/jacksonville-roofing-review-signals-v1.json", "format": "application/json" },
    { "label": "Positive signals CSV", "url": "/blog-v3/data/jacksonville-roofing-positive-signals.csv", "format": "text/csv" },
    { "label": "Negative signals CSV", "url": "/blog-v3/data/jacksonville-roofing-negative-signals.csv", "format": "text/csv" },
    { "label": "Method flow CSV", "url": "/blog-v3/data/jacksonville-roofing-methodology-flow.csv", "format": "text/csv" },
    { "label": "Positive signals SVG", "url": "/blog-v3/data/jacksonville-roofing-positive-signals-v1.svg", "format": "image/svg+xml" },
    { "label": "Positive signals PNG", "url": "/blog-v3/data/jacksonville-roofing-positive-signals-v1.png", "format": "image/png" },
    { "label": "Negative signals SVG", "url": "/blog-v3/data/jacksonville-roofing-negative-signals-v1.svg", "format": "image/svg+xml" },
    { "label": "Negative signals PNG", "url": "/blog-v3/data/jacksonville-roofing-negative-signals-v1.png", "format": "image/png" },
    { "label": "Method flow SVG", "url": "/blog-v3/data/jacksonville-roofing-methodology-flow-v1.svg", "format": "image/svg+xml" },
    { "label": "Method flow PNG", "url": "/blog-v3/data/jacksonville-roofing-methodology-flow-v1.png", "format": "image/png" }
  ],
  "commercialSeparation": "Ads, badges, lead relationships, and Rave subscriptions do not affect BasedOnReputation research, scores, rankings, or findings.",
  "citation": "BasedOnReputation Research Department. Jacksonville Roofing Review Signals. Release v1, September 1, 2026. https://basedonreputation.com/blog/roofing/jacksonville-roofing-review-signals",
  "canonicalUrl": "https://basedonreputation.com/blog/roofing/jacksonville-roofing-review-signals",
  "methodologyUrl": "https://basedonreputation.com/methodology",
  "correctionsUrl": "https://basedonreputation.com/contact"
}
