Olympus Bets models Counter-Strike 2 betting with Glicko-2 team ratings and per-map Monte Carlo simulation. Each map is rated and simulated independently, a veto-capture poller records the actual pre-match map veto roughly 15-30 minutes before a match starts, and per-map win probabilities are combined into series probabilities for BO1 and BO3 formats. The engine covers match winner, map handicap, and total maps markets. A round-level simulation engine is being validated in shadow mode via replay backtests before it replaces the current per-map approach. Free daily CS2 projections are on the site and via the MCP server.
Engine Overview
Counter-Strike 2 is a newer addition to our engine lineup (current tag: cs2_glicko2_v0.1), and we're upfront that it is earlier-stage than our longer-running team-sport engines. The production approach combines Glicko-2 team-strength ratings with a per-map Monte Carlo simulation, rather than trying to predict an entire best-of series as one unit.
Esports rosters and map pools change faster than traditional sports rosters — a team can be excellent on one map and mediocre on another, and that gap can shift after a single roster move. The engine is built around that reality: rate teams, simulate map by map, and let the actual veto sequence — not an assumed map distribution — determine which maps get priced.
How the Simulation Works
1. Glicko-2 Team Ratings
Each team carries a Glicko-2 rating, a rating deviation (how uncertain we are about that rating), and a volatility term. Ratings update after every observed match and map result pulled from provider adapters. The rating deviation widens during layoffs or after a roster change and narrows as a team plays consistently, so the model's confidence in a rating is itself data-driven rather than fixed.
2. Real Pre-Match Veto Capture
Map vetoes are not cosmetic — they determine which maps are actually played, and teams veto around their own strengths and weaknesses. A veto-capture poller records the real ban/pick sequence roughly 15-30 minutes before the match starts. That captured map pool feeds directly into the simulation, so map handicap and total-maps pricing reflects the maps that were actually selected rather than an average across the full map pool.
3. Per-Map Monte Carlo Simulation
Once the map pool is known, each map is simulated independently using map-specific team ratings. This produces a per-map win probability for every map in the pool, rather than a single series-wide number that would smooth away map-specific skill differences.
4. Series Probability Construction
Per-map win probabilities are combined into series-level probabilities for both BO1 and BO3 formats. Because each map is priced independently first, the series probability correctly reflects cases where a team is a strong favorite on some maps in the pool and an underdog on others, instead of a single blended rating standing in for the whole series.
5. Round-Level Engine (Shadow Mode)
A round-level simulation engine (internally tagged cs2_roundsim_v1) is currently running in shadow mode, accruing validation history through replay backtests. It is not the production engine yet — the live engine remains Glicko-2 plus per-map Monte Carlo. We're building the round-level engine to eventually model economy state and round-to-round momentum directly, but it only replaces the current approach once its replay validation clears our bar.
Data Sources
- Match and map result providers — HLTV-style match and map results via provider adapters, updated on a rolling basis
- Veto-capture poller — real pre-match ban/pick sequences captured shortly before match start
- Roster tracking — staleness-aware roster state so lineup changes are reflected in ratings rather than carried forward silently
What the Model Outputs
For each CS2 match, the pipeline produces:
- Match winner probability — series-level win probability for BO1 or BO3 formats, built from combined per-map probabilities
- Map handicap probability — the probability a team covers a given map-count handicap, informed by the captured veto pool
- Total maps probability — the probability a BO3 series goes over or under a given total maps line
These outputs feed the same profitability zone and Kelly-sizing pipeline used across every other league, so CS2 picks are gated by the same self-learning zone system rather than a separate esports-only threshold.
CS2 Engine Facts
Why Per-Map Simulation Matters for Betting
A series-level model has to summarize an entire team into one number and hope that number holds across every map in the pool. That assumption breaks down whenever a roster's map-by-map skill is uneven, which is the norm in CS2 rather than the exception.
By rating and simulating each map independently — and by feeding in the actual veto sequence rather than a generic map distribution — the model can answer map handicap and total-maps questions with the specific maps that will be played, not an average across maps that were banned out before the match even started.
Explore Other Models
NBA Model
Possession MC V5.0.2 — possession-by-possession simulation with Beta shooting distributions and score-state dynamics.
NHL Model
V19.1 Pinnacle — MoneyPuck xG, real danger zones, per-zone goalie modeling.
LoL Model
Championship v2.1 — 5-layer Glicko-2 with market blend and patch-aware meta analysis.
Soccer Model
V16.3 PBP — FBref xG, isotonic calibration, formation analysis, and BTTS modeling.
WNBA Model
Possession MC v0.5 — Four Factors possession simulation, free while the tracked record accrues.
Tennis Model
Surface-aware simulation for ATP and WTA matches.
Golf Model
Field-relative Monte Carlo across tournament and matchup markets.