Which sportsbooks post first. Which open far from where the market ends up. Which drift toward it, and which just move. Every book scored against a reference you pick — the devigged median of the whole market, or the close at Pinnacle, or the close at Circa — across three main markets and every league we archive.
11,810 events processed · 48,069,028 odds observations · 20 books ranked
No summary rows for this slice yet. The nightly rebuild has not covered it, or the books in this league did not post a two-sided Spread market on enough events to score.
Try another season, league, market or reference above.
Sharpness is how close a book’s prices land to the reference close, weighted toward its opener. Timing is how early it posts. A book in the upper-right is sharp and early; a book in the lower-left posts late and disagrees with where the market ended up. Bubble size is the variance metric selected above — larger means more movement, smaller means steadier. Hover any underlined column header (in any table below) for a plain-English explanation of what it measures and whether higher or lower is better.
| Book | Sharpness | Timing | Steadiness | Open dist. | Close dist. | Drift % | Events |
|---|
Every event has one book that posts a two-sided price before all the others, and one that shows up last. Rank 1 is earliest. The bar is each book’s average rank across every event in the slice; the two percentages printed at the end are how often that book was first, and how often it was last.
| Book | Avg rank | % first | % last | Timing score | Ticks/event | Events |
|---|
The season broken into weeks. Each line is one book, and the Y axis is whichever metric you pick below. Distance from the reference close answers “does this book converge on the market as the season goes on?”. Percent drifting toward the reference answers “when it moves, which way?”. Sharpness score is the same composite the top chart uses, but per week instead of per season.
Every book in the current slice, every metric. Click a row to open the full breakdown — open distance, close distance, drift percentage, tick stddev, stake-limit delta and the sub-scores the composites are built from. Books whose events_covered is below 20 are flagged low-confidence: the numbers are real, the sample is not big enough to lean on.
| Book | Sharp | Time | Steady | Open d. | Close d. | Drift % | |Drift| | Rank | %1st | %last | Ticks | Tick σ | Events |
|---|
3 options, visitor-toggleable above:
pin).
circa).
s)t)ml)Devigged implied-probability distance in percentage points. Both sides of the market are converted to implied probability, scaled so the pair sums to 1 (removing vig), and the absolute difference between the book and the reference is taken. Range 0 to 100; anything under 1 percentage point is effectively the same price.
Devig method: multiplicative.
Every sub-score is min-max normalized within its (season, league, market, reference) slice, then combined with the weights below. A book is scored against the other books in the same slice rather than against a global scale, which is what makes the composite comparable across leagues with different book coverage.
The bubble-size selector picks one of these. Each is a column of the summary table, so what the chart shows is the same number the table underneath it prints.
tick_delta_std)
drift_magnitude_std)
avg_tick_count)
Steadiness is 100 - volatility. Volatility combines tick-to-tick movement stddev and price-change frequency, both min-max normalized within the slice, so a low-steadiness book moves often and moves far; a high-steadiness book holds its number.
Every sub-score is min-max normalized within its (season, league, market, reference) slice, then combined with the weights shown. A book is scored against the other books in the same slice rather than against a global scale, which is what makes the composite comparable across leagues with different book coverage.
A book whose events_covered is below 20 in the current slice is flagged low-confidence in the tables and drawn with a hollow marker in the scatter. The numbers are real — that book posted those prices on those events — but the sample is not big enough to lean on, and the composite score is normalised against a slice that may include books with far more observations.
Everything on this page is derived from the same odds archive the API serves. Every price observation, every book, every league, as JSON over HTTPS — opening lines, closing lines, best available, and full movement history. Free tier includes enough credits to reproduce any figure above.