The extended model fit using an envelope (or hull) fit.
Basically, each of the parameters are given sensible (but wrong) starting values.
Then the following is done until all the parameters (CP, W' etc) converge (stop changing).
- Look for highest value for CP - looking at datapoints in the flatter area of the PD curve (Aerobic interval) to see which one yields the highest value using the other current estimated parameter values
- Look for highest value for W' - looking at datapoints in the first part of the PD curve (Anaerobic interval) to see which one yields the highest value using the
other current estimated parameter values
- Look for highest value for Pmax - looking at datapoints in the first few seconds (Short Anaerobic interval) of the PD curve to see which one yields the highest value using the
other current estimated parameter values
- Look for highest value for CP decay - looking at datapoints in the low tail (Long Aerobic) of the PD curve to see which one yields the highest value using the
other current estimated parameter value
The points that yield the highest values are marked on the plot with a blue cross -- these are the limits of the hull.
So in summary, the envelope fit searches for a maximal fit using parts of the curve that influence the parameters most greatly - short durations for Pmax and W' and longer durations for CP and CP decay. You can configure the interval sections in the CP plot setttings, but would recommend using the defaults.

It is important to understand that the fit is applied to a large number of points, that the final fit is a hull and that it meets the MMP curve at the maxima. We do this because;
a) MMP will always contain a large number of sub-maximal points
b) We want to encourage modelling with data from short periods (<4-6weeks) so need to tolerate lumpy MMP curves
c) We can easily constrain parameters and use a large number of observations in an computationally efficient way (which ensures a maximal fit that is physiologically plausible).
With v3.5-DEV we have also added Least Squares fits along with marking and using Performance Test (as intervals in a ride file). I am currently working on adding a jackknife method to help quantify any bias and errors.
I'll probably end up posting a long note here (like this one!?) since I've also started a series of tutorials on the CP model and goldencheetah in collaboration with Dr Len Parker Simpson and some support from other well known academics with expertise in modelling with CP.
You can watch the CP explainer here:
https://vimeo.com/283303558 (see if you can spot the two painfully embarrassing mistakes I make). I'm working on another for working with the models in GC, should be publishing this weekend.
Cheers,
Mark