Browse › Novel Live Clock Fraction
Analytics module · as of
Novel Live Clock Fraction
mlb stays contested later (LCF 0.833) than soccer_intl (LCF 0.748). (nba comeback-rate cross-check 0.0146)
confirmednull (a finding)not testabledescriptivepending
Novel Live Clock Fraction

Live-Clock FractionLCF
mlb stays contested later (LCF 0.833) than soccer_intl (LCF 0.748). (nba comeback-rate cross-check 0.0146)
What it measures
The 0-1 share of a sport's game clock that stays genuinely contested before the score gap crosses a point-of-no-return (near-median threshold).
The formula
LCF = decided_clockfrac_median at the non-masked threshold whose decided_frac_of_games is closest to 0.50 (higher = contested later).
The results
| sport | unit | clock field | near median threshold | decided frac of games | n games decided | n games total | live clock fraction |
|---|---|---|---|---|---|---|---|
| mlb | runs | inning | 3 | 0.5337 | 95 | 178 | 0.8333 |
| soccer_intl | goals | minute | 1 | 0.4828 | 14 | 29 | 0.7475 |
Prior art
INCREMENTAL_NOVELWe searched for prior work before claiming anything. Here is what exists:
The within-sport method EXISTS: blowout_dynamics.json's own prior_art block cites Bill James safe-lead heuristics and win-probability clinch points ('Not a new method; do not claim first-ever'). Only the normalized cross-sport live-clock axis is the contribution.
Declared confounds
- thresholds are NOT truly equated across sports (2 runs != any goal margin != any NBA margin) and clock units differ (innings vs minutes), so the cross-sport ranking is indicative, not metric.
- buildable for mlb + soccer_intl ONLY -- nba/tennis have no blowout corpus (honest not_buildable).
- the near-median threshold is chosen by proximity to 0.50 decided_frac_of_games; soccer_intl has only one non-masked threshold, so no choice is exercised there.
Not buildable
- nba — no blowout corpus
- tennis — no blowout corpus
scripts/platformkit/analytics_showcase/out/blowout_dynamics.json
scripts/platformkit/analytics_showcase/out/xsport_structure.json
edge_claimed: false · descriptive_only
Ask Scout about this