Using W balance

Hello guys, I am a French mid pack triathlete passionate on sports physiology and training. I am also a MD.

I am curious to implement W’ monitoring during my HIIT sessions. Would you be kind enough to tell me if it’s useful ? Maybe to adjust dynamically intervals like Xert does ? Where should I start my reading then ?

I have seen apps on the Connect IQ store since I use Garmin devices and I have seen that there are 2 différents methods to compute the W’ (integral and differential), what is the method used in intervals.icu ?

I guess that when we reach negative numbers it’s time to think that CP and W’ are not correct and need adjustments :slight_smile:

1 Like

it’s your energy balance http://perfprostudio.com/help/WPrime.htm have a read

Thank you, I think I get these basics, and I learn that Pr Skiba works with Pr Andrew Jones, neat !

Now I guess it’s more useful in a race situation than during training, because if you have got a power based goal, you’re not gonna modulate your intensity or duration according to W’

I mostly just like to look at it. Sometimes on a tough group ride I might do only 300w avg for 20m and get dropped but W’bal was nuked due to all the surges which kinda makes sense.

W’bal is calculated in Javascript in Intervals.icu:

function computeWPrimeBal(streamsByType, activity) {
  let wPrime = activity.icu_w_prime
  let cp = activity.icu_ftp
  if (!wPrime || !cp) return []
  let time = streamsByType.time.data
  let data = streamsByType.watts.data
  if (!time || !data) return null
  if (time.length === 0 || data.length === 0) return []
  data = data.slice()
  let wb = wPrime
  let pt = 0
  for (let i = 0; i < data.length; i++) {
    let t = time[i]
    let secs = t - pt
    let deltaW = cp - data[i]
    if (deltaW > 0) {
      for (let j = 0; j < secs; j++) wb += deltaW * (wPrime - wb) / wPrime
    } else {
      wb += deltaW * secs
    }
    data[i] = Math.floor(wb)
    pt = t
  }
  return data
}
2 Likes

Yes you do - increasing your high intensity energy is trainable and useful under various circumstances, although usually short term.

What’s required to activate W’bal on the charts? I have it turned on to view but nothing populates.

Did you enter a value in settings? You will need to know what to enter though. I took mine form Xert.

2 Likes

think of it as your gas tank , the lower it gets the more energy was used for an intense effort it’s also good to see if your nutrition plan is good because in racing you often go very deep for long periods and if you keep fueling correctly you wont bonk once W’ gets lower it’s an very useful feature to see how hard the race was and ect …

1 Like

You need to enter your W’ on the activity and in /settings for future activities. You can get this from the /power page. The best estimate is from the Mortons 3P model but then you need good inputs (5s, 3m and 12m max power all done recently).

2 Likes

Ah. Sounds good. Thanks!

1 Like

Quick JavaScript question (I’m relatively new to it). Is
data = data.slice() equivalent to (and predates) data = {...data}?

Thanks!

Albert-Jan

Yes it is. I had to go test that quick. JS syntax is a moving target!

1 Like

Hmmm. I used Wbal quite a bit in GC, but the implementation seems different here. In general, my Wbal decreases more strongly in GC than here. GC says that my Wbal is 20000, intervals.ice reports about 14100, so the difference is not a smaller Wbal in GC. For example, I had a ride this week in which GC reported a minimum Wbal of about 1/2 my max Wbal. But intervals.icu reported (well, the graph is a little small, so…) only about a 10% reduction (max) in Wbal. Happy to send fines/screenshots if helpful…

That would be helpful. I have only tested this on my own data and not against GC. The running down part is fairly simple. Each second above CP/FTP reduces the reserve by the number of watts above CP.

Not sure how to best show GC output; here is a screenshot from 14 Mar 20.

Maybe the results are similar; the intervals.icu version is much more vertically compressed, so a little tougher to assess…

Your FTP on that ride is 186 vis 175 CP on GC. If you change the FTP to 175 then the plot is very similar to GC. A ride with a max effort that gives you a new FTP should run your W’bal down to zero on that effort. I found one of yours:

https://intervals.icu/activities/2981846053

If you change your FTP on that to the estimated value your W’bal goes almost to zero which is what you would expect. The other side of this is the recovery which might be different and a “down to zero” ride will help show that. So if you could get a chart for that one from GC it would be helpful.

Based on the above, I need to adjust my W’ and FTP settings - Recently, I have done a few of all-out efforts, where I definetely reached 0 W’ bal:

  • A 16min time trial @390W

  • A 1min hill sprint @790W

The 16min time trial ended right around 0 W’ bal
The 1min sprint left me with 7J W’ bal

Do I need to adjust my FTP, or W’? Up or down?
(FTP: 365W, W’ bal : 33800J)

Is W’ the same as HIE then?

That’s what I thought anyway. So, probably not :joy: Or ‘not exactly’ - ask Scott or Armando :sunglasses:

I think your FTP is maybe a couple of watts high. Those efforts were approx 25kJ above FTP. The default FTP estimation used by Intervals.icu uses standard curves so assumes standard W’. Yours is probably higher as your 1m power is very good.

If you can do max 3m effort to go with your 5s and 16m then you can get a likely better estimate. Change to “Mortons 3P” on the power page. If you don’t have the right inputs you won’t get anything out of that.

1 Like