CS2 Prop Model
Quantitative model for esports player-prop betting.
- Status
- Live — forward-tested every day
- Role
- Data · Modeling · Pipeline · Eval
- Duration
- Feb 2026 — present
- Stack
- Python · SQLite · NegBin regression · OCR vision · Kalshi
Overview
CS2 Prop Model is a daily pipeline for esports player-prop betting. It imports match history from HLTV, fits a hand-coded negative-binomial projection per player, evaluates the day's prop slate from screenshots, and writes a ranked CSV of bets with edge and a fair line. Settled bets get re-ingested as screenshots and the accuracy report updates itself.
What I built
Six steps: import match history into SQLite, pull team map stats, OCR the prop screenshots with a vision pass, project each prop, rank by edge, and build uncorrelated 2–4 leg parlays. The model has gone through five named eras; the current F1 is the clean regression with a two-rule filter — UNDER only, line ≥ 30 kills or model shading > +3. On top of it sits a Kalshi runner that places small flat bets on the match-outcome model when live edge crosses 5%.
Results
- 69.6%
- Win rate (F1, 79 OOS)
- +32.9%
- ROI (F1, 79 OOS)
- 65.5%
- Validated rules WR (438)
- +25%
- Validated rules ROI
“Every version that 'worked' in a backtest had a leak. It only got real once I trusted walk-forward instead.”
What's next
A role-share team-budget model is built but gated until four calibration blockers clear. On Kalshi, the next move is expanding from match-outcome into map-specific markets if the books surface them at usable volume.