Today's matchup
BJ is on the road against Milwaukee Brewers on the Monday, September 7, 2026 slate. He shows up on 12 boards — singles (38.6/100, #80), hits (38/100, #80), doubles (33.1/100, #88), total bases (32/100, #81). We've got him at 0.6 on the singles board. The model doesn't love the spot — the numbers are below. Open any board row for the full breakdown of what's driving it.
Small sample, handle with care
BJ has just 9 at-bats in our graded season log — not enough to say much. He's hitting .111 across them, but a number built on this little data moves wildly with one good week. His confidence rating on any board reflects that: the model will still score his matchup, it's just honest that it's working with thin information. Treat the projection as a starting point, not a read.
He bats from both sides
BJ is a switch-hitter, which changes how the model reads every one of his matchups. Most hitters carry a real platoon penalty — a lefty bat facing a good lefty arm is a materially worse spot, and the score drops accordingly. BJ takes the favourable side almost every night, so he doesn't collect that penalty. What moves his number instead is the quality of the arm rather than its handedness, and how the two sides of his own swing actually compare, which is rarely as balanced as the switch-hitter label suggests.
Against Milwaukee Brewers
BJ is 1-for-8 (.125) against Milwaukee Brewers in our log, over 3 games. Worth knowing, worth not over-reading. 8 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.
No graded record on him yet
We haven't ranked BJ a top-20 hitter matchup often enough this season to have a record worth publishing — not once so far. He's appeared in 4 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
BJ was scored on 12 boards in that matchup, and the spread is the interesting part: singles graded 38.6/100 while stolen bases came in at 7.3/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
Take the name off BJ and the model still produces the same number, because it's scoring the matchup rather than the player. His splits against this handedness, what the opposing starter and bullpen actually allow, how many plate appearances he's likely to get, the park, the weather, how he's swinging lately. All of it lands on a 0–100 scale against everyone else playing today. We don't publish how it's weighted. We publish every result it produces.
What we'd flag
Three caveats worth carrying. Not every player gets a posted line — book coverage runs to about 87% for confirmed starters, so a blank line is the market's silence, not ours. Lineup changes land late enough to strand a projection published hours earlier. And judging any of this on a single night is meaningless; the model is tuned on hundreds of settled outcomes. For BJ specifically, his sample is small (9 at-bats logged), and we don't have a meaningful graded record on him yet.