Does a pitcher really get 'hot' mid-game?
The intuition, and why it's hard to check
Every broadcast has a version of this call: a pitcher gets squared up twice in a row and the color guy says he's "lost it," or a starter strands three straight and the story becomes he's "dialed in tonight." The idea that a pitcher runs hot and cold *within* a single outing, not just start to start, is one of the most repeated narratives in baseball. It's also almost impossible to check with a simple stat, because the obvious test is contaminated before you run it.
Here's the naive version: look at every plate appearance immediately following one where the pitcher allowed a hit, walk, or hit-by-pitch (a "reach"), and compare how often *that* PA also ends in a reach, versus PAs following an out. We ran it on the full 2024 Retrosheet event log: 20,099 pitcher stints, 161,764 adjacent plate-appearance pairs.
The naive number looks like proof
| Reach rate on the next PA | |
|---|---|
| Previous PA was a reach | 31.97% |
| Previous PA was an out | 30.78% |
| Gap | +1.19 points |
That's not nothing. A batter is meaningfully more likely to reach right after the guy in front of him reached. If you stopped here, you'd write the headline: *pitchers do get hot, the announcers are right.*
The confound: it isn't momentum, it's information
The problem is that "reach" tells you two things at once: something about that specific plate appearance, and something about the pitcher's overall quality *that day*. A pitcher who's missing location, tipping pitches, or just doesn't have his usual stuff will allow more reaches across the whole outing, not in a cluster. Pool enough of those bad days together with the good ones and every PA looks slightly correlated with its neighbor, even if there's zero true streakiness inside any single outing. That's a same-day quality effect wearing a momentum costume.
So we ran a within-stint permutation test: for each pitcher's outing, shuffle the order of his PA outcomes 2,000 times, holding his identity and that day's overall reach rate exactly fixed, and recompute the same adjacent-PA gap under that reshuffled null. If real in-game streakiness exists on top of "some days a pitcher is just worse," the observed gap should sit meaningfully above the shuffled null. It doesn't:
| Reach-rate gap | |
|---|---|
| Observed (real PA order) | +0.0119 |
| Permutation null (shuffled order, same pitcher, same day) | +0.0114 |
| Streak effect beyond the null | +0.0005 (p = 0.395) |
Randomly reordering each outing's own PAs, with nothing about momentum, reproduces 96% of the "hot hand" gap on its own. What's left over is a fifth of a percentage point, indistinguishable from zero.
What actually produces the illusion
Two real mechanisms are doing the work the streak narrative gets credit for. First, quality pools by day exactly as described above: a rough start clusters reaches together without any PA-to-PA memory. Second, reach rate climbs mechanically as a start goes on: 30.96% the first time through the order, 31.16% the second time, 32.40% the third. Batters simply do better against a pitcher they've already seen twice and who's more fatigued, which packs elevated-reach PAs next to each other late in outings regardless of any "state." Restricting the comparison to only same-times-through-the-order pairs, stripping out that drift, moves the gap from +0.0119 to +0.0115: barely different, because the permutation test had already absorbed most of both effects.
One more wrinkle cuts the other way: managers pull struggling pitchers before a bad stretch fully plays out, which censors the worst potential "cold" runs out of the data entirely. If anything, that biases our already-near-zero residual further toward zero, not away from it.
The meta-lesson
This is a companion piece to the market-efficiency studies we run on betting lines, but the trap here is subtler, because there's no market grading the claim. Nobody prices "hot hand," so a naive stat can survive indefinitely as folk wisdom precisely because no one is forced to bet against it. The fix wasn't a bigger sample; 161,764 pairs is already plenty. It was a null model that mimics the confound instead of assuming it away.
The pitcher wasn't hot. He was either a version of himself that was just worse that day, or a version of himself the lineup had now seen twice. Both are real, useful, and completely unlike a streak.
Pull up the chart yourself.
Browse every active MLB hitter and team and see where their shots come from, and how AVG and SLG play vs. league average.