How to estimate Critical Power (or eFTP) and W' with intervals under 3 min (my first web app)

hey guys. I cant seem to open the link. Is it still active?

It is working here…
the link is https://powerlab.icu/

Hello @Marcelo_Heinig , super nice project. One question: Did you change the UI/duration periods recently?
My current version has 55-120sek in the anaerobic section - and there are no sliders present but only data input fields…

Yes… I changed it to input fields… the sliders triggered too many backend calculations and exceeded the free limit of my server… to keep the tool free, I had to do that. I also added a few more tabs.

You should be able to see the tabs Power Curve, Categories, Profile, Intensity and Energy Curve… otherwise clean the browser cache and reload de website.

1 Like

@Marcelo_Heinig thanks for pointing out the tabs! I would not have found them without your remark.
Awesome tool!!!

1 Like

I’ve been testing this for several days now, and first of all, congratulations because it’s a very good tool. I’ve tried several durations, and the aerobic test with the values that work best is from 8 minutes onwards. With 5 minutes or 3 minutes, the cyclist’s phenotype has a lot to say about the Critical Power value, but even so, congratulations on the model you’ve modified because it’s quite interesting. Next, if you have wko5, I can send you the chart that calculates vlamax so you can check it out. If you don’t have it and want to check something, we can look at it. Would it be possible to download a CSV file of the power curve, intensity and energy curve? My other question is whether you extracted the data for categorisation from big data and whether the profile value you give is your own algorithm or whether you extracted it from big data as well. Thank you and congratulations on the tool.

1 Like

Great Tool, love it!
is it possible to visibly show the Lactate Threshold 1 / LT1 calculation, just like with FatMax?

Yes… I noticed that some people respond better to slightly longer aerobic tests, so I adjusted the app to allow for tests up to 20 minutes (which I know many still use). The underlying logic is the same: it’s based on a 3-parameter critical power model.

I don’t use WKO5 myself. Were you looking to compare the VLamax values? I’d expect them to differ, as the estimation methodology is probably different.

Right now, it doesn’t generate a CSV file with the curve data… I was trying to keep the project simple (it was my first webapp project), but that shouldn’t be too hard to implement. All the data points for the curve are already being calculated anyway. What specific data would you want to see in the CSV file?

The categories are based on data from the book linked below. I don’t have access to a large dataset to validate them, but from my own experience, they seem to be a reasonable starting point for an amateur athlete to get a ballpark idea of where they stand.

https://www.amazon.com/Secret-Cycling-Performance-Effective-Metering-ebook/dp/B06XFYMZLR/

The “suggested profile” comes from my own calculations, trying to identify an athlete’s strengths (e.g., Rouleur, Puncheur, Sprinter, Climber, Fatigue Resistance) and then generating a profile based on those traits. These are just suggestions. I only tested it with some theoretical profiles to see if the output made sense. Again, it’s not based on any real-world database.

As I mentioned, this was just a personal project I built to learn how to create websites, webapps, etc. I haven’t worked on it in a while, but I’m always open to suggestions and improvements. You’re clearly a few steps ahead of me on the programming side! :slight_smile:

Marcelo

1 Like

Unfortunately, this model doesn’t estimate LT1… but personally, I use my Fatmax value combined with RPE (and monitoring my breathing/ability to talk) as proxies to get a rough idea of that intensity.

1 Like

How do you structure this test? :slightly_smiling_face:

Warm-up: 10–15 min

  • 3 × 10 s all-out sprints / 3 min recovery
    (I do three because I’m bad at sprinting — then I take the best-executed one.)
  • 5–10 min recovery
  • 60 s all-out effort
  • 20-30 min recovery
  • 3 min all-out effort - 3 min works well for me personally, but anything between 3 and 20 min can be used,

Extend recovery as needed to make each effort truly maximal. Sometimes I prefer to do the 60 s and the 3 min efforts on separate sessions so both can be truly maximal.

Marcelo

2 Likes

I’m a diesel power type of guy (can push fairly decent watts for hours but will lose any sprint that wasn’t immediately preceded by a VO2 or threshold hill), and using 5sec, 2min, and 20min gave me a power curve which matches most of my existing max efforts.

1 Like

Hi, I only started reading about W’, etc. yesterday, and I discovered this app and I want to congratulate you. Out of curiosity, I entered my best data (from 2025) for 10s, 1m, and 3m. I don’t understand why it estimates such a high FTP for me, as much as 321 W! In the Zwift ramp test during that period, I got an FTP of 280W. With my weight of 68 kg, I get a W/kg value that seems really exaggerated to me… if only I had 4.72 W/kg :slight_smile:

Hello @Stefano_Cuccolini

If we use 10s: 648W, 60s: 397W, and 3m: 348W, we get an invalid profile (as shown in the yellow banner on the screenshot). In this case, the recommendation is to disregard these data and re-evaluate whether these intervals were truly maximum efforts.

You can see that with these inputs, the W’ becomes unrealistic—dropping under 5,000 Joules—and the VLamax falls to 0.08. This strongly suggests submaximal efforts during both the 10-second and 60-second tests.

Marcelo

1 Like

I finished the 3Dapt remote study last week, which involved testing three durations (5s, 1-3m and 10-12m). From my best results, all in the final week, I would agree with the reliability from the @Marcelo_Heinig app.

  • FTP on Intervals, detected after the 10m max effort is 1W difference. I will do the Kolie Moore “FTP” test after my two-week break and see if I can get to ~35 minutes or beyond, using the suggested FTP value as the target power.
  • W’ appears to be very realistic, although 2-3kJ lower than some results suggest.
  • FatMaxx would appear to be close to top of L2 (power).
  • VLamax is unknown, and probably better to check using the protocol on the HighNorth website. Maybe I’ll check that out one day in the next few weeks.
2 Likes

Elaborating a bit more on my previous answer, and sorry for the delayed response—I don’t visit the forum very often. Here are some extra thoughts on this…

As you can see, the model is quite sensitive… If you change just the 60-second power from 397 watts to 440 watts, the estimation changes significantly.

The 3-minute aerobic interval doesn’t work well for everyone… any minimal pacing error during this effort can drastically alter the final result.

Personally, I always use the 3-minute test for my own assessments, but I’ve noticed that for many people, using a longer interval works better because it reduces the margin of error. My personal approach is a bit different: I have a pretty solid grasp of my FTP based on feel and breathing rate. I start with my sprint and 60-second tests to get an idea of my neuromuscular and glycolytic capacity. Based on that, I manually estimate what power I should be able to hold for 3 minutes so that, mathematically, the estimated FTP matches my perceived exertion. This gives me a target for the 3-minute test and prevents me from blowing up by starting too hard. After the test, I recalculate everything and see if it makes sense. Also, I’m not always willing to suffer 100% on a 3-minute test; on those days, I just accept that the data isn’t reliable and ignore it.

*It’s fun to play around with the tool to see how just a few watts in each interval can drastically change your profile.

Marcelo

As a side note… I use multiple tools simultaneously to see if my data makes sense.

Here is the estimate from my most recent test compared to my current Garmin data.

Note: If you hold Ctrl+Shift while hovering the mouse over the “Valid Physiologic Profile” banner (or click 5 times on it on a mobile device), it will show an estimate of VO2max and O2/watt usage.

1 Like

There is still a maintenance message. When will it be online (again)?

When you say “all-out effort,” I suppose that means you’re not trying for an even pacing during the duration? With the Burnley-Vanhatalo “3-minute all-out” (3MAO) test, there’s considerable decay from the first part of the test to the last. I’d hate to do 3 AO efforts in one 50-minute session.