Overview

I’ve used the Submax dataset to brainstorm a few ideas of how we could look at meaningful/ practically important changes on an individual level. Hopefully the kind of stuff to help with questions like “is that good/bad”, “is he fit/fatigued”, “are they where we need them to be now”, etc etc.

For now, I’ve just used average heart rate from the last 10-s of the test (HRex; in %HRmax). It means we can go quite deep on the analysis, with a view that most of these methods can be applied across any fitness test or training response marker (submax PL variables, speed, CMJ, subjective, etc).

Just throwing a few ideas around here mate - nothing is by means final. It’s more just to get your feedback to see how things can be tweaked/ imprved to fit what you need. If at any point you think… could we show this a different way, could it look like this instead, can we change those colours… the answer is always yes!

I’ve done everything as though is a conversation between us — we’d need to dumb this right down for coach/ player reports, which is fine. But for something that the performance team will use, I always go for bit more detail to make sure everything is considerd.

Everything below just appears as-is, for now. No filters etc. Something like this would work well for an insights report (say, after every test in the case of Submax) and can be shared like this or as a PDF etc (less all the commentary). The end goal would be to move these figures to something dynamic, where you fan filter out players, dates, positions, etc. I reckon embedding the R code into PowerBI is the best way to go for this.

1) Today’s test vs all pervious tests

Always find this a good way to start off; by visualizing where a player ranks in terms of their own previous performances on a fitness test. In the below chart, I’ve used Hagi as an example. The x-axis is submax HRex (% HRmax) and transparent points are all his previous test responses. His result from ‘today’ (well, his last test which was 19th October) is the red point. The box plot gives an idea of the average (median), then the total and IQ range. You can use this to gauge if today’s response is “about normal”, “high”, low”, etc. Above the box plot is a distribution curve that summarises all his responses (higher areas of the curve = more responses at these values).

He scored in at about 83% HRmax on 19th Oct, which is a little below his average (~85%). He tends to normally be 84–86% (his box width), so you could class him as slightly lower than normal “today”. I think we’d need a bit more context to try come to a decision about whether this was a fatigue or a fitness response (training loads, games played, subjectives, etc).

I’d probably have a chart like this on a dashboard or report with all players. There’s quite a lot of players in the dataset so for the sake of trimming this down as an example, ill select the lads who have the most data. Also, I’ll chuck the little distribution plot - I like it, but I think we get enough from just the box and points.

Looks pretty good. We could do a few other things to facilitate quicker skimming, like colour ‘todays’ points as green, red, amber if they are normal, low, or high, etc, show the change from the last test by joining those 2 points with a line, add data labels, etc etc.

2) Today’s test vs last test

I reckon that a forest plot is probably the best ways to compare a test with a previous one, because you can show the ‘noise’ in the change. Without that, I sort of think… how do you know that the change isn’t just error from whatever kit or biological variation? how else would you account for that in your decision-making? You can also visualize a boundary for the minimum practically important difference, which is holy-grail stuff (“Does this change make a real difference to fitness, fatigue or performance”?). The chart can be a little complex at first glance but I think the juice is worth the squeeze.

For the test ‘noise’ or variability in submax HRex, we did a bit of work and found that the typical error of a change is about ±2.3 % points and an 80% confidence interval for where the real change could be is about ±2.9% points (meta-analysis of 20-odd papers).

For the minimum practically important change, I tend to use 2% for a short-term response (more ‘fatigue’) and 4% for long-term response (more ‘fitness’). Based on some quality stuff by Martin B (here and here).

For this plot, i’ve compared the test on the 29th June with the previous one that month (14-25 days before… it looked a bit like pre-season testing?)

The change in submax HRex (beginning to end of June) is on the x-axis. Lower HRex is to the left and higher HRex is to the right. The blue dost are the change scores. The bar with caps is ± the typical error and the wider, fainter bar with no caps is the 80% confidence interval for the change. I interpret this as a range representing where the blue dot could have been if it was Groundhog Day and we repeated the test again under exactly the game conditions at the same time (i.e., the normal variability). The shaded area is the minimum practically important difference of 2–4%.

I guess the next question is… who’s not and who’s not? I usually go with this…

Like the other chart, we could add more context to this, like days since last test, load since last test, starters vs non-starters etc. Also, we could add something like MBI to say if players changers were ‘possibly’, ‘likely’, ‘very likely’ meaningful. Or replace those words with % likelihood values or colours, which would look something like this I did a few years back.

3) Long-term trends.

I’ll keep this one short and sweet… best til last! After looking at ‘todays’”’ performance and how it compares to the last test, I recon we could look at long term trends over time. Similar to the first plot, I’ll just bring up those boys who’ve got a good few data points.

The black dots are submax HRex responses and they’re plotted across two seasons, with data on the x-axis. I’ve added a smooth blue line to give a viz of the pattern of change over time. This line has a confidence interval (grey zone), which is where you would expect a point to be based on all the previous data. You might then say anything outside that zone ‘unusually’ high or low, where all the lads have 2 or 3.

Over each chart I’ve put a red linear line to look at the general trend over time. If its sloping up, HRex is gradually increasing (potential fatigue/ overtraining response?) and if its sloping down, HRex is gradually decreasing (potential fitness response, or fatigue if other test markers are trending low?). You could probably spend all day looking at this and maybe some extra info would help with interpreting it better (high/low points in red, a slope number showing the % change per month, etc). We’d also be able to filter between specific data reanges, etc.

Final Thoughts

Appreciate that’s a lot mate but just wanted to give a good flavor of what I think is possible with all this stuff. We’re actually only scratching the surface with what could be done here. Really keen to hear all your thought on this.