TrainingPeaks and WKO4 calculate and report workout duration differently. In WKO4 there are several different expressions that relate to the duration of workouts:
Total duration (the end time minus the start time).
The sum of duration while movement is detected by WKO4, as follows:
- If your workout contains the speed channel, WKO4 sums the duration of records where speed is 2.0 mph or greater. The 2.0mph threshold exists to avoid counting motion caused by GPS drift.
- If the workout doesn't have the speed channel but does have a distance channel, WKO4 sums the duration of records where distance is not the same as the previous distance.
The sum of the duration of all records where cadence is not zero.
The sum of the duration of all records while your device is recording data. There are a few circumstances in which a device might not record data:
- The device has a pause button that temporarily suspends recording.
- The device has an auto-pause mode that suspends recording based on some circumstance.
- Interference that temporarily prevents the device from receiving wireless data from sensors.
We also refer to duration as "recording duration." It most frequently matches what's reported as "duration" by TrainingPeaks, Garmin Connect, Strava, and others, which is why we named it so. This is also the duration that WKO4 displays in the Left-Hand Explorer (LHE) and Right-Hand Explorer (RHE) when duration is listed there.
The duration that was planned in advance of the workout.
A data channel (a set of numbers) that lists the cumulative duration for each data record. The expression max(elapsedtime) should return the same number as the expression elapsedduration.
A data channel (a set of numbers) of the duration (delta) of each record. The expression sum(deltatime) should return the same number as the expression elapsedduration.
How do I use these expressions?
The expression duration is the most used of all these, but unfortunately it is the least meaningful. That's because its meaning changes depending on how your device is configured. If you're a coach, you might not know how your athletes' devices are configured, which means you won't have all the information you need to reliably interpret the duration of their workouts.
Here are a few examples:
- If auto-pause is off, duration should be close (but not often exactly the same) to elapsedduration. There may be wireless interference, and athletes sometimes hit the pause button, but aside from that it's pretty close.
- If auto-pause is on, duration should be close (but not often exactly the same) to movingduration. Some devices save a record or two that are below the threshold WKO4 uses (2.0 mph), and they even sometimes store a few records at 0 mph, so movingduration may be a little less than duration.
On a number line, from least to greatest, the duration variables will line up like this:
movingduration <= duration <= elapsedduration (and duration will shift to the right if auto-pause is off and shift to the left if auto-pause is on)
If you're a coach and want to avoid having to know whether an athlete is using auto-pause, use the expressions movingduration and elapsedduration, because these do not change, regardless of how a device is configured.
So which expression matches TrainingPeaks?
The duration variable should be the same as what TrainingPeaks reports, or very close. There is sometimes a difference in the way different software interprets files, however, so the numbers can still be off by by a minute or two. For example, WKO4 calculates duration by taking the sum of the duration of records while the device is recording, while TrainingPeaks uses summary data, which is a number calculated by the device. Unfortunately, the number calculated by a device is often different from all of the above duration calculations, though most often it's similar to duration.