[solved] API Sync: Load (TSS) discrepancy and recalculation issues (ans: FTP setting must be the same on different platforms)

Hi everyone,

I’m experiencing an issue regarding the Load (TSS) values when syncing workouts from TrainingPeaks to Intervals.icu.

Even when sending the correct TSS value (e.g., 110) via API, Intervals.icu seems to either ignore the uploaded value or recalculate it internally, resulting in a different number (e.g., 109).

I have checked my settings, but even when I explicitly send the load data, the platform appears to override it.

A few questions regarding this behavior:

  1. Is there a specific field or flag in the API that I should use to ensure Intervals.icu respects the “source” Load/TSS instead of recalculating it?
  2. Does Intervals always prioritize its own internal FTP/Zones settings over the data provided during the upload?
  3. Is there a way to lock the Load value for a workout via API to prevent auto-recalculation?

This discrepancy makes it difficult to keep both platforms in sync for athletes who use TrainingPeaks as their primary planning tool.

Has anyone found a workaround or a specific mapping to fix this?

Best regards.

Link ref Images: Workout duplication due to seconds mismatch in Duration comparison

Intervals.icu will calculate Load - this post from David confirms the same.

I read this post.
But it didn’t explain the fact that the calculations are different between the platforms.

Mine are the same, down to the second and also TSS vs load.

edit:
for all activities with power, these are the same. For HR based load, there are some variances.

They’re not if FTP settings match. FTP is not synced between the platforms, so you need to keep that in sync manually.

See the platform comparison. Am I making a mistake in some configuration?


Intervals - Power - HR

TP - Power


TP - HR


Workout - Invervals (Load 93) vs TP (Load 95)


Workout - Invervals (Load 109) vs TP (Load 110)

Ok. Apart from the fact that the deviation is minimal, the calculation is correct in intervals:
Load=(NP/FTP)^2 * time
For the first workout
(170/207)^2 x 83 x 60/36=93,301

No, there’s no mistake. These small differences are the result of

  • rounding errors; round or round down/up
  • zone definitions; is a zone including the starting or the end value?
  • small difference in TSS calculation caused by TP not publicly releasing the exact TSS formula. You will see larger differences in NP for intervals, caused by a different way of calculation. NP for the entire activity should be correct with the same level of accuracy
  • What is considered moving time/stopped time?

These small errors will not make any difference in the longer run and can safely be ignored.

Thank you for the feedback.
I appreciate your dedication in clarifying my doubts.
Surely these small differences won’t make a huge difference to me.

I replicated both your workouts. Power levels are the same in both applications.

1 TSS point difference in workout 1

I get the same values in both applications for workout 2

Perfect, thank you so much for your help in understanding the issue. I’m honestly not sure why there’s a TSS of 110 on TP (set by my coach), but as we discussed, it’s not that important. :clap:t2:

In another post, I’m discussing the sync duration issue: on TP it shows 1h 59m 10s, but on Intervals, it’s only 1h 59m. This difference causes the workouts to keep re-syncing/duplicating, but I’m addressing that in the other thread. :thinking:

Workout duplication due to seconds mismatch in Duration comparison

On the other thread, the duration shows 1:59 (Intervals) on the workout header without seconds due to display size, but it you look at time in zone it adds up to 1:59:10 (51m15s + 55m + 10m + 2m55s = 118m and 70s = 119m10s). However, you show planned workouts and not the completed activity, so not sure where the duplication you refer to comes from.