The full Kelly derivation appears here: every step, every number.
Report Card
Bring any bet you were considering. Tap a price on the Live Board, or enter one you were quoted anywhere else. Each gets graded against the de-vigged benchmark line, which is closing line value scored like homework, with the expected-value lesson written out.
Grades measure the price you logged against the benchmark's fair value, frozen at the closing line once the game starts and provisional before that. It's an honest scorecard for line-reading: grades say nothing about game outcomes, and a good grade doesn't mean a won bet. A well-priced bet still loses often, which is why the grade is the price and not the result. Stored in this browser only.
Learn free, forever
Everything on this site is a deterministic calculation on inputs you supply. Nothing is a prediction, a pick, or advice. This page explains what each tool computes, how to use it, and the ideas behind the math. This section is free, forever. Teacher's Bet is an educational resource first, and the education never goes behind a paywall.
How to use this site
- Live Board: every book's prices side by side; the best price on each side is underlined in teal chalk. A yellow chalk box marks an above-fair price, and badges flag an arb (books disagree enough to lock a profit on paper) or an above-fair price (a book pays better than the benchmark says is fair).
- Value Check (+EV Scanner): paste the sharp book's two-sided odds and the price your book is offering. The result says how much better or worse than fair value that price pays, per dollar.
- Arb Finder: enter the same game's odds at several books. If the best prices on the two sides disagree enough, the tool shows how a fixed total would be split and what it would pay either way, along with the reasons this usually fails in practice.
- Fair Price (De-Vig): enter any two-sided line to see the book's built-in margin removed: the true implied chances and what a fair price would be.
- Bet Sizer (Kelly): give it odds, your own estimate of the chances, and a bankroll figure, and it computes the Kelly-formula size. It's only as good as the estimate you feed it.
- Every result has a “Show the work” button. Click it and the full calculation replays step by step with your actual numbers substituted in. Nothing is a black box here.
Worked example: reading a flagged game
- The yellow badge by the title says the books disagree enough for a +1.0% arbitrage. That's why this game is at the top of the board.
- Teal underlines mark the best price on each side. Here they sit at two different books, and that split is the arbitrage.
- The yellow-highlighted −119 is a price paying about 3.9% more than fair value. Why? See the red note beside BetMGM: that line hasn't moved in twenty minutes while every other book repriced. Stale line → mispriced line.
- The banner spells out the situation in a sentence, and warns you why it rarely survives contact with reality.
Worked example: sizing a bet, every step shown
- The headline is the answer: $10.23, about 1% of the stated bankroll. It's small by design. A 3-point edge at −152 is a thin edge, and quarter sizing halves the harm of an overconfident estimate twice over.
- Every step below it is the arithmetic, with your numbers substituted in. The colored values (purple probability, amber odds, teal fraction) let you trace where each number came from and where it goes next.
- If the derivation ends at $0, that's the honest answer: your stated inputs contain no edge at all.
Before a single strategy, the syllabus of self-inflicted losses. None of these are opinions. Each one is a mistake with a price tag you can compute, and the course after this exists to keep you off this page.
The pitfalls, priced: every mistake, costed
The parlay tax, drawn
Each −110 leg keeps its fee, and fees multiply. The chart is the expected value of one dollar parlayed across k legs, a staircase that only goes down.
Watch it fail: the Martingale trap
The most seductive system ever invented: double after every loss, and every win puts you back on top. Below, a Martingale bettor and a flat bettor face the exact same games at −110. Watch the staircase climb, then watch the stake counter, because that's where the trap lives. One ordinary cold streak asks for a bet the bankroll can't pay.
Simulation on stated inputs (50/50 games priced at −110, $25 base stake, $1,000 start, 400 bets), seeded at random each run. Across many seasons the Martingale bettor is ruined about 87% of the time (the median season ends at $0) because doubling after six straight losses asks for more than the bankroll holds, and at −110 a "recovery" win after four or more losses doesn't even recover. The staircase is real; so is the cliff. An illustration of the mathematics, not a prediction.
Sizing with the Kelly criterion, and why we stay at a quarter
If you have an edge, betting too little wastes it and betting too much can ruin you even while being "right". The Kelly formula computes the fraction of bankroll that maximizes long-run growth if your probability estimate is exactly correct. It never is. That's why the default here is quarter Kelly, a widely used safety margin against overconfident estimates. If the math says $0, your stated inputs contain no edge at all.
f* = p − (1−p)/b. Growth rate g(f) = p·ln(1+bf) + (1−p)·ln(1−f) is sharply asymmetric around f*: overbetting is punished far worse than underbetting. For several simultaneous bets, per-bet Kelly overallocates the shared bankroll; the slate mode jointly maximizes E[ln(1 + Σ fᵢXᵢ)] over all win/loss combinations instead.
The Kelly criterion, derived step by step
Where does f* = p − (1−p)/b come from? Not a rulebook, just one page of calculus that anyone can follow. Here is the argument, the way it would go up on a board.
The shape of the answer
The growth rate g(f) is a hill with one peak, and the peak is f*. Bet less and you leave growth unused; bet a little more and growth falls; bet roughly double Kelly and growth hits zero. Beyond that, a bet with a real edge loses money long-run from oversizing alone. That asymmetry is why the site defaults to a quarter of f*: your probability estimate is noisy, and the hill punishes standing to the right of the peak far more than to the left.
Watch it work: one season, four bettors
The proof is asymptotic; the intuition is visceral. Below, four bettors face the exact same sequence of games (same wins, same losses, a 55% edge at even odds) and differ only in how they size each bet. One bets a flat $100 every time, the way most people bet, and that's the fallacy on display: a fixed stake never compounds wins and never shrinks after losses, so its best case is a slow straight line and its worst case is ruin on an ordinary cold streak. Kelly says f* = 10% of the current bankroll here. Watch what the same luck does to different sizing.
Simulation on stated inputs (p = 55%, even odds, 250 bets, $1,000 start), seeded at random each run. It's an illustration of the mathematics, not a prediction or a promise. The flat bettor's expected profit per bet is positive (+$10) but fixed: no compounding, linear growth at best, and starting with ten betting units it goes broke in ≈13% of seasons (gambler's ruin). Kelly compounds: +0.50% growth per bet on the current bankroll, and because the stake shrinks with losses it can never be ruined by an ordinary streak. Double Kelly's expected growth ≈ 0%; all-in ends at the first loss. Individual seasons vary, and that's the point. Replay it.
Odds are prices, and prices contain a fee
A moneyline like -152 means "pay $152 to win $100"; +138 means "pay $100 to win $138". Every price implies a probability: the chance at which the bet would break even. Add up the implied probabilities of both sides of a game and you always get more than 100%. That extra is the book's fee, called the vig (or juice, or margin). You pay it on every bet whether you notice it or not.
For ML < 0: q = −ML / (100 − ML); for ML > 0: q = 100 / (100 + ML). The overround is q_A + q_B − 1, typically 2 to 5 points on two-outcome markets.
Fair price: removing the fee
"De-vigging" removes the book's margin to estimate what the odds would be if the book took no cut. You can't know whether a price is good until you know what fair would be.
Three methods, in increasing sophistication: proportional divides each implied probability by their sum; power solves q_A^k + q_B^k = 1, removing more vig from longshots (matching the observed favorite-longshot bias); Shin models the book as pricing against insider money and typically lands between the two. We default to power when benchmarking a sharp line.
The sharp benchmark: where "fair" comes from
Some books (canonically Pinnacle) welcome winning customers, take huge bets, and adjust prices instantly. Their odds are the most accurate public estimate of what will happen, sharper than any pundit. De-vig the sharp book's line and you have a benchmark. When another book's price pays more than that benchmark says is fair, the difference is measurable value. That's what the board's EV columns and the Value Check compute.
This is a market-vs-market comparison, no prediction model required. The de-vigged sharp closing line is the strongest version of the benchmark; any claimed edge should be validated against it (via closing line value, not short-term win rate, which is mostly noise).
The edge, derived from posted price to expected value
Every step from a moneyline on a screen to "this price pays 2.5 cents per dollar above fair." No leaps, no vibes.
Watch it work: same games, same wins, three prices
Three bettors stake a flat $25 on the exact same 500 coin-flip games and win the exact same bets. The only difference is the price each accepted: the standard −110 (the book's fee baked in), +100 (perfectly fair), and +105 (an above-fair price found by comparing books). Nobody here beats the game, because the game is a coin flip. Watch who beats the price.
Simulation on stated inputs (true probability 50%, flat $25 stakes, 500 bets, $1,000 start), seeded at random each run. Expected value per bet: −110 → −$1.14 (the vig, collected forever), +100 → $0.00 (a fair random walk), +105 → +$0.61 (a small real edge). Small edges drown in variance over short stretches, and some seasons the +105 bettor still loses. That's why this site grades the prices you take (closing line value) rather than short-run results, and why the vig line only ever points one way. An illustration of the mathematics, not a prediction.
Arbitrage: real, rare, and hard to execute
When two books disagree enough, backing opposite sides at the best price for each can pay out more than the combined cost: the same profit whichever side wins, on paper. The board scans for this continuously. The warnings the tool attaches exist for a reason. These gaps close in seconds. A line that moves mid-execution leaves an ordinary bet, not an arb. And books restrict accounts that repeatedly take these prices. Treat detected arbs as information about market disagreement, not free money.
Formally: with best decimal odds d_A, d_B across books, an arb exists when 1/d_A + 1/d_B < 1; staking each side proportional to 1/d equalizes the payout, with return 1/Σ − 1.
The lock, derived: when two books disagree enough
Arbitrage is the only bet on this site with no probability in it, just prices. Here is the argument.
Watch it work: a day on the wire
Below, one game's prices at two books across a synthetic trading day. The chalk line is the cost of covering both sides: Σ1/d, the sum of inverse decimal odds taking the best price on each side. Above the gold line at 1.00, covering both sides costs more than it pays: no lock. When one book goes stale while the market moves, the line can dip below 1.00. The window opens and a guaranteed margin exists, until the sleeping book wakes up and reprices it away. Windows live for seconds to minutes. That's the economics of the Sharp tier, drawn on one chart.
Synthetic day: one game's true probability drifts as news arrives; each book reprices with its own vig and its own laziness, so gaps open when one sleeps. Tuned so nearly every run shows a window or two (real windows are rarer, smaller, and close faster). Execution risk is the part no chart shows: two tickets at two books never fill in the same instant, and a line that moves between your legs turns a lock into a plain bet. An illustration, not an inventory.
Every number has a shelf life
The three kinds of math on this site decay at very different speeds when a line moves, and that difference is the honest logic behind what's free and what's paid.
Kelly sizing barely decays. The growth curve it optimizes is flat near its peak, quarter sizing deliberately sits below that peak, and the biggest error in any Kelly number is your own win-chance estimate, not a slightly stale line. An hour-old line still sizes a bet perfectly well. That's why the sizer is free, forever, on any data.
Formally: mis-sizing by ε costs log-growth ∝ ε². A move from −152 to −155 shifts full Kelly from 4.1% to 3.0% of bankroll (under $3 on a $10 quarter-Kelly stake), and the growth cost of acting on the stale figure is fractions of a basis point per bet. The variance of your own p estimate dominates by orders of magnitude.
Above-fair prices decay in minutes. The edges the Value Check finds are 1 to 4%, the same size as ordinary line movement. Seconds don't matter; an hour is fatal. A value feed you can use needs its refresh measured in a minute, and that freshness is what the paid tier sells.
EV = p·b − (1−p) is continuous in the price, but the whole signal is one or two ticks deep: the worked +148 example (+1.1% per $1) is erased entirely by the book repricing to +144.
Arbitrage decays in seconds, and not gracefully. An arb isn't a curve, it's a threshold: the best two prices either sum below 1 in inverse decimal odds or they don't. One tick across that boundary doesn't shrink the profit. It flips a locked gain into a locked loss. That cliff is why the board timestamps every quote, why every flagged arb carries execution warnings, and why truly live data is the thing that costs real money.
Demo numbers: −119/+124 gives Σ1/d = 0.9898, a locked +1.0% either way. The stale book repricing three cents to −122 pushes Σ above 1, so covering both sides at that point locks a loss, not a smaller win.
The rule of thumb: sizing keeps for hours, value keeps for minutes, gaps keep for seconds. Every result on this site carries its timestamps so you always know how old the ingredients are, and the pricing follows this chart: the slower a number rots, the cheaper it is to serve you.
Pop quiz
Three quick questions, graded by the same math engine that runs the tools. No stakes, no grades on your permanent record.
Timestamps, everywhere, on purpose
Every number on this site shows when it was computed and when its odds were pulled, and the board marks lines the book hasn't moved in a while. Odds are perishable. A "great price" from ten minutes ago is a fiction, and no tool should let you forget that.
How we're different
| Teacher's Bet | The usual tools | |
|---|---|---|
| The math | Every step shown, your numbers in it. | A number appears; trust it. |
| Freshness | Pull time and reprice time on every quote. | Rarely disclosed. |
| Output | Calculations on your inputs. | "Picks." |
| Risk | Quarter Kelly, arb warnings, an honest $0. | Aggressive sizing sells. |
| Learning | The goal: you don't need us. | Jargon keeps you subscribed. |
| Price | Core tools free, code public. | Paywall first. |
"The usual tools" means common patterns in this category, not any specific company.
What this site will never tell you
It will never say "bet this". Every output is arithmetic on numbers you provided. If the inputs are wrong, the outputs are wrong, and even correct math loses on any given day. For informational and entertainment purposes only. If gambling stops being entertainment, call 1-800-GAMBLER.
Planned next: live odds feeds with a sharp-book source, closing-line-value tracking, and a prediction layer validated the way the Learn section describes.