Have you ever wondered how your cadence impacts the amount of watts you produce? In this week’s top video, hear from an elite cyclist as she puts her hypothesis to the test.
This week’s top videos also include videos about the Zwift Ride, virtual everesting on Alpe du Zwift, tips for indoor cycling setups, and FTP tests.
What Are the Effects of Various Cadences when FULL-GASSING IT?
After hearing word that low-cadence may actually be a more efficient way to produce top-end power, top cyclist Illi Gardner runs several experiments to provide her answer to this complicated topic.
Is This The Perfect Indoor Bike? Zwift Ride Reviewed and Raced
After recently receiving the Zwift Ride for his new home gym, Mark Lewis provides a review of the Zwift Ride.
Virtual Everesting Alpe Du Zwift!
Two of Triathlondan’s cycling friends attempt a virtual everesting. Watch as they take viewers through the whole process, from pre-ride fueling all the way to a post-ride debrief.
Simple Zwift Setup Tips for New Riders in 2025
Jack shares 5 tips for how Zwifters can set up their equipment to make their setup as efficient and simple as possible.
My NEW FTP is…. (FTP Ramp test on Zwift)
Norweigian Watts tackles a ramp test on Zwift. Can he set a new FTP?
Got a Great Zwift Video?
Share the link below and we may feature it in an upcoming post!
Hometown: Born in Lima/Peru, but living in the UK for 18+ years.
How did you get into cycling? Over a decade ago, I discovered cycling as a way to explore the beautiful countryside with my husband. It was a simple joy that quickly became a cherished part of my life. While pregnant with my child, I stumbled across a group of women in town who were promoting Breeze rides—an initiative designed to get more women into cycling. I decided to join, and it turned out to be such a fun and welcoming experience. From there, I found my way into the local cycling club, and before I knew it, I was completely hooked on the freedom of being outdoors, the joy of the ride, and the connection with others who shared the same passion. It’s been an amazing journey, and cycling continues to bring so much happiness to my life.
How many years have you been racing on Zwift? I’ve been a proud Zwifter since 2016. I first joined the platform as a way to reconnect with fitness after having my child. Let’s face it, being a parent is tough, and cycling became my lifeline—it helped me stay strong, both physically and mentally, so I could show up as the best mum I could be. Over the years, Zwift has become so much more than just a platform. It’s truly become a part of who I am.
One of the most rewarding parts of my journey has been co-founding Aeonian Race Team and The Warrior Games. It’s an incredible feeling to create opportunities for women to race, connect, and just have fun in a supportive, empowering environment. Seeing others thrive and enjoy this amazing community fills me with joy—it’s been a privilege to help make that happen.
Are you part of a Virtual team? Yes, Aeonian Race Team
What do you love most about racing? For me, it’s the whole experience—the electric atmosphere, the camaraderie in the pens, where everyone’s wishing each other luck, sharing a laugh, or offering a kind word. It’s that sense of belonging, being surrounded by incredible women from all over the world, all giving it their all, pushing their limits, sweating it out, and finding joy in the journey together. It’s truly inspiring and heartwarming!
What is your favourite style of race (e.g. points, scratch, iTT, TTT, Chase, duathlon)? Honestly each style of racing has a place in my heart, love them all! But short and sweet ok?! 😛
What is your favourite Zwift women’s race series? eSRT Ultimate mini races, the Sheries, Iceni, and Boudicca
What is your most memorable racing experience, inside or outside or BOTH? For me, I’ve only raced indoors, but over the past nine years, each race has been uniquely special. I always give my all for my team – there’s something truly beautiful about being a domestique – protecting others, working tirelessly to help them succeed, and making it all come together. It’s one of the most rewarding feelings.
What is your favourite food to eat post race? Anything!
What advice would you give to a woman entering her first Zwift race? Above all, have fun—that’s the heart of why we do this! And don’t underestimate the power of finding a great team. Surround yourself with people who will cheer you on, lift you up, and help you grow. A supportive team will not only teach you the ropes but also make every ride feel like you’re part of something bigger. It’s so rewarding to find your tribe, a community that celebrates every victory—big or small—right alongside you. Enjoy the ride!
Any upcoming race you are looking forward to? This year is a really special one for me—not because of any races, but because I’m celebrating a milestone birthday! To mark the occasion, I’ve planned an epic adventure: riding from my home in the UK all the way to Berlin—a journey of over 700 km filled with excitement and challenge. Right now, I’m in full training mode, including some bikepacking adventures to prepare. And the cherry on top? Getting to join the amazing Zwift Community live in Mallorca! I can’t even put into words how excited I am for everything ahead.
Where can people follow your racing adventures? If you want to follow my adventures and journey, you can find me on Instagram @karlaw_bike Ride on!
This weekend we’re featuring Tour de Zwift, of course – it’s too popular not to, and stage 4 features some heavy climbing!
We’re also highlighting a very popular one-off group ride for triathletes with a new kit unlock, and three flavors of long rides varying from beginner-level pace to a race.
Tour de Zwift, the biggest ride series on the platform, is underway, and hundreds of riders have been turning out for each event! Stage 4 is available through the end of the weekend, and it’s climby! Here are the route options:
Are these races? Not officially, but the front of each ride will surely be spicey. Read about me racing stage 2’s short ride, then ride it at whatever pace you’d like!
Several hundred are already signed up for this one-off That Triathlon Life x Zwift ride with founders Paula and Eric as special guests. Ride alongside the pros, get tips, and unlock the new jersey for the first time ever.
This ride is 45 minutes long, open-paced, on Makuri Islands’ Turf N Surf route.
Every month BEAT Cycling Club organizes a badge hunt ride on one of Zwift’s longer routes. For February, they’re on Zwift’s very longest route, London’s The PRL Full!
If you’ve never earned this route badge, or are just looking for a long day on the bike, do it with friends in this event. Be sure to read the event description for extra details!
We choose each weekend’s Notable Events based on a variety of factors including:
Is the event unique/innovative in some way?
Are celebrities (pro riders, etc) attending/leading?
Are signup counts already high, meaning the event is extra-popular?
Does the ride include desirable unlocks or prizes?
Does the event appeal to ladies on Zwift? (We like to support this under-represented group!)
Is it for a good cause?
Is it just plain crazy (extra long races, world record attempts, etc)?
Is it a long-running, popular weekly event with a dedicated leader who deserves a shout out?
In the end, we want to call attention to events that are extra-special and therefore extra-appealing to Zwifters. If you think your event qualifies, comment below with a link/details and we may just include it in an upcoming post!
Leaderboard rankings are points-based. You receive points for:
Completing a particular climb (20 points each), and
How quickly you completed the climb
Because of how Zwift’s Climb Portal works, Ben over at VeloViewer had to code up some fresh functionality that grabs your best effort for each climb, whether completed via the Watopia Climb Portal or the France Climb Portal. It works like a charm. Nice job, Ben!
Click “Connect with Strava”. (If you’re already signed into your Strava account in your browser, skip to step 3.)
Log into your Strava account. You will be redirected back to the leaderboard..
Click “View” beneath one of the leaderboard titles.
If you are not yet a member of the Zwift club on Strava, click to join the club then return to the leaderboard page and click “Recheck Club Membership”. (If you are already a member of the Zwift club on Strava, skip to step 5.)
Click “Update Your Times” to import your Strava rides into whatever leaderboard you are currently viewing. You may only click this link once every 30 minutes per leaderboard.
The leaderboards, before and after checking my own times. I’ve got work to do!
Using the Leaderboards
Here are a few tips for using the leaderboards:
While they will work just fine on a smartphone, the leaderboards are much easier to browse on a large screen.
Click any column title in a leaderboard to sort by that column.
Click “View” next to the route title to view that segment’s details in VeloViewer.
Filter by gender using the buttons at the top-right.
Clicking a rider’s time for a particular route will take you to their Strava activity, where you can look for reasons to rationalize them beating your segment time 😄
Can You Ride Them All?
As of the writing of this post, nobody on the list has completed all 36 Climb Portals. It’s especially challenging to do so since you can only access particular climbs when Zwift schedules them!
(On a related note, Zwift doesn’t currently provide a simple list of all Portal climbs with a completion indicator, so one side benefit of using these new VeloViewer leaderboards is that you can easily see which climbs you have left to check off.)
Free vs Subscriber Functionality
Due to Strava restrictions, you must be a Strava subscriber in order to see segment times and placings on VeloViewer’s leaderboards. If you only have a free Strava account, you will see check marks to show completion of each segment, and points totals based solely on whether segments have been completed.
Shout Out to VeloViewer
Ben over at VeloViewer is giving us this functionality free of charge. But if you find it useful, please consider upgrading your VeloViewer account to a Pro or Pro+ account. Cost is only £10-£20 per year, and you get lots of premium features – read more about those here.
The fourth race of Zwift Racing League 2024/25 Round 3 happens Tuesday, February 4, and we’re in Makuri Islands for a rather straightforward TTT course.
Let’s dig into crucial route sections, bike choice, and more.
Looking at the Route: Wandering Flats
The Wandering Flats route in Makuri Islands begins in the Yumezi countryside at the start pens near Village Onsen, descending down to the Countryside Sprint then heading over for a flat lap around Neokyo before coming back through the tunnel into Yumezi, up into the Castle area and back to the start/finish banner:
All categories will be racing 1 lap for a total distance of 25.2km with 146m of climbing.
This is one of the easiest routes on Zwift for team time trials, as it is almost entirely flat. The road may look twisty, but it’s the pitch changes that really determine the technicality of a TTT.
Apart from figuring out your pacing in the flats, your team will need a plan heading into the one climb on this route, which happens around the 19.2km mark. This climb up into the Castle area is 2km long, averaging 3.2%. That means it’s very draftable and will take most teams 4-5 minutes to complete.
This week, bike choice is easy: grab your most aero TT setup! The CADEX Tri is the fastest frame in game, and the DT Swiss disc wheels are the fastest wheels. If you don’t have access to that setup (level 40+) then see this post to determine the fastest TT setup available at your level.
CADEX TriCanyon Speedmax Disc
Whatever you do, do not use a road frame. Even a “slow” TT frame is faster than a road frame, so now that we’re able to use TT frames and get a draft in TTT events, you’ll want to take advantage of that!
More Route Recons
Lots of recon events are scheduled on upcoming ZRL routes, led by various teams. See upcoming ZRL recons for this race at zwift.com/events/tag/zrlrecon.
Flatter courses like this week give valuable seconds to teams who can keep their speeds high over false flats and short rises. If you typically run your trainer difficulty setting pretty low, we advise you to raise your Trainer Difficulty high enough that you can feel false flats and automatically increase power to keep your speeds high.
Your goal in a ZRL TTT is to get four riders across the line in the shortest time possible. That means every team’s pace plan will differ based on the abilities of each rider. We highly recommend having an experienced DS on Discord directing your team, especially if your team contains some inexperienced TTT riders.
If you really want to go down the TTT rabbit hole, check out Paul Fitzpatrick’s zwift-ds.com site. We also highly recommend using Dave Edmond’s Zwift TTT Calculator tool.
Your Thoughts
Any insights or further thoughts on this race? Share below!
“Shimano Find Your Fast” ZRacing Series Details (February 2025)
Table of Contents
Zwift’s “ZRacing” is the platform’s most popular ongoing race series, with over 60,000 riders participating in January 2025’s races!
In February the series takes on some punchier routes to help racers prepare for the Zwift Games in March. Zwift is partnering with Shimano for the “Find Your Fast” series which includes in-game unlocks and an IRL wheelset giveaway.
Read on for details about this month’s race routes, the prize giveaway, and much more!
Complete all four Shimano Find Your Fast stages to unlock the upgraded Shimano Dura-Ace C50 wheelset in game. Read about this updated wheelset >
Additionally, everyone who finishes at least one Shimano Find Your Fast stage will have a chance to win one of three IRL Ultegra C50 wheelsets! Eligible riders will be emailed entry instructions once the series has concluded on March 3.
Category Reminder
In January 2025, Zwift implemented major changes to the category ranges used in ZRacing events. Tose changes will stay in effect for February. This includes “Advanced Category” races for riders with a Zwift Racing Score of 650+ and an alternating set of tighter category ranges (“Range 1” and “Range 2”) for riders with scores of 700 and below.
Advanced races occur at the following times:
08:15 UTC/3:15 ET/00:15 PT
10:15 UTC/05:15 ET/02:15 PT
12:15 UTC/07:15 ET/04:15 PT
17:15 UTC/12:15 ET/09:15 PT
18:15 UTC/13:15 ET/10:15 PT
19:15 UTC/14:15 ET/11:15 PT
00:15 UTC/19:15 ET/16:15 PT
Range 1 and 2 races alternate hourly around the clock.
Monthly GC
Each month’s series includes a time-based GC (general classification) on ZwiftPower tracking riders’ best finishing times for each week’s race. Just like a Tour de France-style stage race, the rider with the fastest combined time across the month’s stages wins!
To be included in the final ZwiftPower results, you must use a heart rate monitor as well as a smart trainer, smart bike, or power meter.
You can race each stage multiple times to improve your finishing time.
Get the Badge
Each month’s ZRacing series has a unique achievement badge, which you can unlock by finishing every stage for the month. There are no makeup events, so if you miss a stage, you miss out on the badge and competing in the GC.
One and Done
Zwift has planned these events to deliver a solid 1-hour workout, so each race should only take around 1 hour to complete, including your warmup and cooldown.
How the Race Was Lost: DIRT Hors Categorie on Outer Scotland (5 Laps)
It was Saturday, which meant I wanted to get a few hours of riding in, including some hard efforts. So my plan was to do a longer warmup with Robopacers, then jump into a longer race – the second race of the DIRT Hors Categorie series – before getting in a few more kilometers in a cooldown.
The race was on the newish Outer Scotland route (a former Rebel Route and one I had raced in a Tour de Zwift event just days prior. The TdZ race, though, was only two laps long (22.4km). Today was 5 laps (55.7km)! Additionally, the Hors Categorie series is a points race series, meaning you earn points for performance on designated segments during the race, as well as your position across the finish line.
So while this was the same route I’d raced previously, it would be a different race altogether. I would need to pace myself for a ~90-minute effort, but also go hard on the three Clyde Kicker primes in order to grab points. It was going to get spicy. Let’s race!
I joined the start pens with less than 4 minutes to go. There were just 11 riders in the pens, but that number grew to 20 by the time we blasted off. Let’s race!
Lap 1: Don’t Miss the Break
I was running Sauce for Zwift so I could get a good view of the number of riders in each group, plus time gaps. Sauce showed that our 20 starters were quickly whittled down to 15 within 2 minutes of the race kickoff.
The strong riders began to show themselves early as we wound our way up the slack climb through The Cliffs section of Scotland. Essel, Cezard, and Poilvert were pushing hard and stretching out the pack, and as we neared the top of The Cliffs, just before the lap banner, Cezard put in another dig over the top. This pattern would repeat itself every lap.
Heading into the Corkscrew Castle climb, there were two groups of three off the front, 6 and 8 seconds ahead respectively. They had sort of snuck away without me noticing, and this meant there were only 8 in my group. Alarm bells began sounding…
Those 6 are probably the stronger riders in this race. My 8 may not be able to get them back!
As we started the Breakaway Brae Reverse climb, I made the fateful decision to bridge up to what had coalesced into a front group of 6. It took 542 watts for 30 seconds, but I caught them!
This would prove to be the right call, as the chasing group would never see the front group again. That was the move.
Poilvert attacked on the Clyde Kicker, even though there were no points given for this segment on this lap. We would eventually pull him back, but this was a foreshadowing of things to come.
Lap 2 + FAL
We began lap 2 with Poilvert 9 seconds ahead of the front group of 6: Larkin, Tobian, Cezard, Essel, Frank, and myself.
(One thing I like about longer races with smaller groups is that you begin to get to know each rider. You learn where they like to push the pace, and where they like to position themselves in the pack. You can even click around in Sauce to do a bit of spying to learn their zFTP and other metrics.)
The pace definitely felt like too much for me to sustain for another 60+ minutes, but I held out hope that the same was true for everyone else and that the pace would calm down as the race progressed.
Riders pushed hard up Breakaway Brae, and we caught Poilvert on the descent. Back to a front group of 7. But only for a moment: Poilvert attacked hard again, and got away.
Either he would blow up, or we were thoroughly outclassed. Time would tell.
This was a points race, and our first points segment was on this lap’s Clyde Kicker. It was an FAL segment, meaning points were given based on who crossed the finish line first. Poilvert got 1st place points, and I sprinted for 3rd, getting beat by Tobian’s strong effort. 12 points!
The pace dropped considerably in lap 3, and Poilvert quickly put more time into us, pushing the gap out to 30+ seconds. I’m not sure what everyone else was thinking, but my thought was, “He’s either so strong that he’d beat me even if I bridged up to him, or he’s going to blow up early, stranding me if I bridge up to him.”
(Also, I was about 60% sure Poilvert was the rider last week who rode off the front for most of the race, then quit early. Turns out that was a different rider. Do your research, kids!)
Lap 3 was an FTS competition on the Clyde Kicker, which meant a different approach than the previous lap’s FAL effort. I started in the back of the group this time, because when you do that, you can then sit in the other riders’ drafts for most of the segment, finish tied with them, and you’ll have a faster time!
I think I executed it fairly well, but Tobian beat my time. I came in 6th overall, though, because 4 riders from the chase group clocked faster times! (They must have sprinted together on less-tired legs.)
Lap 3 would prove to be my easiest lap, with an average power of 249W.
Lap 4 (another FAL)
At lap 4 began, I noticed Sauce showed our pack of 6 was now a pack of 7. That was odd, since the rider list on the right only showed 6 riders. But I did in fact see a 7th rider in our pack. Clicking around in Sauce, I figured out it was one “Nathan Hakken” who was riding in the higher B category. The Hors Categorie races are set up so you see riders from all categories, which can make for interesting dynamics when you catch riders from other groups.
Poilvert was still off the front by 40+ seconds, and this would stretch to over a minute by the time we finished lap 4. Barring disaster, the race was his.
The final points segment of the race was an FAL competition on Clyde Kicker. With no powerups or steering in the race, it came down to timing and pure power. I managed to outsprint my pack of 6 to take 2nd place in FAL, earning me 13 points. Woohoo!
Lap 5 + Finish
Everyone had kept their powder dry on the previous lap, and now the question was, what sort of attacks would we see from the strongest riders in our group? Poilvert was over a minute away, and it was a foregone conclusion that he would cross the finish line first.
The attacks began right at the start of the lap, with Cezard attacking up The Cliffs. I sat in the wheels, not wanting to give chase and blow my chances at a strong finish. While the pace was solid in our group, nobody else wanted to bury themselves to pull back Cezard, either. His gap went to 10 seconds, then 15. The race for third place would be between the 4 riders in my group: Tobian, Larkin, Frank, and myself.
Tobian attacked hard up the Clyde Kicker, and I pushed to grab his wheel. But he just kept pushing over the top, and I couldn’t pull him back! In the final minute of the race I could see I wasn’t catching Tobian, and the riders behind weren’t catching me. I crossed the line in 4th.
My 137 points for race 2 put me in 5th place overall for DIRT’s Hors Categorie series, and in 2nd place behind Tobian for the C (450-575) group.
Poilvert, it turns out, won the race by less than 6 seconds as Cezard closed the gap in the final minutes. Poilvert held 4.1 w/kg for 84+ minutes, an effort that earned him a score of 594. This means he’ll have to race in a higher category if he decides to take on next week’s Hors Category event. Which is exactly what should happen. +1 for results-based race categories!
Overall, I was pleased with my performance in this race. I got 4th in points as well as across the finish line, I bridged up to the winning move, and I had near-top placings on the points segments. I also set some 6-week power PRs in the 40-84 minute range.
I’m really enjoying these longer races, and I plan to show up for more.
Your Thoughts
Have you tried racing longer events on Zwift? How did it go? Share your thoughts below…
If you’re new to cycling training, you’ve probably never taken an FTP test. Heck, you probably have no idea what an FTP test evenis! Let’s cover the basics of FTP, and options for testing it on Zwift.
What is FTP?
FTP is short for Functional Threshold Power. It’s the most commonly used metric of fitness for cyclists and measures the maximum power you can hold for longer durations (approximately 1 hour).
Going above your FTP will result in blood lactate levels increasing until you “blow up,” but if you’re fresh and well-fueled you should be able to ride at FTP for anywhere from 40-70 minutes.
Getting a bit more precise: while FTP is often described as the maximum power you can average for 60 minutes, that is not how it was actually defined by those who pioneered its use. Andrew Coggan defined it as, “The highest power that a rider can sustain in a quasi-steady state without fatiguing.” A sports testing lab would define it as the amount of power that can be put out at maximal lactate steady state (MLSS). MLSS is the highest exercise intensity you can hold where your blood lactate level remains constant over time.
Why Test Your FTP?
On Zwift, knowing your FTP is important because that figure determines the power requirements for intervals in structured workouts. If your FTP is set too low, you won’t get an adequate workout. If it’s set too high you won’t be able to hit your power targets.
Overall, FTP is the most popular metric for tracking fitness. Even if you don’t do structured workouts on Zwift, FTP is a single, simple metric that measures your capability as a rider.
How To Test Your FTP
Here’s the simple 4-step process used by most Zwifters:
Kit up, boot up
Pick a test from the workout options under Training>FTP Tests
Follow the instructions on screen, destroying yourself in the process
If your FTP increases, share it on Zwift Riders. If it does not, never mention this test to anyone. 🙂
Let’s take a closer look at the FTP test options Zwift provides.
3 FTP Tests on Zwift
FTP Test (Standard)
The standard FTP test is also the longest, at 45 minutes. It begins with a warmup that includes 2 blocks (3 minutes at 110% of FTP into 2 minutes at 120% of FTP) meant to take the snap out of your legs so your 20-minute test uses less anaerobic power and more aerobic power.
In this workout, the 20-minute test is all that matters. Your FTP result will be computed as 95% of the power you average during the 20-minute free ride interval.
One common question people have is how Erg mode works during the 20-minute test portion of this workout, because of course you wouldn’t want your trainer enforcing a particular wattage target during the test. And at the same time, you don’t want to feel gradient changes in Zwift, which would through off your pacing!
So it works like this: the 20-minute section is a “free ride” block, which in Zwift workouts means your trainer delivers steady resistance like you’re on flat ground, regardless of in-game terrain. So shift to whatever gear you’d like, where you can hold a comfortable cadence and hit the power numbers you’re trying to hit.
Once the 20-minute block finishes, the game will put you into a cooldown block, forcing you to hit the target wattage again like Erg mode normally does.
Watch Me Do An Older Version of the 20-Minute FTP Test:
Ramp Test
The ramp test starts easy, then simply increases your wattage by 20W every minute until you can’t pedal anymore. The nice thing about the ramp test is that you don’t have to worry about pacing yourself for a 20-minute effort. Just stay seated and pedal for all you’re worth, until you can’t pedal anymore! Typically the ramp test feels very easy at the start, but gets really difficult in the last 5 minutes.
Zwift will calculate your FTP once you stop pedaling. Your FTP Is calculated as 75% of the highest 1-minute power averaged during the test. If your new FTP is higher than your old one you’ll get a popup that says “New FTP set!” along with your new FTP value.
Watch Me to the Ramp Test:
Ramp Test Lite
If you don’t know your FTP but weigh less than 60kg/132lbs, or if you know your FTP and it is below 175 watts, you’ll want to take the “Ramp Test Lite” instead of the standard ramp test. This test starts at a lower wattage and increases by only 10W per minute, providing more accurate results for riders with a lower FTP.
Which Test is Best?
Everything about the ramp test is easier than the standard FTP test, but the downside is ramp tests can be less accurate, depending on your physiology. Specifically, riders with a higher anaerobic to aerobic power balance may have their FTP overstated by a ramp test.
On the other hand, the standard FTP test with its 20-minute all-out effort is very challenging, both mentally and physically. Additionally, newer riders will struggle to properly pace a 20-minute effort (they often blow up early).
Both styles of tests have their pros and cons, but generally speaking if you are a beginning cyclist and/or you want a quicker, easier test, go with a ramp format. If you want higher accuracy, and have the experience to pace yourself properly, go with the 20-minute format.
If you’ve never taken an FTP test, we recommend using the ramp test first. This will give you a fairly accurate FTP number, which you can use to pace yourself for the 20-minute test next time.
FTP Auto-Detection
For nearly 10 years, Zwift automatically detected your FTP in game by measuring your 20-minute power average as you rode, taking 95% of that value as your FTP. If it detected an FTP increase, you would get this screen:
But since December 2024, Zwift has been using an updated FTP detection algorithm that works for efforts 8-60 minutes in length. Read about how it works in these update notes if you’d like, but the important thing is to understand that Zwift automatically detects your FTP as you ride, and you’ll get a notification if it detects an increase. If you want your FTP detected accurately, simply do an all-out effort anywhere from 8 to 60 minutes in length.
Simple. But not easy.
Apart from Zwift, most cycling data platforms also compute an estimated FTP based on your ride data, even if you never take an FTP test. These calculated FTP figures are arguably more accurate than an FTP test, but it depends on how they’re calculated and what sort of efforts you’re feeding into their algorithms. Some of these platforms are free, while others may carry fees. Popular platforms include TrainerRoad, intervals.icu, XERT, and WK05 software.