Create a free account

Continue with Google

An account on the spot, no request needed.

or sign up with your email

No password: the link signs you in.

By continuing, you agree to our Terms of Service and Privacy Policy.

Already have an account? Sign in

Docs

How every number here is computed

Plain language first, the formula second, a worked example third. Every example is computed live from the same engine the product uses, against the frozen snapshot — so what you read here and what the tabs show cannot drift apart.

Worked examples are computed live against the 2026-07-16 snapshot, using Selangor, Malaysia. They cannot drift from what the tabs show. · Full product documentation ↗ · MCP server documentation · Snowflake Native App documentation

Measurement & data

How KASPR measures

KASPR sends ICMP echo (ping) queries to geolocated IPv4 addresses from cloud infrastructure worldwide — over 3 billion measurements a day across more than 400 million endpoints. Each response records a round-trip time; results are aggregated to district, region and country by hour. Where address space is dense a random sample of 100,000 addresses is measured; where it is sparse, every address is. The design targets a consistent baseline across thousands of small boundaries over time, rather than a globally representative sample of all addresses.

IPv4 only; addresses unreachable by ICMP are excluded. Geolocation is third-party and refreshed monthly, so its accuracy varies across space and time.

The core metrics

Connectivity is the count of unique active IPv4 addresses answering in a period. Latency (rtt_mean_norm) is the mean round-trip ping time — higher is worse. Jitter (rtt_variance_norm) is the variance of round-trip time — higher is a less stable connection. Adjusted variants (an _adj suffix) correct for the monthly infrastructure-scanning boundary. Relative quality is the gap to the fastest district in the same country — rtt_d in absolute terms, rtt_dp as a percentage.

Raw levels are not comparable across regions, because infrastructure differs. Compare within a region over time, or use the differenced indices for cross-region work.

Anomaly detection

Connectivity and latency anomalies come from a statistical model over a 90-day trailing window. Each series is normalised so its long-run normal reads 100; a fixed-effects model on hour-of-day and day-of-week gives the expected value, and 99.9% prediction intervals (α = 0.001) set the normalcy band. A reading outside the band is flagged as an anomaly.

A region without enough coverage — fewer than 100 active-IP observations, or fewer than 14 reading days — carries connectivity and latency only; the anomaly columns are left blank.

Coverage and cadence

The measurement spans 136 countries, 2,921 regions (ADM1) and 26,324 districts (ADM2), with history from February 2019. The geolocated anomaly product updates hourly (1, 3 or 6-hour aggregation); the subnational quality product is monthly or yearly; the telco / ISP product is daily and matched to stock tickers.

Data is descriptive and provided as is. It approximates infrastructure and user experience through remote measurement, rather than observing them directly.

The model

One national weekly shape per country. A district sets only its level, how hard it swings, and how spread out its measurements are — never the shape itself.

mu = ln(base_jitter) + amplitude × logS(country, dow, hour)

jitter = exp(mu)

jitter_p90 = exp(mu + 1.2816 × sigma)

areaSelangor, Malaysia
base jitter68.65 ms
amplitude×1.152
sigma0.11
worked slotslot 142
mu4.4689
jitter87.3 ms
jitter p90100.5 ms

These are probe-population levels. They are not what any one person should expect their connection to do, and no surface outside this page, the baseline card and the model card shows them.

Chance of a bad hour

The chance jitter clears the reliability bar in that hour. The same bar for everyone, which is what makes two places comparable.

p_exceed = Φ((mu − ln T) / sigma)

the barT = 100 ms
ln T4.6052
z = (mu − ln T) / sigma-1.2384
chance of a bad hour11%

The bar is currently 100 ms — a placeholder pending calibration. It is deliberately visible here because it changes what the absolute numbers mean.

Against the current bar, roughly half of all countries sit so far below it that their chance of a bad hour is effectively zero, while a fifth are above it most of the week. For a well-connected audience the absolute number reads as zero, and the useful comparison is the difference between hours, not the level.

Bad for here

The same calculation, measured against this area’s own 75th-percentile hour instead of the shared bar. A place compared to itself uses this; anything comparing across places must use the shared bar, or the comparison is meaningless.

p_bad_local = Φ((mu − q75(mu)) / sigma)

this area’s 75th-percentile hour (in mu)4.2386
bad for here98%
the same hour, against the shared bar11%

The rule this splits into: a place compared to itself uses “bad for here”; anything comparing across places must use the shared bar. Roughly a quarter of every area’s hours are “bad for here” by construction, so using it across places would make excellent and terrible internet look identical.

Verdict and swing

Swing is the peak-to-trough of the weekly curve, in points. Under 5 points we say the hour doesn’t meaningfully matter; over 15 we say it matters a lot. Both boundary values themselves are “a little”.

swing = max(p_bad_local) − min(p_bad_local), in points

calmest hour20%
roughest hour98%
swing38.1 pts
verdicttiming matters a lot
Aruba2.8 pts — timing doesn’t meaningfully matter

Both boundary values are “a little”: a swing of exactly 5 points, and one of exactly 15, both land there.

Share of bad hours

The average chance of a bad hour across every slot we have data for.

mb = mean(p_exceed) over every slot with data

slots with data168 / 168
share of bad hours0.6%

Hours the measurement population never covered are excluded from the average rather than counted as calm. A missing hour and a good hour are different facts.

Reliability percentile

Where this area’s level sits among every area of the same kind worldwide — countries against countries, districts against districts.

Selangor, Malaysia57.8th
Aruba92.1th

Group risk

The chance at least one person has trouble. Independent connections, so the chances compound rather than add. Severity combines in variance, and latencies are averaged and maxed — never summed, because these are separate measurements to infrastructure, not a path between two people.

p_any = 1 − Π(1 − pᵢ)

combined_jitter = √(Σ jitterᵢ²)

latency = mean and max across participants — never summed

The chances compound because the connections are independent. When everyone is in the same country that assumption weakens, and the joint number should be read as a floor.

Baseline bands

The middle 80% of the probe population for that hour. This is a distribution of measurements, never a user’s expected experience.

band = exp(mu ± 1.2816 × sigma)

p1076 ms
median87 ms
p90100 ms

The one surface where raw milliseconds are legitimate: percentile bands of the probe population, for anomaly baselines — “is this Tuesday evening, or is this an incident?” Never a user’s expected experience.

Provenance and freshness

Where each figure came from: the area’s own measurements, or its parent region or country when local data was too sparse. The weekly shape is national in every case.

fallback chaindistrict → region → country
this areaestimated from its own measurements
snapshot2026-07-16
level as of2026-07-16

Everything on this page comes from the 2026-07-16 snapshot. The dataset is deliberately frozen, so these numbers are stable rather than stale.