Sample data. These plays were generated for testing — no real odds feed is connected yet. Add your ODDS_API_KEY and run the daily job to replace them.
Not yet rated · every starter with a line

Pitchers prop

A projected strikeout total for every starter we can see a posted line for, sitting next to the number a book is offering. Same rule as the MLB board: every projection is graded afterwards, whether or not it became a play.

No starter had a posted strikeout line today. This board fills in whenever prop odds are available.
start cleared tonight's line start stayed under tonight's posted line

The bars are strikeout totals, not a trend. Every past start is scored against tonight's line, not the number that was posted on the night, so a 6–4 record doesn't mean a pitcher is hot — it means six of his last ten outings would have cleared the number a book is offering today. Ten starts is a small sample: the distance between 6–4 and 4–6 is two ordinary nights, and the record on its own is not a reason to bet anything. A card flagged in amber sits further from the posted line than the market can plausibly be wrong, which we treat as our bug rather than an opportunity.

The scoreboard for the projections

How far off are we?

Every projection here gets compared to what the pitcher actually did, and to how close the posted line was to the same result. If reading the line off a screen beats our arithmetic, that's the number this page reports.

Nothing graded yet — this fills in as rated starts finish.
a coin flip how often we landed on the right side the range chance alone explains

Nothing graded yet. Once these starts finish, this line reports how far off the projections were — and how that compares to simply reading the posted number.

What the projection is

One line of arithmetic, published so it can be wrong

The formula

Rate × workload × matchup

Season strikeouts per nine innings, times the innings a starter is expected to go, adjusted for how often tonight's lineup strikes out relative to the other teams on the board. That is the entire model. No fitted coefficients, nothing that couldn't be checked on paper.

The fragile part

The innings assumption

Expected innings does more work here than anything else. Assume six innings instead of five and a third, and every projection on the page moves half a strikeout — enough to invent disagreements that aren't there. It's a flat assumption by starter type rather than a per-pitcher estimate, and it is the first thing to suspect when a number looks wrong.

Left out

Park, weather, catcher, umpire

All of them nudge strikeout totals. None nudge it as far as which lineup he faces and how long he stays in, and every additional input is another thing that can be quietly wrong without anyone noticing for a month.

Shown, not counted

The vs-opponent line

How a starter has fared against tonight's club is on every card because it's the first thing anyone looks for. It is not in the projection. A handful of starts against one team is mostly luck, which is why any sample under three starts is greyed out and labelled thin.

A rating is not a bet. Most of these sit close enough to the posted number that there is nothing to do. Only the starters that clear the screens get posted as plays, and those are capped at five a day — the rest are here so the arithmetic can be checked in public.

Numbers on everything, plays on almost nothing

Rated nightly. Bet rarely.

A projection on every starter doesn't mean a bet on every starter. The screens decide what gets posted, and most nights they say nothing.

21+ · Entertainment only · Nothing here is for sale