HomeClip

How HomeClip Trust Scores work

Every business on HomeClip has a single 0–100 score. Here's exactly how it's built — and what no amount of paying us can change.

The score has seven components

ComponentWeight (licensed trades)Weight (unlicensed trades)What it measures
License verification30%0% (or 5% bonus if voluntary)Active state license, no disciplinary actions
Reliability sentiment20%29%On-time, communication — extracted from review text
Quality15%21%Workmanship + safety sentiment
Reddit sentiment10%14%Upvote-weighted overall recommendation
Responsiveness10%14%How recently they replied on public channels
BBB record8%12%Complaints filed and complaint-resolution rate
Pricing fairness7%10%Quote accuracy and surprise-charge mentions

Trade-aware licensing

Texas state law requires licenses for plumbers, electricians, HVAC contractors, pest control operators, and pool builders. For these trades, the License component is a hard 30% of the score — an unlicensed plumber simply can't score high on HomeClip.

For trades the state doesn't license — handymen, cleaners, landscapers, painters, deck builders — the 30% redistributes proportionally to the other components. A great handyman with strong reviews and Reddit support can score 90+ without ever needing a license they aren't required to have.

Time decay

Signals from the last 90 days count fully. Signals 3–6 months old count at 60%. 6–12 months at 30%. Older than that at 10%. A contractor who was great three years ago and now ghosts doesn't ride past reputation.

Platform weighting

Different platforms get slightly different weights based on signal quality:

Upvote weighting

Reddit comments with more upvotes count more, capped at 2×. A 200-upvote warning beats a 1-upvote complaint. A single viral comment can't dominate.

Confidence cap

A business with two perfect reviews doesn't get a perfect score. The score is multiplied by a confidence factor of 1 − e−n/12, where n is the count of contributing signals. ~50% confidence at 8 signals, ~95% at 36. New businesses appear with “Trust Score: building” instead of a misleadingly precise number.

7-day grace period

Every new signal is held for 7 days before counting toward the Trust Score. During that window, the business can file a dispute with proof, which pauses the signal's impact until reviewed. More on disputes.

What paying us cannot do

Pro subscribers ($29/mo) get a verified badge, faster dispute review, real-time lead alerts, and priority placement within their score band. Among two businesses scoring 88, the Pro shows first. A Pro scoring 72 never outranks a free listing scoring 88.

Transparency report

Once per quarter we publish anonymized dispute resolution stats — how many were filed, how many were upheld vs. removed vs. annotated, median time to resolution. This will appear here once we have enough data to be statistically meaningful.

Want the full math?

The authoritative formula lives in our open codebase. The SQL function is compute_trust_score() in our database schema. The TypeScript mirror is in lib/trust-score.ts. Two implementations, same numbers, used for production scoring and dashboard simulation respectively.