Ranking transparency
How we rank electricians presented to clients. You should know how the algorithm decides what you see.
Two-stage matching
First we filter electricians who can do the job: required specialization, brand coverage, year range, language, and either remote work or service-area distance. Then we score the filtered set and present the top results.
Scoring factors
Higher score = higher rank. Approximate weights below; precise current weights live in our open-source packages/core/src/matching/score.ts.
| Factor | Direction | Approx. weight |
|---|---|---|
| Currently online | + | 100 |
| Subscription tier (Pro / Premium) | + | 0 / 50 / 80 |
| Average rating × log(review count) | + | up to 50 |
| Specialization overlap (Jaccard) | + | up to 30 |
| Brand exact match | + | 20 |
| Vehicle year in declared range | + | 10 |
| Language overlap | + | 15 |
| Distance (or full credit if remote) | + | up to 20 |
| Average response time | + | up to 15 |
| Currently active jobs | − | −3 each |
| Recent declines | − | −5 each |
What we do NOT use
- · We do not accept payment for ranking position.
- · We do not personalize ranking based on protected characteristics.
- · We do not use behavioral advertising signals.
Changes
Material changes to this algorithm are announced at least 14 days in advance. Past versions are archived in our public repository.