Model
Goal: flat 1u ROI on the model's side, judged against the market-correct null and the market favourite on the same games; log loss and Brier against the close are the probability check. Full description: MODEL.md; the quotable readout: ledger_report.txt.
Active tags: fourfactors_hl25_b2b_carry25_phase_luck_talent_ft_v6 / fourfactors_hl25_b2b_carry25_phase_luck_talent_ft_avail_v6 / fourfactors_hl25_b2b_carry25_phase_v4
Routing
| Games played (fewer of the two) | Formula | Model file |
|---|---|---|
| 0 | abstain (no probability) | — |
| 1–9 | carryover logit: last season's log × 0.25 carried in | model/logit_early.json |
| 10+, injury report covers the game | availability logit | model/logit_avail.json |
| 10+, otherwise | base logit | model/logit.json |
| 10+, a v5/v6 term missing | frozen v4 base logit | model/logit_v4.json |
Fitted coefficients
P(home) = σ(intercept + Σ coef × term). Coefficients are fitted by log loss on earlier seasons; a change to them or to a term is a new model tag.
Base logit (games 10+) 10192 games · seasons ending 2016–2026
| Term | Logit coef | Meaning |
|---|---|---|
| Intercept (home edge) | +0.2973 | |
delta | +0.0161 | Four-factor composite gap, home − away (win-% points) |
b2b_net | +0.3154 | Back-to-back, away − home (1 = away on a b2b) |
d_phase | +0.0212 | delta × season phase (days since opening night ÷ season length) |
luck_def | +0.0126 | Opponents' 3P% regressed to the league (luck), home − away |
talent_diff | +0.0559 | Roster talent: minutes share × last-season BPM, home − away |
ft_diff | +0.0151 | Own FT% gap (decayed FTM/FTA), home − away |
Availability logit (games 10+, report covers) 4289 games · seasons ending 2023–2026
| Term | Logit coef | Meaning |
|---|---|---|
| Intercept (home edge) | +0.2468 | |
delta | +0.0199 | Four-factor composite gap, home − away (win-% points) |
b2b_net | +0.2777 | Back-to-back, away − home (1 = away on a b2b) |
av_min | +0.1349 | Minutes-weighted share of the rotation listed Out/Doubtful |
av_bpm | +0.0382 | BPM-weighted value of players listed Out/Doubtful |
d_phase | +0.0212 | delta × season phase (days since opening night ÷ season length) |
luck_def | +0.0159 | Opponents' 3P% regressed to the league (luck), home − away |
talent_diff | +0.0398 | Roster talent: minutes share × last-season BPM, home − away |
ft_diff | +0.0175 | Own FT% gap (decayed FTM/FTA), home − away |
Early-season carryover logit (games 1–9) 1233 games · seasons ending 2023–2026
| Term | Logit coef | Meaning |
|---|---|---|
| Intercept (home edge) | +0.3925 | |
delta | +0.0348 | Four-factor composite gap, home − away (win-% points) |
b2b_net | +0.3056 | Back-to-back, away − home (1 = away on a b2b) |
Flat 1u ROI by season · lean at the close
| Basis · close book · season | Bets | W–L | Units | ROI ± SE | No-vig q | Excess pp | Mkt null | Fav units | Fav ROI | LL model − close |
|---|---|---|---|---|---|---|---|---|---|---|
| ReconESPN BET 2024-25 | 1209 | 825–384 | -42.74 | -3.5% ± 2.0 | 67.8% | +0.4 | -4.2% | -52.02 | -4.3% | +0.0118 ± 0.0050 |
| ReconKalshi 2025-26 | 1209 | 834–375 | -10.61 | -0.9% ± 2.1 | 67.8% | +1.2 | -3.2% | -39.94 | -3.3% | +0.0159 ± 0.0055 |
Flat 1u. One unit on the picked side every game, at that side's closing moneyline. No-vig q is the market's probability for the picked side with the hold removed; excess is the win rate minus q. Mkt null is the ROI expected if the market were exactly right — negative by the hold, so beating it is the bar, not zero. Fav bets the market favourite on the same games. LL model − close: log-loss gap on the same games (negative = model better). ± is one standard error; colour marks ≥ 2 SE from the null. Reconstructed rows are hindsight (that season left out of the fit, graded at the close), never forward evidence.
Built 2026-10-19 07:42 UTC. Win probabilities from prior-game four factors, roster talent and the NBA injury report; the market is a benchmark only and never enters the model. Full statistics: ledger_report.txt · model tags and coefficients: Model. Not betting advice.