Daily Report Dashboard

Date: Drills: Players: 0 Latest data:
Hub
— drills selected
G-TEC
Daily CSV refresh
Drag in today's data — only the new dates will be added
Drill Date Single day
Session Type Auto from date
Pick a date to see the matchday context
Drill Title Multi-select · type to search
0 available
Loading alerts…
Team Daily Stress Analysis
Per-player load score vs that player's own historical average for the same session type over the last 4 weeks. 100 = normal for this session type · <100 lighter than usual · >100 heavier than usual. Always uses all drills (excl. Entire Session) — independent of the drill filter below.
How? For each player we compare today's totals against their own average across all sessions of the same type (e.g. MD-3) in the last 28 days (Entire Session excluded). Per metric: today / average × 100. Then weighted into three blocks: Volume 0.60·TD% + 0.40·Time%  ·  Intensity 0.50·HSR% + 0.35·Sprint% + 0.15·mV%  ·  Mechanical 0.40·Acc% + 0.60·Dec%. Final score = 0.35·Volume + 0.35·Intensity + 0.30·Mechanical. Why? An MD-3 shouldn't look like a match — comparing against the player's own norm for that session type gives a fairer answer to "is this heavier than usual?"
No Baseline = fewer than 2 comparable sessions in 4 weeks — no score shown.
NORMAL 0 ABOVE NORM 0 HIGH 0 OVERLOAD 0
Loading data…
RPE in context
Session load, annotated with wellness · RPE and HR are separate channels
demo · 21 May
Pre-session wellness colours the RPE, but not the heart rate (Clemente 2026). A poorly-slept or sore player rates the same session harder — so an RPE spike is not automatically a higher training dose. RPE is shown as a perception channel with its wellness context; the HR load is a separate, objective channel.
RPE in context — how to read this

The point

Session load (sRPE = RPE × minutes) is our cheapest load measure, but RPE is a perception. Pre-session wellness shifts it: poor sleep and muscle soreness make the same session feel harder, without the body actually doing more work (Clemente 2026 found sleep and pain move the RPE but not the %heart-rate-reserve). So a high RPE on a poorly-slept day should not be logged as a bigger dose.

How to read a row

Left: the player and the raw sRPE, plus a verdict. Middle (perceived): the RPE rating with its wellness context — sleep and soreness; a red value is a factor that inflates the RPE. Right (objective): the heart-rate load — an independent channel that wellness does not inflate.

The verdicts

Inflated = high RPE with poor sleep or pain, and low objective HR load → treat the number as perception, not dose. Partly inflated = high RPE with poor sleep but some real HR load. Genuine = the RPE is backed by good sleep and/or real HR load, or the high sRPE simply comes from a long session. Keep RPE and HR as two separate readings — never merge them into one load score.

Data

RPE and wellness (sleep 1–5, soreness) are the club's real check-ins; HR-zone minutes come from the match/training report (blank where no HR was recorded). Thresholds are starting values to calibrate on our own squad.
Reference. Clemente et al. (2026), Int J Performance Analysis in Sport — pre-session wellness relates to RPE but not %HR-reserve.
Substitute Load Deficit
Zone-specific top-up vs each player's own starter benchmark · MD+1
demo · season aggregate
Substitutes don't just play fewer minutes — they run less per minute, in every speed zone (Schons 2026). So size the MD+1 top-up on the zone deficit, not on missing minutes. Colour flags a genuine per-minute intensity deficit; the top-up box shows the absolute weekly gap to make up.
Starter benchmark (median): HSR 4.15 m/min · Sprint 5.64 m/min · peak 34.6 km/h | full match: HSR 510 m · sprint 694 m
Substitute Load Deficit — how to read this

The point

A substitute who plays 30 of 90 minutes does not get 30/90 of the match load. Research on a full season shows substitutes run less per minute in every speed zone, and reach a lower top speed (Schons 2026). A top-up sized only on missing minutes is therefore structurally too light — especially in the >19 km/h bands that protect against hamstring injury.

How to read a row

Left: the player and minutes played, plus a verdict. Middle: HSR, sprint and peak speed per minute, compared with the player's own starter benchmark — red means a real per-minute intensity deficit. Right: the week top-up in metres — the absolute gap to a full starter match (HSR 510 m, sprint 694 m).

The nuance the data shows

Not every substitute needs an intensity top-up. Some (e.g. impact subs) run at high per-minute intensity but still miss volume because of few minutes — those need a volume top-up, not an intensity one. Only a player who is low on a per-minute basis (like Agapakis here) needs to raise intensity. Reading it this way stops us giving the wrong players the wrong dose.

Data

Computed from the club's real StatSports match reports (season aggregate, entire-session totals). Thresholds and the full-match benchmark are starting values to calibrate on our own squad.
Reference. Schons, Preissler … Clemente (2026), BMC Sports Sci Med Rehabil — season-long match external loads in starters vs non-starters.
ACWR — Acute:Chronic Workload
convention · not a proven threshold
Last 7 days vs last 28 days, ending on the selected Drill Date · daily load summed across all drills (excl. Entire Session) · independent of the drill filter
Position
Load metric
Loading…
Read the absolute Acute 7d column first. The ACWR band colours are a convention, not a proven threshold (Impellizzeri & Tenan 2020) — the ratio is shown in grey; the colour now sits on the absolute weekly exposure — amber = below the weekly floor for the selected metric (TD 12,000 m · HSR 300 m · Acc 100 · Dec 70), green = at/above it. A comfortable ratio can hide a missing stimulus.
ACWR = what the player did in the last 7 days (acute) divided by their average week over the last 28 days (chronic). Around 1.0 the recent week matches what the body is used to.
Why? Spikes in this ratio are one of the best-documented injury predictors: building up faster than the body is prepared for (> 1.5) raises injury risk, while doing much less than usual (< 0.8) loses robustness and raises risk on the return to full load. The 0.8–1.3 band is the "sweet spot".
No baseline = fewer than 6 training days in the 28-day window — the ratio would be unreliable, so it isn't shown.
< 0.8 — underload 0.8–1.3 — sweet spot 1.3–1.5 — caution > 1.5 — high risk
Performance Table
% = current value (selected drills) vs player's Max Game (sum of all halves on their best Match Day) — same reference as the Max Game Data table below · ▲/▼ = day total vs the player's previous session (changes within ±5% hidden) · hover a value = position Ø · click a player name for their full profile
Loading data…
High Speed Table
Peak speed / acc / dec for selected drill(s), each as % of the player's historical max · Sprint = distance >25 km/h · Step Balance = L/R load distribution · ▲/▼ = day peak/total vs previous session (±5% hidden) · hover a Selected/Sprint value = position Ø
Loading…
Explanation of metrics
  • Max Speed (Selected): highest speed reached during the selected drill(s).
  • % Max Speed: relative intensity vs the player's historical maximum.
  • Max Speed Historical: highest validated speed across the full dataset. Readings > 36.5 km/h are excluded as GPS glitches, and the chosen value must have been reached at least 3 times (within ±1.5%) — singletons aren't trusted as a real ceiling. Tooltip shows date, session type and the validation tier (validated · fallback · single reading).
  • Max Acc / Dec: peak acceleration and deceleration during the selected drill(s).
  • % Max Acc / Dec: relative intensity vs the validated historical maximum (same ≥ 3-occurrence rule as Max Speed). Historical Acc / Dec values follow the same dotted-underline cue when only a fallback could be found.
  • Sprint (>25 km/h): total distance covered above 25 km/h (Distance Zone 6).
  • Step Balance: STATSports metric quantifying how mechanical load is distributed between the left and right leg. Shown as a left / right percentage split with a flag for the dominant side (e.g. 48 / 52 R = right leg carries 4 pp more load). 49–51 balanced · 51–53.5 monitor · 53.5 risk (possible fatigue, compensation or injury risk). Always interpret in context of speed, position and limb dominance.
Intensity colour scale (% columns): < 85% Low 85–95% Moderate > 95% High
Match Day Comparison
Last 10 Match Days · per-player metric trend · drill values summed (excludes "Entire Session" rollup)
Match Day
Metric
Position
Players
Loading…
Weekly Report
Per session type · % of week total · pick year, week and metric below
Year
Week
Metric
Loading…
Weekly Overview
Team SUM per microcycle · pick year, position, player and metric below
Year
Position
Player
Metric
Weekly TD Team
Loading…
Training Monotony & Strain
Foster method · per player for the selected week · daily load summed across drills (excl. Entire Session)
Year
Week
Position
Load metric
Loading…
Monotony = how similar the daily loads are across the week (mean daily load ÷ standard deviation, 7-day basis with rest days as 0). A high value means the player trained at almost the same load every day. Strain = weekly load × monotony — the total stress that built up that week.
Why? Foster found that weeks with high monotony and strain tend to come right before illness, injury and overtraining — even when the total weekly load looks perfectly normal. Strain is coloured by how much it changed versus the same player's previous week (▲ rising = building stress, ▼ falling = deload).
Monotony < 1.5 — good variation 1.5–2.0 — monitor > 2.0 — high
Pro Analytics
Advanced visuals · Match Day = halves only · Entire Session excluded
Readiness × Injury-Risk
Two-channel player status · volume fatigue vs high-speed exposure
adductor test = mock
Two separate questions, two channels. Readiness = volume fatigue (CMJ + adductor squeeze + soreness). Injury-risk = high-speed exposure (week-on-week HSR / sprint spike). A player can be green on one and red on the other — a single score hides that. Tap i for method, thresholds and references.
Readiness × Injury-Risk — how to read this

Why two channels instead of one score

Recent evidence separates two things a single "load" score blends. Total match volume — not high-speed running specifically — tracks the MD+2 neuromuscular drop and the adductor-strength drop (Springham 2026). Injury risk is speed-band specific: hamstring injuries are predominantly a sprint / high-speed mechanism, and the acute:chronic ratio of the 15–20 and >25 km/h bands predicts risk better than total distance (Xia 2026; Fousekis 2025). One number can't tell you whether a flagged player is fatigued from volume or exposed to a high-speed spike — and those need different actions.

Readiness channel (volume fatigue)

MarkerCapturesFlag threshold
CMJ mRSI (force plate)Neuromuscular readinessdrop > ~9%
Adductor squeeze (isometric)Groin/adductor recovery & riskdrop > ~11% or pain
Soreness (Likert)Perceived NM response≥ 3/5 (or Z > 1.2)
Thresholds are the "meaningful change" values from Table 3 of Hader & Buchheit (2026): a change only counts once it exceeds the smallest worthwhile change plus the typical error (SWC + TE). The verdict uses a confidence rule: one marker moving = monitor, two together = action. That is why the CMJ and adductor are read separately — the CMJ can say "recovered" while the adductor says "not yet".

Adductor squeeze — when to test

DayWindowReads
MD+1~24 hthe acute drop (passive, mainly starters)
MD-4 (= MD+3)~72 hwhether it recovered (full NM battery day)
MD+2 is often a day off — and that is fine. A pain-free post-match drop normally recovers within 48–72 h, so the 24 h and 72 h checks are a better recovery window than a single MD+2 test. The most recent test drives the read. A drop that persists at 72 h, or one with pain, is the flag.

Injury-risk channel (high-speed exposure)

The usable signal is the week-on-week change in high-speed running and sprint distance (Breed 2026: OR ~1.5–1.7). It is shown next to the absolute weekly metres and is low-certainty on purpose — the best multivariate hamstring model still leaves ~80% unexplained, so we steer on exposure, not a predictive score. A large rise from a low base is read with the absolute value, not as panic. Working bands: ≥ 100% = flag, 30–100% = monitor — calibrate on our own cohort.

Reading the verdicts

Each player gets two badges, each with a reason. "Action" = multiple markers crossed threshold; "monitor" = one did; "clean" = none. Treat a readiness flag with same-day session-content changes (reduce neuromuscular load); treat an injury-risk flag with exposure management — not a generic "reduce load".

Data sources

GPS (StatSports, weekly HSR & sprint), force-plate CMJ and daily wellness/soreness are the club's real data real. The adductor squeeze is mock data in this build demo — swap in the real isometric-adductor test once it is logged on MD+1 / MD-4.
References. Springham 2026 (JSCR) · Xia 2026 (Front Public Health) · Fousekis 2025 (Medicina) · Breed 2025 (Sports Med Open) · Hader & Buchheit 2026 (SPSR #307, Table 3) · Buchheit & Hader 2025 (SPSR #258). Working thresholds are defaults to be calibrated in-house.
Squad statusColour-coded overview of every player for the selected day
Squad status board
players × key metrics · sorted by total distance
PlayerIndividual profiles and decomposition tree
Player profile
combined day snapshot · pick a player
Decomposition tree
Week → Matchday → Position → Player · click to expand
Player radar
players on axes, sorted by load (ascending)
Distance & zonesVolume and actions across the speed zones
Distance per zone
metres in zone · selected day
Actions per zone
count in zone · selected day
Acceleration & decelerationMechanical acc/dec load, balance and asymmetry
Acc vs Dec balance
acc (left) vs dec (right)
Max acc/dec vs personal best
% of player max
Acc/Dec intensity scatter
accels/min vs decels/min · size = HML efforts
Acc/Dec per position
mean accels/min & decels/min by position
Heart rateInternal load and cardiovascular response
HR zone exposure (Z5+Z6)
high-intensity HR time
Avg → Max HR
dumbbell + %HRmax
%HRmax reached
recent sessions of this MD type · one gauge per session
Speed, movement & drillsMovement planes, sprinting and per-drill intensity
Movement-plane load
Anterior / Lateral / Vertical
Sprint profile
% of personal top speed
Intensity per drill
m/min & HSR/min across the session
%HSR / TD
share of distance at high speed
High metabolic loadHML efforts, baseline deviation and running-vs-mechanical load
HML efforts ranking
total HML efforts · colour = position
HML efforts vs baseline
today vs own recent average (same MD type)
Mechanical vs running load
HML efforts/min vs metres/min · colour = position
Max Game Data
Game = sum of 1st Half + 1st Half ET + 2nd Half + 2nd Half ET · ignores both filters · Last MD =
Loading…
Opens your browser's print dialog — choose "Save as PDF" as the destination.