Three Evidentiary Safeguards
- Collector failures never penalize a contractor. A timeout, rate limit or unreachable source is recorded as
unknown, neverfail. - The over-20% unknown withhold rule. A company with more than 20% of checks returning
unknownis withheld from public ranking. - Reply rules need real data. Google Places reviews carry no owner replies, so R4 to R6 are always
unknown; checks with no data source for a trade (A1 to A3 for HVAC) are markedn_aand excluded from scoring.
All 28 Rules & Point Allocations
| Rule | Domain | Criterion | Trust Weight | Technical Weight |
|---|---|---|---|---|
| G1 | GBP | GBP listing found A Google Maps/Business Profile listing matching the business name + phone is found for the Las Vegas/Summerlin area. |
0 pts | 8 pts |
| G2 | GBP | GBP listing claimed Business Profile is claimed/verified by the owner (SerpApi 'unclaimed' flag absent). Fail = unclaimed. |
0 pts | 10 pts |
| G3 | GBP | GBP NAP matches website Normalized name, address (or service-area) and E.164 phone on GBP match the website's NAP. |
0 pts | 8 pts |
| G4 | GBP | Hours published on GBP GBP lists regular opening hours (communication accessibility signal). |
6 pts | 4 pts |
| G5 | GBP | Website linked on GBP GBP has a website URL that resolves to the business's own domain (not a directory/social page). |
0 pts | 4 pts |
| G6 | GBP | No keyword stuffing in GBP name LLM judges whether the GBP business name contains marketing keywords/cities not part of the legal or website brand name (e.g. '| #1 POOL SERVICE LAS VEGAS'). |
0 pts | 5 pts |
| G7 | GBP | GBP primary category fits pool service LLM judges whether the GBP primary category fits residential pool cleaning/repair (e.g. 'Swimming pool repair service', 'Pool cleaning service'). |
0 pts | 5 pts |
| A1 | APPLE | Apple Maps listing found DuckDuckGo Maps (Apple Maps data) returns a listing for the business. |
0 pts | 6 pts |
| A2 | APPLE | Apple Maps NAP matches GBP Phone and name on the DDG/Apple listing match GBP after normalization. |
0 pts | 4 pts |
| A3 | APPLE | Yelp rating proxy present and healthy DDG Maps result carries a Yelp rating; rating >= 4.0 with >= 5 reviews. |
0 pts | 3 pts |
| W1 | WEBSITE | Website resolves Business website returns HTTP 200 (after <= 3 redirects) with HTML content. |
0 pts | 8 pts |
| W2 | WEBSITE | Valid HTTPS Site serves over HTTPS with a valid, unexpired certificate and HTTP redirects to HTTPS. |
0 pts | 5 pts |
| W3 | WEBSITE | Mobile tap-to-call matches GBP phone Homepage (mobile UA) has a tel: link whose E.164 number equals the GBP phone (communication accessibility). |
6 pts | 6 pts |
| W4 | WEBSITE | Website NAP present Website footer/contact page shows business name and phone (and address unless service-area-only). |
0 pts | 6 pts |
| W5 | WEBSITE | XML sitemap present sitemap.xml (or sitemap referenced in robots.txt) is reachable and parses. |
0 pts | 3 pts |
| W6 | WEBSITE | Summerlin service-area coverage on site Site text mentions Summerlin or at least one target ZIP (89138, 89144, 89135, 89128, 89145). |
0 pts | 4 pts |
| S1 | SCHEMA | LocalBusiness schema present Homepage contains JSON-LD/microdata of type LocalBusiness or a subtype (e.g. HomeAndConstructionBusiness). |
0 pts | 6 pts |
| S2 | SCHEMA | Schema NAP matches GBP telephone (and name) in LocalBusiness schema match GBP after normalization. |
0 pts | 5 pts |
| R1 | REVIEWS | Total review volume GBP total Google review count is at least the threshold. |
6 pts | 0 pts |
| R2 | REVIEWS | Average rating GBP average star rating at or above threshold. |
8 pts | 0 pts |
| R3 | REVIEWS | 6-month review velocity Number of new Google reviews in the trailing 6 months. |
14 pts | 0 pts |
| R4 | REVIEWS | Owner reply coverage on 1-3 star reviews Share of 1-3 star reviews (trailing 12 months) with an owner reply. |
14 pts | 0 pts |
| R5 | REVIEWS | Overall owner reply rate Share of all reviews in trailing 6 months with an owner reply. |
8 pts | 0 pts |
| R6 | REVIEWS | Owner reply timeliness Median time from review to owner reply, trailing 12 months. |
6 pts | 0 pts |
| R7 | REVIEWS | Review recency Age of the most recent Google review. |
10 pts | 0 pts |
| R8 | REVIEWS | Recent rating trend Trailing-6-month average rating vs lifetime average. |
4 pts | 0 pts |
| R9 | REVIEWS | No phone/missed-call complaint theme LLM scans 1-3 star review text (trailing 12 months) for unanswered calls, voicemail, slow callback, unreachable themes. |
10 pts | 0 pts |
| R10 | REVIEWS | No other recurring complaint theme LLM scans 1-3 star review text (trailing 12 months) for other recurring themes: no-shows/skipped visits, billing disputes, equipment damage, green pool. |
8 pts | 0 pts |