The Fantasy Basketball Encyclopedia

Strategy

Projecting games played and availability

Games played carries roughly six times the variance of per-game rate projections, so availability β€” not skill forecasting β€” is where a 2026-27 draft is won, and the vault's current \sqrt{GP/82} index systematically underprices that risk.

Up: 2026-27 Fantasy Basketball Encyclopedia

Related: 2026-27 fantasy basketball projection methodology Β· 2026-27 fantasy basketball injury and availability ledger Β· 2026-27 fantasy basketball rankings Β· 2026-27 points-league rankings Β· 2026-27 category rankings Β· 2026-27 NBA minutes projections Β· 2026-27 projection uncertainty ledger Β· 2026-27 fantasy basketball evidence and confidence policy Β· 2026-27 sleepers, breakouts, and fades Β· Games played versus per-game value in fantasy basketball Β· How NBA injury reports should change fantasy decisions

Why GP dominates the error budget

Season total is \(T = G \times v\), where \(G\) is games and \(v\) is per-game fantasy value. In logs the errors separate:

\[\operatorname{Var}(\ln T) \approx \operatorname{CV}_G^2 + \operatorname{CV}_v^2 + 2\rho\,\operatorname{CV}_G \operatorname{CV}_v\]

For a mid-round veteran, a reasonable estimate (not a measured figure) is \(\operatorname{CV}_G \approx 0.20\) β€” a 65-game mean with a 13-game standard deviation β€” against \(\operatorname{CV}_v \approx 0.08\) for per-game value, which is a well-behaved quantity built from three or four prior seasons. Ignoring covariance:

\[\frac{0.20^2}{0.20^2 + 0.08^2} = \frac{0.0400}{0.0464} = 86\%\]

Roughly 86% of the uncertainty in a season total is games. Every hour spent refining a usage estimate is an hour spent on the 14%.

How predictive is prior-season GP?

No published NBA study giving a clean year-over-year autocorrelation of games played was located; treat any specific \(r\) you see quoted as unverified. What is published points at a modest but real persistent component:

Mechanistic conclusion: prior GP is informative mostly through what caused the absence, not through the raw count. A 55-game season from one 27-game Achilles block and a 55-game season from nine separate two-to-four-game soft-tissue absences are the same number and completely different forecasts. Decompose every prior season into blocks before using it.

Recurrence taxonomy

Injury class Recurrence character Practical GP treatment
Hamstring strain High. A five-year NBA cohort was summarized by its author as showing an ~81.4% chance of some re-injury; that figure comes from a researcher's social post, not a retrieved paper, so treat it as a D-grade lead. Cross-sport ranges of 12–34% are better established. Carry a permanent 4–8 game tax; re-injury risk is highest in the first two weeks back
Calf strain High, and a known Achilles precursor Same tax; escalate if the player is 30+
Low back High, episodic, poorly time-boxed Widen the distribution rather than shifting the mean
Ankle sprain Moderately recurrent, but low games-per-episode Small mean shift, low variance
Patellar tendinopathy / knee "management" Chronic; produces back-to-back rest rather than blocks Model as a minutes and B2B haircut, not an injury
Fractures (hand, foot, facial, ribs) Largely one-off once united Do not carry forward; price the healed player
Meniscus / arthroscopy Mostly one-off; some progression risk in bigs One-year orange tag, then release
Achilles, ACL, patellar tendon, Lisfranc Structural β€” reshapes the whole career curve Use the return-to-play literature below, not intuition

Blood clots (Wembanyama's 2024-25 DVT) belong in their own bucket: medically managed, low recurrence on anticoagulation, but the anticoagulation window itself can force games off. That is an administrative absence, not a tissue-failure absence.

Achilles and ACL: the actual base rates

Achilles rupture (37 NBA players, 1990–2023, Foot & Ankle Ortho / PMC):

Metric Value
Returned to any NBA game 78.4% (29/37)
Still in the NBA three years post-injury 54.1% (20/37)
Returned to prior performance level 27.0% (10/37)
Mean days to return, All-Star tier 267.6
Mean days to return, starter tier 367.1

The performance split is the useful part: 100% of reserves regained their level versus 22% of All-Stars and 0% of starters. Elite explosive production is the thing that does not come back. A separate NBA/WNBA comparison found shortened careers post-rupture (3.1 Β± 2.3 vs 5.8 Β± 3.5 remaining seasons).

ACL reconstruction is materially kinder (Brown University sports injury lab; PubMed 33738307; systematic review, ScienceDirect):

Metric Value
Return to play 84–98% depending on cohort
Mean return ~372 days / 11.6 Β± 4.1 months
Share of team games played, pre-injury 78.5%
Share of team games played, season 1 back 48.4%
Share of team games played, season 2 back 62.1%
PER, season 1 back βˆ’19.3% vs pre-injury
PER, season 2 back not significantly different from pre-injury

The single most exploitable number here is 48.4% β†’ 62.1%. Year 1 back is a ~40-game season; year 2 is a ~51-game season with restored rates. This is the mechanism behind the classic "fade the return year, buy the second year" heuristic, and it is measured, not folklore.

Critically, the relevant clock is months since surgery, not seasons since last appearance. A player who sat out an entire season is entering his post-op year two even though it is his first year back β€” a strictly better cohort than someone who returned mid-season on an accelerated ramp.

Load management and the 65-game rule

The Player Participation Policy (2023-24 onward) gates MVP, All-NBA, DPOY and the rest behind 65 games at 20+ minutes. It has not fixed availability. In 2025-26 the ineligible list included Luka DončiΔ‡, Anthony Edwards, Cade Cunningham, Giannis Antetokounmpo, LeBron James and Stephen Curry, while Nikola JokiΔ‡, Victor Wembanyama and Kawhi Leonard cleared it only in the final week (Philadelphia Inquirer, 2026-04-06; Yahoo Sports).

Three fantasy consequences:

  1. The rule creates a floor, not a ceiling. Award-relevant players are pushed toward 65–72 games and away from 55. Players with no award case face no such pressure.
  2. It creates a cliff. Once a star is mathematically out of award range β€” usually late February β€” his marginal incentive to play collapses. Expect March/April shutdowns for eliminated teams. This is precisely fantasy-playoff season.
  3. It creates perverse early returns. Players rush back to bank games, which is exactly the pattern hamstring and calf recurrence data punishes.

Back-to-backs remain the cleanest observable: the 15.96%-per-rest-day figure above means a healthy 30-year-old big on the second night is a genuinely different player. Track team-level B2B rest policy separately from injury.

Age interaction

The PLOS One epidemiology study (625 players, 3,543 injuries, 2017-18 to 2020-21) found the 30–34 bracket carried the highest injury-rate ratio, and that NBA experience above the 4.7-year league average raised risk independent of chronological age. The operational form: age does not raise the probability of an injury event linearly so much as it raises games lost per event and lowers the chance of a full return. Suggested prior, clearly an estimate:

Age Mean GP shift vs. role-implied baseline SD of GP
≀ 23 +1 8
24–28 0 10
29–31 βˆ’3 12
32–34 βˆ’6 14
35+ βˆ’10 16

Building an honest GP distribution

Do not project a point estimate. Project a three-state mixture and report the mean and the branch structure:

\[E[G] = \pi_H \mu_H + \pi_N \mu_N + \pi_M \mu_M\]

where \(H\) = clean season (ΞΌ β‰ˆ 70–76 β€” nobody plays 82), \(N\) = nagging season of scattered absences (ΞΌ β‰ˆ 55–62), \(M\) = major event (ΞΌ β‰ˆ 20–40).

Worked example, Stephen Curry at 38. He played 43 games in 2025-26, including a 27-game runner's-knee block (NBC Sports Bay Area). Age 35+ prior, chronic-knee tag, no award incentive on a 37-win roster:

\[E[G] = 0.20(68) + 0.45(55) + 0.35(28) = 13.6 + 24.8 + 9.8 = 48.2\]

The vault carries 52. The mixture says 48 with an interquartile range of roughly 30–62. That is a two-round difference in a totals league and almost none in a per-game league β€” which is the whole point of the next section.

The \(\sqrt{GP/82}\) problem

build_encyclopedia.py sets nine_cat_total_z = per_game_z Γ— sqrt(gp/82), and 2026-27 points-league rankings orders by FP/G Γ— sqrt(GP/82). This is a deliberate compromise between per-game (exponent 0) and totals (exponent 1). It matches neither, and the error is large.

The correct season-total formulation for a roster slot accounts for the fact that missed games are backfilled by streamers at replacement level \(v_R\), with coverage fraction \(\rho < 1\) (roster limits, waiver quality, IL slots):

\[V_i = G_i v_i + (82 - G_i)\,\rho\, v_R = 82\rho v_R + G_i\,(v_i - \rho v_R)\]

Worked comparison. Player A: \(v = 1.20\) z-units, \(G = 76\). Player B (Curry-like): \(v = 1.60\), \(G = 52\). Take \(v_R = -0.30\) and \(\rho = 0.8\).

Method A B B as % of A
\(\sqrt{GP/82}\) index \(1.20 \times 0.963 = 1.155\) \(1.60 \times 0.796 = 1.274\) 110%
Pure linear totals \(1.20 \times 76 = 91.2\) \(1.60 \times 52 = 83.2\) 91%
Replacement-adjusted slot value \(-19.7 + 76(1.44) = 89.8\) \(-19.7 + 52(1.84) = 76.0\) 85%

The square root says the fragile star is better; the correct totals math says he is worth 85% as much. That is a 25-point swing and it is systematic β€” it inflates every low-GP star on the board.

Two further defects. First, the index scales an already-aggregated z-score rather than each primitive category, so it never recomputes \(\sigma\) over the totals distribution of the rosterable population β€” and \(\sigma^{\text{tot}}_c \neq 82\,\sigma^{\text{pg}}_c\), because totals dispersion absorbs GP dispersion. Second, it treats turnovers symmetrically with counting stats, when in a totals frame extra games strictly add turnovers.

The correct computation: project \(G_i\) and per-game rates separately, form \(T_{ic} = G_i m_{ic}\) for every category, then z-score each category against the totals distribution of the actual rosterable pool, then sum. Ratio categories use summed makes over summed attempts, never a z-score of a percentage.

Which exponent for which format

Format Effective GP exponent Reasoning
Roto, season totals (9-cat or points) 1.0 Value is literally the sum; a missed game is a permanent zero
Best-ball / no-transaction 1.0 No backfill available
H2H points, weekly totals 0.8–0.9 Weekly totals, but blowout weeks waste surplus
H2H 9-cat, weekly totals 0.6–0.8 You need to win 5 of 9, not maximize; locked categories waste surplus, and known absences can be streamed around
True per-game scoring 0.0 GP irrelevant except for roster friction

Two modifiers that matter more than most drafters think: league depth (a 10-team league has a strong waiver wire, so \(v_R\) is high and \(\rho\) near 1, muting the GP penalty; a 12-team league amplifies it) and IL slots (two or more IL slots make a known long absence far cheaper than an unpredictable 55-game grind β€” predictability is worth more than the raw count).

2026-27: the highest-leverage availability questions

Leverage = draft cost Γ— GP uncertainty. Statuses below are as of the 2026-27 fantasy basketball injury and availability ledger cutoff, 2026-07-18.

Player Vault GP / 9-cat rank The actual question Read
Tyrese Haliburton 66 / 12 Achilles repair June 2025; sat all of 2025-26; IND warned of early "ups and downs" The favorable Achilles cohort β€” full-year runway means 2026-27 is post-op year two, not the 48%-of-games return year. 66 is defensible; the risk is efficiency and B2B, not a season-ender
Stephen Curry 52 / 11 43 games in 2025-26, 27-game knee block, age 38, no award incentive Rank 11 on 52 games is the board's single largest \(\sqrt{\cdot}\) artifact. In a totals league he is not a top-25 asset
Joel Embiid 44 / 30 First offseason since 2023 with no scheduled surgery; says knee is "figured out" (ESPN) 44 may now be too low. The asymmetry has flipped: this is the rare case where the availability branch is upside
Giannis Antetokounmpo 60 / 21 Missed 46 games with two calf strains in 2025-26 before the Miami trade Recurrent calf at 31 is the highest-recurrence, highest-consequence combination in the taxonomy. 60 is optimistic; new-team incentive to play cuts the other way
Brandon Miller 62 / 25 May shoulder stabilization, Red tag, no camp date Internal inconsistency in the board: a Red ledger tag with a 62-game projection and a top-25 rank. Resolve before the draft
Kawhi Leonard 60 / 5 Played 65 games in 2025-26, no restriction; trade on hold pending investigation The risk here is administrative and role-based, not medical β€” a rare shape. Do not apply a knee-history discount he no longer earns
Luka DončiΔ‡ 66 / 4 Grade 2 left hamstring, April 2026, season-ending; deeper than first imaged Hamstring is the top-recurrence class. Six-plus months of rest is the good version; still tax 4–6 games off 66
Anthony Davis 50 / 26 Hand ligament; last formal step was light contact, no clearance located 50 games on a rebuilding Washington roster with no award case β€” the March-shutdown scenario is live
Damian Lillard 58 / 81 Achilles; missed 2025-26; age 36; crowded POR guard room Post-op year two helps, but he is in the All-Star cohort where only 22% regain their level. Rank 81 already prices this
Kyrie Irving 60 / 29 March 2025 ACL; sat all 2025-26; ~19 months post-op at tip-off Textbook post-op-year-two case: the literature's 62.1%-of-games and restored-rate cohort. 60 is well calibrated
Victor Wembanyama 68 / 2 46 games in 2024-25 (DVT), calf strain in 2025-26, cleared 65 in the final week Two different mechanisms, neither strongly recurrent. 68 is fair; the tail is fat but not thick
Jimmy Butler III 30 / 110 ACL; not running as of late June; GSW planning a midseason return Correctly priced as a stash. In a two-IL-slot league this is a genuine value; in a no-IL league he is undraftable
Fred VanVleet 62 / 102 ACL + bilateral meniscus; local optimism, no formal clearance Post-op year two at age 32 β€” the age term, not the ligament, is the binding constraint
Domantas Sabonis 62 / 68 February meniscus surgery, pre-camp reevaluation, no later update Meniscus is mostly one-off. If camp reporting is clean, 62 β†’ 68 is a cheap upgrade nobody else will make

Open questions