METHODOLOGY · LAST UPDATED May 17, 2026
How we rank: ServiceAgent Score methodology
Every ranking on this directory uses the same public formula. Here it is, in detail, with the assumptions, sources, and limitations that go into it.
Last updated May 17, 2026
TL;DR
- Every business gets a composite ServiceAgent Score (0-10).
- Formula: 0.6 × Recommendation Score + 0.4 × Trust Score.
- Recommendation Score is the Google rating Bayesian-shrunk toward the category mean using a 25-review prior - prevents low-volume 5-star outliers from outranking high-volume 4.7-star providers.
- Trust Score rewards owner verification, complete contact info, and review-volume credibility.
- No pay-to-rank. Sponsored slots (if ever introduced) will be clearly labeled and excluded from editorial ranking.
The composite ServiceAgent Score
Formula
Composite = 0.6 × Recommendation + 0.4 × Trust
Both inputs are scaled to 0-10. Composite output is also 0-10. Score chips on each provider card show all three.
We weight Recommendation 50% higher than Trust because consumer satisfaction is the strongest single signal a directory can surface - if a provider has earned consistent 4.8+ ratings across 200+ reviews, that's a better predictor of job satisfaction than data completeness ever is. But Trust isn't a throwaway: a 5-star unclaimed listing with no website and no phone is genuinely riskier than a 4.6-star verified listing with full contact details, so we let Trust modulate the headline score by up to 40%.
Recommendation Score (60% of composite)
Bayesian-shrunk Google rating. The shrinkage formula:
Per-business shrinkage
ShrunkRating = ((v × R) + (m × C)) / (v + m)
- R = business rating (0-5)
- v = review count
- C = mean rating across the category in our database (typically ~4.7-4.8)
- m = 25 (shrinkage prior - businesses with fewer than 25 reviews are pulled toward the category mean)
Then mapped to 0-10: Score = clamp(ShrunkRating × 2, 0, 10).
Worked example. Two HVAC providers in the same city. Provider A: 4.9 stars from 6 reviews. Provider B: 4.7 stars from 240 reviews. Category mean = 4.78. Without shrinkage, A > B (4.9 > 4.7), even though B has 40× more data.
Provider A shrunk: ((6 × 4.9) + (25 × 4.78)) / (6 + 25) = 4.80
Provider B shrunk: ((240 × 4.7) + (25 × 4.78)) / (240 + 25) = 4.71
Now: A = 4.80, B = 4.71. A still edges out B by a hair, but the gap is tiny. The shrinkage penalty for low review volume kicked in - Provider A's "5 stars" is now treated as provisional, not gospel.
Trust Score (40% of composite)
Trust is the sum of up to 10 points across four buckets:
| Component | Max points | How it's earned |
|---|---|---|
| Contactability | 3 | Phone (1pt) + website (1pt) + street address (1pt) |
| Data completeness | 2 | Hours (0.5pt) + coordinates (0.5pt) + photos (0.5pt) + service categories (0.5pt) |
| Verification | 3 | Owner completed the claim flow (phone-verified ownership) |
| Review-volume credibility | 2 | 200+ reviews (2pt) / 50+ (1.5) / 10+ (1) / 3+ (0.5) / less (0) |
| Total Trust Score range | 0 - 10 | Sum of the four buckets, clamped to [0, 10] |
A claimed listing with complete data and a strong review history can comfortably score 9-10 on Trust. An unclaimed listing with only a phone number, no website, no hours, and 4 reviews would land around 2-3 on Trust - which under our weighting drags its composite down even if the rating is high.
Confidence label
Every score chip is labeled with a confidence indicator, based on the underlying review count:
- High confidence: 50+ reviews
- Medium confidence: 10-49 reviews
- Low confidence: <10 reviews (treat the score as provisional)
Data sources
- Business listings, ratings, reviews, photos, hours, NAP: active Google Business Profile data, refreshed nightly.
- State licensing verification: each state's official contractor licensing board. We link out for verification; we do not host license data ourselves. List of boards we cite.
- Pricing benchmarks: derived from review-text mining and provider-disclosed quote ranges, calibrated against industry-survey averages (ACCA, PHCC, NRCA depending on trade).
- ZIP → neighborhood mapping: curated from USPS, Wikipedia, and city open-data sources. Currently covers ~900 ZIPs across the 30 largest U.S. metros.
- Seasonal demand indices: derived from Google Trends signal patterns + industry seasonality reports, indexed to 100 = annual average per trade.
What we deliberately don't do
- No pay-to-rank. Editorial rankings are not for sale. If we ever introduce sponsored slots, they will be clearly labeled and excluded from the composite score.
- No black-box scoring. The full formula, weights, and shrinkage prior are public on this page.
- No AI-generated review text. Where we quote a review, the text comes from a real Google review (attributed). We do not synthesize fake testimonials.
- No "near me" deception. ZIP pages are limited to providers physically located inside that ZIP. Pages that include nearby providers (city-wide, state-wide) are labeled as such.
- No retroactive score manipulation. When a business claims a listing, the Trust Score updates - but we never adjust a Recommendation Score at a provider's request.
Refresh + update cadence
- Business listings: refreshed nightly from Google Business Profile
- Composite scores: re-computed whenever review data refreshes or a listing is claimed
- State licensing board verification: nightly
- Cost benchmarks + seasonal demand: reviewed quarterly
- Methodology page: last updated 2026-05-17 - any formula change is logged below
Frequently asked questions
How is the ServiceAgent Score calculated?
It's a weighted composite of two underlying scores: Recommendation Score (60%) and Trust Score (40%). Recommendation Score is the business's Google star rating Bayesian-shrunk toward the category mean using a 25-review prior, then mapped to a 0-10 scale. Trust Score rewards owner-verified status (3 points), contactability (up to 3 points - phone, website, address), data completeness (up to 2 points - hours, coordinates, photos, service categories), and review-volume credibility (up to 2 points scaling with review count). Composite = 0.6 × Recommendation + 0.4 × Trust.
Why use Bayesian shrinkage on the rating?
Without it, a 5.0-star average from 2 reviews would outrank a 4.7-star average from 240 reviews, which is exactly backwards - the second business has demonstrated consistency at scale, the first has barely demonstrated anything. Shrinkage pulls low-review providers toward the category mean (typically ~4.7-4.8) with a strength controlled by the 25-review prior. A provider with 25 reviews gets half-weight; one with 100 gets ~80% weight; one with 500 is essentially un-shrunk.
How often does the data refresh?
Business listings refresh nightly from active Google Business Profile data. Composite scores re-compute as new reviews land, and again whenever a provider claims their listing (which bumps Trust Score). The "Last updated" date at the top of every ranking page is the timestamp of the most recent data refresh feeding that page.
Do you accept money to influence rankings?
No. Editorial rankings are based solely on the published formula. We do not accept payment for inclusion, placement, or score adjustment. If we ever introduce sponsored slots, they will be clearly labeled (e.g. "Sponsored") and shown separately from editorial rankings. Sponsored slots will never affect a provider's ServiceAgent Score.
What data sources do you use?
We pull from active Google Business Profile data (name, address, phone, hours, photos, reviews, ratings, categorization). For state-level licensing verification we link out to each state's official contractor board. Pricing benchmarks are derived from review-text mining and provider-disclosed quote ranges. ZIP neighborhood names are curated from USPS data + Wikipedia + city open-data sources.
How are pricing ranges in your cost calculator derived?
Per-category cost configurations are anchored on industry-survey averages (HVAC: ACCA Cost Survey; Plumbing: PHCC; Roofing: NRCA; etc.) and adjusted with a city-multiplier based on local labor costs (BLS Quarterly Census of Employment and Wages). Ranges are 'Low' to 'High' rather than point estimates - use them as a sanity check, always get a written quote from the provider.
How can I suggest a correction or report a bad provider?
Email help@serviceagent.ai with the page URL and the correction. We respond within 1 business day. For rapid issues (a provider that's gone out of business, a wrong phone number, a license that's been suspended), include the words "correction" in the subject and we triage faster.
How do I get my business added or claimed?
Active Google Business Profile listings are added automatically during our nightly refresh. To claim an existing listing (verify ownership, get a green badge, edit description + photos), use the 'Claim your listing' button on any provider's page - it routes to a 30-second phone-based verification flow.
Why are some ZIP code pages labeled by neighborhood name (e.g. Mar Vista) while others are not?
We curate ZIP → neighborhood mappings for the 30 largest U.S. metros (~900 ZIPs). ZIPs outside that curated set render with the bare ZIP code instead. If you know the local name for a ZIP we haven't labeled yet, suggest it via the feedback box at the bottom of any ZIP page.
Update history
- 2026-05-17 — Added neighborhood-name layer on ZIP pages (902 mappings across 30 metros). No formula change.
- 2026-05-12 — Methodology page initial publication. Composite formula 0.6 × Recommendation + 0.4 × Trust. Bayesian shrinkage prior m = 25.
Suggest a correction
Spot something wrong? Email help@serviceagent.ai with the page URL. We respond within 1 business day.
About the author
Written by
Growth & Product Marketing, ServiceAgent
Shaambhav Shankar works in product marketing at SaaS Labs, the company behind ServiceAgent, and describes himself as a marketing generalist with six years of experience in SaaS. He studied at Symbiosis International University and is based in the Greater Delhi Area. He writes the bulk of the ServiceAgent blog, covering call answering, CRM and the operational side of running a home services business, and authors and maintains the ServiceAgent Directory rankings.
Credentials
- Symbiosis International University (2016-2019)
- Digital Marketing, Google India (2020)
- Financial Modelling and Valuation, Ernst & Young (2019)
- Building with the Claude API, Anthropic (2026)
- AI Fluency for Builders, Anthropic (2026)
- Introduction to Model Context Protocol, Anthropic (2026)
Greater Delhi Area, India · 6 years experience
Every ranking on this page is written and maintained by Shaambhav Shankar, who owns the ranking methodology and verifies each provider listing against public data. No pay-to-rank, no sponsored placements. Read our methodology →
Own a business in this list? Claim it free.
Get a verified green badge, edit your description, upload real photos, and bump your placement in this and 11 other category lists. Takes under 2 minutes.
- ✓Verified badge next to your name
- ✓Edit services, hours, photos, description
- ✓Boosted ranking in claimed-only sort
- ✓Response analytics on inbound leads
- ✓No fee, no card required
- ✓2-minute phone-based verification
Fill out the verification form right here. We'll match it to your Google Business Profile and confirm by phone within one business day.
Run a home services business? Stop missing 1 in 3 calls.
ServiceAgent's AI Receptionist answers every call 24/7, books jobs straight into your CRM, follows up on quotes, and sends recap notes to you, so you stop losing jobs to missed calls.
24/7 call answering
Voice AI handles after-hours, weekends, lunch breaks, and overflow.
Books to your calendar
Pulls availability from Jobber, Housecall Pro, ServiceTitan, or Google Calendar.
SMS + email follow-up
Recaptures unbooked quotes the same day. No prompts required.
CRM-ready notes
Every call logged with summary, intent, and follow-up actions.
No credit card · Cancel anytime · 30-day money-back guarantee