How the model works
Last updated: 19 August 2026
Every prediction on CS2OBSERVER is one number — a win probability — produced from several measurable signals and then sanity-checked against the betting market. This page explains the approach in plain language. We keep the exact weights and code private, but nothing about the method is a secret: transparency is the point.
The signals we weigh
Each upcoming match is scored from factors we can measure from history, including:
- Team strength (Elo). A rolling rating updated after every match, so recent results move it more than old ones.
- Track record. Win/loss over the tracked period, adjusted for who it was against.
- Roster ratings. The current lineup's per-round impact (rating, damage, consistency, aim, and CT/T side splits).
- Recent form. The last handful of results and momentum.
- Head-to-head. Direct history between the two teams, where a meaningful sample exists.
- Map context. Map-by-map win rates, side (CT/T) splits, and pistol/eco tendencies inform the projected veto and per-map reads.
From signals to one probability
A model trained on our full match history combines those signals into a single win probability. The weights are learned from the data, not hand-set — and in practice team strength and roster rating carry most of the load, while noisier signals contribute less.
Shrinking to the market
The market (aggregated bookmaker odds) reflects a lot of information we can't fully model. So our raw number is pulled toward the market in proportion to how much data backs it: a matchup between two well-tracked teams keeps most of our own read, while a thin sample is pulled strongly toward the market so it can never read as a false lock. Where our number and the market diverge on a well-backed match, that gap is what we surface as a potential edge.
Confident picks, and how they're graded
We flag a match as a confident pick when the model gives one side a high win probability (roughly 70%+ on the raw model, the same threshold we validated against). Every pick is frozen before the match starts— the recorded call can never be edited after the fact — and then graded against the real result. The full ledger, wins and misses alike, is public on the record page.
How we know it's honest
Earlier history is reconstructed with a walk-forwardmethod: for each past match, the model is rebuilt using only games that had finished before it — the same method used to validate it — so no prediction ever “sees the future.” We care more about long-run calibration (does an 80% pick really win about 80% of the time?) than any single result.
Limits
Models can't see everything: a last-minute stand-in, tilt, a patch, or simply variance can upend a strong read. Treat every probability as exactly that — a probability, not a promise. Our predictions are for information and entertainment only; see the disclaimer.
Want to see it in action? Head to today's predictions.