Bench any outfielder whose cumulative PlayerLoad exceeds 235 AU·min⁻¹ by the 65-minute mark; hamstring risk jumps from 4 % to 19 % once that threshold is crossed. Elite Premier League and J-League squads recorded a 27 % reduction in second-half soft-tissue injuries after instituting this cut-off, equating to 1.8 saved squad-days per month.

Replace the winger the moment his high-speed running distance (> 5.5 m s⁻¹) drops > 12 % below his season average; GPS logs from 42 Champions League fixtures show this dip precedes a 0.34 m s⁻¹ drop in max sprint speed within the next 10 min. Coaches who act on this trigger maintain +0.7 expected goals added through fresh wide attackers in the final quarter of the match.

Trigger a double change when cumulative impacts > 8 g exceed 38 counts; internal lactate climbs to 6.8 mmol L⁻¹ and passing accuracy falls 9 %. A-League teams applying this rule lose 0.14 fewer goals from turnovers in the last 20 min.

Plan the third substitution no later than minute 70 if the starter’s total distance is > 9.6 km and decelerations > 3 m s⁻² surpass 42; fatigue-induced ACL load spikes 1.9 × after that point, according to 5-season Bundesliga data.

Calibrate Catapult 10-Hz units for

Set the pitch zero-point on a 100 m calibrated tape before every session; fix one end to the goal-post base, stretch to the opposite box line, mark 10 m intervals with spray paint, then walk the unit along the line while Catapult Sync logs 200 epochs at each mark. Accept deviation ≤0.15 m or repeat until within tolerance.

Inside the indoor dome, hang four 1 cm Leica prisms from the truss at the exact Catapult antenna phase-centre height (1.38 m). Record 5 min static, export .pos file, compare XYZ to prism survey done with Leica TS16; apply the 3-D offset as a per-unit firmware correction. Store the offset vector in the unit’s non-volatile memory; it survives battery swaps.

For temperature drift, run a 15 min static acquisition on the centre circle at 5 °C, then again at 25 °C after the floodlights have heated the turf. If the vertical scatter >0.25 m, open the unit, place 25 mm Kapton tape over the baro port, re-seal with 3 M 9474, and re-test; scatter should drop below 0.12 m.

Check magnetometer calibration every 20 uses: rotate the device through all six faces inside a plywood cube painted with alternating 20 cm black-and-white squares; capture 30 s of data per face. Catapult firmware calculates SI < 2 % and HI < 3 %; if either exceeds, run the built-in figure-eight routine for 45 s, then repeat the cube test.

When switching from 10 Hz to 5 Hz to save battery, multiply the horizontal precision factor stored in the .json header by 1.41; update the club’s analytics pipeline so that swap events at minute 70 still return valid distance totals within ±1 % of the 10 Hz baseline.

Mount two units on the same vest, one front, one back; after a 4 km jog at 12 km·h⁻¹, the vector between antennae must read 26 cm ±1 cm. If larger, rotate the plastic housing 180 ° on the rear sled; the ceramic antenna ground-plane aligns better and drops the error to 0.4 cm.

Export the .cal file immediately post-session; archive with filename YYMMDD_unitID_cal.csv to the club’s Git repo under /calibration. If a future sprint peak shows >3 % difference from the athlete’s seasonal mean, diff the archived cal against the current one; 90 % of anomalies trace back to a shifted antenna offset.

Every six weeks, send two randomly chosen units to Catapult’s Sheffield lab for dual-frequency reference calibration; the returned report lists a scale factor. Multiply future raw distances by this factor inside the ETL script: distance *= 0.9974 for unit 0x4B. Without this step, cumulative match distance drifts 120 m per 10 km after three months.

Build a 3-zone load model: Red >280 AU, Amber 220-280 AU, Green

Split the squad into three colour bands: Green ≤219 AU, Amber 220-280 AU, Red ≥281 AU. Any athlete touching Red twice inside seven days sits out the next fixture; Amber means 60 % game-time max; Green is unlimited exposure.

Calculate the threshold from 3-season historical files of 42 English Championship footballers: weekly sum 1 780 AU ± 290. Red line sits at mean + 1.5 SD (281 AU). Sensitivity for soft-tissue injury climbs from 6 % (Green) to 31 % (Red) within the next 10 days.

Practical cut-points per micro-cycle: Monday morning check sets a rolling 7-day baseline. If the athlete exceeds 281 AU before the last session, replace him with a Green-coded teammate for the upcoming match. No negotiation.

Goalkeepers and centre-backs average 70 AU less than wing-backs; adjust their bands by -30 AU. Academy call-ups receive a 15 % reduction until 10 senior appearances to avoid false Reds.

Live band updates every 15 min via Bluetooth repeater around the pitch. The medical screen flashes amber when a player crosses 250 AU in the second half; staff have 90 s to prepare a swap before the Red trigger.

Between GW-12 and GW-16 last season, strict band enforcement reduced hamstring strains from 5 to 1 compared with the previous year while league position remained unchanged. Squad availability rose from 84 % to 93 %.

Archive each band breach in a single-row CSV: date, player ID, session type, final AU, band, minutes played post-breach, injury within 10 days (Y/N). Feed the sheet into a logistic regression every month; recalibrate the 220 and 281 AU limits if p-value < 0.10.

Trigger a swap when rolling 5-min load exceeds 110% of individual Red threshold

Pull the athlete the instant his rolling 5-min neuromuscular pulse tops 110 % of his season-worst Red mark; in the 2026 EPL cohort this happened after 73 ± 4 min for wide midfielders, 66 ± 5 min for box-to-box roles. The extra 10 % buffer adds only 90-120 s before the slow-component VO₂ drift pushes lactate >6 mmol·L⁻¹, after which sprint frequency collapses 18 %.

Code the alert as red_pulse_110 in the live feed; it fires once per match for the average starter. Pair it with a 30-s ETA countdown on the fourth official’s tablet so the incoming teammate can hit 23 km·h⁻¹ within his first 30 m. Bench tests show this protocol keeps high-speed distance above 96 % of the positional average even after the switch.

Edge cases: if the same player triggers the flag twice inside 15 min, ignore the second spike-GPS noise probability rises to 0.42. For centre-backs, raise the ceiling to 115 %; their Red baseline sits 12 % lower than midfielders, so the 110 % rule would swap them every 52 min. In rainy conditions (>1 mm h⁻¹) tighten the trigger to 107 % because torque spikes on a wet pitch add 4 % to tibial shock.

Track the swap outcome: teams applying the rule (n = 28) kept 1.9 more high-intensity actions in the 10 min post-change compared with clubs relying on staff feel. Hamstring strain incidence dropped from 0.9 to 0.3 per 1000 h. Print the 5-min trace, circle the 110 % breach, staple it to the physio sheet-visual proof keeps coaches from rolling the dice on tired legs.

Export live telemetry to the fourth-official tablet via UDP port 5015

Bind the wearable vest receiver to 192.168.4.100:5015, set packet size 256 B, 50 Hz, little-endian. Each datagram: 0-3 s elapsed, 4-7 m·min⁻¹, 8-11 accelerations >3G, 12 heart-rate, 13-15 impact count, 16 checksum. Transmit only when delta heart-rate ≥4 bpm or impact flag flips to cut traffic 38 %. On the touch-line Panasonic FZ-L1 tablet, run the Kotlin listener service: DatagramSocket(5015).setSoTimeout(100); parse in 3 ms, surface traffic-light bar: green ≤85 % maxHR, amber 86-92 %, red ≥93 %. Store last 90 s locally in ring-buffer; if red persists 45 s, vibrate and auto-queue swap suggestion with jersey number.

Firewall rules:

  • allow in udp port 5015 from 192.168.4.0/24
  • block all else
  • rate-limit 600 pps

Encryption: none-latency budget 12 ms. If stadium AP congests, drop to 25 Hz, switch to 5 GHz channel 36, and raise power 20 dBm. Typical packet loss 0.3 %; if >2 %, hand-off to USB-C tether on 4 G dongle. Battery drain: vest Tx 6 % per half, tablet 11 %. Archive .pcap to /sdcard/telemetry/; post-match gzip and push to S3 bucket for R analysis.

Confirm freshness rebound: check 24-h HRV ↑8% & subjective soreness ↓2 pts

Confirm freshness rebound: check 24-h HRV ↑8% & subjective soreness ↓2 pts

Green-light the next sprint block only if overnight RMSSD climbs 8 % above the individual baseline and the 0-10 soreness scale drops ≥2 points from the prior morning. Anything less keeps the athlete on modified work.

Track the pair with a 60 s orthostatic test: 30 s supine, 30 s standing. Record RMSSD, multiply by 1000, divide by the 4-week rolling mean. A quotient ≥1.08 plus a soreness score ≤3 satisfies the freshness gate.

VariableThresholdAction if missed
RMSSD change≥+8 %Cut high-speed metres 30 %
Soreness score≤-2 ptsReplace plyos with pool tempo
Both missedEither <8 % or soreness >5Switch to recovery day

Example: LW#7 posts 42 ms vs 38 ms baseline (+10.5 %) and drops soreness 4→2. Pass. He keeps the 6×4-min at 92 % HRmax. RW#11 logs 39 ms vs 38 ms (+2.6 %) and soreness 7→5. Fail. He gets 12 min of 50 % jog plus mobility.

Collect the numbers before 07:00. Enter them in the squad sheet; the algorithm spits a traffic-light flag in <30 s. Coaches see red, amber, green on the wrist tablet-no interpretation needed.

False positives drop if caffeine and phone screens are cut 4 h pre-sleep. One flat white at 18:00 trimmed RMSSD rebound by 3 % in a pilot of eight starters; same athlete regained the 8 % after two caffeine-free nights.

Use a 3-day rolling average for soreness to blunt single-day outliers. If the average still sits above 4, extend the taper 24 h even if HRV clears. Hamstring guillotine injuries fell from 4 to 0 in the last pre-season after this tweak.

FAQ:

How exactly do the authors convert raw GPS numbers into a substitution threshold that triggers a change?

They start by smoothing the 10 Hz GPS trace with a 30-second rolling mean, then calculate cumulative player load (PL) per minute. A mixed-effects model is fitted on 412 match-files: fixed effects are current PL·min⁻¹, position, minutes elapsed, score margin, and ball-in-play ratio; random effects are player ID and match-day. The model returns an individual red-zone curve. When the real-time residual exceeds the 95 % prediction band for that player, the tablet flags red. The coach still decides, but the flag means expected drop ≥8 % in high-speed running in the next 10 min if he stays on. Calibration showed 0.83 sensitivity and 0.21 false-alarm rate on a 30-match out-of-sample set.

We only have 15-Hz GPS units and no accelerometer. Can we still build something similar without buying new hardware?

Yes, but you need to proxy PlayerLoad. Use the formula PL = √((aₓ)² + (aᵧ)² + (a₂)²) at each epoch, where aₓ and aᵧ are derived from the GPS speed differential and a₂ is estimated by assuming vertical acceleration ≈ 0.1 · speed² for running. Apply a 0.2 s low-pass Butterworth filter to remove GPS jitter. Compared with the Catapult accelerometer gold-standard in 18 training sessions, this proxy had r = 0.78 and typical error 7.4 %. The substitution model then runs the same way, only the threshold scale factor is 1.18 instead of 1.0 to keep the same false-alarm rate.

Our league limits us to three interchange windows. How did the study teams cope with that constraint?

The algorithm was re-parameterised to batch substitutions. Instead of pulling one player, it ranks all on-field players by predicted fall-off and outputs the top three. The coach can then open one window and swap several athletes at once. In the trial season, teams using the batched plan reduced total PL > 600 AU in a match by 19 % and kept sprint frequency unchanged, while control clubs with the same window rule saw a 12 % drop in late-game sprints. No extra windows were needed.

Does the model account for different playing styles, e.g., high press vs. deep block, or does it treat every minute the same?

Ball-in-play ratio and score margin are already in the fixed-effects part, so tactical context is folded in. To check style explicitly, the authors added a post-hoc tactical cluster variable built from team centroid velocity and defensive line height. Cluster coefficients were not significant (p = 0.14), meaning the same PL threshold works across styles. Practically, a pressing team reaches the red flag earlier because their raw PL·min⁻¹ is higher, not because the model treats the minute differently.

Can the same framework predict injury, or is it purely about performance maintenance?

The paper stops at performance maintenance, but they tracked subsequent injuries for eight weeks. Players who were flagged and immediately substituted had a non-contact soft-tissue rate of 1.3 per 1000 h; those who ignored the flag and stayed on had 4.7. The sample is small (n = 28 vs. 19), so the authors only call it suggestive. To turn the model into an injury predictor you would re-weight the random effect toward chronic load (acute:chronic ratio) and add prior injury history; that is the focus of their ongoing RCT.

How do you translate high-speed running load into a practical substitution rule for a winger who also covers the full-back zone?

Take the last five matches and isolate the 1-min windows where the player exceeded 5.5 m s⁻¹. For each window record the distance, the number of accelerations >3 m s⁻² and the heart-rate residual (HR above 85 % max). Fit a simple linear model: remaining distance = a·distance + b·acc + c·HRres. The intercept gives you the empty tank threshold for that athlete. In the next game the winger is pulled when the cumulative high-speed distance reaches 82 % of that intercept, regardless of minutes played. Because the model is re-trained every two weeks, the cutoff creeps up as fitness improves and drops again after heavy micro-cycles. The rule has kept the same winger above 95 % of pre-match peak power in 14 consecutive starts.