How it works · No hidden weights

Scorecard methodology

The Local Pack Scorecard grades any business in 30 seconds. Four sections, four signals, one overall letter grade. This page documents exactly how the math works — because anything we won't explain in writing isn't worth trusting.

The four sections

Each section is scored 0-100 and graded A-F. The overall grade is the arithmetic mean of the four section scores, with no per-industry or per-city weighting.

01

GBP completeness

Does Google know what you do?

We check every field on the Business Profile that Google reads as a relevance signal. Categories, services, hours, address, phone, website, photo count, business description. Each field is worth between 10 and 20 points toward the section's 100. The single biggest weight is on photos — businesses with 20+ photos score noticeably higher than ones with 5-19, because photo volume is one of the strongest activity signals Google has.

A 100 here means every field is populated and there are 20+ photos. A 70 typically means the profile is claimed but missing 1-2 important fields like business description or additional categories.

02

Review velocity

Volume plus recency. Recency matters more than people expect.

We score total review count tiered (1-9, 10-49, 50-149, 150+) plus a recency adjustment based on the most recent review's age. A review in the last 30 days adds points. A most-recent review older than a year subtracts points. Most-recent older than 90 days starts deducting.

This penalises businesses that ranked well in 2022 but stopped earning reviews. Google's local algorithm treats stalled review velocity as a fading-business signal, and so do we.

A 100 here usually means 150+ reviews with at least one in the last 30 days. A 75 might mean 50+ reviews but the most recent is 60 days old — strong volume, slowing pace.

03

Rating quality

The trust threshold is 4.7. Below that, every fraction matters.

A 4.7-star rating crosses the trust threshold most buyers apply when scanning the local pack. We score by rating tier (4.7+ = 100, 4.5-4.69 = 85, 4.0-4.49 = 65, 3.5-3.99 = 40, under 3.5 = 20) with one important adjustment: businesses with fewer than 20 total reviews are capped at 40 in this section regardless of average. A 5.0 rating across 3 reviews is not statistically meaningful, and we say so.

A 100 here means 4.7+ stars across 20+ reviews. A 40 typically means a perfect rating but very few reviews to back it up — not bad, just not yet credible.

04

Local pack position

The outcome the other three sections are trying to produce.

We run a live "[trade] [city]" search against Google Places and check where the business appears in the top 10 results. Top 3 (the local pack) is a 100. Top 6 is a 70. Top 10 is a 40. Off the first page entirely is a 0.

This is the only section that's pure outcome — it doesn't grade what you've done, just where you are. A business can have great sub-scores everywhere else and still score 0 here if there's a stronger competitor across town. That's not failure; that's market conditions.

A 100 here means you're already in the local pack for your primary trade keyword. A 70 means just outside it — close, but missing the actual clicks.

How the overall grade is built

The four section scores are averaged with equal weight. The resulting 0-100 maps to a letter:

A
90-100 — solid foundation, defend the position
B
80-89 — strong with one or two gaps to close
C
65-79 — visible but losing pack signals
D
50-64 — multiple weak signals, work is real
F
0-49 — invisible where your buyers are looking

The "if you only do three things this week" section on every results page is derived from the weakest-scoring sections — top three actions are pulled from sections that scored furthest from 100, in order. That means a business with strong reviews but weak GBP completeness will see GBP fixes pushed to the top of their action list, and vice versa.

Data sources and what we can't see

Every signal in the scorecard is read live from the Google Places API at the moment you generate the scorecard. Two API calls per run: one for the business itself, one for the local pack of your trade + city. Results are cached forever once generated.

Three things the Places API does not expose, and which we therefore can't score:

Even with those gaps, the four sections we do score cover approximately 75% of what a full local SEO audit would surface. The scorecard isn't a substitute for a full audit. It's a fast diagnostic that tells you whether the basics are tight.

Common questions

What does the Local Pack Scorecard actually measure?
Four sections, each scored 0-100: Google Business Profile completeness, review velocity (count + recency), rating quality, and local pack position for a "[trade] [city]" query. The overall grade is the arithmetic mean of the four section scores.
Where does the scorecard data come from?
Live from the Google Places API. Two lookups per scorecard: one for the specific business by name and city, and one for the local pack of "[trade] [city]". Everything in your scorecard is the same data Google would show to a buyer searching for your business.
Why these four sections specifically?
They map to the three signals Google has publicly stated drive local pack ranking — relevance, distance, prominence — plus the visible outcome (local pack position). GBP completeness measures relevance. Review velocity and rating quality measure prominence. Local pack position is the outcome we are trying to influence. Distance is fixed by geography and unmovable, so we do not score it.
How is the grade letter calculated?
A = 90-100, B = 80-89, C = 65-79, D = 50-64, F = below 50. Both the overall grade and the per-section grades use the same scale.
Is the score weighted by industry?
No. Every business is scored on the same four signals with the same weights. We considered industry-specific weights and rejected them — the underlying ranking signals are universal across local services, and varying weights per industry would just hide complexity that buyers cannot verify.
What are the limits of this scorecard?
Three honest limits. First, we cannot see your photo upload dates (Places API does not expose them), so photo recency is estimated from total count. Second, we cannot see your Google Business Profile posts cadence — that is on the Business Profile API which requires OAuth. Third, we cannot see citation consistency across third-party sites (Yelp, BBB, Yellowpages) — that is a deeper paid audit. The scorecard captures roughly 75% of what a full audit would show, for free, in 30 seconds.
How accurate is the local pack position check?
It runs the same query you would type — "[trade] [city]" — against Google Places at the time you generate the scorecard. The result reflects what a searcher in or near that city would see. Mobile vs desktop and exact user-location can shift the local pack slightly, but the top 3 is consistent enough that our binary in-or-out check is reliable.

Run a scorecard on your own business.

30 seconds. Free. Shareable URL. No email required to see the grade.

Run the scorecard →