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.
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 contributors
Written by
Staff Writer
Jessica Tanaka spent three years at Bloomberg as a data reporter on the Consumer Tech desk before joining ServiceAgent. She holds a BS in Computer Science from UC Berkeley (2016) and a Master of Journalism from UC Berkeley (2018) where she focused on data-journalism. At Bloomberg her work focused on quantitative consumer-tech market analysis - market share, pricing, sentiment scoring. At ServiceAgent she writes the analytical pieces and comparison-table content, working closely with Dr. Aisha Williams on the methodology disclosures. Jessica is fluent in SQL, Python, and statistical analysis - her articles are typically the ones with the most rigorous data work behind them.
Credentials
- Master of Journalism, UC Berkeley (2018)
- BS Computer Science, UC Berkeley (2016)
- Investigative Reporters and Editors (IRE) data fellow
- SQL + Python + R (working proficiency)
Background
- Bloomberg (Data Reporter, Consumer Tech, 2021-2024)
- The Markup (Data Reporter, 2018-2021)
San Francisco, CA · 7 years experience · (415) 555-1428
Reviewed by
Director of Methodology · Reviewer
Aisha holds a PhD in Statistics from Stanford University (2017) and is responsible for the design, audit, and ongoing calibration of ServiceAgent's composite scoring formula. Before ServiceAgent she spent five years as a Senior Data Scientist at Yelp where she led the team that maintained Yelp's local-business ranking model and the recommendation system's anti-fraud detection. Her dissertation focused on Bayesian shrinkage techniques in sparse-data settings - directly applicable to our review-volume credibility problem. Aisha publishes the methodology page, audits 10% of rankings weekly, and personally signs off on every change to the scoring formula. If a page has a Dataset schema or a published formula, Aisha reviewed it.
Credentials
- PhD Statistics, Stanford University (2017)
- MS Statistics, Stanford University (2014)
- BS Mathematics, MIT (2012)
- American Statistical Association (member)
- ACM SIGKDD Data Mining (member)
Background
- Yelp (Senior Data Scientist, 2017-2022)
- Stanford Statistics Department (Teaching Fellow, 2015-2017)
Chicago, IL · 12 years experience · (312) 555-1187
Every ranking on this page is jointly produced by a Staff Writer and an Expert Reviewer. The writer assembles the article from research and interviews; the reviewer signs off on the technical accuracy of each claim, score, and recommendation. 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
You'll be redirected to a 30-second verification flow on cal.so. We send a code to the phone number Google has on file for your business.
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. Most service businesses see a 22-31% lift in booked jobs in week one.
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