Sunday 14 January 2024

Validating my power delivery optimiser: Step 4

Excel-based optimiser versus Best Bike Split
Step 4: Calculating the optimum power delivery profile using my optimiser.  

In the previous blog post (Step 3), I showed the BestBikeSplit recommended power profile and the results of my Zwift ride when I followed BestBikeSplit's recommended power profile.  It saved me 9 seconds compared to the constant power effort, for a similar 150W normalised power.

I will now see if my Excel-based power optimiser gives similar results when I model the Whole Lotta Lava segment using the same set of 29 intervals that BestBikeSplit used to model the segment.

Results of my power optimiser

The plot above, at the top of this blog post, shows the BestBikeSplit recommended power profile (dashed red line) and then the power profile recommended by my Excel-based optimiser (solid red line), when targeting a 150W normalised power. The agreement between the two plots is remarkably good.  In the past I've done a crude comparison between my optimiser and BestBikeSplit (see here), but I've not plotted the powers on the same graph before.  This really shows the two methods give the same results, and so it shows my Excel-based optimiser is a free alternative to BestBikeSplit.  It could actually be even better than BestBikeSplit if I'm able to model more intervals than BestBikeSplit.  I just need to write the script that can automate the creation of the intervals.

Predicted ride times from my power optimiser

For the constant power situation, with the power fixed at a constant 150 Watts, my optimiser predicts a time of 27 minutes and 17 seconds. Note that this is only 2 seconds different (0.1% different) to my actual Zwift ride time of 27 minutes and 15 seconds, which I've obtained on two occasions riding at a constant 150 Watts.

To achieve this constant power of 150 Watt simulation in my optimiser, I set-up a multiple goal-seek macro in Excel.  That was an interesting learning exercise in itself, because I have never programmed in Visual Basic before.

Running the optimiser to achieve an optimal power profile, my optimiser predicts a time of 26 minutes and 37 seconds, which is a fairly significant 40 seconds (2.4% saving).  That's very similar to the 2-3% savings that I was getting when I first created my power optimisation spreadsheet back in 2016 (see post
here).  The speed and power differences between the constant power case and the optimised power case are shown in the plots above.


Riding at a constant 150 Watts, my optimiser predicts a time of 27:17.
(average power = 150W, normalised power = 150W)
That 27:17 time agrees very well with the actual ride time in Zwift of 27:15.

Riding at the optimum power, my optimiser predicts a time of 26:37 (40s faster)
(average power = 143W, normalised power = 150W)
I haven't yet tried following this power profile in Zwift yet, and although the BestBikeSplit power profile is similar, the speed modelling deficiencies in BestBikeSplit (described here) was insufficient to test this.

Next Steps

The next step is to create a script that can process the Whole Lotta Lava segment profile, and any other ride profile, in a more efficient way with less manual effort by me.


Post a Comment