SweatStack Power-Duration Model Fitting

A power-duration model turns your mean-max curve into a prediction of the best power you can hold for any duration. But a mean-max curve mixes real all-out efforts with submaximal ones. Fit it with ordinary least squares and every point weighs the same, so the curve gets dragged below numbers you've already hit. That underprediction is plainly wrong: it says you can't do something you have already done.

SweatStack has developed a custom optimizer that fits an upper-envelope power-duration curve. It penalizes underprediction hard so the curve settles on your proven bests instead of being pulled under them. A recorded number is a floor, not a ceiling: it proves you can do at least that, never that you can't do more. So the curve is free to sit above a submaximal point, determined by the shape of the underlying model. As with all power-duration profiling on mean-max data: It still assumes your curve holds real maximal efforts somewhere.

Loading sample data…

Power vs. duration

Best power for each duration (log scale)
Drag horizontally to zoom. Double-click to reset. Hover for values.

Underprediction

Each fit measured against the mean-max curve, per duration. Positive is underprediction. Below the line is overprediction: a mean-max value is only a floor on your ability, so a fit sitting above it contradicts nothing.

Underprediction above zero, overprediction below
Drag to zoom. Double-click to reset. Hover for values.