We've been running automated prediction bots on Polymarket for several weeks. Here's a fully transparent breakdown of 335 live trades across 10 sports — the wins, the losses, and what we learned.
Overall Numbers
| Metric | Value |
|---|---|
| Total live trades | 335 |
| Win rate | 55.9% |
| Sports covered | 10 |
| Bots running | 5 (moneyline, tennis, lol, cs2, soccer) |
All trades are executed on Polymarket and verifiable on-chain via PolygonScan.
Sport-by-Sport Breakdown
Here's how each sport performed, sorted by profitability:
| Sport | Trades | Win Rate | P&L | Avg per Trade |
|---|---|---|---|---|
| MLB | 91 | 69.2% | +736c | +8.1c |
| ATP Tennis | 27 | 63.0% | +426c | +15.8c |
| LoL | 34 | 52.9% | +336c | +9.9c |
| NHL | 62 | 64.5% | +305c | +4.9c |
| Tennis | 6 | 100% | +210c | +35.0c |
| NCAAMB | 4 | 100% | +109c | +27.3c |
| NCAAWB | 4 | 75% | +80c | +20.0c |
| Soccer | 8 | 50% | +1c | +0.1c |
| NBA | 14 | 42.9% | -252c | -18.0c |
| CS2 | 85 | 41.2% | -507c | -6.0c |
Top performers: MLB and tennis. MLB's 69.2% win rate across 91 trades is our most statistically significant result — the sample size is large enough to be confident this isn't luck.
Underperformers: CS2 and NBA. CS2 was losing money due to model overconfidence — we recently recalibrated and tightened the entry criteria. NBA's small sample (14 trades) makes it hard to draw conclusions.
What We Learned
1. Calibration matters more than accuracy
Our CS2 model had strong predictive accuracy but terrible calibration — when it said 70% probability, the actual win rate was closer to 50%. This caused the bot to systematically overpay for positions. After recalibrating (using isotonic regression), the model's ECE dropped from 0.019 to 0.008.
Lesson: A well-calibrated 60% accurate model makes more money than a poorly-calibrated 75% accurate model. Read more about calibration →
2. Entry price range is everything
| Entry Range | Trades | Win Rate | P&L |
|---|---|---|---|
| 15-30c (underdogs) | 77 | 20.8% | -285c |
| 30-45c (slight underdogs) | 188 | 36.7% | +46c |
| 55-70c (slight favorites) | 296 | 63.5% | +624c |
| 70-85c (favorites) | 169 | 73.4% | +53c |
The sweet spot is slight favorites (55-70c). Heavy underdogs (<30c) almost always lose, and heavy favorites (>70c) don't pay enough per win to overcome the occasional upset.
3. Toss-ups (45-55c) are a trap
The 45-55c entry range — markets where neither team has a clear edge — produced our worst results: 212 trades at 43.4% WR and -1,102c P&L. Our models don't have enough edge in genuinely uncertain games to overcome the spread. We now skip this range entirely.
4. Tennis is our most profitable per-trade sport
With +15.8c average P&L per trade (27 trades at 63.0% WR), ATP tennis produces the best risk-adjusted returns. The analytical model uses player-specific serve rates by surface (hard/clay/grass) and Elo ratings to generate fair probabilities that the market consistently underprices for underdog scenarios.
5. Time of day matters
| UTC Hour | Trades | Win Rate | P&L |
|---|---|---|---|
| 03:00 | 19 | 89.5% | +543c |
| 23:00 | 31 | 74.2% | +410c |
| 19:00 | 17 | 70.6% | +197c |
| 22:00 | 12 | 16.7% | -461c |
Late-night/early-morning UTC (US evening prime time) is when our bots perform best — Polymarket liquidity is thinner and our models find more mispriced lines.
The Technology Stack
Every prediction goes through:
- XGBoost win probability model (trained on 40,000+ games per sport)
- Isotonic calibration (ECE < 0.002 across all calibrated models)
- Live injury overlays (58 NBA players, 44 NHL skaters tracked via ESPN)
- Dynamic position sizing (automatically sizes up on hot sports, sizes down on cold ones)
- Meta-model filter (ML classifier that predicts which edges are real vs noise — filters 28% of losing trades)
- Rolling recalibration (auto-corrects probability estimates every 25 resolved trades)
See the Live Data
Our results page updates every 60 seconds with new trades. Every trade is logged with entry price, fair probability, edge, P&L, and the on-chain transaction hash.
Want to build something similar? Our prediction API provides the same fair probabilities our bots use — calibrated, real-time, covering 10 sports. Start a free 7-day trial →
Or learn from scratch with our free 6-module bot-building course.