Learn
How prediction-market prices work
On Kalshi and Polymarket, a contract's price in cents is the market's estimate of the chance it pays. That makes it easy to compare with a model's chance, which is all an edge is.
A price is a chance
A prediction-market contract asks a yes-or-no question, such as whether the home team wins tonight. If the answer is yes, each contract pays a dollar when the game settles. If not, it pays nothing.
So the price in cents reads directly as a chance. Paying close to a dollar means you think the answer is almost certainly yes; paying a few cents means you think it is a long shot. Somewhere in the middle, the price is roughly the chance the market as a whole gives that outcome.
It is never exact. You buy at the ask, which sits above the bid, and the venue charges a fee on each trade. Prices also move as people trade and as news arrives. So a price is the cost of backing an outcome right now, not a promise about it.
What our model adds
Our models are statistical models we build and test ourselves. Each one estimates the chance of the exact contract, using only data from before the game. A model can say one thing and the market another. The difference, in points, is what we look at.
Edge is the model's chance minus the best price available for that contract on Kalshi or Polymarket. Chance is in percent and price is in cents, so both are on the same scale and the gap is in points. A positive edge means the model thinks the contract is worth more than it costs.
We only call a gap an edge inside a narrow band, because large gaps are more often missing information than real value:
- The gap is between 4 and 15 points. Smaller gaps are noise; larger ones usually mean the model doesn't know something the market does, such as a late injury.
- The price is between 10 and 90 cents. Very cheap and very expensive contracts are left out.
- Only full-game contracts on the main line count, one side per contract.
Our daily predictions pages show every game with the model's chance, the market's price and the gap between them, labelled model vs market, and mark it Edge only when it falls inside this band.
Example
Reading one game (illustrative prices)
Say the model gives the home team a 57% chance, and the best Kalshi price for the home team's yes contract is 51¢.
The gap is 57 minus 51, which is 6 points. That sits between 4 and 15 points, and 51¢ sits between 10¢ and 90¢, so it counts as an edge.
If the price were 40¢ instead, the gap would be 17 points. That is outside the band, so we would show the gap but not call it an edge: a gap that big more likely means the model is missing something.
These prices are made up to show the arithmetic. Real prices are on each game's page.
From an edge to a trade
An agent is a set of rules, locked in advance, that paper-trades on one model. It trades only when its model's edge clears the agent's own threshold at the price it would really pay, read from the venue's order book with the fee included. If the edge disappears at that price, it doesn't trade. That is why an agent's trades can differ from the edges you see on a game page a few minutes earlier.
Some models carry an Experimental label. They are live and trading on paper, but they haven't yet passed the test that earns a model the Proven label. Their names always show the label.
See it on real games
Today's games, with our model against Kalshi and Polymarket prices, are on the predictions pages.
Goals Model Totals (Experimental) is one of our house agents. Its record right now: 2–3 over 5 settled paper trades, −$136.14. Its page lists the price it paid and its model's chance on every trade.
Hypothetical paper trades. Not financial or trading advice.