← Projects

NBA edges on Polymarket

private

A model that looks for mispriced NBA markets on Polymarket. In one week, 12 positions in a row won, compounding about $5k into $60k+.

12–0run 12 positions in a row one week, late last season ≈$5k $60k+ W W W W W W W W W W W W

The play

A Polymarket price is a win chance: the crowd's chance. My model gives every NBA game its own win chance, from facts known before tipoff. Where the two clearly disagree, one side is underpriced, and over many bets that gap is the expected profit. Everywhere else, I do nothing.

my chance market's chance compare clear gap take the position no clear gap skip settle record

The market price is only the thing I compare against. It never goes into the model.

My chance against the market price, game by game
My chance against the market price, game by game

The backtest

Two regular seasons, 2024-25 and 2025-26: the only two where Polymarket had a real market for every game.

Backtest regular seasons
SeasonBets wonReturn per $1 bet
2024-2564%+9.3%
2025-2661%+6.0%

~2,600 games with a usable market price~10 bets a week, under 2 a day

How the test keeps score

  • Real prices. Each test bet pays the price you could actually buy at, at one fixed time before the game. $1 a bet, each game at most once.
  • No hindsight. Each test day uses only data dated before that game, and every prediction is frozen at tipoff.
  • Unseen games. A change to the model stays only if it does better on games it never saw. Each season is reported on its own.
  • The price moves my way. In both seasons, the market price moved toward my pick before tipoff.

The story, in four quarters

  1. Q1

    It starts inside a bigger personal sports dashboard that also placed trades on Polymarket. One week brings the 12–0 run at the top of this page.

  2. Q2

    The NBA part moves into its own project, so it can be tested and tuned alone before the new season. Two past seasons of game data are rebuilt from scratch.

  3. Q3

    Two full seasons of past Polymarket pregame prices are collected, for a clean test against the real market. The current model goes live after many tested versions.

  4. Q4

    The 2026-27 season opens. The model's numbers are recorded before each tipoff, and the live record starts.

The code, data and models are private.