One chiclet per MLB club. Double-click a team for batting and pitching form: last-10 game bubbles — batters & starters are green over season average, yellow near it, red below; bullpen/closers are green on a save (or clean 0-run outing), red on a blown save or runs allowed.
No teams loaded yet.
From Discord !bet / !bets —
daily hit rate for
ML,
NRFI,
under through 5th, and
under through 9th.
Bars are W / (W+L); pushes and open bets sit in the chips but
not the %. Click a day for that slate’s tickets.
Same model as !winprob: expected runs = own R/G
× opposing pitching factor (SP 5.5 IP + BP 3.5 IP), home
gets +4% HFA, then Pythagorean (k=1.83) → win %. The
highlighted side is the pick. Pregame picks lock the first time
we compute them; Finals without a lock are graded by replaying
the model with that game's actual starters (current season
rates). A green border means
the pick won; red means it
lost. Under each team's win %: last 10 results as bubbles
(green = win, red = loss; solid = home, ring = away), starting
from that team's last Final (the same game as the linescore box)
and working backwards — opponent abbrev beside each bubble and
that game's H/R/HR, opposing starter ERA, and the model's
pregame win % for the team underneath. Double-click a chiclet
to pin both starters' last 5 outings (!pitcher
table) plus each team's last 5 Finals batting vs opposing SP
vs bullpen (hits / runs / HR / times on base, with the ERAs
faced). The chart is the daily hit rate over
the last 30 days including today — hover a bar for that day's pick-%
bucket W–L (50-55 /
>55-60 /
>60, color-matched to
the chips above); click for the full
breakdown (today opens by default when the slate has graded picks).
Today's pick-% chips also sit above the chiclet wall next to the
today W–L status.
No games on this slate yet.
Today's slate always loads below (Live + Scheduled — filter in
the toolbar). Click a history bar to open that day's chiclets
in a day card (same idea as 1st-inning); use
Today’s games or Clear to
return. Double-click a chiclet to pin its
!game live-style board — full linescore, batters,
pitchers, and each side's Pitcher Card
(current pitcher's last 6 appearances). In Last 6 games,
amber names also pitched the previous game.
Game
loading…
Today
No games on today's slate for this filter. Switch Today to Live + Scheduled, or click a history bar above for a past day.
A live gas-tank read on every starter as the
5th approaches, headlined by the run distribution from
now through the 5th (P(≤0) … P(≤3), 4+) — the same
Next-N model as !scoreless (each remaining half
is a negative binomial expecting the current pitcher's
ERA ⁄ 9 runs × 1.06 for unearned runs —
ERA only counts earned; runs already in this half shift
it). Each side shows the pitcher's pitch count, hits+walks,
strikeouts, and
swing-and-miss rate (SwStr% from the live pitch
feed). A green MISS tag
lights when SwStr is ≥ 14% on 25+ pitches (league starters
sit ~11%). A red GAS tag
fires when the starter is still in with his 5th unsettled and
any of: pitch count ≥ 80, traffic ≥ 7 H+BB, or 18+
batters faced (the 3rd time through starts) — backtested, the
run line through 4 is noise but traffic/fatigue are real. Dots
are runs allowed in innings 1–5; a ✓/✗ settles each
side's 5th. Only games still in the
5th inning or earlier appear here — once a
game hits the 6th it moves to the 9th tab.
No live games in the 5th inning or earlier. Later games show on the 9th tab; this wall polls every 10s while open.
The same read pointed at the 9th: most likely
run counts from now through the 9th
(P(≤0), P(≤1), P(≤2), P(≤3), 4+), priced off whoever is currently
on the mound for each side — the !scoreless
Next-N negative-binomial model (ERA ⁄ 9
expected runs per remaining half × 1.06 for unearned
runs; a bullpen-average ~4.0 ERA
fills in when a pitcher has no season ERA yet). Future halves
are priced off the projected bullpen ladder
(availability + roles + usage, the !bullpen
engine) — in a close game that means the setup man and closer,
not whoever is on the mound now; hover the bars to see the
projected arms. A ✓/✗ settles
each side's 9th. Dots are runs allowed in innings 5–9.
The bottom of the 9th is priced on the score: skipped when
the home side leads after the top (the game just ends), and
truncated at the walk-off run when it is played. Only games
already in the
6th inning or later appear here.
No live games in the 6th inning or later. Earlier games show on the 5th tab; this wall polls every 10s while open.
Games that looked like this. No model — pure
history. Each live game's partial linescore (which innings
the runs came in, plus hits so far — including the open
half) is matched against every completed game this season, and
the card reports what actually happened in the
100 closest lookalikes: how often each side
won, how many more runs scored the rest of the
way — and, before the 5th is done, also through the end of the
5th (P(≤0) … P(≤3), 4+ — reads like the 5th/9th
tabs) — and how often the side trailing at this point came back.
Ranking is tiered: same score at this point
first, then which innings the runs came in,
then hits, then how close the two
starters' season ERAs sit to tonight's;
exact = same score, pattern, and hits, close
= same score within one run out of place or ~3 hits. A run
that just scored in the open half is in the match (so bot 7th
3–2 matches other 3–2 games through bot 7, not the pre-run
score). Each card also shows the plain same-score cohort —
every season game that was exactly this score at this
point, whatever the path, and who went on to
win. The closest five matches each show a condensed
innings/runs linescore box — innings inside the matched
boundary (bot 7 = through the bottom of the 7th so
far, top 6 / mid 7 / end 6
likewise) read muted, and the
amber innings after it are
what happened next (x = a home 9th that was never
played). Amber r/h are runs and hits
through that matched point; final R/H
follow. Under each header: that game's starting pitchers with
season ERA and innings pitched that day. Matching starts once
two halves are on the board; deeper games match tighter (more
innings pinned down), so treat early-inning cards as weak
reads. Auto-refreshes about every 30s while this tab is open
(or hit Refresh). Use Lock to freeze the wall
while you read — Unlock when you want auto-refresh again.
Powered by the season history cache —
refresh with !history refresh if the pool looks
stale.
No live games right now — lookalike cards appear as games go live (once two halves are on the board).
This club scored in these innings vs this kind of
ERA. Not a full-path lookalike (that's Similar).
Each live side that has scored is matched to that club's
other season games with the same scoring pattern so
far (quiet innings stay quiet — 0-0 then a 3rd counts),
against a starter whose season ERA sits within
±0.50 of tonight's opposing arm. The card
then shows what happened the rest of the way: did they
score again before the 5th closed? After the 5th? And the
actual linescores (focus innings highlighted; amber =
after tonight's current inning). Tonight's linescore sits
on the card; away lookalikes are on the left, home on the
right. Home matches other home games (bottom innings);
away matches other away games (top innings). Analog
linescores keep away on top. Prefer ERA-window games,
ordered by how close the
hit line was at the matched inning, then closest ERA;
if fewer than three, fill with the nearest ERA. Each
lookalike shows hits at the match (h) and at the final
(H). One
completed half is enough (top of the 1st with a run
counts). Auto-refreshes about every 30s while this tab is
open. Use Lock to freeze the wall while
you read. Historical ERAs are disk-only — refresh the
dashboard cache / !history refresh if the
pool looks thin.
No live scoring innings yet — cards appear once a club puts a run on the board (from the first completed half).
Games
Run in 1st
Batting
Pitchers
Today’s slate always shows under the charts (like WinProb).
Pick record, SP record, and calibration stay under that wall
and load in the background after the chiclets paint — the
buttons jump down to each board.
Click a yellow daily bar to swap in that day's games ranked by
P(0 runs 1st), with a green ✓ when the 1st stayed
scoreless and a red ✗ when a run scored; use
Today’s games to come back. The subtitle shows
that wall's per-game max starter ERA p50 / p75 /
p90 (higher of the two starters per game; 0.00 / missing /
tiny-sample ERA > 12 excluded). The daily bar
chart overlays each day's max-ERA p50 as a blue line on the
right-hand axis (scaled to the window's own hi/lo so the
movement reads).
Under the full-inning % each chiclet also shows
T1 / B1 P(0) for the top and bottom
halves. Same layout as Today’s games. Home
starter on top, away underneath. The through-1st score pill
shows each side's runs with a blue matchup edge
(opp pitcher power − this lineup's batting power;
0 when the pitcher has no power number yet). Under each: his
last ten starts (green = scoreless
1st, red = run(s) allowed; solid = home, shaded ring = away),
then the opposing lineup's last 7 venue-matched games
(away batting strip = last 7 road 1sts; home batting strip =
last 7 home 1sts; same colors / venue shading). The trailing %
after a lineup strip is that club's season quiet-1st rate
at this venue only (pitcher strips stay overall).
Each row also ends with a blue
0–100 power index (50 = average): lineups score higher
for 1st-inning runs off good starters; pitchers score higher
for blanking strong lineups and lose more for runs allowed to
weak ones. Both weight recent games more than April's. A
blue border highlights standard scoreless-1st picks
(model ≥ 55%, and each half needs its blue edge ≥
−5 or a lineup scoreless in 5+ of its last 6);
an amber border with a
PRIME tag is the higher bar (model ≥ 60%, non-division) —
backtested at ~55% / ~71% vs a 49% base over the last 60 days.
A red border with a RUN tag
is the opposite call — a run scores in the 1st: model
≤ 48% scoreless and at least one lineup's batting
power beats the opposing starter's quiet-1st power by 10+
(edge ≤ −10) — backtested at ~68% vs a 51% base over
the same 60 days.
Matchups in
red with a DIV tag are
division games, where the model's high-confidence calls hit
only ~58% (so Prime is withheld there). Under each lineup
strip, that team's last game shows as
hits/runs/HR, in
amber when they were blanked
(≤1 run or ≤3 hits) — bounce-back watch — with
1–3 hits/HR from that game's top of the order
underneath. Hover
any chiclet or number for details. Double-click a chiclet to
pin the board above the wall — for completed games, the
Situation-style full linescore first, then both starters' last
5 start linescores (Pitcher Card P/H/BB/R/HR by inning) vs
opposing batting. Use
Sort for Percentage
(P(0) high→low) or Time (first pitch); that
clears a saved drag order. Drag chiclets
to reorder (on touchscreens, press and hold a chiclet first —
a plain swipe scrolls); the custom order is remembered
locally. Star a chiclet to cycle bookmark colors in place
(unfilled → green → yellow → grey → red → clear; saved
locally; order stays put).
Power index opens season-long leaderboards —
batting teams on the left, starters (with team abbrev) on the
right — both sorted high → low. Computed from the season
history cache (per-inning linescores for every completed game).
Rebuild it with revenant --history refresh or
!history refresh to pull in recent games.
Pick record grades the highlighted picks over
the last 30 days: the overall win/loss record on top (Prime
broken out in amber), then the same pick-% buckets as WinProb
(50-55 /
>55-60 /
>60) grading every
settled game by model P(0 runs 1st) (win =
scoreless), a bar per day (its
wins/picks label above each — hover for that day's
color-coded bucket W–L), and every pick
chiclet grouped by date below — click a bar to pin that
day's pick chiclets (pitcher names included).
SP record does the same for the green
SP / SP+ /
SP★ starter-quality
tags: grouped bars are that day's % with a run for all SP
tags, SP+ only, and SP★ (lower is better for NRFI; SP+
excludes stars, same as raw SP excludes plus and star).
Each day is labelled SP–SP+–SP★ with-run/n
(0/0 when a tier had no game) so a clean
0/1 still reads when the bar is flat. Lines
are each tier's running NRFI win% from the left of
the window, the season base rate is the dashed line, the
aggregate NRFI W–L is on top (disjoint SP / SP+ / SP★
broken out), then SP / SP+ / SP★ by model P(0) band
versus every settled game in that band (lift). Click a
band (season or this window) to pin those chiclets —
e.g. season SP >60 9–7. Click a
column to pin that day's highest
SP chiclets (SP★, then SP+, then SP) under the chart.
Calibration checks the model against reality
over the same 30 days: every settled game lands in a 5-point
bucket by its predicted P(0 runs 1st), and each
bucket's bar shows how many actually stayed scoreless
(wins/games above each) against the dashed
average-predicted line — bars near the line mean the
percentages can be trusted at face value.
The Model dropdown picks the prediction logic
everywhere on this tab: v1 blends league half
baselines, starter ERA, and recent offense; v2
additionally grades each lineup on its own venue only (home
teams by home 1sts, away teams by road 1sts, min 8 venue
games, falling back to v1 otherwise). Displayed %, T1/B1,
sort, and the calibration board follow the selection; the
blue/amber/red pick borders stay on v1, where they were
backtested.