Findings / NBA momentum
NBA momentum, tested: what’s real and what isn’t
Structural fatigue, rest, and clutch momentum effects in the NBA are confirmed -- and some independently replicated -- while the individual game-to-game hot/cold carryover shapes (a player's own B2B dip, foul-trouble shifts, rest-differential margin) come back null.
Our own preregistered NBA tests, surfaced verbatim from the committed forward-claim scoreboard. A verdict is a leak-free accuracy/effect finding vs an internal baseline -- never a advantage. A NULL is not 'streaks do not exist'; it is 'this shape carried no measurable signal past the baseline'.
Momentum-shaped effects that ARE real
Structural fatigue, rest, and clutch effects are confirmed -- some independently replicated -- these are real momentum-shaped dynamics, just not the individual hot-hand kind.
| Claim | Verdict | n | Effect | Corpus |
|---|---|---|---|---|
| B2b rest penaltyPlaying on a back-to-back measurably drags down scoring output. | CONFIRMED_LOCAL | 7,192 | -1.955 | player_boxscores_2024_25_2025_26 |
| Three in four fatigueThree games in four nights compounds the fatigue drag further. | CONFIRMED_LOCAL | 7,222 | -1.213 | player_boxscores_2024_25_2025_26 |
| Clutch lineup shorteningCoaches measurably shorten rotations in clutch minutes. | CONFIRMED_LOCAL | 1,052 | -6.3384 | player_boxscores_2024_25_2025_26+stints_2024_25+zone_onoff_2024_25 |
| Clutch usage compressionUsage concentrates onto fewer players when the game is on the line. | CONFIRMED_LOCAL | 8,164 | 0.5031 | player_boxscores_2024_25_2025_26 |
| Timeout interrupts opponent run h1Calling a timeout measurably interrupts an opponent's scoring run. | CONFIRMED_LOCAL | 1,357 | -0.7314 | pbp_p1_json_timeout_windows (1289 games w/ timeout samples, split-half by date) |
| Timeout interrupts opponent run replication 2022 23The timeout-breaks-a-run effect replicates independently on the 2022-23 corpus. | REPLICATED | 2,544 | — | replication_wave1_second_corpus |
| Lineup continuity streak vs point diff 2024-25How long a lineup has stayed together (continuity) measurably relates to point differential. | CONFIRMED_LOCAL | 2,460 | 0.0788 | stints_2023_24+2024_25 |
Scroll horizontally for all columns.
The hot/cold carryover shapes that came back null
The individual game-to-game 'streak' shapes -- a player's own B2B scoring, foul trouble shifting his efficiency or usage, rest differential, or B2B interacting with starter minutes -- carry no measurable signal past our baseline. NULL here means 'no signal past baseline,' not 'streaks are impossible.'
a gate NULL means 'no measurable value past our baseline', NOT 'this never happens';
| Claim | Verdict | n | Effect | Corpus |
|---|---|---|---|---|
| Player b2b scoring dipA player's own scoring shows no detectable dip on a back-to-back beyond the team-level rest penalty already captured elsewhere. | NULL_LOCAL | 65,103 | -0.0053 | player_boxscores_2024_25_2025_26 |
| Rest differential margin h1The rest-day differential between two teams shows no detectable margin effect. | NULL_LOCAL | 1,798 | -0.018 | player_boxscores_team_game_frame_7222_teamgames (split-half by date) |
| Foul trouble efficiency shift h1Being in foul trouble shows no detectable shift in a player's scoring efficiency. | NULL_LOCAL | 5,972 | -0.09861 | player_boxscores+pbp_p1_json (1289 games, split-half by date) |
| Foul trouble usage shift h1Foul trouble likewise shows no detectable shift in a player's usage rate. | NULL_LOCAL | 5,972 | 0.00712 | player_boxscores+pbp_p1_json (1289 games, split-half by date) |
| B2b x margin starter minutes h1The interaction of back-to-back rest with point margin shows no detectable effect on starter minutes. | NULL_LOCAL | 3,596 | -0.0372 | player_boxscores_team_game_frame_7192_teamgames_nonnull_rest (split-half by date) |
Scroll horizontally for all columns.
How to read this — structural fatigue holds up (B2b rest penalty, CONFIRMED_LOCAL on n=7,192, effect -1.955), but the individual hot/cold carryover shape does not: even at n=65,103, the largest sample in this whole exhibit, player b2b scoring dip comes back NULL_LOCAL — no signal past our baseline, not proof the shape never happens.
- a gate NULL means 'no measurable value past our baseline', NOT 'this never happens';
- effects are raw directional effects on the stated metric, not opponent/venue-adjusted;
- corpora and seasons differ per claim; each row shows its own corpus;
- CONFIRMED/REPLICATED are descriptive accuracy findings, never a money-advantage claim.
CONFIRMED here means a leak-free accuracy/effect finding against our own baseline. Nulls are published with equal weight: a carryover shape that fails to show a signal is as valid a result as one that confirms.