Rankwise Rankings · Methodology
How these rankings work — methodology v2.1.0
This page is the substantiation for every ranking Rankwise publishes. It changes only with a version bump, and every ranking page names the version that produced it.
These are public visibility and reputation signals, not workmanship inspections.
The score
Every business is scored out of 100 from public signals only. The components and weights:
Scroll to see the full table →
| Component | Weight | What it measures |
|---|---|---|
| review volume | 28 points | How many Google reviews the business has — a larger body of independent customer reviews is stronger evidence, counted on a curve so the step from 10 to 100 reviews matters more than the step from 1,000 to 1,100. |
| rating quality | 28 points | The business's Google star rating, weighted by how many reviews stand behind it — a 4.8 backed by 900 reviews outscores a 5.0 backed by 6. |
| map pack presence | 23 points | How often the business appears in Google's own top-3 map results across the tracked searches for this trade and city, with a higher position earning more credit. |
| web presence | 15 points | Whether the business has a working website, serves it over a secure (HTTPS) connection, and publishes structured data that search and AI engines can verify — full credit when that data identifies it as a local service business, partial credit for other structured data, and no credit when none is found. |
| citation consistency | 6 points | Whether the phone number and address published on the business's own website match what's shown on its Google listing — checked for a limited number of businesses per refresh cycle within a fixed API budget; a business not yet checked this cycle earns no points for this component, never a penalty. |
Ties break by review count, then business name — so an identical score never produces an arbitrary order. Review growth between captures is shown on cards as a fact but is not yet a scored component.
A business with no website is not penalized for lacking one — every component that needs a website to check (structured-data presence, and citation self-consistency) simply scores 0 for that business rather than an assumed failure. Because of this, a no-website business can still reach 79/100 on the remaining components — a deliberate design choice (plenty of trades run on a Google listing and word of mouth alone), not an oversight or a hidden penalty.
Data sources
- Google Places search captures — business identity, review count, rating, and listed website per market.
- Google map-pack captures (via SerpAPI) — who actually appears in Google's top-3 map results for each tracked search in each city, captured monthly.
- Rankwise site checks — a direct fetch of each listed website: does it answer over HTTPS, and does it publish structured data that identifies a local service business (full credit) versus other, generic structured data (partial credit).
- Rankwise citation checks — one SerpAPI Google Maps lookup and a direct fetch of the business's own website, compared for phone and address agreement. Checked for a limited number of businesses per refresh cycle within a fixed budget; not yet checked earns no points, never a penalty.
- OrgBook BC (BC Registries' public API) — confirms whether we could positively match a business, by name, to a currently active registered legal entity. This is a DIFFERENT question from trade licensing: it answers "is this a real, currently-registered business," never "is this business licensed." Shown only as a dated "registered since" fact when matched; an unmatched business (most sole proprietorships never appear under a matching legal name) shows nothing — never a claim either way.
- Google PageSpeed Insights — a mobile page-speed score for the business's own website, shown as a dated fact. Not scored; Google's own measurement, not ours.
Every fact on a ranking page carries its source and capture date. Where a signal was not captured for a business, the page says “not enough data” — nothing is estimated, inferred, or invented.
Who's included — what "in [city]" means
The candidate pool for a city page is defined by Google's own view of the market: every business Google Places returns for that trade's search in that city, plus every business observed in Google's top-3 map results for the city's tracked searches. A business enters the ranked list only when its core review evidence (count and rating) is fully observed in our captures; a business seen only in a map pack without that evidence is listed separately as "also seen" — shown, never ranked, never scored. "Best in [city]" therefore means: top-scored among the businesses Google surfaces for that city's searches. Businesses serve the city; they are not necessarily headquartered in it. If your business serves a city and is missing from its list, use the dispute address below — the next capture cycle can pick it up.
What we never do
- Sell position. No business can pay to appear, to move up, or to remove a competitor. There is no paid placement and no sponsorship on ranking pages.
- Hide relationships. If a ranked business is a Rankwise client, the page discloses it exactly where the ranking appears. The score math cannot see client status.
- Pad thin markets. A market page is only published when at least 8 businesses have fully-observed public data. No filler entries, ever.
- Assert credentials we can't check. We do not claim any business is licensed, insured, or certified — licensing status belongs to BC's licensing bodies, not to us.
Update cadence
Ranking pages are refreshed every 4–8 weeks from new captures. Each update is dated and recorded in the page's changelog; the methodology version only changes when the scoring itself changes.
Corrections & disputes
If your business is listed with a factual error — wrong website, wrong review data, wrong name — email zshef@rankwise.ca with the correction and a way to confirm it. We review disputes promptly, correct verified errors in the next update, and record the correction in the page's changelog. A score you disagree with is not a factual error; stale or wrong data behind a score is, and we want to know about it.