New Analysis chart training load/intensity distribution on a weekly or monthly basis

Issue #619 resolved
Sander Roosendaal repo owner created an issue

One graph/chart I would love to see is one that shows training load/intensity distribution on a weekly or monthly basis (could show daily but not sure how helpful). So for each week it would show a stacked line or bar chart with either time or meters in each HR or power zone.  I guess could also have a version with %.  Each zone would be a different color and would be stacked from lowest intensity to highest (or reverse).  I am a fan of Dr Stephen Seiler and like his concept of polarized training.  I think this would provide a good visual reference to see how well one is doing.

Something kind of like this (found it online) but also option to show at a weekly level:

Comments (28)

  1. Carlos Reategui

    Not sure the daily ones are going to be super helpful in this format. The by month looks good. What about aggregating at a weekly level?

  2. Sander Roosendaal reporter

    I am thinking of having a day/week/division by the condition that there are at least four bars in the chart. So 0-28 days: per day, 28 days - 16 weeks: week, 16 weeks and more: per month. Ok?

  3. Michael McGuirk

    To me, days are pretty useless; weeks would be my priority. Most folks, I imagine, are on a three or four week meso cycles. Instead of a calendar month, would it be possible to allow user option to aggregate x weeks? And, how about a user selectable length for “weeks”? Some users may be on 9 day micro cycles. I would also like to have Y-axis capable of (if not default to) display of percentages of time. Thanks, excellent idea!

  4. Sander Roosendaal reporter

    There are two options -

    1. have a automatic function that determines the best granularity of the chart. That means, dividing in days for any time period shorter than four weeks, in weeks for any time period up to four months, in months for any time period up to four years.
    2. Let the user make the choice through a form

    If you use Rowsandall.com to build a training plan with macro and micro cycles, then in a future version, that plan could be loaded and the axes would be the micro or macro cycles. I think this is better than a user selected week length (which would also need a user selected start date).

    Regarding the y axis, I am planning to add an option to select power or hr zones. I will have to think about the percentage of time chart. I will push that out to a future version as well.

    What are your preferences for the options 1 or 2?

  5. Sander Roosendaal reporter

    A new proof of concept. With week numbers, and changing the x axis labels rotation back to 0 (was 45 degrees)

  6. Sander Roosendaal reporter

    Would probably want to replace the ISO week number in the axis label with the Sunday (or Monday) of that week?

  7. Sander Roosendaal reporter

    These are fake data, btw. What else do we want on the chart? Athlete name? Handy for coaches.

  8. Sander Roosendaal reporter

    In the chart starting with “week 1”, I sorted by day of week, not week number. I have corrected that in the last graph

  9. Michael McGuirk

    ISO week number is ok but my preference would be the Monday of each week, e.g. “05-10, 05-17 or 05/10, 05/17? If you stick with the ISO standard it should probably be “--05-10” but I think the truncated version is also approved. What else on the chart? Yes, athlete name and ???

  10. Carlos Reategui

    I had a look at the alpha version (thank you for doing this so quickly!) and would prefer to be able to set to view by week or month. I think I would look at the weekly data 3 or 4 months at a time.

    As I look at the renders with my data I am trying to figure out how to understand what I am seeing visually and translating it into useful information in my brain. The main purpose for me is to determine if I have been good at sticking to my intended distribution of easy vs hard work. From that perspective, I think it would be easier to “see” that if the colors from UT1 on down were similar (maybe different levels of green? or user selectable from a dropdown of “themes”? – or I guess I could just set myself with 3 zones). Another thought that might better show this is to have 2 different X axis. 1st would be similar to the current one but showing %, so all the stacked bars would be the same total height. The 2nd X axis would be a line of total hours. In other words the bars would show distribution and the line would show total volume.

    Not sure if there are others that also try to follow a polarized approach but would be good to get their perspective too.

    For me, graphs at a daily level are not that useful. Maybe in a different format like a calendar view with pie-charts in each day slot or something like that.

  11. Sander Roosendaal reporter

    How about this?

    • Week / month user selectable
    • Changed gray to Dark green

    There is a problem with people like me who do not have all boats equipped with the Empower Oarlock and sometimes forget to charge their heart rate band. The missing data all goes to “<UT2”. If I do a percentage version of the chart, I might want to omit those data in the percentage calculation? For the version with training volume, you need those minutes …

    Talking about minutes, I set the Y axis to always show hours, instead of minutes. Agree?

  12. Sander Roosendaal reporter

    Format change in the week (“YY/ww” with a 2 digit year and a leading zero), to avoid my chart engine to mess up (it sorts the data alphabetically and would put week 1 of 2021 first when you run the chart from June 2020 to June 2021)

    The improved alpha will be online in an hour or so. Running tests.

  13. Michael McGuirk

    Excellent! Instant visualization feedback. To my eye, percentages displayed in this manor works much better than trying to decipher different height bars.

  14. Carlos Reategui

    Looks good. Only thing else I would like to see on it was that line going across it with the volume in hrs.

  15. Carlos Reategui

    BTW end date does not catch sessions done on that day. Guessing its because time of the filter is 00:00:00

  16. Log in to comment