← Back to Scoring Explorer

How the launch score is calculated

Every clinic gets a single 0–100 Score. Here is exactly what goes into it — in plain language.

The one idea to hold onto: every number is a rank, not a raw value

Each metric is turned into a percentile (0–100) among the clinics you're currently looking at (the selected tier, or a city). So “Demand 86” doesn't mean 86 searches — it means this clinic has higher demand than 86% of its peers. Switch the tier (All / Tier 1 / Tier 2) or pick a city and every clinic is re-ranked against that new peer group. This is why a clinic can look strong in Tier 2 but average across All.

The math, in three steps

1
Each raw metric → a percentile. We take the raw value (e.g. how far we lead the field, or number of strong rivals) and rank it 0–100 against the other clinics in view.
2
Blend the metrics inside a factor → the factor score. Each factor (Demand, Competition, Right to win, SH stays safe) is a weighted average of its own metric-percentiles. A metric with a negative weight is flipped first (we use 100 − percentile), so “more of this” lowers the factor.
factor = Σ(|weight| × percentile) / Σ|weight|
3
Blend the four factors → the final Score. Same rule again, one level up. Competition sits at a negative weight by default, so a more contested field pulls the Score down.
Score = Σ(|weight| × factor) / Σ|weight|
Weights are relative — only their ratios matter. Setting them to 25/25/25/20 or 50/50/50/40 gives the identical result; each is shown as a % of the total next to the slider. Open any clinic and the “Score math” line shows this exact sum for that clinic, live.

The four factors & what every metric means

Demanddefault +25
How much mental-health search demand the clinic's market has. Competition is deliberately NOT in here.
MetricWhat it is
City search volumeGoogle keyword search volume for MH across the whole city (one figure per city). only metric
Practo locality pageviews are shown as a reference only — not scored (they cover ~⅓ of clinics and one vertical).
Competitiondefault −25 (negative)
How contested the local MH field is. Negative weight → more competition lowers the Score. This is the ONLY place rivals are counted as a difficulty.
MetricWhat it is
Strong-rival counthow many nearby MH rivals clear the “strong rival” review bar (default 100+ reviews). The main driver. weight 100
Rival count (pure)total nearby rivals, any size. off by default
Top-rival dominancethe #1 rival's share of local reviews — is one giant dominating? off by default
Field diversity (1/HHI)effective number of comparable players — a scattered field vs a concentrated one. off by default
Right to win todaydefault +25
Can we win MH here — measured relative to the local field, so a clinic we tower over scores high even if the raw count calls the rivals “strong”.
MetricWhat it is
How far we lead the fieldour reviews head-to-head vs the single strongest nearby MH rival. ours ÷ (ours + top rival). 50% = tied; 77% = we out-review them ~3:1. weight 45
Beat the local packthe share of nearby MH rivals we out-review. Beat all = 100. weight 30
Clinic reach (GMB)our Google listing's searches/week — clinic-wide visibility that will funnel MH patients once launched. weight 25
SH stays safedefault +20
Will launching MH cannibalise our existing sexual-health business? High = our SH is entrenched enough to look after itself. All metrics here are SH-specific (no overlap with Right-to-win). The verdict badge (Entrenched / Contested / Exposed …) is a plain read of our relative lead vs SH competition.
MetricWhat it is
How far we lead the SH fieldour SH reviews head-to-head vs the strongest nearby SH rival — same relative idea as MH. weight 35
Our SH rank (local)our position in the local SH search pack (~#1 = entrenched). weight 20
Our SH leads (SH-tagged)GMB leads tagged to sexual health (cat=SH) per week — the SH-specific funnel. weight 15
SH strong rivals (100+)nearby SH rivals over the review bar. Negative — more established SH competition = less safe. weight −30
SH review share · rival count · dominance · diversityextra SH competition reads, tucked under “advanced sub-weights”. off by default

A worked example

Suppose a clinic ranks: Demand 86, Competition 67, Right to win 81, SH stays safe 72, at default weights 25 / −25 / 25 / 20.

Competition is negative, so it enters as 100 − 67 = 33. Total of the weight sizes = 25+25+25+20 = 95.

Score = (25×86 + 25×33 + 25×81 + 20×72) ÷ 95
= (2150 + 825 + 2025 + 1440) ÷ 95 = 6440 ÷ 95 ≈ 68

So a busy market (high demand) that's contested (competition drags it) but where we clearly lead the field nets a solid mid-to-high Score. Drag any weight and this recomputes instantly.

Where the numbers come from

Reviews, ratings, rivals, distanceGoogle Maps crawl (7 MH keywords: psychiatrist, psychologist, therapist, counsellor, psychotherapist, mental-health clinic, mental hospital), ≤5 km catchment.
Our local rankyour own SERP-grid tracking (average map-pack position across the city grid, within 5 km).
GMB discovery & leadsGoogle Business Profile insights + your lead tracking (leads split by vertical tag: SH vs MH).
City demandGoogle keyword search volume per city.

Every clinic's drill has a “show sub-score split” toggle under Score math — that reveals each metric's percentile and weight for that exact clinic, so nothing is hidden.