Column Definitions
- Player
- Athlete name from ESPN injury report.
- Team
- Three-letter team abbreviation (e.g., LAL, BOS).
- Opp
- Next opponent. Bold text = game today; dimmed = future game. Derived from the NBA schedule by finding the next game on or after the current date.
- Status
- Normalized injury designation from ESPN:O Out,D Doubtful,Q Questionable,GTD Game-Time Decision,P Probable,ACTIVE Active.
- Reason
- Injury description from ESPN (e.g., "Knee; Soreness", "Illness").
- FD Avg / DK Avg
- Season-to-date mean actual FanDuel or DraftKings fantasy points per game, from BigQuery
nba_actuals. Only games where the player played (minutes > 0) and the row is stable are included. This is not tonight's projection. - Game Time
- Scheduled tip-off of the next upcoming game, displayed in Eastern Time.
- Last Updated
- Time since the player's status or reason last changed (not since last scrape). Only updates when an actual change is detected.
- Updates
- Number of times this player's status or reason has changed since first appearing on the injury report. Higher counts indicate status volatility.
Risk Score (0-3)
Quantifies how likely a player is to miss their next game. Combines injury status, proximity to game lock time, and volatility modifiers.
3Player is OUT, or Doubtful/Questionable within 3 hours of lock. Almost certainly missing the game.
2Questionable within 6 hours of lock, or Game-Time Decision. Likely to miss but not confirmed.
1Probable, or Questionable more than 6 hours before lock. On the report but expected to play.
-Score 0: Active or not on the injury report. No risk.
Modifiers: +1 if reason contains "illness" (unpredictable), +1 if num_updates ≥ 2 on the injury report (status/reason churn). Capped at 3. Implemented in v_nba_injury_risk_score.
Opportunity Score (0-3)
Measures how much a teammate benefits when a high-impact player is absent. Based on with/without splits from actual game data this season.
3Major boost: minutes delta +6 or more, or FGA delta +3 or more when the star is out.
2Moderate boost: minutes delta +4 or more, or FGA delta +2 or more.
1Minor boost: minutes delta +2 or more, or assists delta +2 or more.
-Score 0: Below all thresholds, or fewer than 3 "without" games (insufficient sample).
Main table tooltip: When you are both injured and a beneficiary of another star sitting, the badge can show which star's absence drives the score and the historical average minutes delta from with/without splits (not a minutes projection). When multiple stars are out, the highest opportunity row is used.
Expanded row: teammate opportunity
When you expand a row, you see teammates who historically gain usage when this player is out. Metrics come from v_nba_injury_opportunity and current-season nba_actuals:
- Star played for a team game = the star has an actuals row with minutes> 0. Without = star had no such row (out / DNP).
- Min Δ / FGA Δ / AST Δ = (average when star out) − (average when star played), for that teammate in shared team games.
- Min W/ · FGA W/ · G W/ = averages and game counts in the "star played" bucket; W/O = "star did not play" bucket.
- Opportunity score is 0 if there are fewer than 3 games in the "without" bucket (
insufficient_sample). Otherwise thresholds are: 3 if min Δ ≥ 6 or FGA Δ ≥ 3; 2 if min Δ ≥ 4 or FGA Δ ≥ 2; 1 if min Δ ≥ 2 or AST Δ ≥ 2.
High-Impact Players
A player is classified as "high-impact" (eligible to generate opportunity for teammates) if any of the following are true:
- Top 20 by DraftKings salary on the main slate
- Top 3 on their team by projected fantasy points
- Season average minutes per game of 30 or more (minimum 10 games)
Injury Situations
Groups high-impact injured players (OUT, Doubtful, Questionable, GTD) with their top beneficiaries. Each beneficiary chip shows the player name, the historical minutes delta from with/without splits when the star sits, and opportunity score. Use this to quickly identify usage patterns tied to star absences.
Recent Changes
All injury report changes from the last 48 hours. Change types:
STATUSPlayer's designation changed (e.g., Q to O)REASONInjury description changed but status stayed the same
Data source: ESPN NBA Injuries API. Ingested via Cloud Run job (dfs-nba-injury-scraper), scheduled every 5 min during game hours (2-11pm ET). Signal views run against current-season BigQuery actuals and projections data.