Skip to main content

AI Contractor Matching

Current implementation: rules-based. See Ranked Picker for weights. No LLM in the hot path.

Why not AI today

Three reasons we didn't LLM-ify contractor matching at launch:

  1. Explainability. A PM needs to see why a contractor is top-ranked. trade match + preferred + insurance current is immediately defensible; "Claude ranked them first" is not.
  2. No data. Contractor matching is a statistical problem (historical job completion rate, time-to-dispatch, post-job satisfaction) more than a linguistic one. LLMs aren't the right tool for structured ranking with tiny training data.
  3. Dispatch-critical surface. If Claude is down, tradies can't get dispatched. We'd rather ship with rules that always work.

What an AI-augmented ranking would add

Planned for prompt-v2 of the contractor-picker (not LLM in the hot path, but AI-scored offline):

  • Completion rate — what fraction of dispatched WOs did this contractor mark COMPLETED vs get re-dispatched?
  • Time to accept — median minutes between dispatch and accept.
  • On-time % — did they arrive within their scheduled window?
  • Invoice alignment — did the invoice match the cost ceiling?
  • PM satisfaction thumbs-up/down — collected on WO completion.

These would be summarised nightly by Claude into a per-contractor score comment:

"Harbour Plumbing: 94% completion, 28-min median accept, on-time 91%, invoices within ceiling 100%. Strong on emergency response. Occasional billing discrepancy on appliance repairs."

The ranked picker would then show score + human-readable summary, not just rule-based chips.

Roadmap

See AI Roadmap → Tier 3 for commitment level and timing. Blocked on collecting 3+ months of operational data per contractor before the scoring has statistical signal. Not a cold-start problem we can solve with a prompt.

See also