Compliance activity field

Compliance to plan is now a field on every activity. You can see it in the activity summary:

And in the activity list view and athletes page activities feed (click “Columns” to add it):

To see compliance on the calendar click Options and tick the “Show compliance” box:

Compliance is calculated for all activities in any week with at least one planned workout for the sport. Completed activities that are not paired with any planned workouts get compliance of 0%. You can click the compliance info on the activity summary and tick the “Ignore compliance” box to hide the 0% and red tick. This is useful if you log warmup separately.

The compliance percentage is training load * 100 / planned training load. If load is not available then the activity moving (or elapsed) time is compared to planned workout duration. If there is no planned load or duration then compliance is 100%.

The weekly compliance number for the sport compares total load to total planned load or total time to planned duration.

The colours are as follows:

  • Between 80% and 120%: Green
  • Between 50% and 150%: Orange
  • Otherwise red

Compliance is also visible via the API (activity.compliance) with a value of < 0 for “ignore compliance” and null if not calculated (no planned workouts for the sport in that week).


Thanks David. This table makes a big difference in knowing where to dig deeper first.
Now I need to get my athletes to update their RPE and Feel.


Compliance is very similar to the old compliance number displayed on the calendar days. The difference is that the old compliance totalled all the activities for the sport on the day vs the total planned for the day. The new compliance field has a simpler one to one activity to planned workout mapping with the “ignore compliance” option to avoid a red cross on warmups, cooldowns and so on. Also it is calculated server side and hence available via the API.


It is possible to add this to this field to the activities csv?
It currently doesn’t allow me to add the field through the Excel Power Query, as it doesn’t find the field “compliance”.

yesterday, I was thinking it would be nice … the very next day the feature is here. Thanks a mill David.


Don’t understand why my today’s workout doesn’t count, so… with new update should I manually link it to planned TR workout? How? Or I am totally missing something?

drag the plan workout to the actual workout…


Also make sure the pair activity and workout tickbox is ticked.

1 Like

This, thank you!!

Already have it ticked, thanks anyway!!

I have added compliance to the end of the csv.

1 Like

How can I do it?

Simply drag and drop on the calendar. Click on the activity and drag it over the planned workout to pair them.

If there was no workout scheduled, but athleted has done some activity I would suggest yellow question mark icon instead of 0% and red icon. Then I could choose Ignore like now, or still “Approve” (which gives somewhat different green icon, maybe plain green without check mark), or “Its bad”. All manual decisions would be without any percentages. Like if I approve its not 100% green, but just green.

Several athletes does not have linked workouts in the past, even if they have done them correctly, and have both workout and activity at 0% Red. My guess that athlete have done it by memory, not using garmin workout feature. Am I right?

Overall it feels better than it was before, even if that means manually re-checking several months of data for each athlete.

Commutes should not get any compliance calculation, or Options checkbox not to include them.
If they are hidden from calendar they are still visible in Compliance tab.

I like the yellow question mark etc. idea. I will see what I can do about that.

The linking sometimes doesn’t work depending on the timing of incoming activities. It doesn’t matter how the athlete performed the workout. Next time you see an activity that should have paired with a workout please send me a link before fixing it.

Thanks, sent you chat message with profile link.

i did an unplanned workout yday and saw this yellow question mark. I truly dislike it. It somehow gives (me) a negative connotation… an x 0% means like - you had no workout, yet you did something. vs an ? 0% is like “WTF man!”

But I’ll live… (Feature Rich is good and) now that I know this is where that feature originated from…

i didn’t want to make a new bug thread. But there is something wrong with the load calculation when the workout is not connected with the activity. I can’t reproduce the bug, but after reprocessing my activities I’ve found out that some were not connected and if the workout was not connected to the activity the load was counted for both (so probably fitness graph and all other metrics taken form TSS too) I reconnected all so now they are ok and if I disconnect them manually the load is counted correctly.

BTW I think Load could be divided into two categories:Load and Target Load. Target for all planned workouts, Target fitness etc. Load for all done activities, actual fitness etc.
It would give possibility to some nice graphs like:target/planned fitness/load vs actual fitness/load etc.

You can click the yellow question mark on the activity detail page and make it green if doing that unplanned workout was the correct thing to do.

I have implemented this.


That shouldn’t happen. The fitness update is done asynchronously when edits etc. are made so it is possible it was just a timing issue.