Hey Bud, your CP is too low!

2,485 views
Skip to first unread message

Mark Liversedge

unread,
Jan 22, 2014, 3:39:12 PM1/22/14
to golden-che...@googlegroups.com
Hi,

One of the side effects of setting your CP too low is that the W'bal algorithm goes negative.
Now it could be due to W' being set too low of course, but that is much less likely.

I went through quite a range of different athlete data (including my own) looking for MInimum W'bal going negative and in the majority of cases it was caused by having CP set too low. In the handful of cases that may have not been caused by CP being low there was a hint of microintervals that tends to throw W'bal off.

When I apply the W'bal algorithm to the peak 60 min interval it finds lots more examples of CP being off, and this is something I will pursue separately. 

To make this USEFUL, I have added a text to the ride plot that will tell you what your CP should be (at a minimum) by autosolving CP to get a Minimum W'bal > 0.

There is more to come on this, but we are definitely getting a lot closer to using the CP models and W'bal to start giving pretty solid predictions of CP and W'. Maybe analysing files as they are imported and providing feedback to the user ..we could throw in xPower for peak 60 to that mix also.

EXCITING!

Here is an example, an FTP test I did when I was on form:

I filtered for W'bal going negative, and you will see a lot of rides were selected -- this is because I deliberately mucked up my CP history to create the problem.

Cheers,
Mark 

stigbd

unread,
Jan 23, 2014, 4:45:46 AM1/23/14
to golden-che...@googlegroups.com
Mark, this is ideed very interesting and exciting. Thank you!

Now it happens that I did an FTP-test (protocoll: 5min+20min all outs, ride-file attached) on Tuesday, and GC's CP and W' Estimator estimated my new CP and W' to 257 and 18 respectively. This was based on 5 min best at 318 and 20 min best at 272. After about 12 months of experience with power/watt training, I think 257 is a sensible number given my current form and prior test results.

After pulling the last commit this morning, the new text in the Ride-diagram (attached) says:
Tau=492, CP=257, W'=18, 2 matches>2kJ(35.0kJ) Minimum CP=454.



I sure would wish my CP to be at 454, but I suspect it is not.

What do you think? Have I misunderstood, is there a bug in there or is my CP too low?

Regards,
Stig 
2014_01_21_20_25_25.json

Mark Liversedge

unread,
Jan 23, 2014, 4:56:31 AM1/23/14
to golden-che...@googlegroups.com
You need to set your W' in CP history in preferences, it currently thinks you have ZERO work capacity above CP !

The CP chart for recent rides will tell you what it should be ...

I suspect we are going to end up with some tools that 'unify' all these things together  --- maybe as an athlete dashboard or something ... but thats probably v3.3 !

Mark

Mark Liversedge

unread,
Jan 23, 2014, 4:58:38 AM1/23/14
to golden-che...@googlegroups.com
Oh actually I can see what you did .. you set it in JOULES .. you set to 18 when it should really be 18000 !

I think we should use kJ everywhere, so maybe I need to change the code ..

Thanks,
Mark

Stig Bjarne Dørmænen

unread,
Jan 23, 2014, 6:05:51 AM1/23/14
to golden-che...@googlegroups.com
Thank you, Mark.

With W' now set to 18000, CP set to 257, Minimum CP is reported as 262, which sounds a lot more sensible. 

I would, however, expect that the CP and W' Estimator tool did in fact estimate CP=262, in accordance with the Minimum CP reported in the Ride-chart for this ride. My guess is that the way things are implemented now, the Estimator-tool and your new algorithm is not based on the same model/logic.

So unification, as I understand things, would be a very wise move, although the excellent configurability of GC should not be sacrificed. I guess a consistent/uniform set of default configurations (e.g. what models to use for the different charts) would bring GC a long way forward.

Keep up the good work.

Regards,
Stig




--
--
_______________________________________________
Golden-Cheetah-Users mailing list
golden-che...@googlegroups.com
http://groups.google.com/group/golden-cheetah-users?hl=en
---
You received this message because you are subscribed to the Google Groups "golden-cheetah-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golden-cheetah-u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
Stig B. Dørmænen

Mark Liversedge

unread,
Jan 23, 2014, 7:24:23 AM1/23/14
to golden-che...@googlegroups.com, sti...@gmail.com
Sounds much better .. what does the Extended CP curve say for the last 3 months of rides?

Mark
To unsubscribe from this group and stop receiving emails from it, send an email to golden-cheetah-users+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--
Stig B. Dørmænen

Stig Bjarne Dørmænen

unread,
Jan 23, 2014, 7:51:48 AM1/23/14
to golden-che...@googlegroups.com
Results for last three months with Extended CP:
CP60=237 W
Pmax=1157 W
W' = 20 kJ (eCP v5.3)
Screenshot attached.
Inline images 1

--
Stig B. Dørmænen
Screenshot - 01232014 - 01:46:59 PM.png

Mark Liversedge

unread,
Jan 23, 2014, 8:04:26 AM1/23/14
to golden-che...@googlegroups.com, sti...@gmail.com
Oh my.
And the 2 parameter model ?

Mark
To unsubscribe from this group and stop receiving emails from it, send an email to golden-cheetah-users+unsubscrib...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--
Stig B. Dørmænen



--
Stig B. Dørmænen

Stig Bjarne Dørmænen

unread,
Jan 23, 2014, 8:12:45 AM1/23/14
to golden-che...@googlegroups.com
CP60=249 W, W'=20 kJ.
Inline images 1

Is there something fishy with the numbers?

Stig
--
Stig B. Dørmænen
Screenshot - 01232014 - 02:10:16 PM.png

Mark Liversedge

unread,
Jan 23, 2014, 8:38:05 AM1/23/14
to golden-che...@googlegroups.com, sti...@gmail.com
Its interesting :)

Your W' should be 20kJ and not 18kJ, and the models say between 237 and 249 watts -- that I trust completely.
The W'bal number of 262 seems high, but wonder how much it comes down if you set W' to 20kJ, not much I would guess (maybe 1 or 2 watts).

I am going to take another look at the W'bal optimisation I did and compare it to the published formula.

Mark

Mark Liversedge

unread,
Jan 23, 2014, 8:48:10 AM1/23/14
to golden-che...@googlegroups.com, sti...@gmail.com
My implementation of W'bal is in error, that is a relief !
I will look to fix it in the next couple of days.

I expect the minimum CP to actually be below or equal to the predicted CP and never above (unless W' is way off).

Mark

Stig Bjarne Dørmænen

unread,
Jan 23, 2014, 9:03:23 AM1/23/14
to Mark Liversedge, golden-che...@googlegroups.com
Yes, setting W' to 20kJ brought the minimum CP down by 1 to 261W.

So if I understand you correctly the CP and W' predictor should have estimated CP to 257W and W' to 20kJ, instead of 257W/18kJ?

I'll try to read up on the theory behind all this so that I can get a better understanding. In that way I can contribute by testing and debug more in the future.

Stig
--
Stig B. Dørmænen

Mark Liversedge

unread,
Jan 23, 2014, 9:12:11 AM1/23/14
to Stig Bjarne Dørmænen, golden-che...@googlegroups.com
The CP curve models are almost certainly correct — between 237 and 249 watts.
The W’bal model implementation has an error, the 261w is wrong — and wrong on the high side.

Mark

Mark Liversedge

unread,
Jan 23, 2014, 11:35:00 AM1/23/14
to golden-che...@googlegroups.com, Stig Bjarne Dørmænen
Hi Stig,

I've just pushed an update that fixes the calculation, I had removed the integration which was a terrible error, mostly borne from looking at other aspects of the algorithm !

Can you retry it please and let us know what the minimum CP now comes out as ?

It will be slower to autosolve, so plotting W'bal for a ride with negative W'bal will take a while longer. But all other rides should be unaffected.

Mark

Armando

unread,
Jan 23, 2014, 1:02:13 PM1/23/14
to golden-che...@googlegroups.com
Hi Mark,

This is great news. 

Note that one can either raise their CP or W' in order to prevent W'bal going negative.  Showing the adjusted CP to achieve this is perhaps the most convenient metric to adjust but recognize that when W'bal goes negative, it can either mean that your CP is too low, your W' is too low, or perhaps a bit of both.

Interestingly, and worthy of mention, when our W'bal goes negative can demonstrate a higher CP and/or W' during a ride even if we never hit our CP (MMP, power duration) curve at any point in the ride.  For many, these adjustments will need be made to override the calculation made by the 2 or 3-point estimation method.

Stig Bjarne Dørmænen

unread,
Jan 23, 2014, 1:07:51 PM1/23/14
to Mark Liversedge, golden-che...@googlegroups.com
Hi Mark,

I retried after pulling your latest update, but now the Minimum CP is not shown.
Inline images 1

Stig

--
Stig B. Dørmænen
Screenshot - 01232014 - 06:55:50 PM.png

Mark Liversedge

unread,
Jan 23, 2014, 1:20:33 PM1/23/14
to golden-che...@googlegroups.com, Mark Liversedge, sti...@gmail.com
Cool. That means that W'bal no longer goes negative, which is what you would expect -- unless you rode to exhaustion !

Jens

unread,
Jan 23, 2014, 4:10:16 PM1/23/14
to golden-che...@googlegroups.com, Mark Liversedge, sti...@gmail.com

I don't think I have a W'bal of 45kJ. The algorithm doesn't work here?
CP could be a little higher, but not more than 310.

Btw, I downloaded today the actual dev build, but the CP estimation is not there.

One further question. Do you use altitude power for the W'bal algorithm?


Mark Liversedge

unread,
Jan 23, 2014, 4:18:30 PM1/23/14
to Jens, golden-che...@googlegroups.com, Stig Bjarne Dørmænen
The fix is not in the development build, it was coded this evening!
But I would be interested to see the file and see what happens now I have fixed the code…
Can you send the ride to me at liversedge gmail com ?
I’ll post the results back :)

Mark

Mark Liversedge

unread,
Jan 23, 2014, 6:12:27 PM1/23/14
to golden-che...@googlegroups.com, Mark Liversedge, sti...@gmail.com
Sorry Jens,

I missed the reference to using aPower.
I will be adding aXXX versions of most power metrics e.g. axPower, aTSS.
I will need to check if aW' bal is at all valid ... but no plans to implement that at present.

Mark

Mark Liversedge

unread,
Jan 24, 2014, 3:02:47 AM1/24/14
to golden-che...@googlegroups.com, Mark Liversedge, sti...@gmail.com
Thanks for the file Jens.
The code fix removes this issue, your min Wbal for the ride is now ~3.5kJ



Mark


On Thursday, 23 January 2014 21:10:16 UTC, Jens wrote:

Jens

unread,
Jan 24, 2014, 3:16:02 AM1/24/14
to golden-che...@googlegroups.com, Mark Liversedge, sti...@gmail.com
I will need to check if aW' bal is at all valid ... but no plans to implement that at present.
I don't need it. I thought it would use aPower. I have files at altitude where I couldn't explain W' depletion. But now it seems that the W'bal modification will fix this too.
 
But speaking of aPower. How is it derived? It's really high. Much too high for me. Well, it might differ from individual to individual. But is the difference so big that we should make it customizable? I can send you files if you wish.
 
Jens

Mark Liversedge

unread,
Jan 24, 2014, 3:20:20 AM1/24/14
to golden-che...@googlegroups.com, Mark Liversedge, sti...@gmail.com
It is derived from this, I cannot really comment on its accuracy, but I do know of a GT winner's coach that is using it (he requested we add it). 

I will ask how reliable he finds it.
 

"Altitude training and Athletic Performance" by Randall L. Wilber and Peronnet et al. (1991): Peronnet, F., G. Thibault, and D.L. Cousineau 1991. "A theoretical analisys of the effect of altitude on running performance." Journal of Applied Physiology 70:399-404

Martin Wifling

unread,
Jan 24, 2014, 5:55:53 PM1/24/14
to golden-che...@googlegroups.com
Hi Mark,

great piece of work an W' !

I have played around a little, then did a 6x4min interval workout on 110% of my CP20. Thought that should be perfect to check this feature. I started with W' of 24kJ, please see attached pic. However, I thought that 25kJ might be too high as on the last interval I was pretty done, so I deleted in the references the old value and set the new to 22kJ. After a restart GC would not run again, please find attached crash report. Even deleting of metricDBv3 and restarting did not help.

I would be grateful if you could check. Thanks!

cheers
Martin

WbalTest.png
Crash Wbal Test 20140124.txt

Mark Liversedge

unread,
Jan 25, 2014, 12:32:46 AM1/25/14
to golden-che...@googlegroups.com
Hi Martin,

Are you building from source ? (there are a couple of fixes in there already)
When does it crash ?

Can you send the new file you created, on the balance of probabilities its something to do with that one.

Also, my goodness you are a robot on the turbo ;)

Mark

Martin Wifling

unread,
Jan 25, 2014, 11:41:08 AM1/25/14
to golden-che...@googlegroups.com
Hi Mark,

I have not done anything on the code, I have used the actual development release, therefore I cant send you anything...
GC crashes during update of statistics.

Its easy to be a robot if the trainer is a Daum which controls the watts. All you have to do is try to hold your cadence high enough.

cheers
Martin

Mark Liversedge

unread,
Jan 25, 2014, 11:50:17 AM1/25/14
to golden-che...@googlegroups.com
It would be useful to see the ride: 2013_09_02_15_10_29.json as that seems to be where the update crashes.
Can you send it to me ?

liversedge gmail com

Thanks
Mark

Dafydd Williams

unread,
Jan 30, 2014, 7:32:59 PM1/30/14
to golden-che...@googlegroups.com
The fix should now be in the latest dev build (28th Jan)?

I am still seeing W'bal going negative when doing a set of 5x 30sec(+60sec rest).

You mentioned that microintervals can throw W'bal off, is that what is happening with these short 30 sec efforts, or is something else afoot?
Would most likely my W' prediction being too low, I can only dream of having a CP60 anything near 332!

As this is my first post here (I've been lurking a while) can I also take the opportunity to thank you and all the contributors to this fantastic project. Your efforts are much appreciated and have certainly helped make my cycling a lot more interesting :)
Untitled.jpg

Mark Liversedge

unread,
Jan 31, 2014, 5:00:12 AM1/31/14
to golden-che...@googlegroups.com
On Friday, 31 January 2014 00:32:59 UTC, Dafydd Williams wrote:
I am still seeing W'bal going negative when doing a set of 5x 30sec(+60sec rest).
 
You mentioned that microintervals can throw W'bal off, is that what is happening with these short 30 sec efforts, or is something else afoot?

I think it is going to be a mix of;
1. W' is set low (rule of thumb seems to be > 2.5kj then W' is low)
2. CP might be low
3. Microintervals don't have the same metabolic cost

I know that Dr Skiba is examining the microinterval problem, but for now, I would accept that it goes negative in that scenario, but look at how CP and W' against your other rides ?
 

As this is my first post here (I've been lurking a while) can I also take the opportunity to thank you and all the contributors to this fantastic project. Your efforts are much appreciated and have certainly helped make my cycling a lot more interesting :)

Thanks -- kind words are always appreciated ! 

Mark

Dafydd Williams

unread,
Jan 31, 2014, 5:32:48 PM1/31/14
to golden-che...@googlegroups.com


On Friday, January 31, 2014 10:00:12 AM UTC, Mark Liversedge wrote:
On Friday, 31 January 2014 00:32:59 UTC, Dafydd Williams wrote:
I am still seeing W'bal going negative when doing a set of 5x 30sec(+60sec rest).
 
You mentioned that microintervals can throw W'bal off, is that what is happening with these short 30 sec efforts, or is something else afoot?

I think it is going to be a mix of;
1. W' is set low (rule of thumb seems to be > 2.5kj then W' is low)
2. CP might be low
3. Microintervals don't have the same metabolic cost

I know that Dr Skiba is examining the microinterval problem, but for now, I would accept that it goes negative in that scenario, but look at how CP and W' against your other rides ?
 
 
Everything is behaving as expected for my other rides, typically around 60-80% Max W' expended, it's only this one particular workout that goes negative. I'll put it down to the short intervals and stop worrying that my CP estimates are way off.

Jon Lidster

unread,
Feb 15, 2014, 4:59:57 PM2/15/14
to golden-che...@googlegroups.com
Hi

Not sure if this has been covered in this thread as I don't 100% follow everything written here.

I have a bit of an issue with my W'bal when plotted in my ride profile. When I am doing VO2max intervals and working for 3 minutes at my 5 minute power my W'bal is only reducing by the order of 100's of Joules! 

I would have thought if I work at say 40Watts above CP for 3 minutes this would use exactly 7200j?

I've attached an example ride profile which demonstrates this. Forgive me if my understanding is wrong but I am keen to see if this can be corrected.

Regards

Jon
Screenshot 2014-02-15 21.55.57.png

Mark Liversedge

unread,
Feb 15, 2014, 5:28:38 PM2/15/14
to golden-che...@googlegroups.com
Would be useful to see if you have smoothing applied. It certainly looks like a bug!
Are you using the latest development builds?

And yes 3 mins is 180s x 40w above CP = 7,200 joules.

Mark

Claus Assmann

unread,
Feb 15, 2014, 6:01:00 PM2/15/14
to golden-che...@googlegroups.com
Just a "me too": during a 15m interval above my CP20 the W'bal is
barely going down (16700 to 16500), but in the subsequent recovery
interval it drops from 16500 to 12800. This is happening with the
latest development version(s). AFAIR it was ok not too long ago,
i.e., W'bal dropping significantly during the hard interval, then
going back up during the recovery.

Jon Lidster

unread,
Feb 15, 2014, 6:16:33 PM2/15/14
to golden-che...@googlegroups.com, goldenche...@esmtp.org
I'm using a build from maybe a month ago or so. I'll download the latest build (dat of my birthday:) see if it's any different.

Cheers

Jon

Jon Lidster

unread,
Feb 15, 2014, 6:20:04 PM2/15/14
to golden-che...@googlegroups.com, goldenche...@esmtp.org
I have also seeen something vauely similar Assmann, except the W'bal doesn't drop so significantly I have seen it drop during recovery segments.

Jon Lidster

unread,
Feb 15, 2014, 6:28:56 PM2/15/14
to golden-che...@googlegroups.com, goldenche...@esmtp.org
Latest version downloaded and seems to be correct now, many thanks for the hint Mark :)
Screenshot 2014-02-15 23.27.38.png

Mark Liversedge

unread,
Feb 16, 2014, 6:08:45 AM2/16/14
to golden-che...@googlegroups.com, goldenche...@esmtp.org
There may be an issue with 0.5s samples from SRMs and my code .. I'm looking at it at the moment.
Would be interested to see the ride with the issue if you can share it?

Mark

Jon Lidster

unread,
Feb 16, 2014, 2:15:45 PM2/16/14
to golden-che...@googlegroups.com, goldenche...@esmtp.org
Sure how do I share it with you i.e what format just export as a .tcx?

Jens

unread,
Feb 16, 2014, 5:02:02 PM2/16/14
to golden-che...@googlegroups.com, goldenche...@esmtp.org
I have a strange W'bal behaviour, too. Two climbs of similar lenght and power. The first one W'bal is reduced by 8kJ, the second by only 4kJ.
The hardest interval, 5' @ 405W (CP of 320) W'bal reduction is only 16kJ.

I will email you the file.

Regards
Jens

Claus Assmann

unread,
Feb 16, 2014, 6:55:03 PM2/16/14
to golden-che...@googlegroups.com
On Sun, Feb 16, 2014, Jens wrote:
> I have a strange W'bal behaviour, too. Two climbs of similar lenght and

Mark analyzed my screenshot (and file): it turns out it "just" looks
weird because I used distance instead of time as X axis. Maybe
that's the case for others who see strange data too?

--
PS: general comment: no need to Cc: me, I'm on the list.

Jens

unread,
Feb 18, 2014, 2:17:59 PM2/18/14
to golden-che...@googlegroups.com
One can clearly see later in the segment W'bal actually raises despite power (no smoothing) is above CP!

W'bal.png

Mark Liversedge

unread,
Feb 18, 2014, 2:21:26 PM2/18/14
to golden-che...@googlegroups.com
You *are* still recovering W' even when exercising above CP .. just that usually the expenditure outweighs the replenishment.

Jens

unread,
Feb 18, 2014, 2:23:44 PM2/18/14
to golden-che...@googlegroups.com
Interval 2 is 5'19'' @ 357W, W'bal reduces by 8kJ

Interval 4 is 6' @ 352W, W'bal reduces by 3kJ

W'bal2.png

Mark Liversedge

unread,
Feb 18, 2014, 2:39:13 PM2/18/14
to golden-che...@googlegroups.com
When you expend W' it replenishes exponentially at a rate determined by tau.

If you ride at below CP for a while and then go hard, you will have no replenishment and lots of exhaustion so W'bal will go down a lot.
If you ride at above CP for a while and then go hard you will have some replenishment and lots of exhaustion so W'nal will go down somewhat.

At least thats how the maths works.

MArk

Jens

unread,
Feb 18, 2014, 3:01:24 PM2/18/14
to golden-che...@googlegroups.com


Am Dienstag, 18. Februar 2014 20:39:13 UTC+1 schrieb Mark Liversedge:
When you expend W' it replenishes exponentially at a rate determined by tau.

If you ride at below CP for a while and then go hard, you will have no replenishment and lots of exhaustion so W'bal will go down a lot.
If you ride at above CP for a while and then go hard you will have some replenishment and lots of exhaustion so W'nal will go down somewhat.

At least thats how the maths works.

Ahh. So always go hard  to not let W'bal fall too much. :-)
(Glad, that I love to go hard.)

Sounds somewhat strange, but I will leave the maths to the experts. Thank you for explanation.

Jens

Mark Liversedge

unread,
Feb 18, 2014, 3:20:54 PM2/18/14
to golden-che...@googlegroups.com
On Tuesday, 18 February 2014 20:01:24 UTC, Jens wrote:
Sounds somewhat strange, but I will leave the maths to the experts. Thank you for explanation.

I'm no expert!

Mark 

Nathan Townsend

unread,
Feb 20, 2014, 8:45:04 PM2/20/14
to golden-che...@googlegroups.com
On the topic of setting CP correctly I think it is vital to keep in mind that the gold standard for estimating CP is to conduct 3-5 time to exhaustion tests at constant power in the range of 2-15min ie: the constant power output needs to cause fatigue in that amount of time.  However, do a max effort time trial should give pretty similar results as long as the pacing is fairly even.  If the pacing is done poorly and is highly variable it is likely that the power for that particular test duration will be underestimated.

Myself and a friend have been playing around with auto-detect methods based on field derived training data.  When set the window between 2 and 12min, the CP was underestimated by about 20 watts (ie: the MMP around 20-30min were higher than the CP estimate).  When we set the CP range from 2-10min it jumped up by about 20w and was much closer to the 20-30MMP.  So why does this occur?  Because a) we only used last 6 week data and b) there are no hills nearby that are longer than 10mins at full max effort, so there are no true max efforts around 12min.

The single biggest problem that leads to CP being underestimated is if you do not have a true maximal effort conducted at either end of the "window" that you're looking at.  My recommendation is to use a 2-15min window and thus it is essential that absolute max efforts are completed as close as possible to 2mins and 15mins.

Part b also raises an interesting problem....  we can sustain higher power output on hills than on the flat.  The reasons for this are probably multiple, but something that has been shown is that the total amount of muscle mass being recruited during hill climbing is higher.  Thus the average power output for an entire pedal revolution is being shared amongst a greater muscle mass.  Think about lifting a 10kg dumbbell for as many reps as you can until complete exhaustion. Same vertical distance, same speed (and thus the same power output), deadlift versus bicep curl.  If you deadlift the dumbbell you can continue all day, whereas if (like me you're a cyclist with skinny arms) you can only do about 6 reps of the bicep curls.  Smaller muscle mass fatigues earlier at the same absolute power output than a larger muscle mass as long as maximal cardiac output is not approached (which starts to limit muscle blood flow in large muscle mass exercise).

So the problem is that if you set CP using TTe tests on hills, then it is likely that you will overestimate your flat terrain CP and visa versa.  
Reply all
Reply to author
Forward
0 new messages