| When (UTC) | Game | Win probability | Expected margin | Jev AI | Polymarket |
|---|---|---|---|---|---|
| Wed 4 Nov, 19:45 | MADv PAN | MAD 68% 32% PAN | MAD +5.0 | MAD 63% | PAN 59% |
| Thu 5 Nov, 17:15 | ISTv PRS | IST 66% 34% PRS | IST +4.1 | IST 63% | IST 71% |
| Thu 5 Nov, 18:00 | FENv BAS | FEN 87% 13% BAS | FEN +12.3 | FEN 87% | FEN 76% |
| Thu 5 Nov, 18:45 | HTAv BAR | HTA 69% 31% BAR | HTA +4.9 | HTA 66% | HTA 65% |
| Thu 5 Nov, 19:00 | ASVv MUN | ASV 64% 36% MUN | ASV +3.3 | ASV 64% | ASV 54% |
| Thu 5 Nov, 19:30 | MILv VAL | MIL 34% 66% VAL | VAL +4.2 | VAL 73% | VAL 63% |
| Fri 6 Nov, 17:00 | BESv ZAL | BES 53% 47% ZAL | BES +0.6 | ZAL 61% | ZAL 52% |
| Fri 6 Nov, 19:15 | OLYv RED | OLY 73% 27% RED | OLY +6.8 | OLY 68% | OLY 70% |
| Fri 6 Nov, 19:30 | VIRv DUB | VIR 49% 51% DUB | even | DUB 61% | VIR 52% |
| Fri 6 Nov, 19:45 | PARv TEL | PAR 73% 27% TEL | PAR +6.2 | PAR 69% | PAR 61% |
Eurostepper picked a different winner from the market in 4 of 30 games and was right 3 times. Jev picked a different winner from the market in 7 of 30 games and was right 3 times.
Polymarket is a prediction market where a share in the winning team pays $1, so a price of 77¢ means traders give that team about a 77% chance. Each game is graded at the last price saved before tip-off (midway between the bid and the ask), on the same games for all three. The market already prices in what bettors know, injuries included, so matching its log loss is hard and beating it is the real test.
Each model trades two paper accounts on Polymarket's prices, at tip-off. The value rule buys 100 shares of the side the model rates above the market price (home if the model gives the home team a higher chance than the market, away if lower). The pick rule simply backs the team the model thinks will win. A share pays $1 if its team wins, so buying at 77¢ makes 23¢ a share when right and loses 77¢ when wrong.
Winners picked in 2,620 games, each season predicted by a model trained only on the seasons before it. When the model called a game at 70% or more, the favourite won 77% of 1,032 times.
| Season | Games | Correct | Log loss |
|---|---|---|---|
| 2018-19 | 260 | 73.1% | 0.549 |
| 2019-20 | 252 | 69.0% | 0.580 |
| 2020-21 | 328 | 64.3% | 0.662 |
| 2021-22 | 299 | 67.2% |
| ZAL 75% |
| 87–80 |
| ✓ |
| IST v PAN | PAN 66% | 83–68 | ✗ |
| DUB v HTA | DUB 54% | 97–83 | ✓ |
| MAD v FEN | MAD 68% | 95–76 | ✓ |
| TEL v PRS | TEL 59% | 94–99 | ✗ |
| RED v MUN | RED 82% | 103–73 | ✓ |
| VIR v ZAL | VIR 55% | 74–91 | ✗ |
| ASV v PAR | PAR 54% | 82–75 | ✗ |
| HTA v IST | HTA 77% | 118–88 | ✓ |
| BES v OLY | OLY 62% | 73–81 | ✓ |
| BAS v MAD | MAD 69% | 86–104 | ✓ |
| VAL v FEN | VAL 64% | 86–78 | ✓ |
| PAN v MIL | PAN 89% | 80–75 | ✓ |
| RED v TEL | RED 80% | 100–78 | ✓ |
| MUN v BAR | BAR 51% | 84–88 | ✓ |
| DUB v PRS | DUB 78% | 93–99 | ✗ |
| PRS v VAL | VAL 59% | 93–104 | ✓ |
| OLY v FEN | OLY 72% | 61–64 | ✗ |
| ZAL v ASV | ZAL 80% | 105–85 | ✓ |
| PAR v RED | PAR 52% | 85–82 | ✓ |
| MIL v BAR | BAR 52% | 81–89 | ✓ |
| PAN v BAS | PAN 90% | 85–79 | ✓ |
| TEL v MAD | MAD 58% | 99–113 | ✓ |
| MUN v DUB | MUN 56% | 91–107 | ✗ |
| IST v BES | IST 60% | 89–80 | ✓ |
| HTA v VIR | HTA 76% | 90–81 | ✓ |
| ZAL 70% ✓ |
| IST v PAN | 83–68 | PAN 66% ✗ | PAN 76% ✗ |
| DUB v HTA | 97–83 | DUB 54% ✓ | HTA 65% ✗ |
| MAD v FEN | 95–76 | MAD 68% ✓ | MAD 70% ✓ |
| TEL v PRS | 94–99 | TEL 59% ✗ | PRS 53% ✓ |
| RED v MUN | 103–73 | RED 82% ✓ | RED 77% ✓ |
| VIR v ZAL | 74–91 | VIR 55% ✗ | VIR 60% ✗ |
| ASV v PAR | 82–75 | PAR 54% ✗ | PAR 67% ✗ |
| HTA v IST | 118–88 | HTA 77% ✓ | HTA 75% ✓ |
| BES v OLY | 73–81 | OLY 62% ✓ | OLY 73% ✓ |
| BAS v MAD | 86–104 | MAD 69% ✓ | MAD 79% ✓ |
| VAL v FEN | 86–78 | VAL 64% ✓ | FEN 57% ✗ |
| PAN v MIL | 80–75 | PAN 89% ✓ | PAN 87% ✓ |
| RED v TEL | 100–78 | RED 80% ✓ | RED 76% ✓ |
| MUN v BAR | 84–88 | BAR 51% ✓ | BAR 64% ✓ |
| DUB v PRS | 93–99 | DUB 78% ✗ | DUB 80% ✗ |
| PRS v VAL | 93–104 | VAL 59% ✓ | VAL 71% ✓ |
| OLY v FEN | 61–64 | OLY 72% ✗ | OLY 65% ✗ |
| ZAL v ASV | 105–85 | ZAL 80% ✓ | ZAL 64% ✓ |
| PAR v RED | 85–82 | PAR 52% ✓ | RED 67% ✗ |
| MIL v BAR | 81–89 | BAR 52% ✓ | BAR 79% ✓ |
| PAN v BAS | 85–79 | PAN 90% ✓ | PAN 87% ✓ |
| TEL v MAD | 99–113 | MAD 58% ✓ | MAD 75% ✓ |
| MUN v DUB | 91–107 | MUN 56% ✗ | DUB 65% ✓ |
| IST v BES | 89–80 | IST 60% ✓ | BES 61% ✗ |
| HTA v VIR | 90–81 | HTA 76% ✓ | HTA 100% ✓ |
Jev is TypeSafe's decision model. Before each game it gets the same kind of facts our model uses (records, last five results, power ratings, season efficiency, home court) but never our prediction, and answers “Will the home team win?” with a probability. Until 22 October it was asked to pick the winner instead, which gave near-certain answers such as 100%; one graded game, Hapoel Tel Aviv v Virtus Bologna, used that version. Only calls made before tip-off count. Log loss and Brier score reward well-judged probabilities (lower is better); probabilities are capped at 1% and 99% for log loss so one certain miss can't dominate.
Running profit after each settled game, oldest first.
| Game | Polymarket, home | Eurostepper, value | Eurostepper, pick | Jev AI, value | Jev AI, pick | Result |
|---|---|---|---|---|---|---|
| VIR v BES | 64% | 62% → BES 37¢ +$61.83 | → VIR 64¢ −$65.15 | 62% → BES 37¢ +$61.83 | → VIR 64¢ −$65.15 | 101–103 |
| BAR v VAL | 56% | 54% → VAL 44¢ −$45.23 | → BAR 57¢ +$41.77 | 41% → VAL 44¢ −$45.23 | → VAL 44¢ −$45.23 | 98–94 |
| OLY v MIL | 77% | 90% → OLY 77.6¢ +$21.56 | → OLY 77.6¢ +$21.56 | 85% → OLY 77.6¢ +$21.56 | → OLY 77.6¢ +$21.56 | 84–78 |
| ASV v BAS | 63% | 66% → ASV 63¢ +$35.83 | → ASV 63¢ +$35.83 | 67% → ASV 63¢ +$35.83 | → ASV 63¢ +$35.83 | 94–79 |
| ZAL v PAR | 73% | 75% → ZAL 73.9¢ +$25.14 | → ZAL 73.9¢ +$25.14 | 70% → PAR 28¢ −$29.01 | → ZAL 73.9¢ +$25.14 | 87–80 |
| IST v PAN | 33% | 34% → IST 33¢ +$65.89 | → PAN 68¢ −$69.09 | 24% → PAN 68¢ −$69.09 | → PAN 68¢ −$69.09 | 83–68 |
| DUB v HTA | 56% | 54% → HTA 45¢ −$46.24 | → DUB 57¢ +$41.77 | 35% → HTA 45¢ −$46.24 | → HTA 45¢ −$46.24 | 97–83 |
| MAD v FEN | 69% | 68% → FEN 32¢ −$33.09 | → MAD 69¢ +$29.93 | 70% → MAD 69¢ +$29.93 | → MAD 69¢ +$29.93 | 95–76 |
| TEL v PRS | 61% | 59% → PRS 40¢ +$58.80 | → TEL 62¢ −$63.18 | 47% → PRS 40¢ +$58.80 | → PRS 40¢ +$58.80 | 94–99 |
| RED v MUN | 75% | 82% → RED 76¢ +$23.09 | → RED 76¢ +$23.09 | 77% → RED 76¢ +$23.09 | → RED 76¢ +$23.09 | 103–73 |
| VIR v ZAL | 53% | 55% → VIR 53¢ −$54.25 | → VIR 53¢ −$54.25 | 60% → VIR 53¢ −$54.25 | → VIR 53¢ −$54.25 | 74–91 |
| ASV v PAR | 48% | 46% → PAR 53¢ −$54.25 | → PAR 53¢ −$54.25 | 33% → PAR 53¢ −$54.25 | → PAR 53¢ −$54.25 | 82–75 |
| HTA v IST | 72% | 77% → HTA 72¢ +$26.99 | → HTA 72¢ +$26.99 | 75% → HTA 72¢ +$26.99 | → HTA 72¢ +$26.99 | 118–88 |
| BES v OLY | 45% | 38% → OLY 56¢ +$42.77 | → OLY 56¢ +$42.77 | 27% → OLY 56¢ +$42.77 | → OLY 56¢ +$42.77 | 73–81 |
| BAS v MAD | 22% | 31% → BAS 22¢ −$22.86 | → MAD 79¢ +$20.17 | 21% → MAD 79¢ +$20.17 | → MAD 79¢ +$20.17 | 86–104 |
| VAL v FEN | 49% | 64% → VAL 49¢ +$49.75 | → VAL 49¢ +$49.75 | 43% → FEN 52¢ −$53.25 | → FEN 52¢ −$53.25 | 86–78 |
| PAN v MIL | 86% | 89% → PAN 87¢ +$12.43 | → PAN 87¢ +$12.43 | 87% → PAN 87¢ +$12.43 | → PAN 87¢ +$12.43 | 80–75 |
| MUN v BAR | 53% | 49% → BAR 48¢ +$50.75 | → BAR 48¢ +$50.75 | 36% → BAR 48¢ +$50.75 | → BAR 48¢ +$50.75 | 84–88 |
| RED v TEL | 70% | 80% → RED 70¢ +$28.95 | → RED 70¢ +$28.95 | 76% → RED 70¢ +$28.95 | → RED 70¢ +$28.95 | 100–78 |
| DUB v PRS | 79% | 78% → PRS 22¢ +$77.14 | → DUB 79.4¢ −$80.23 | 80% → DUB 79.4¢ −$80.23 | → DUB 79.4¢ −$80.23 | 93–99 |
| PRS v VAL | 38% | 41% → PRS 38¢ −$39.18 | → VAL 63¢ +$35.83 | 29% → VAL 63¢ +$35.83 | → VAL 63¢ +$35.83 | 93–104 |
| OLY v FEN | 55% | 72% → OLY 55¢ −$56.24 | → OLY 55¢ −$56.24 | 65% → OLY 55¢ −$56.24 | → OLY 55¢ −$56.24 | 61–64 |
| ZAL v ASV | 77% | 80% → ZAL 77¢ +$22.11 | → ZAL 77¢ +$22.11 | 64% → ASV 24¢ −$24.91 | → ZAL 77¢ +$22.11 | 105–85 |
| PAR v RED | 51% | 52% → PAR 51¢ +$47.75 | → PAR 51¢ +$47.75 | 33% → RED 50¢ −$51.25 | → RED 50¢ −$51.25 | 85–82 |
| MIL v BAR | 52% | 48% → BAR 49¢ +$49.75 | → BAR 49¢ +$49.75 | 21% → BAR 49¢ +$49.75 | → BAR 49¢ +$49.75 | 81–89 |
| PAN v BAS | 92% | 90% → BAS 9¢ −$9.41 | → PAN 92¢ +$7.63 | 87% → BAS 9¢ −$9.41 | → PAN 92¢ +$7.63 | 85–79 |
| TEL v MAD | 38% | 42% → TEL 38.8¢ −$39.94 | → MAD 63¢ +$35.83 | 25% → MAD 63¢ +$35.83 | → MAD 63¢ +$35.83 | 99–113 |
| MUN v DUB | 47% | 56% → MUN 47¢ −$48.25 | → MUN 47¢ −$48.25 | 35% → DUB 54¢ +$44.76 | → DUB 54¢ +$44.76 | 91–107 |
| IST v BES | 63% | 60% → BES 38¢ −$39.18 | → IST 63¢ +$35.83 | 39% → BES 38¢ −$39.18 | → BES 38¢ −$39.18 | 89–80 |
| HTA v VIR | 75% | 76% → HTA 76¢ +$23.09 | → HTA 76¢ +$23.09 | 100% → HTA 76¢ +$23.09 | → HTA 76¢ +$23.09 | 90–81 |
| Game | Polymarket, home | Eurostepper | Jev AI | When (UTC) |
|---|---|---|---|---|
| MAD v PAN | 42% | 68% → MAD · pick MAD | 63% → MAD · pick MAD | Wed 4 Nov, 19:45 |
| IST v PRS | 71%spread 13¢ | 66% → PRS · pick IST | 63% → PRS · pick IST | Thu 5 Nov, 17:15 |
| FEN v BAS | 76%spread 43¢ | 87% → FEN · pick FEN | 87% → FEN · pick FEN | Thu 5 Nov, 18:00 |
| HTA v BAR | 65%spread 14¢ | 69% → HTA · pick HTA | 66% → HTA · pick HTA | Thu 5 Nov, 18:45 |
| ASV v MUN | 54%spread 14¢ | 64% → ASV · pick ASV | 64% → ASV · pick ASV | Thu 5 Nov, 19:00 |
| MIL v VAL | 38% | 34% → VAL · pick VAL | 27% → VAL · pick VAL | Thu 5 Nov, 19:30 |
| BES v ZAL | 48%spread 12¢ | 53% → BES · pick BES | 39% → ZAL · pick ZAL | Fri 6 Nov, 17:00 |
| OLY v RED | 70%spread 14¢ | 73% → OLY · pick OLY | 68% → RED · pick OLY | Fri 6 Nov, 19:15 |
| VIR v DUB | 52%spread 73¢ | 49% → DUB · pick DUB | 39% → DUB · pick DUB | Fri 6 Nov, 19:30 |
| PAR v TEL | 61%spread 14¢ | 73% → PAR · pick PAR | 69% → PAR · pick PAR | Fri 6 Nov, 19:45 |
Simulated trades: no money is staked, and this is not betting advice. Percentages are each side's home win chance. Trades use the last price saved before tip-off, filled at what the order book charged for 100 shares then, plus Polymarket's taker fee (5% × price × (1 − price) a share). A game is skipped if the market's spread is wider than 10¢ or 100 shares can't be bought within 5¢ of the best price.
| 0.599 |
| 2022-23 | 328 | 64.0% | 0.630 |
| 2023-24 | 331 | 71.3% | 0.588 |
| 2024-25 | 330 | 63.0% | 0.618 |
| 2025-26 | 402 | 62.9% | 0.634 |
| 2026-27 | 90 | 64.4% | 0.625 |
Each dot groups games by the model's home win chance (across) and shows how often the home team actually won (up). Dots near the dashed line mean the percentages can be taken at face value.
The power ratings' own settings were tuned on these same seasons, so their figure is slightly flattering. Recent form, rest days and player availability were tested and left out because they didn't improve the backtest.