Regional SERP Comparison: how RVAS works
Last updated:
Interpretation note
1.What is RVAS?
The Regional Visibility Anomaly Score (RVAS) is a 0–100 score that says how much a domain's visibility for one keyword differs between a baseline location and a compared location on the same device. Visqio computes it from licensed SERP snapshots requested with explicit location and language codes — never from Google directly — together with metrics, a status and evidence, per keyword × device × location pair.
2.Inputs and validity
Inputs are the SERP snapshots for the keyword and device at both locations over the window (default 7 days), paired by UTC calendar day, plus the project's primary domains (and Controlled hosts when enabled) as the target, and previous comparison rows for persistence and trend.
Invalid test when either location has a failed or partial snapshot for more than 50 % of the window, the snapshot language codes differ from the keyword language, or the two snapshots of a pair are more than 36 hours apart. Insufficient data with fewer than 3 paired days. A missing rank means the target was not observed in the sampled results. It is not rank 101 or proof of a penalty. Keyword details show provider, requested depth and returned depth. Regional comparisons require matching known provider/depth and compatible language, location and device; incomplete samples cannot prove absence. Rank deltas use pairs where both ranks were observed.
3.Metrics
| Metric | Definition | Aggregation |
|---|---|---|
| Position (baseline, compared) | Best observed organic rank; absence remains unknown, without a numeric substitute | Median over window |
| Position delta | compared − baseline (positive = worse in compared) | Median |
| Presence | 1 when the target is present in a comparable sampled result set | Share of days present |
| Presence gap | baseline share − compared share, in [−1, 1] | — |
| Top-N overlap | Jaccard similarity of hostnames in the top 10 / top 20 between locations (all results) | Mean |
| Persistence | Consecutive paired days the presence-gap sign or a delta ≥ 5 has held | — |
| Churn | 1 − Jaccard(top 10 today, top 10 previous day) in the compared location | Mean |
4.Score (RVAS)
Five components, each normalised to 0–100 with higher meaning more anomalous, combined with weights that sum to 100: RVAS = round(Σ Cᵢ × wᵢ / 100). Since ruleset 2026.09-scope, absence is kept as unknown rank. If no numeric rank delta can be calculated, C2 has zero weight and the remaining component weights are normalized to 100. Unknown or mismatched measurement scopes make the comparison invalid. Differences remain observations of provider samples, not proof of a legal restriction or search-engine penalty.
| Component | Formula | Weight |
|---|---|---|
| C1 Presence gap | clamp(presence_gap × 100, 0, 100) — only penalises absence in compared while present in baseline | 35 |
| C2 Position delta | clamp(median delta × 5, 0, 100) — 20 positions worse → 100 | 25 |
| C3 SERP dissimilarity | (1 − top-10 overlap) × 100, counted only when C1 or C2 > 0 | 15 |
| C4 Persistence | min(persistence days / window days, 1) × 100 | 15 |
| C5 Stability | (1 − churn) × 100 if C1 > 50, else 0 — a stable SERP in which the target is consistently missing is more anomalous than a volatile one | 10 |
5.Statuses
- Invalid test
TEST_INVALID— Validity gates above - Insufficient data
INSUFFICIENT_DATA— Fewer than 3 paired days, or target absent in both locations for the whole window - Possible country-specific restriction
POSSIBLE_COUNTRY_SPECIFIC_RESTRICTION— presence gap ≥ 0.85, persistence ≥ 5 days, top-10 overlap ≥ 0.4, churn ≤ 0.3, and the same pattern for ≥ 60 % of the project's keywords on this pair; requires two consecutive daily runs (hysteresis) - Strong regional anomaly
STRONG_REGIONAL_ANOMALY— RVAS ≥ 70 and persistence ≥ 3 days - Regional difference
REGIONAL_DIFFERENCE— RVAS ≥ 35 or absolute presence-share gap ≥ 0.25 - Normal
NORMAL— Otherwise
The restriction status always renders as: "Possible country-specific restriction — the domain is consistently absent in the compared country while present in the baseline across the affected keywords. This can indicate geo-targeting, hreflang, regional legal requirements, or provider sampling. Verify with GSC country impressions before concluding." When available, Search Console impressions per country over 28 days are attached as evidence.
6.Alerts
Entering Strong regional anomaly raises a warning; entering Possible country-specific restriction raises a project-level critical alert listing the keywords; 30 % or more of a project's keywords in Strong regional anomaly for one pair raises a project-level critical; a return to Normal after 7 or more anomalous days raises an info "recovered" alert. Every alert body includes the disclaimer and a link to the comparison detail.
7.Limits
Since ruleset 2026.09-scope, absence is kept as unknown rank. If no numeric rank delta can be calculated, C2 has zero weight and the remaining component weights are normalized to 100. Unknown or mismatched measurement scopes make the comparison invalid. Differences remain observations of provider samples, not proof of a legal restriction or search-engine penalty.
Frequently asked questions
Does Possible country-specific restriction mean my site is blocked in that country?
No. It is the only status that hints at restriction, and it is deliberately hedged: the domain is consistently absent in the compared location while present in the baseline, across most tracked keywords, on a SERP that otherwise looks similar. Geo-targeting, hreflang, regional legal content requirements or provider sampling can all cause it. Verify with Search Console country impressions before concluding.
Why is a pair Insufficient data?
Fewer than 3 paired days exist in the 7-day window, or the target is absent in both locations for the whole window — then there is nothing to compare and the eligibility engine covers the case.
What is a paired day?
Snapshots for the same keyword and device at both locations on the same UTC calendar day and no more than 36 hours apart. Unpaired days are ignored; a pair whose language codes differ from the keyword's language makes the comparison Invalid test.
What does direction = compared_better mean?
The target is better in the compared location than in the baseline. The score is computed on the mirrored pair and flagged informational; no anomaly status is emitted.
Related methodology
Sources: Google's URL Inspection API, Search Console Search Analytics API and spam policies documentation.