5

Many cycling analytics apps like Strava, TrainingPeaks or GoldenCheetah are offering the Critical Power curve chart, computed from the power meter data.

I'm familiar with the curve meaning and usage, but I'm curious how the curve is computed from the time series. I guess it is a more general statistical method, but my search for the literature with method description was not successful so far.

  • 1
    Probably based on Monod and Scherrer 's circa 1965 paper ( tandfonline.com/doi/abs/10.1080/00140136508930810#.UyR2_61_vTM ) with proprietary tweaks to make it 'More accurate' – mattnz Feb 22 '19 at 1:50
  • 1
    @mattnz Golden Cheetah does use Monod and Scherrer, but also a couple of alternatives. Nothing in GC is proprietary -- it's all open source so you can, if you wish, examine the source code to determine the algorithms used to derive CP, "extended CP", and W'. – R. Chung Feb 22 '19 at 3:30
  • 3
    A cynical voice beside me says "RNGesus".... (funny) – Criggie Feb 22 '19 at 5:39
  • 1
    @Criggie And here I thought Strava power numbers were generated using the renowned "PDOMA" methodology. – Andrew Henle Feb 22 '19 at 10:33
  • Thank you @R.Chung - looks like this is the best advice so far. I'm not very good in C++ but will see. – JirkaV Feb 22 '19 at 13:25
4

From Strava Support:

The Power Curve shows your best average power for time periods of 1 second up to the length of your ride. We search your entire ride and find these best efforts and you can compare them with your best efforts for your last 6 weeks, the current year, years in the past, or all-time!

-- Using your Best Efforts Power Curve (Summit)

BestPower

As you are already aware, your critical power (CP) is the maximal power you can sustain without fatigue for a very long period of time. CP is also sometimes defined as the maximal power produced over a finite time period (e.g., CP30 would be the maximal power you can sustain for 30 minutes). The Strava power curve therefore gives a variety of CP values across an array of duration intervals.

In the past might have been done with lab experiments (e.g., you warm up, then do a maximal effort on a bike ergometer or on a power meter equipped bike for a series of set durations), where you would then infer intermediate points based on some type of interpolation or statistical model (e.g., Monod-Scherrer).

With continuous performance tracking (i.e., bike computer + power meter) this can be done empirically by querying all data within a ride or over a period of time (e.g., last 6 weeks) to determine the maximal power over a set of differing time intervals. These independent queries are then used to build the power curve displayed.

The Strava Power curve, is therefore an empirical curve based on cherry picking your best efforts for a series of durations, dependent on context (i.e., current ride or past effort(s)).

If you never put in a hard effort for a given duration in your ride, or in the past, then the empirical curve will underrepresent (i.e., biased low) your actualized potential if you were to do a real maximal effort. That said, if you didn't put in an maximal effort over a given duration (e.g., a 5 minute interval) you will clearly see it in the power curve associated with the ride, as the curve at the 5 minute mark will be lower than your historical best.

What About Statistical Model Fitting?

Another possible way to generate the curve is to assume that the true power curve of the athlete (what you would like to estimate) follows a particular mathematical form (i.e., parametric) and estimate the parameters associated with that mathematical curve based on your observed values and some sort of objective function (i.e., likelihood). The problem with this approach is that you have to get the form of the latent curve correct, which can be difficult as people do not have uniform abilities across differing timescales.

For example, some athletes may have very strong short-duration power (e.g., 30 second CP), but lousy long-duration (e.g., CP60, otherwise known as functional power threshold [FTP]). As such correct form of the parametric curve will depend on the athlete, making a generalized fit routine problematic.

There are of course other alternatives that are more flexible with regards to the shape of the curve. Some of these include fitting splines, general additive models, or kernal smoothing. These are all computationally expensive and come with their own set of assumptions and drawbacks.

Given the volume of available data, an empirically based curve is simpler and likely more robust. You typically start fitting parametric statistical models when you are more data starved and each individual data point is more trustworthy.

|improve this answer|||||
  • The Monod-Scherrer model isn't all that hard. It just says there are two parameters: CP and W', and they represent the slope and intercept of work with time. So Strava would look back over the last 6 weeks, calculate max Joules for each duration of time, fit a simple regression, and get the slope and intercept. In Monod-Scherrer, there's no such thing as CP0.5, or CP30, or CP60, there's just slope and intercept. – R. Chung Feb 22 '19 at 23:35
  • @R.Chung - as you point out the Monod-Scherrer requires CP (power that can be sustained without fatigue for a very long period of time) which many athletes on Strava may not have experienced, making the implementation problematic. Additionally, very short durations produce predictions of infinitely high rates, and long durations produce predictions of infinitely sustainable rates (Morton, 2006). I think the empirical curve is a good work around, as it bases each point on actual real-world performances, rather than an interpolation. – Rider_X Feb 22 '19 at 23:53
  • To be fair, few methods are robust to crappy data. If the MMP is not a true MMP, the slope and intercept won't be right. I'm also pretty sure that Monod-Scherrer specify that you shouldn't use observations of less than a few minutes or longer than an hour or so to fit CP and W' -- that is, you don't use 5 second power, and you don't use 5 hour power. Between a few minutes and an hour or so, the relationship between Joules and time is pretty linear, which is why Monod CP works as well as it does. (Monod W' is less well-estimated than Monod CP.) – R. Chung Feb 23 '19 at 0:13
  • @R.Chung the universal truth: garbage in... garbage out! One place were I appreciate the empirical curve is it clearly shows on what time scales you put in your maximal efforts, and at what time scales you did not. Any place were power curve from the ride substantially falls off the historical power curve is a good indicator that you had a sub optimal effort there (which isn't necessarily a bad thing). A hyperbolic curve like the Monod-Scherrer (or any parametric curve) has as a set form, and as such will not show these types of deviations. – Rider_X Feb 23 '19 at 0:26
0

Some details are published by Strava themselves.

How Strava Calculates Power by Rosie
February 08, 2012 10:40

Our Power Equation
The power produced while riding is made up of several components:

  • Power produced to overcome the rolling resistance of forward motion.
  • Power produced to overcome wind resistance.
  • Power produced to overcome the pull of gravity (in the case of climbing hills).
  • Power produced to accelerate from one speed to another.

The total power produced, P(total), is the sum of all four power components.

    P(total) = P(rolling resistance) + P(wind) + P(gravity) + P(acceleration)

Rest of document is at https://support.strava.com/hc/en-us/articles/216917107-How-Strava-Calculates-Power

Curiously, they guess Rolling Resistance based on the type of bike you set up. Also the wind speed or air density are unknown, they assume no environmental wind conditions and an outside temperature of 15 degrees C.

We have seen that in most cases our watts number are very close to the numbers provided by a Powertap or SRM.

I'd call that an optimistic statement. Perhaps the total wattage over the whole ride is somewhere within 20% but the estimate measurements at any specific point can be totally wrong. I've seen zero Watts while going up a steep hill, and peaks of 1200 Watts while steady-state cruising on the flat.

|improve this answer|||||
  • I'd call that an optimistic statement You're being close-minded regarding Strava's estimated power numbers. You just have to define "very close" as "non-negative number within about 1000W". – Andrew Henle Feb 22 '19 at 21:09
  • 2
    The OP was asking about how the power curve itself was derived, not how the instantaneous power values were generated if a power meter is not available. As far as I know they do not provide a power curve in absence of a power meter. – Rider_X Feb 22 '19 at 21:12
  • @Rider_X fair point - I'd wonder if they abstract from data of riders who do use a power meter on the same segments. There's no point to Big Data if they don't mine it. – Criggie Feb 22 '19 at 21:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for?Browse other questions tagged or ask your own question.