calvin.goh
/ aam · 01 / live-sports-anomaly-watch
← All projects
Gartner Analytics Ascendancy Model · stage 01 of 04 · on Sooka
01 · YOU ARE HERE
Descriptive
what's happening?
02
Diagnostic
why is it happening?
03
Predictive
what will happen?
04
Prescriptive
what should we do?
Descriptive · what's happeningSooka · live sportsReal-time alertingMatch-minute anomaly detection

Per-minute concurrent-viewer anomaly detection for Sooka match nights.

EPL kickoff hits and the stream either holds or it doesn't — and “did it hold?” is a question Monday's deck answers far too late. This is the watcher I shaped on Sooka: per-minute concurrent-viewer monitoring against an expected match-shape band, with half-time, kickoff, and goal-moment seasonality baked in. Anomalies surface in #sooka-liveops while the match is still on the pitch, not after the final whistle.

Detect → alert latency
< 60s
From minute-bucket close
Connected devices
4–5M
AstroGo · Sooka · pay-TV
Trigger sensitivity
±2σ
Tunable per fixture tier
Channels of evidence
3
Concurrents · QoE · cancels
01 · PROBLEM
Live sports lives or dies in real-time

A flat concurrent-viewer dashboard can’t tell a half-time dip apart from a CDN regional outage. By the time someone notices a real drop, half the audience has already churned to a Telegram pirate stream — and they don’t come back next match.

02 · APPROACH
A band shaped like a match

Instead of a flat threshold, the watcher learns the shape of a match: kickoff ramp, goal-moment bumps, half-time trough, full-time tail. Anomalies are only flagged where the deviation is unexpected for that minute of that fixture tier.

03 · RESULT
Surface, not search

Liveops stopped staring at Grafana and started reacting to alerts in-thread. Mean time to notice a regional CDN dip during a Big Match Friday fell from “post-match review” to under a minute — small wins that compound across a 38-week season.

// THE WATCH · BIG MATCH FRIDAY · LIV vs MUN

One anomaly above threshold. The other slipped past quiet.

100k200k300k400k500kHT↓ DIP · MIN 36'muted↑ SPIKE · MIN 70'+24% vs band · viral 90+1 winner0'15'30'45'60'75'89'
Concurrent viewersMatch-shape band (±2σ)Anomaly flagged
SK
StreamWatch · #sooka-liveopsBOT36' · 21:46· below threshold
↓ Concurrents drop · −44k vs band · CDN-SG
Singapore edge nodes seeing 3.4× rebuffer rate vs the rest of SEA. Peninsular MY and Sabah unaffected. CDN failover suggested.
CDN edge · SG−44k
CDN edge · MY-W+1k
Rebuffer rate · SG+240%
SK
StreamWatch · #sooka-liveopsBOT70' · 22:20
↑ Concurrents spike · +92k vs band · viral moment
Salah 90+1 winner. Social-driven inflow — referrer share from TikTok and X up 6×. Origin servers holding; ad-tier load balanced.
Free tier · ad-supported+78k
VIP tier · subscriber+14k
Referrer · social+612%
// LIVE RUN

Classify a live incident yourself.

Pick a telemetry snapshot — or paste your own (4 KB cap) — and watch the agent classify the anomaly, score severity, propose a mitigation, and route to the right channel. Live model call. Cached replay if the rate-limit fires.

pick a fixture_
or

waiting for verification token…

~/demo/live-sports-anomaly-watch.log
idle · waiting for input
model_
pick a fixture, then press [ run demo ].
01 · classificationalert · match incident
waiting for run…
02 · evidenceaffected metric
waiting for run…
03 · mitigationroute + action
waiting for run…
── livewatch log ──
no log entries yet
// THREE CHANNELS · ONE STORY

The watcher tracks three signals so the alert has context, not just a number.

CHANNEL · 01
Concurrent viewers

Per-minute concurrents indexed against the match-shape band per fixture tier (Big Match · Standard · Mid-week).

CHANNEL · 02
QoE · rebuffer rate

Player rebuffers per session, per CDN edge. Catches regional delivery issues the headline number alone would miss.

CHANNEL · 03
Cancel / drop-off

Free-tier ad-completion drop-off and VIP session terminations. Surfaces ad-stack and paywall incidents under match load.

// HOW IT RUNS

From player heartbeat to #sooka-liveops in under sixty seconds.

INGEST
Player heartbeat + CDN edge logs
GA4 + edge stream
SHAPE
Match-shape band per fixture tier
Kickoff · HT · FT · goals
SCORE
z-score + δ% vs expected minute
Tunable threshold
CONTEXT
Region · CDN edge tier · referrer
Why, not just what
ROUTE
Slack channel per-region oncall
Acknowledge in-thread
Descriptive analytics earns its keep when it stops being a dashboard and starts being a nudge — but a nudge only gets you so far. The next page is diagnostic: telling the team why.
NEXT IN THE MODEL →
Diagnostic
Conversational analytics agent · Sooka content drop-off