Skip to content
BrowseNovel Line Half Life
Descriptive only — a measured pattern, no edge claimed.
Analytics module · as of 2026-07-25 · data observed 2026-06-18 to 2026-07-17 (30 days, 175 daily files)

Novel Line Half Life

soccer_intl completes half its pre-game line motion by 2.7h before tip; nba not until 4.8h. tennis, wnba move most of their line >6h before tip.
View full size ↗
confirmednull (a finding)not testabledescriptivepending
Novel Line Half Life
Chart: Novel Line Half Life -- soccer_intl completes half its pre-game line motion by 2.7h before tip; nba not until 4.8h. tennis, wnba move most of their line >6h before tip.
scripts/platformkit/analytics_showcase/out/novel_line_half_life.json2026-07-25

Line Half-LifeLHL

soccer_intl completes half its pre-game line motion by 2.7h before tip; nba not until 4.8h. tennis, wnba move most of their line >6h before tip.

Measured over 2026-06-18 to 2026-07-17 (30 days of scraped line history, 175 daily files) -- a short window, not a season. The move-pair counts are dense snapshots inside it.

What it measures

Per sport, the number of hours before tip by which half of the pre-game absolute line motion is complete.

The formula
bucket_move=n*mean_abs_move per horizon bucket; G(h)=cum far->near / total; half_life = h where G(h)=0.50 (interpolated).
The results
sporthalf life hourscrossing in open buckethalf life labelfinal hour movement sharetotal abs movecumulative fraction by boundary h / 6 / 0cumulative fraction by boundary h / 3 / 0cumulative fraction by boundary h / 1 / 0cumulative fraction by boundary h / 0 / 0n move pairsobserved
soccer_intl2.7461no2.750.26149.34990.32120.46560.73651164,072observed 2026-06-19 to 2026-07-17 (29 days, 29 daily files)
mlb3.6709no3.670.1813168.48330.33560.54740.814311,307,128observed 2026-06-18 to 2026-07-17 (30 days, 30 daily files)
nba4.7567no4.760.324723.28470.43050.59820.67941182,054observed 2026-06-18 to 2026-07-17 (30 days, 30 daily files)
tennisyes>6.00.10783.16390.54260.73140.89021809,986observed 2026-07-03 to 2026-07-17 (15 days, 15 daily files)
wnbayes>6.00.117680.65410.64410.76530.88271333,540observed 2026-07-04 to 2026-07-17 (14 days, 14 daily files)
Prior art
NOVEL_PACKAGING

We searched for prior work before claiming anything. Here is what exists:

Line-movement timing (early-sharp vs late-injury/public money) is discussed qualitatively everywhere (Boyd's Bets opening-vs-closing; PicksOffice; GamingToday); price-impact half-life is a securities-microstructure staple (Kyle 1985; Amihud 2002). The underlying line-movement concept is NOT new; only the single per-sport half-life constant is the fresh packaging.

Declared confounds
  • bucket_move sums ABSOLUTE per-tick moves -> this is churn/activity, not net price travel; back-and-forth noise and correlated consensus books inflate it.
  • Only 4 coarse horizon buckets, so the 0.50 crossing is linearly interpolated.
  • soccer EXCLUDED: all mass in the 6h+ bucket with mean_abs_move 0.0 (timestamp-coverage artifact).
  • nba is bimodal (early motion + a real 0-1h spike, final_hour_share 0.3247) which a single half-life hides -- read alongside the final_hour_movement_share column.
  • Sports whose crossing falls inside the open-ended 6h+ bucket cannot be pinned (reported as '>6h', half_life_hours=null).
  • Measured over the short observation_window of the scraped line-history feed (see observation_window); the large n_move_pairs are dense snapshots inside that window, NOT a season or multi-season history.
Excluded
  • kbo only 0 pregame move pairs (< MIN_MOVES=20)
  • npb only 0 pregame move pairs (< MIN_MOVES=20)
  • soccer timestamp-coverage artifact (all mass in 6h+, mean_abs_move 0.0)
scripts/platformkit/analytics_showcase/out/micro_absorption.json
as_of 2026-07-25
observation window: observed 2026-06-18 to 2026-07-17 (30 days, 175 daily files)
edge_claimed: false · descriptive_only
Ask Scout about this
Which sport's market prices its games earliest?Which sport has the most late line movement?Which sport has the deepest line-movement data?Ask anything →