All projects

Valorant live win probability

Apr 2026 – presentSoloIn progress

A real-time model that estimates who wins the current round of a professional Valorant match. Valorant has no public game-state feed, so the pipeline reads the state straight off the broadcast.

PythonOpenCVEasyOCRXGBoostLightGBMRiverDockerNginxPostgreSQL

What the HUD reader sees
The score bar from a VCT broadcast: 2 to 0, round 3, 1:25 left on the timer.

Round timer round_timer_sec 85

Select a box to see what the pipeline extracts. Calibrated for the 1080p VCT broadcast; team logos blurred here.

How a broadcast becomes a prediction

Step 1 of 8

VOD

Matches come from the official VCT YouTube playlist, downloaded with yt-dlp. A command lists the playlist or downloads a set number of matches.

Try it

Attackers alive
Defenders alive
Spike
Attack buy
Defence buy

Attack 63%37% Defence

What's moving the number (log-odds, + favours attack)

    Try a situation

    This in-browser version uses a small logistic model with hand-set weights so it can run instantly. The real project reads these features off VCT broadcast footage and learns the weights with gradient-boosted trees.

    The problem

    Counter-Strike has an official game-state feed that tells you exactly what's happening mid-round. Valorant doesn't, and Riot's API only reports results after a match. So to know the state of a round second by second, the pipeline has to read it off the broadcast, the same way a viewer does.

    How it works

    The diagram above walks through each stage. The short version: sample the footage, throw away anything that isn't gameplay, read the HUD, cut the match into rounds, record the game state once a second, and train a model to turn that state into a probability.

    Decisions worth explaining

    Where it's at

    Round detection is the current phase: calibrating HUD regions and checking the round count against known scorelines, aiming for more than 95% correct. Next comes richer state: which players are alive from their portraits, health and armour, weapons from the kill feed, and ultimate readiness. Similar Counter-Strike models reach 85–90% accuracy with the full game state. At this level of detail I'm expecting 75–80%.

    History

    1. Calibrated HUD regions for the VCT Masters London 1080p broadcast and added filtering for player-cam segments.

    2. Started the project.