{
  "id": "contractor-response-time",
  "title": "Contractor Response Time Dataset",
  "description": "A collection instrument for how quickly credentialed radon contractors respond to a homeowner request, by state and request type. Methodology published; zero observations held.",
  "version": "0.1.0",
  "status": "collecting",
  "provenance": "primary-collection",
  "license": "CC BY 4.0 — reuse with attribution to Radon Connect and a link to the dataset page.",
  "published": "2026-07-29",
  "canonical": "https://radonconnect.com/datasets/contractor-response-time/",
  "schema": [
    {
      "key": "requestId",
      "label": "Request ID",
      "type": "string",
      "description": "Pseudonymous identifier."
    },
    {
      "key": "state",
      "label": "State",
      "type": "string",
      "description": "State the request originated in."
    },
    {
      "key": "marketType",
      "label": "Market type",
      "type": "enum",
      "values": [
        "metro-core",
        "metro-edge",
        "rural"
      ],
      "description": "Routing territory class."
    },
    {
      "key": "urgency",
      "label": "Stated urgency",
      "type": "enum",
      "values": [
        "contract-deadline",
        "planning",
        "no-deadline"
      ],
      "description": "Urgency the homeowner selected in the funnel."
    },
    {
      "key": "hoursToFirstContact",
      "label": "Hours to first contact",
      "type": "number",
      "unit": "hours",
      "description": "Elapsed time from routing to the homeowner confirming first contact."
    },
    {
      "key": "quoteDelivered",
      "label": "Written quote delivered",
      "type": "boolean",
      "description": "Whether a written quote followed."
    }
  ],
  "methodology": {
    "question": "After a request is routed, how long does a homeowner actually wait for first contact and for a written quote?",
    "construction": [
      "Rows will be generated from routed requests with homeowner-confirmed contact timestamps.",
      "Contractor identity is not retained in the published dataset. Aggregates are reported by state and market type."
    ],
    "inclusion": [
      "Requests routed to a credentialed contractor through this platform.",
      "Requests for ZIPs outside coverage are excluded — nothing was routed, so there is nothing to measure."
    ],
    "limitations": [
      "Zero observations are held today. This platform makes no response-time claim and its prohibited-claim gate fails the build on any page that does.",
      "When published, results will describe contractors in this network responding to requests from this platform, and will not generalise to the industry.",
      "Homeowner-confirmed timestamps carry recall error. Any release will state the confirmation rate and the unknown rate."
    ]
  },
  "collection": {
    "method": [
      "Measured from routed requests: the timestamp a request is dispatched, and the timestamp a homeowner confirms first contact in a follow-up.",
      "Confirmation is homeowner-reported rather than contractor-reported, because the party with an incentive to report favourably should not be the party reporting.",
      "Requests where the homeowner does not respond to the follow-up are recorded as unknown rather than dropped, and the unknown rate is published alongside any result."
    ],
    "releaseThreshold": 500,
    "observations": 0,
    "whyNotEstimate": "Response time is precisely the metric a lead platform is tempted to invent, because a fast number sells. It is also the metric a homeowner would most reasonably rely on. Publishing a figure we have not measured would be a marketing claim wearing a dataset’s clothes, and this platform already refuses response-time promises in its prohibited-claim rules — a dataset is not an exemption from that."
  },
  "rowCount": 0,
  "rows": []
}
