The formula
Final Score (0–100) = weighted sum of five category scores. Each category is scored 0–100 based on objective signals pulled from Google, public directories, and live AI-agent responses. No subjective scoring, no "our gut feel."
The five categories
What we measure, and why.
01
Google Business Profile completeness
Your Google Business Profile is still the #1 thing that decides '[service] near me' rankings and whether you show on the Map. The AI tools read it for your hours, services, and category when they recommend a local company.
Signals measured
- Profile claimed + verified status
- Primary + secondary categories filled correctly
- Service list present and matches what you actually offer
- Business hours present + accurate
- Photo count + recency (last upload < 30 days)
- GBP posts in the last 30 days (signals active management)
Source: Google Places API (live)
02
Citations + NAP consistency
Inconsistent Name/Address/Phone across the top local directories tanks both Google rankings and AI confidence. AI agents treat inconsistency as a signal the business may not be reputable.
Signals measured
- Listed on the top 10 high-authority directories for your category
- Name, address, phone identical across all listings
- Category alignment across directories
- No duplicate or stale listings
Source: Public directory APIs + Google Custom Search
03
Reviews + velocity
Star rating is the single biggest conversion lever in local search. Review velocity (rate of new reviews) is a freshness signal that both Google and AI agents weigh heavily.
Signals measured
- Average star rating (Google + Yelp + industry-specific sources)
- Total review count
- Velocity: new reviews in the last 90 days vs prior 90 days
- Response rate to negative reviews
Source: Google Places API + public review aggregators
04
On-page + schema
On-page signals tell crawlers what the page is about. Schema (JSON-LD) tells AI agents what your business is — without schema, AI search has to guess from copy.
Signals measured
- Title tag includes service + city (local intent signal)
- H1 present and matches the page topic
- Meta description present and < 160 chars
- Canonical tag present
- Schema.org JSON-LD: LocalBusiness or appropriate subtype (e.g. Plumber, Roofer)
- Mobile + Core Web Vitals (page speed)
Source: Live HTML fetch + parsing (audits/page_seo_checks.py)
05
AI search presence
The newest and fastest-growing way people find you. We ask ChatGPT, Perplexity, Gemini, and Claude the exact questions your buyers ask — "best [service] in [city]" — and record whether your business gets named. If it isn’t, we note who is, so we can go win the same mentions.
Signals measured
- Mention rate across AI Mode prompts (% of runs where AI named you)
- Share of Voice vs the top 3 competitors named instead
- Citation sources AI references when recommending competitors (Wikipedia, Yelp, BBB, etc.)
- Sentiment of mentions (positive / neutral / negative)
Source: Live AI calls + structured output parsing (case_studies/tracker.py)
What we don't do
The honest fine print.
- We don't fabricate scores. If Google Places or an AI API is down or rate-limited, the affected category shows as "pending" — we don't guess.
- Weights aren't arbitrary. They're derived from what actually moves rankings in our own client data (Sandbar Soft Wash + the broader Lola portfolio). We update weights when the data tells us to — quarterly review.
- AI search is still moving. ChatGPT, Perplexity, Gemini, and Google AI Overviews are all evolving how they rank local businesses. When their behavior shifts, the AI search presence signals shift — we'll update this page when that happens.
- Your score is a snapshot. Local search is dynamic — your score can move 5-10 points week-to-week without action. The trend over time is what matters.
Ready?
Run your free score with this methodology.
60 seconds. Same five categories. Same math. You see your number and your top fixes.
Run the Growth Score →Ty Alexander Media · Tampa Bay
© 2026 · Built with Lola 🐾