Today's matchup
Justin draws St. Louis Cardinals at home today. He shows up on 12 boards — hits (53.2/100, #103), triples (47.3/100, #14), singles (45.5/100, #65), doubles (42.9/100, #54). We've got him at 1 on the hits board. Open any board row for the full breakdown of what's driving it.
He's swinging a hot bat
Justin is 8-for-24 (.333) over his last 10 games — well clear of his .272 season mark. Our model does lean on recent form, but it weights it against the matchup rather than chasing it: a hot bat facing a tough arm in a bad park still grades as a tough spot. Streaks like this one also end without warning, which is why the score moves on the matchup and not on the streak.
What kind of hitter he is
Justin puts the ball in play — 62 strikeouts in 334 at-bats, about 19% of the time. Contact hitters carry their value on the hits board rather than the power boards, and they're less matchup-dependent than sluggers: a strikeout arm hurts him less than it hurts a hitter who sells out for damage. He's also run — 16 stolen bases — which shows up on the steals board.
He's a left-handed bat
Justin hits from the left side, and that's the first thing the model looks at. Left-handed hitters see right-handed pitching most nights, which is the favourable side — so a lefty bat's baseline is set against righties, and drawing a left-handed starter is a genuine downgrade rather than a rounding error. When you see his score fall on a day he's still in the lineup, an opposing lefty is usually why. Handedness also shapes the park read: pull-side geometry matters more for a left-handed swing than the raw park factor suggests.
Floor and ceiling
Justin has recorded at least one hit in 68 of 110 games he's batted in — 62% — with 18 multi-hit games among them. That's about average — most regulars land somewhere near it.
Home and away
Justin is hitting .311 at home (52-for-167) and .234 on the road (39-for-167) across the season. That's a real-looking split, and it's the kind of thing that's usually part park and part noise. The model doesn't apply a blanket home-road adjustment — it prices the actual ballpark he's standing in, which is the part that carries signal.
Against St. Louis Cardinals
Justin is 3-for-16 (.188) against St. Louis Cardinals in our log, over 6 games. Worth knowing, worth not over-reading. 16 at-bats against one club is a tiny sample, and the model treats it as a minor input next to what that pitching staff actually allows to his handedness. Batter-versus-pitcher history is the most quoted number in baseball and one of the least predictive.
His best game in the log
Justin's biggest night was Tuesday, August 18, 2026 against MIA — 2-for-4 with 1 driven in. That's the ceiling, not the expectation. The projection you'll see on a board is closer to his typical game than his best one, which is the whole point of projecting rather than remembering.
No graded record on him yet
We haven't ranked Justin a top-20 hitter matchup often enough this season to have a record worth publishing — 3 times so far. He's appeared in 114 graded games, so the log below is real; there just isn't a track record on our calls to show. It'll build here if the matchups start landing his way.
Where he lands across our boards
Justin was scored on 12 boards in that matchup, and the spread is the interesting part: hits graded 53.2/100 while home runs came in at 6/100. Same player, same game, same opposing arm — different questions. A spread that wide usually means the matchup favours one kind of outcome over another, and it's the clearest argument for reading the board that matches what you actually care about.
How the model reads him
Justin gets scored the same way a backup infielder does — same inputs, same scale, no thumb on it. What he's done against arms of this handedness, what this particular pitcher and bullpen give up, his likely plate appearances, the ballpark, the conditions, his recent form. The weighting behind those is ours and gets re-tuned weekly against what actually happened. The output is public and graded, which is the only claim worth making.
What we'd flag
Read this page knowing what it can't do. It can't show you a line no book posted — coverage peaks around 87% for confirmed starters. It can't see a lineup change that happens after the projection publishes. And it can't tell you anything useful from one game, because the model is only measurable across a season-sized sample. For Justin specifically, we don't have a meaningful graded record on him yet.